0:前话:简单介绍RNN,LSTM,
RNN即循环神经网络,即相比于其他神经网络可以数据进行有序学习,对先前的事件进行记忆,从而可以处理一些序列化的任务,例如文本、视频等。但这样做,对于一些需要‘长期记忆’的事情,在反向传播的时候常常会出现梯度消失或者梯度爆炸情况。在LSTM中则使用门控机制,解决这个问题。但由于参数太多,导致训练比较麻烦,则产生了GRU。
1:什么是Gating mechanisms?
门控其实就是通过门控制信息通过的多少。门控单元可以选择性记忆它认为重要的东西,这也和后续出现的注意力机制有着一定的相似之处。其允许给定的输入特征X和值在0和1之间的门向量之间进行相乘,得到结果。
2:Gating mechanisms的作用
在门控的经典用法中当属LSTM。在记忆单元中,如果选择全部记忆信息,则会出现很多信息是多余或者错误的。在LSTM中:
- Xt作为当前的输入
- h^t-1 表示上一个传递状态
- Z^f通过上一个学习的状态,选择遗忘上一个阶段的一些知识。通过拼接上一状态和当前输入乘上权重W,通过激活函数变成0 1,则可以达到遗忘某些知识的目的。
- Z^i 同理,达到选择性记忆当前输入的一些目的。
- Z^o同理,达到选择性输出给下一个状态的目的。
- Z 使用tanh函数将其转化为-1 1的信息。
- C^t 作为当前记忆等于遗忘门控 *上一阶段的记忆+记忆门控 * 当前信息。
- h^t 当前的状态 = 上一个输出状态* 当前的记忆信息。
使用这些门控单元,则可以达到选择性记忆的效果,获取到更多有价值的信息,这也就是门控机制的原理。
3:参考资料
https://zhuanlan.zhihu.com/p/30844905
https://zhuanlan.zhihu.com/p/32085405
Hochreiter, Sepp, and Jürgen Schmidhuber. “Long short-term memory.” Neural computation 9.8 (1997): 1735-1780.
|