RNN
LSTM
下面是对LSTM单元内各部分的理解:
LSTM的关键是单元状态(cell state),即图中LSTM单元上方从左贯穿到右的水平线,它像是传送带一样,将信息从上一个单元传递到下一个单元,和其他部分只有很少的线性的相互作用。
LSTM通过“门”(gate)来控制丢弃或者增加信息,从而实现遗忘或记忆的功能。“门”是一种使信息选择性通过的结构,由一个sigmoid函数和一个点乘操作组成。sigmoid函数的输出值在[0,1]区间,0代表完全丢弃,1代表完全通过。一个LSTM单元有三个这样的门,分别是遗忘门(forget gate)、输入门(input gate)、输出门(output gate)。
遗忘门(forget gate):遗忘门是以上一单元的输出ht−1和本单元的输入xt为输入的sigmoid函数,为Ct−1中的每一项产生一个在[0,1]内的值,来控制上一单元状态被遗忘的程度。
输入门(input gate):输入门和一个tanh函数配合控制有哪些新信息被加入。tanh函数产生一个新的候选向量Ct~,输入门为t-1中的每一项产生一个在[0,1]内的值,控制新信息被加入的多少。至此,我们已经有了遗忘门的输出ft,用来控制上一单元被遗忘的程度,也有了输入门的输出it,用来控制新信息被加入的多少,我们就可以更新本记忆单元的单元状态了,
输出门(output gate):输出门用来控制当前的单元状态有多少被过滤掉。先将单元状态激活,输出门为其中每一项产生一个在[0,1]内的值,控制单元状态被过滤的程度。