「LSTMセルのユニット数」の意味は何ですか?


19

Tensorflowコードから:Tensorflow。RnnCell。

num_units: int, The number of units in the LSTM cell.

これが何を意味するのか理解できません。LSTMセルの単位は何ですか。ゲートを入力、出力、および忘れますか?これは、「Deep LSTMの再帰投影レイヤーのユニット数」を意味しますか。では、なぜこれが「LSTMセルのユニット数」と呼ばれるのですか?LSTMセルとは何ですか?VS VS LSTMブロックとの違いは何ですか?セルでない場合の最小LSTMユニットとは何ですか?



レイヤーに複数の並列LSTMユニットが含まれる場合、入力xをどのように処理しますか?ケース1:h(1)= f(x)h(t)= f(h(t-1)、x)h(t + 1)= f(h(t)、x)ケース2:h(1 )= f(x)h(t)= h(t-1)ResNetのような他のケースがあるかもしれません。
user1908842

回答:


10

その関数の役立つコメントが言うように、

このパッケージのセルの定義は、文献で使用されている定義とは異なります。文献では、セルは単一のスカラー出力を持つオブジェクトを指します。このパッケージの定義は、このようなユニットの水平配列を指します。

基本的に、レイヤーには複数の並列LSTMユニットが含まれ、構造的には同一ですが、最終的にはそれぞれ異なる「記憶することを学習」します。


1
ありがとう:)この質問の後、そのコメントは7日前に追加されました。いくつかの私は、彼らがLSTMセルの定義は文献LSTM細胞から異なっ..ですと、彼らは:)コメントすることを追加した理由は、GoogleのグループにTensorflowチームを尋ねてきた掘りの後
ブランスDsの

6

ほとんどのLSTM / RNNダイアグラムは、非表示のセルのみを表示しますが、それらのセルの単位は表示しません。したがって、混乱。各非表示レイヤーには、タイムステップの数と同じ数の非表示セルがあります。さらに、以下の図のように、各非表示セルは複数の非表示ユニットで構成されています。したがって、RNNの隠れ層マトリックスの次元は(タイムステップの数、隠れユニットの数)です。

ここに画像の説明を入力してください


1

TensorFlowまたはTheanoのいずれかの上にあるKerasでは、を呼び出すとmodel.add(LSTM(num_units))、num_unitsは出力スペースの次元です(ここから、行863)。私にとって、それnum_unitsは、アクティベーションが次のタイムステップに転送される非表示ユニットの数です。


0

RNNのユニット数は、垂直方向に互いに接続されたシーケンスの各入力に対するRNNメモリユニットの数であり、各ユニットはフィルタリングされた情報を次のメモリユニットに渡します。

この概念は、ビットサイズの異なるユニットへのメモリ割り当ての流れというコンピューターサイエンスの概念から着想を得たことを思い出してください。

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