循环神经网络RNN及LSTM
细节:
01) LSTM遗忘门偏置项初始化为什么比较大

参考:https://zhuanlan.zhihu.com/p/113109644
一、循环神经网络RNN
RNN综述 https://juejin.im/entry/5b97e36cf265da0aa81be239
RNN中为什么要采用tanh而不是ReLu作为激活函数? https://blog.csdn.net/behboyhiex/article/details/80819530
LSTM该不该使用RELU? https://blog.csdn.net/xygl2009/article/details/78855795
从RNN的结构特征可以容易看出它最擅长解决与时间序列相关的问题。
循环神经网络每一个时刻都有一个输入xi,然后根据上一时刻的状态h(i-1)和基于当前输入xi计算的当前状态hi,并输出ot。
RNN的展开在模型训练有重要意义,从下图可以看到,RNN对长度为N的训练展开后,可以视为一个有N个中间层的前馈神经网络,这个前馈神经网络没有循环链接,因此可以直接使用反向传播算法训练,而不需要任何特别的优化算法。这样的训练方法称为"沿时间反向传播"(Back-Propagation Through Time),是训练RNN最常见的方法。
RNN展开图:

更清晰如图:


参考 https://cloud.tencent.com/developer/article/2150061,https://www.zhihu.com/question/41949741 ,GRU: https://zhuanlan.zhihu.com/p/32481747
图 4:使用单层全连接神经网络作为循环体的 RNN 结构图,图中黄色的 tanh 小方框表示一个使用 tanh 作为激活函数的全连接层。

https://juejin.im/entry/5b97e36cf265da0aa81be239
图3为RNN 的前向传播计算过程:

二、LSTM
LSTM综述 https://www.jianshu.com/p/9dc9f41f0b29
LSTM单元示意图:

各个门的定义示意:


LSTM单元细节:

LSTM激活函数的选择
1.遗忘门的激活函数
遗忘门决定细胞状态中需要丢弃的信息。它使用Sigmoid激活函数,将输入值映射到0到1之间。输出值接近0表示遗忘信息,接近1表示保留信息。Sigmoid函数的平滑特性和输出范围非常适合门控机制。
2.输入门的激活函数
输入门负责决定哪些新信息需要添加到细胞状态中。它结合了Sigmoid函数和Tanh函数。Sigmoid函数用于选择性地通过信息,而Tanh函数生成新的候选记忆值,其输出范围为-1到1,有助于数据的归一化和梯度的稳定。
3.输出门的激活函数
输出门决定LSTM单元的输出内容。它使用Sigmoid函数来选择性地通过信息,并结合Tanh函数对细胞状态进行非线性变换,最终生成输出值。
综上:激活函数的选择原因:Sigmoid和Tanh函数是LSTM的主要激活函数,因为它们的饱和特性适合门控机制。Sigmoid函数的输出范围(0到1)符合门控的物理意义,而Tanh函数的输出范围(-1到1)与特征分布的零中心特性一致。此外,Tanh函数在输入接近0时具有较大的梯度,有助于模型更快收敛。
【注意在路由门控中,一般选择softmax函数,这样具有归一化作用,与实际物理意义一致】
三、GRU

四、随时间反向传播算法BPTT
https://www.cnblogs.com/wacc/p/5341670.html
五、循环神经网络激活函数
https://blog.csdn.net/xygl2009/article/details/78855795
https://blog.csdn.net/behboyhiex/article/details/80819530

浙公网安备 33010602011771号