KerasにLSTM(n)
単一LSTMユニットの内部構造を、以下の画像は、何層及びユニット(またはニューロン)を示しています。「LSTM単位からなるLSTM層を作成していることを意味し、右端の画像を示します。
次の図は、LSTMレイヤー全体の動作を示しています。
バツ1、… 、xNtバツtht − 1bhththtバツN
今のコンピューティングのためのパラメータの数を聞かせてLSTM(1)
とLSTM(3)
、私たちが呼ぶとき何Kerasショーとそれを比較しますmodel.summary()
。
I N PバツtO U Thti n p + o u t + 1O U To u t × (i n p + o u t + 1 )
4 o u t (i n p + o u t + 1 )
Kerasが出力するものと比較してみましょう。
例1。
t1 = Input(shape=(1, 1))
t2 = LSTM(1)(t1)
model = Model(inputs=t1, outputs=t2)
print(model.summary())
Layer (type) Output Shape Param #
=================================================================
input_2 (InputLayer) (None, 1, 1) 0
_________________________________________________________________
lstm_2 (LSTM) (None, 1) 12
=================================================================
Total params: 12
Trainable params: 12
Non-trainable params: 0
_________________________________________________________________
4 × 1 × (1 + 1 + 1 )= 12
例2。
input_t = Input((4, 2))
output_t = LSTM(3)(input_t)
model = Model(inputs=input_t, outputs=output_t)
print(model.summary())
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
input_6 (InputLayer) (None, 4, 2) 0
_________________________________________________________________
lstm_6 (LSTM) (None, 3) 72
=================================================================
Total params: 72
Trainable params: 72
Non-trainable params: 0
4 × 3 × (2 + 3 + 1 )= 72