RNN和LSTM的参数计算

RNN(Recurrent Neural Network)是一类用于处理序列数据的神经网络。神经网络包含输入层、隐含层、输出层,通过**函数控制输出,层与层之间通过权值连接,在标准的RNN结构中,隐层的神经元之间也是带有权值的。也就是说,随着序列的不断推进,前面的隐层将会影响后面的隐层。
具体结构如下图,本文不再赘述。
RNN和LSTM的参数计算
这里主要写一下RNN中参数的计算:

RNN和LSTM的参数计算

再加上偏执值b,即可得到模型中参数总和。其中,h为隐含层单元,x为输入,y为输出。
例如,在手写字体识别中,用64层的隐含层网络(h),28维的输入(x),10个分类的输出(y),这里的参数总和就是:

RNN和LSTM的参数计算

最后加64加10即为隐含层和输出层的偏执值。

LSTM
LSTM是对RNN模型长期依赖的改进,通过三个门结构来实现信息的保护和控制。这三个门分别为输入门、遗忘门和输出门。
所以LSTM隐藏层参数是RNN的四倍,所以此LSTM网络的参数个数为:

RNN和LSTM的参数计算

同样再加上偏执值。即为参数的总值。理解LSTM的原理就不难理解这个公式。
同样,在手写字体识别中,用64层的隐含层网络(h),28维的输入(x),10个分类的输出(y),这里的参数总和就是:

RNN和LSTM的参数计算

以上即为RNN和LSTM的参数总和计算。