RNN将网络的输出保存在一个记忆单元中,这个记忆单元的输出经过权重参数调整后和下一次的输入一起进入神经网络中。
延迟器记录上一时刻的信息,每一时刻的隐藏层不仅由该时刻的输入层决定,还由上一时刻的隐藏层决定。
原本RNN每个时刻都会把隐藏层的值存下来,到下一时刻的时候再拿出来用,这样就保证了,每一时刻含有上一时刻的信息。
LSTM采用选择性存储上一时刻的信息,我们设为记忆细胞。
设置三个门来实现记忆细胞
输入门:每一时刻从输入层输入的信息会首先经过输入门,输入门的开关会决定这一时刻是否会有信息输入到记忆细胞,
输出门:每一时刻是否有信息从记忆细胞输出,由这个门决定。
遗忘门:每一时刻记忆细胞里的值都会经历一个是否被遗忘的过程,就是由该门控制的,如果确定遗忘,那么将会把记忆细胞里的值清除,也就是遗忘掉。
先经过输入门,看是否有信息输入,再判断遗忘门是否选择遗忘记忆细胞里的信息,最后再经过输出门,判断是否将这一时刻的信息进行输出。
GRU:是LSTM的另一种简化结构,采用更新门和重置门
更新门:控制前边记忆信息能够继续保留到当前时刻的数据量,或者说决定有多少先前时刻的信息和当前时刻的信息要被继续传递到未来。(保存先前信息的数量)
重置门:控制前一状态有多少信息被写入到当前的候选集上,重置门越小,前一状态的信息被写入的越少。(当前信息与先前信息的结合程度)
重置门决定了如何将新的输入信息与前面的记忆相结合,更新门定义了前面记忆保存到当前时间步的量。