一文理解深度学习,卷积神经网络,循环神经网络的脉络和原理4-循环神经网络,LSTM
2017-09-27 17:34
1531 查看
循环神经网络很早就有了,其结构如下图。注意,这里其实只有一个神经网络结构。而不是7个。下图是为了方便表示,一次把7个时间的网络都画在上面。举个翻译的例子,I am hungry 比如在时间1,我们输入了 I,通过神经网络 输出了对应的翻译 我。然后时间2 ,输入了 am。这个时候网络的输入不但是 am,还有上次 I的隐层的输出。就相当于,网络不但考虑了当前输入,还考虑了以前的输入。
如果把神经网络,按照时间倒序 7-1展开的话,就是下面的神经网络结构。其实就相当于一个很深的BP神经网络,所以也会存在前面文章提到的梯度消失的问题。所以传统的RNN,其实能够记住的记忆是固定的而且,不能太长。这是一个很大的缺点。
针对上述RNN的缺点,有人发明了LSTM,可以让一个神经元细胞,有选择的记住或者,忘记某些事情。如下图。主要就是多了三个门。输入门,忘记门,输出门。
LSTM的网络结构和工作原理。还拿刚才翻译的例子,I的输入,会影响4和6,
Lstm的详细推导参考
http://blog.csdn.net/u010754290/article/details/47167979
这里讲述大体过程。
单个的神经元结构如下:
前向传递计算的大体流程,需要严格按照顺序:对应上图。
输入门输出: Yin=y(Zin*Win)
忘记门输出: Yφ=y(Zφ*Wφ)
细胞输入:Sc=g(Wc*Zc)*Yin+Yφ*CEC
输出门输出:Yout=(Zout*Wout)
整个细胞输出:h(Sc)*Yout
误差信号反向传播的计算过程和上述正好相反。
具体计算公式如下:
符号约定:
wij表示从神经元i到j的连接权重(注意这和很多论文的表示是反着的)
神经元的输入用a表示,输出用b表示
下标 ι, φ 和 ω分别表示input gate, forget gate,output gate
c下标表示cell,从cell到 input, forget和output gate的peephole权重分别记做 wcι , wcφ and wcω
Sc表示cell c的状态
控制门的激活函数用f表示,g,h分别表示cell的输入输出激活函数
I表示输入层的神经元的个数,K是输出层的神经元个数,H是隐层cell的个数
前向传播过程:
误差反向传播过程:
如果把神经网络,按照时间倒序 7-1展开的话,就是下面的神经网络结构。其实就相当于一个很深的BP神经网络,所以也会存在前面文章提到的梯度消失的问题。所以传统的RNN,其实能够记住的记忆是固定的而且,不能太长。这是一个很大的缺点。
针对上述RNN的缺点,有人发明了LSTM,可以让一个神经元细胞,有选择的记住或者,忘记某些事情。如下图。主要就是多了三个门。输入门,忘记门,输出门。
LSTM的网络结构和工作原理。还拿刚才翻译的例子,I的输入,会影响4和6,
Lstm的详细推导参考
http://blog.csdn.net/u010754290/article/details/47167979
这里讲述大体过程。
单个的神经元结构如下:
前向传递计算的大体流程,需要严格按照顺序:对应上图。
输入门输出: Yin=y(Zin*Win)
忘记门输出: Yφ=y(Zφ*Wφ)
细胞输入:Sc=g(Wc*Zc)*Yin+Yφ*CEC
输出门输出:Yout=(Zout*Wout)
整个细胞输出:h(Sc)*Yout
误差信号反向传播的计算过程和上述正好相反。
具体计算公式如下:
符号约定:
wij表示从神经元i到j的连接权重(注意这和很多论文的表示是反着的)
神经元的输入用a表示,输出用b表示
下标 ι, φ 和 ω分别表示input gate, forget gate,output gate
c下标表示cell,从cell到 input, forget和output gate的peephole权重分别记做 wcι , wcφ and wcω
Sc表示cell c的状态
控制门的激活函数用f表示,g,h分别表示cell的输入输出激活函数
I表示输入层的神经元的个数,K是输出层的神经元个数,H是隐层cell的个数
前向传播过程:
误差反向传播过程:
相关文章推荐
- 一文理解深度学习,卷积神经网络,循环神经网络的脉络和原理1-深度学习基础
- 一文理解深度学习,卷积神经网络,循环神经网络的脉络和原理3-残差神经网络
- 一文理解深度学习,卷积神经网络,循环神经网络的脉络和原理2-卷积神经网络
- 深度学习(08)_RNN-LSTM循环神经网络-03-Tensorflow进阶实现
- 深度学习基础模型算法原理及编程实现--06.循环神经网络
- 深度学习(08)_RNN-LSTM循环神经网络-03-Tensorflow进阶实现
- 深度学习基础(五):循环神经网络概念、结构及原理实现
- 深度学习之神经网络结构——RNN_理解LSTM
- 深度学习_循环神经网络RNN与LSTM
- 深度学习——循环神经网络/递归神经网络(RNN)及其改进的长短时记忆网络(LSTM)
- 深度学习(Deep Learning)读书思考七:循环神经网络二(LSTM)
- 【深度学习】RNN(循环神经网络)之LSTM(长短时记忆)
- 深度学习之循环神经网络RNN概述,双向LSTM实现字符识别
- 王小草【深度学习】笔记第六弹--循环神经网络RNN和LSTM
- 深度学习笔记1:神经网络 卷积神经网络
- 零基础入门深度学习(5) - 循环神经网络
- 七月算法深度学习 第三期 学习笔记-第八节 循环神经网络与相关应用
- 卷积神经网络学习三:神经网络之深度学习与tinny_cnn中的层
- 深度学习之循环神经网络算法
- 深度学习原理——从神经网络开始