LSTM:是RNN的一种
sigmoid:三个值分别sigmoid产生值:遗忘门f、输入门i、输出门o(总称:memory block(记忆块))
两个tanh层代表:cell的输入、输出
cell state:(方框内上方的那条)水平线
第一层:决定什么信息可以通过cell state。这个决定由“forget gate”层通过sigmoid来控制,就是确定保留多少值
第二层:包括两部分:
第一个是一个“input gate”层通过sigmoid来决定哪些值用来更新,第二个是一个tanh层用来生成新的候选值相加,得到了候选值。
最后一步是决定模型的输出:
首先是通过sigmoid层来得到一个初始输出,然后使用tanh将值缩放到-1到1间,再与sigmoid得到的输出逐对相乘,从而得到模型的输出。
总结:两个tanh函数:后者是对先前学到信息的压缩处理(前者是先确定丢掉与否,后者是压缩),sigmoid是不考虑记忆问题的输出,两者相乘。
tanh为了克服梯度消失问题;Sigmoid函数可以输出0或1,它可以用来决定忘记或记住信息。
cell是权重共享,每个cell都一样,
xt和ht维度累加,作为下一层输入?
f,c,o值都是【0,1】,tanh是【-1,1】
h(t-1)是上一层输出,C(t-1)是上一层记忆。
h(t)是这一层输出,C(t)是这一层最新记忆。