写给自己的备忘内容:RNN的基础
1概述
Recurrentneural network,循环神经网络,在普通多层BP神经网络基础上,增加了隐藏层各单元间的横向联系,通过一个权重矩阵,可以将上一个时间序列的神经单元的值传递至当前的神经单元,从而使神经网络具备了记忆功能,对于处理有上下文联系的NLP、或者时间序列的机器学习问题,有很好的应用性。
2、特点、优点
优点:模型具备记忆性。缺点:不能记忆太前或者太后的内容,因为存在梯度爆炸或者梯度消失。
3、模型
式1是输出层的计算公式,输出层是一个全连接层,也就是它的每个节点都和隐藏层的每个节点相连。V是输出层的权重矩阵,g是**函数。式2是隐藏层的计算公式,它是循环层。U是输入x的权重矩阵,W是上一次的值作为这一次的输入的权重矩阵,f是**函数。
双向循环神经网络:
式1是输出层的计算公式,输出层是一个全连接层,也就是它的每个节点都和隐藏层的每个节点相连。V是输出层的权重矩阵,g是**函数。式2是隐藏层的计算公式,它是循环层。U是输入x的权重矩阵,W是上一次的值作为这一次的输入的权重矩阵,f是**函数。
双向循环神经网络:
4、常见**函数/激励函数
参考博文的神经网络简介。
5、代价函数
原理与NN一样。
类似这种:
6、求解模型参数的方法
BPTT。(backpropagation through time)
BPTT算法是针对循环层的训练算法,它的基本原理和BP算法是一样的,也包含同样的三个步骤:
首先确定参数的初始化值,然后
1. 前向计算每个神经元的输出值;于是,就有了代价函数的值,接下来需要算出各个参数的梯度,从而能够让参数沿梯度下降。
2. 反向计算每个神经元的误差项值,它是误差函数E对神经元j的加权输入的偏导数;反向传播包括两个层面:一个是空间上层面的,将误差项向网络的上一层传播。另一个是时间层面上的,沿时间反向传播,即从当前t时刻开始,计算每个时刻的误差。
3. 计算每个权重的梯度。
最后不断重复前面的1-3步,用随机梯度下降算法更新权重。
LSTM的原理
1概述
Longshort term memory,循环神经网络的变形结构,在普通RNN基础上,在隐藏层各神经单元中增加记忆单元,从而使时间序列上的记忆信息可控,每次在隐藏层各单元间传递时通过几个可控门(遗忘门、输入门、候选门、输出门),可以控制之前信息和当前信息的记忆和遗忘程度,从而使RNN网络具备了长期记忆功能,对于RNN的实际应用,有巨大作用。
2、特点、优点
优点:比RNN具备长期记忆功能,可控记忆能力。缺点:网络结构上比较复杂,门多,对效率又影响。于是,在此基础上,2014年,更加简化实用的结构形式GRU(gate recurrent unit)提高了效率,它把输入门和遗忘门进行了合并,把St和Ct,即记忆单元和输出单元进行了合并。
3、模型
几个门的作用示意图
LSTM的隐藏单元的完整逻辑结构图
LSTM也设计两个门控制记忆单元状态c的信息量:一个是遗忘门(forget gate)。所谓的“遗忘”,也就是“记忆的残缺”。它决定了上一时刻的单元状态有多少“记忆”可以保留到当前时刻;另一个是输入门(input gate),它决定了当前时刻的输入有多少保存到单元状态。
在图14-5中,我们说过,LSTM是由三个门来实现的。实际上,为了表述方便,很多文献还添加了一个门,叫候选门(Candidate gate),它控制着以多大比例融合“历史”信息和“当下”刺激。
最后,LSTM还设计了一个输出门(output gate),来来控制单元状态有多少信息输出。下面对这4个门分别进行详细介绍。
遗忘门的模型
输入门的模型
候选门的模型
于是,记忆单元的模型函数就是:
输出门的模型是:
最终的时间序列上的输出量是:
4、常见**函数/激励函数
同上。
5、代价函数
原理与RNN一样。
类似这种:
6、求解模型参数的方法
BPTT。(backpropagation through time)
BPTT算法是针对循环层的训练算法,它的基本原理和BP算法是一样的,也包含同样的三个步骤:
首先确定参数的初始化值,然后
- 前向计算每个神经元的输出值;不过它的输出值比RNN和NN要多,因为有几个门,对于LSTM而言,依据前面介绍的流程,按部就班地分别计算出ft,it,ct,ot和st。
2. 反向计算每个神经元的误差项值,它是误差函数E对神经元j的加权输入的偏导数;与传统RNN类似,LSTM误差项的反向传播包括两个层面:一个是空间上层面的,将误差项向网络的上一层传播。另一个是时间层面上的,沿时间反向传播,即从当前t时刻开始,计算每个时刻的误差。
3. 计算每个权重(即参数)的梯度。
最后再用随机梯度下降算法更新权重。
7、目前具备该算法的常用模块
tensorflow、keras等等
8、常见应用场景
首先是自然语言处理,较好地解决了传统语言处理模型的“维度咒诅”,机器翻译,语音识别,情感分析等等;
谷歌公司利用LSTM来做语音识别和文字翻译,苹果公司使用LSTM来优化Siri应用。
还有个性化推荐;比如:网易考拉商品推荐、Youtube视频推荐
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:RNN循环神经网络以及LSTM长短期记忆模型-简介 - Python技术站