LSTMモデルのパラメーターの数


43

シングルスタックLSTMにはいくつのパラメーターがありますか?パラメータの数は、必要なトレーニング例の数に下限を課し、トレーニング時間にも影響します。したがって、パラメーターの数を知ることは、LSTMを使用したモデルのトレーニングに役立ちます。

回答:


29

LSTMには、2つのマトリックスのセットがあります。各(3)ゲートのUとWです。図の(。)は、これらの行列と入力および出力乗算を示します。xh

  • Uの次元はn×m
  • Wの次元はn×n
  • (のような三つの門のそれぞれについて、これらの行列の異なるセットがあるための忘れ等ゲート)Uforget
  • セル状態Sを更新するためのこれらの行列の別のセットがあります
  • 上記の行列の上に、バイアスを数える必要があります(写真にはありません)

したがって、合計#パラメーター=4(nm+n2+n)

LSTM抽象ブロック


2
ディープラーニングプロジェクトのハードウェア要件の見積もりとプロジェクト計画に関する実際的な決定を下す際に、私はこの疑問に直面しました。PS:評判ポイントを得るためだけに自分の質問に答えたわけではありません。私の答えがコミュニティからのものかどうか知りたいです。
-wabbit

1
バイアス単位を無視しました。以下のAdam Oudadの回答をご覧ください。
アルン

1
バイアスはありません。答えを編集しました。
エスカケーター

21

前の回答に続いて、サイズ入力ベクトルを取り、サイズ出力ベクトルを与えるLSTMのパラメーターの数は次のとおりです。mn

4(nm+n2)

ただし、LSTMにバイアスベクトルが含まれている場合(これは、たとえばケラのデフォルトです)、数は次のようになります。

4(nm+n2+n)

2
これが唯一の完全な答えです。他のすべての答えは、バイアスニューロンのケースを無視する内容に見えます。
モニカの

1
あなたの入力は、M = 25の寸法があり、N = 100単位、その後のparamsの数= 4 *(** 2 + 100 * 25 100 + 100)= 50400.とLSTM層を使用する場合、具体的な例を与えるために
アルンを

1
タイムステップデータを使用していると仮定すると、以下の私の理解は正しいですか?n = 100:各サンプル(例)に100のタイムステップがあるため、100単位が必要です。各タイムステップでのm = 25の平均は、[体重、身長、年齢...]のような25個の特徴があります。
ジェイソンチャン

2
@jasonzhang同じLSTMセルが入力ベクトル(タイムステップごとに1つのベクトル)に再帰的に適用されるため、タイムステップの数は関係ありません。「単位」と呼ばれるarunは、各出力ベクトルのサイズでもあり、タイムステップの数ではありません。
アダムオウダー

12

よると、この

LSTMセル構造

LSTMセル構造

LSTM方程式

LSTM方程式

非線形性の取り込み

非線形性の取り込み

入力x_tのサイズがn×1で、d個のメモリセルがある場合、W ∗およびU ∗のそれぞれのサイズはd×nであり、d×dはそれぞれです。サイズWは、次になり4D×(N + D) 。各ddメモリセルにはそれぞれ固有の重みW ∗およびU ∗があり、メモリセルの値が他のLSTMユニットと共有されるのは、U ∗を使用した製品の間だけです。

素晴らしいプレゼンテーションをしてくれたArun Mallyaに感謝します。

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