RNN、特にLSTMがKerasとTensorflowを使用して複数の入力ディメンションでどのように動作しているかを理解したいと思います。 input_dim> 1の場合、入力シェイプは(batch_size、timesteps、input_dim)です。
input_dim = 1の場合、以下の画像がLSTMの概念をよく表していると思います。
input_dim> 1、xが単一の値ではなく配列です。しかし、このような場合、重みは配列、x +コンテキストと同じ形になりますか?KerasのLSTMの多次元入力
10
A
答えて
2
Kerasは、機能ごとに(ただし、すべてのユニットのための)一番下の写真のシーケンスを実行し、計算、グラフを作成します。つまり、状態値Cは常にスカラーであり、単位あたり1つです。一度に機能を処理せず、一度にユニットを処理し、別々に機能します。 4
は、Fのそれぞれのための1つを表す
import keras.models as kem
import keras.layers as kel
model = kem.Sequential()
lstm = kel.LSTM(units, input_shape=(timesteps, features))
model.add(lstm)
model.summary()
free_params = (4 * features * units) + (4 * units * units) + (4 * num_units)
print('free_params ', free_params)
print('kernel_c', lstm.kernel_c.shape)
print('bias_c', lstm.bias_c .shape)
、I、C、およびあなたの下の写真で内部パスO。最初の項は、カーネルの重みの数、反復カーネルの2番目の項、バイアスが適用された場合の最後の項です。
units = 1
timesteps = 1
features = 1
ために、我々は
Layer (type) Output Shape Param #
=================================================================
lstm_1 (LSTM) (None, 1) 12
=================================================================
Total params: 12.0
Trainable params: 12
Non-trainable params: 0.0
_________________________________________________________________
num_params 12
kernel_c (1, 1)
bias_c (1,)
と
units = 1
timesteps = 1
features = 2
ためには、我々はbias_c
が状態C.注の出力形状のプロキシである
Layer (type) Output Shape Param #
=================================================================
lstm_1 (LSTM) (None, 1) 16
=================================================================
Total params: 16.0
Trainable params: 16
Non-trainable params: 0.0
_________________________________________________________________
num_params 16
kernel_c (2, 1)
bias_c (1,)
を見ます異なることがあるユニットの内部作成に関する実装詳細はここにあり(http://deeplearning.net/tutorial/lstm.html)、デフォルトの実装では式7を使用します。お役に立てれば。
関連する問題
- 1. Keras LSTM多次元入力
- 2. Keras LSTM入力次元
- 3. Kerasへの多次元入力LSTM - (分類のため)
- 4. Kerasの多次元入力レイヤー
- 5. Keras-LSTM-入力サイズエラー
- 6. Keras LSTMバッチ入力形状
- 7. Kerasの1対多LSTM
- 8. 多対一LSTM Keras Python
- 9. jQueryの多次元入力配列
- 10. ケラスへの多次元入力
- 11. Keras入力次元の自動誤差の誤差
- 12. 多対1のLSTM入力形状
- 13. HTML複合入力の多次元入力名
- 14. 3次元LSTMシーケンスに2d入力を変形する
- 15. 複数の入力を宣言する方法KerasのLSTMモデル?
- 16. Keras + LSTM/RNN:新しい予測のための 'X'のの次元とのトラブル
- 17. 1次元多次元配列への入れ子多次元配列
- 18. KerasでLSTMの入力を設定する方法
- 19. 補助入力を持つKerasのLSTMモデル
- 20. Keras LSTM/GRU言語モデルの入力形状
- 21. 4次元入力でLSTMにどのようにフィードするのですか?
- 22. LSTMエラーのpython keras
- 23. kerasステートフルLSTM
- 24. Keras LSTMエラー
- 25. Keras reshape input LSTM
- 26. Keras LSTM入力サイズ(ホットテキスト埋め込みあり)
- 27. ケラスのLSTM入力
- 28. ラジオ入力から多次元配列を出力する
- 29. cv2.perspectiveTransformの入力次元
- 30. JQuery:フォーム入力要素の多次元配列をループする
私はまだ苦労しています。私は今、Cが形(特徴、単位)を持っていることを理解しています。したがって、ユニットCtの内側には形状(features、1)があります。ユニットの出力は、形状(1,1)のYtです、右か?つまり、2つのフィーチャがある場合は、どこか(2,1)から(1,1)に変更されます。私はこのステップを逃しています。 – Manngo