前提・実現したいこと
質問1: LSTMの隠れ層について
質問2: LSTMのパラメータについて.
私は,LSTMへ時系列画像の特徴量を入力して時系列画像のクラス分類を行いたいです.
ここでLSTMへ時系列特徴を入力するところまでは実装済みです.
以下で例として,LSTMへの入力時系列特徴を(3,10,1)とします.
(バッチサイズ,時系列画像のフレーム数,1フレームに対する一次元特徴量)です.
つまり,10枚の連続する画像からそれぞれ一つずつ特徴量を抽出,それが3セットとします.
ここでLSTMへ入力するとき,LSTMを時間方向に展開した図(ネット上などによくある図)で構造を理解していました.つまり,例に示すデータでは,一つの入力動画像の長さが10なのでt=1~t=10まで.
つまりLSTMの隠れ層は10であると思っていましたが,色々調べて見ると64であったり256であったり..
ここで質問ですが,隠れ層の数は時系列データの数(上記では動画像の長さ=10)と一致するものではないのですか?
また,質問2としてLSTMモデルのパラメータ数です.
これも質問1の通り,私がLSTMの構造をよく理解できていないので起こる
質問なのですが,こちらのサイト(https://qiita.com/Phoeboooo/items/b92c35f6739a9e765a80)
でパラメータ数の数え方について学びました.
こちらのLSTMの項で多分,長さ20の32次元特徴量を入力としていると思います.
しかし,パラメータの数え方で入力に対しての重み32644の32*64の部分がわかりません.
私の中では,一つの隠し層に一つの時間(t=1~20のどれか)が入力するという認識だったので,
隠し層64に長さ20のデータを入力するという考え方がよくわかりません.
すみません,文が長くなってしまいましたが考え方で誤っているところを教えて頂けたら嬉しいです.
また,何か質問がある方もコメントして頂けたらその部分の説明をしたいと思います.
よろしくお願いします.
<追記>
model = Sequential()
model.add(LSTM(64,input_shape=(10,1024)))
model.add(Dense(output_dim, activation="linear"))
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/07/27 15:57
2020/07/27 23:28 編集
2020/07/28 09:06 編集
2020/07/28 14:52