1.RNN导出案例---Neural network needs memory
加入记忆元素的案例:
2.RNN的结构
当神经网络有了记忆后,由于存储在memory中的值不同,模型的输出也会不同。
当然,RNN的结构可以是深层的。
3.Bidirectional RNN 双向的循环神经网络
双向RNN的优点:例如填写完形填空时,读了这个句子中挖空前的所有词汇(X1,X2,...Xt-1),也读了挖空后的所有词汇(Xt+1,...Xtn),可以理解为读了整个句子,再去做填空
4.Long Short-term Memory(LSTM) 长短时记忆网络
LSTM执行的具体过程图如下所示:
sigmoid 函数及其图像:
下图中,f(zi) 是一个激活函数,通常使用sigmoid函数,取值在0-1之间
g(z)*f(zi) :若f(zi)=0 ,则不输入z,若f(zi)=1,则输入z
计算案例分析:
下图中输入第1组(x1,x2,x3)=(3,1,0)
下图输入第2组(x1,x2,x3)=(4,1,0)
下图输入第3组(x1,x2,x3)=(2,0,0)
下图输入第4组(x1,x2,x3)=(1,0,1)
下图输入第5组(x1,x2,x3)=(3,-1,0)
此时遗忘门的f(zf)=0,则遗忘门中原来存储的值7会被清洗掉
总结:其实可以将一个LSTM看成一个神经元neural
另一种解释:
下图是对上面计算过程的逻辑归纳图
下图中zf,zi,z,zo均是向量
表示乘法,表示加法
LSTM结构的连接图:
现在说利用RNN,一般都在使用LSTM.
现在集成的开发框架都支持LSTM、GRU等网络结构。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:李宏毅深度学习笔记04—RNN 循环神经网络01 - Python技术站