2DマトリックスをLSTMレイヤーにフィードするとどうなりますか


8

LSTMレイヤーへの入力として、形状(99,13)の2Dマトリックスをフィードしているとします。n個のファイルがあり、それぞれに(99,13)サイズのベクトルが含まれています。特徴の数として13を、タイムステップとして99を検討することにしました。

(Kerasを使用して実装するときに、LSTMレイヤーを最初のレイヤーとして追加しました。そして、レイヤーのoutput_dimを100に設定しました)

しかし、上記のように入力すると、ネットワーク内で実際にどのように動作するかを理解できません。以下の質問がありますが、自分では答えられません。

  1. LSTMセルへの入力としてどのような値を提供しますか?(xt、セルへの入力として使用されるht-1は常にベクトルです?私の場合、xtは[1,13]の形をしていますか?)
  2. モード lの最初のレイヤーとしてLSTMレイヤーがあるとすると、それは最初の入力ベクトルを指定されたレイヤーのすべてのセルに供給しますか?(例:最初のレイヤーのすべてのn LSTMセルに(99フレームから)サイズ13の最初のフレームをフィードしますか?)同様に、各タイムステップで入力行列のすべての行をフィードし続けますか?
  3. LSTMセルは各タイムステップでどのような値を出力しますか?(セルの状態をノードからの正しい出力と見なしますか?それは単一の値ですか、それともベクトルですか?それがベクトルの場合、次元は何ですか?次元を推測できる方法はありますか?htをベクター)
  4. 特定のレイヤーのoutput_dim(出力次元)とはどういう意味ですか?常に次のレイヤーのノード数である必要がありますか?

これを保留にしたり、他のグループに誘導したりしないでください。これらの質問は機械学習とrnnに関連していると思います。私は研究論文を読みましたが、LSTMネットワーク内で実際にどのように機能するかについて明確なアイデアを得ることができませんでした。

回答:


1

1)X入力です。99のタイムステップがある場合、それぞれサイズ13の99のベクトルがあります。したがって、各タイムステップへの入力は、サイズ13のベクトルです。それ以外の理由がある場合を除き、開始の非表示状態はすべて0にすることができます。そのベクトルのサイズは、選択したハイパーパラメーターです。

2)99個のLSTMセルはなく、タイムステップごとに99回再利用されるLSTMセルは1つしかないことに注意してください。LSTMセルは、非表示状態と次のタイムステップに進むセル状態を維持します。ただし、学習されるパラメーターのセットは1つだけです。これらのパラメーターは、現在の入力、非表示状態、およびセル状態を条件として、すべてのタイムステップを処理できる必要があります。

3)セルの状態は出力ではありませんが、次のタイムステップへの入力として転送されます。非表示の状態h_tは、出力と次のタイムステップに渡されます。

4)よくわかりませんoutput_dim。用語への参照が必要です。

これはLSTMに関する優れたチュートリアルです:http ://colah.github.io/posts/2015-08-Understanding-LSTMs/


0

特定のレイヤーのoutput_dim(出力次元)とはどういう意味ですか?常に次のレイヤーのノード数である必要がありますか?

output_dim = LSTM非表示状態の次元。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.