结论先行:
lstm所需学习的参数 = 4 * [( input_size + hidden_num )* hidden_num + hidden_num ]
我们知道输入一个28维的向量,会映射到128维来进行表示,
输出ht和记忆ct维度相同。
下面我们假设有13*5大小的图片,放进LSTM,隐含层神经元数量为10
ht-1 是上一时刻的输出,维数与隐含层神经元数量一致:1*10
xt为1*5 所以[ ht-1 , xt ] 的维数是1*15
又因为激活函数不改变位数维数,所以我们不必考虑
Wf bf 为该层的参数,Wf 与 [ ht-1 , xt ] 相乘得到 1*10的向量
所以可以得出 Wf 的维数是 15*10 即:Wf × [ ht-1 , xt ] = 15*10 × 1*15 = 1*10
所以参数个数为Wf + bf = 15*10 + 10 = 160个
剩下的操作与这个遗忘门的操作在参数数量上相同
故 LSTM的所需学习参数个数为 160*4 = 640个