赞
踩
循环神经网络(RNN-Recurrent Neural Network)是神经网络家族中的一员,擅长于解决序列化相关问题。包括不限于序列化标注问题、NER、POS、语音识别等。RNN内容比较多,分成三个小节进行介绍,内容包括RNN基础以及求解算法、LSTM以及变种GRU、RNN相关应用。本节主要介绍
1.RNN基础知识介绍
2.RNN模型优化以及存在的问题
3.RNN模型变种
RNN的提出可以有效解决以下问题:
编码:可以将可变输入编码成固定长度的向量。和CNN相比,能够保留全局最优特征。
RNN常用以下公式获取历史状态
RNN潜在可能的展开方式如下:
1)通过隐藏层传递信息
1.该展开形式非常常用,主要包括三层输入-隐藏层、隐藏层-隐藏层、隐藏层到输入层。依赖信息通过隐藏层进行传递。
2.参数U、V、W为共享参数
2)输出节点连接到下一时序序列
应用比较局限,上一时序的输出作为下一时间点的输入,理论上上一时间点的输出比较固定,能够携带的信息比较少。
3)只有一个输出节点
只在最后时间点t产生输出,往往能够将变成的输入转换为固定长度的向量表示。
在使用RNN时,主要形式有4中,如下图所示。
1.一对一形式(左一:Many to Many)每一个输入都有对应的输出。
2.多对一形式(左二:Many to one)整个序列只有一个输出,例如文本分类、情感分析等。
3. 一对多形式(左三:One to Many)一个输入产出一个时序序列,常用于seq2seq的解码阶段
4.多对多形式(左四:Many to Many)不是每一个输入对应一个输出,对应到变成的输出。
对于离散时间的RNN问题可以描述为,输入序列
根据上面经典的RNN网络结构,前向传播过程如下:
如上图U、V、W分别表示输入到隐藏层、隐藏层到输出以及隐藏到隐藏层的连接参数。
1. 隐藏层节点权值:
2. 隐藏层非线性变换:
3. 输出层:
4. softmax层:
BPTT 是求解RNN问题的一种优化算法,也是基于BP算法改进得到和BP算法比较类似。为直观上理解通过多分类问题进行简单推导。
1. 优化目标,对于多分类问题,BPTT优化目标转换最小化交叉熵:
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。