网络 LSTM(输入门、遗忘门、输出门)
LSTM(长短时记忆网络)是一种特殊的RNN(循环神经网络),能够学习长期的依赖关系。它通过原始 RNN 的隐藏层只有一个状态,它对于短期的输入非常敏感。LSTM增加了一个保存长期的状态。
遗忘门(forget gate)决定了上一时刻的单元状态有多少保留到当前时刻。
输入门(input gate)决定了当前时刻网络的输入有多少保存到单元状态。
输出门(output gate)控制单元状态有多少输出到LSTM的当前输出值。
这些门都拥有三个全连接层网络,并使用sigmoid函数作为激活函数,最终的输出值都在区间(0,1)中
LSTM如何克服梯度消失
LSTM通过引入三个门机制,即遗忘门、输入门和输出门,使得网络的梯度可以更好地流动,从而克服了梯度消失问题。
具体来说,遗忘门控制之前的记忆是否需要保留下来,输入门控制新的输入数据对当前记忆的影响,输出门控制当前记忆对输出的影响。这些门机制可以通过非线性函数来控制信息的流动,从而实现对梯度的有效传递。
此外,LSTM还采用了循环连接的方式,在时间上对信息进行持久化处理,避免了信息的突然消失或累积问题,从而进一步提高了训练效果。
门控循环单元神经网络 GRU(更新门、重置门)
门控循环单元神经网络(GRU)是一种用于处理时间序列数据的神经网络,它是一种改进的循环神经网络(RNN)结构,通过引入两个门控机制:更新门和重置门,来控制信息的流动和记忆的更新。
GRU中的更新门和重置门可以看做是一个对当前输入和上一时刻隐藏状态的加权平均,其中更新门控制了上一时刻隐藏状态的遗忘和当前输入的融合,而重置门则控制了当前输入和上一时刻隐藏状态的丢弃和保留。
具体来说,更新门和重置门都是一个0到1之间的值,它们通过S形函数来进行计算。当更新门的值接近1时,当前输入的信息会被大量保留,同时上一时刻的隐藏状态也会被相对保留;而当重置门的值接近0时,当前输入的信息会被大量丢弃,同时上一时刻的隐藏状态也会被相对遗忘。
通过这样的门控机制,GRU可以自适应地控制信息的流动和记忆的更新,从而更好地解决了长期依赖问题,并且相对于传统的RNN结构,它还能够更好地避免梯度消失和梯度爆炸问题,提高了模型的训练和预测性能。