没有合适的资源?快使用搜索试试~ 我知道了~
资源详情
资源评论
资源推荐
经典RNN结构图
RNN、LSTM及其变种
Li Junli 李军利 / June 2nd 2019
1. RNN
循环神经网络(RNN: Recurrent Neural Network)源自于1982年由 Saratha Sathasivam提出的霍普菲尔德网络。
霍普菲尔德网络由于实现困难,在其提出时并没有被合适地应用。该网络结构也于1986年后被全连接神经网络以及
一些传统的机器学习算法(ML: Machine Learning)所取代。然而,传统的ML算法非常依赖人工提取的特征,使得
基于传统ML算法的图像识别、语音识别以及自然语言处理等问题存在特征提取的瓶颈。而基于全连接神经网络也存
在参数太多、无法利用数据中时间序列信息等问题。随着更加有效的 RNN 结构被提出,RNN挖掘时序信息以及语义
信息的深度表达能力被充分利用,并在语音识别、语言模型、机器翻译以及时序分析等方面实现了突破。
RNN的主要用途是处理和预测序列数据。百度百科对时间序列的解释是:时间序列数据是指在不同时间点上收集到的
数据,这类数据反映了某一事物、现象等随时间的变化状态或程度。当然除了时间序列还有文字序列等,但总归序列
数据有一个特点——后面的数据跟前面的数据有关系。
全连接网络或CNN的层与层之间是全连接或者部分连接的,但是每层之间的神经元是没有连接的(即假设各个数据之
间是独立的)。这种结构不善于处理序列化的问题。比如要预测句子中的下一个单词是什么,这往往与前面的单词有
很大的关联,因为句子里面的单词并不是独立的。比如当前word是“很”,前一个word是“天空”,那么下一个word很
大概率是“蓝”。
从网络结构来看,RNN会记忆之前的信息,并利用之前的信息影响后面结点的输出。也就是说,RNN的隐藏层之间
的结点是有连接的,隐藏层的输入不仅包括输入层的输出,还包括该隐藏层上一时刻的输出。
1.1 经典RNN结构
RNN有很多变种,首先介绍经典的RNN模型结构
变量解释
x
t
代表在序列索引号t时训练样本的输入,x
t−1
和x
t+1
代表在序列索引号t−1和t+1时训练样本的输入
h
t
代表在序列索引号t时模型的隐藏状态,h
t
由x
t
和h
t-1
共同决定,很多教程把这个隐藏层写成 s
t
o
t
代表在序列索引号t时模型的输出,o
t
只由模型当前的隐藏状态h
t
决定
y_prediction
t
代表预测值,由f(o
t
)得到,f通常是softmax函数
y
t
代表在序列索引号t时训练样本序列的真实输出
L
t
代表在序列索引号t时模型的损失函数,由所有的y_prediction
t
和 y
t
计算得到
U、W、V 这三个矩阵是模型的线性关系参数,与CNN类似,这些参数在整个RNN网络中是共享的,也正因为是
共享了,它体现了RNN的模型的“循环反馈”的思想,并且大大降低了计算量
上图描述了在序列索引号 t 附近 RNN 的模型结构,我觉得加上预测值 y_prediction比较好理解,因此就在原图画蛇
添足了一把。下面详细解释图中的结构,我比较喜欢用下标,因此用 x
t
表示 图中的 x
t
:
假设x
t-1
,x
t
,x
t+1
对应输入 "我","是'',"中国",那么y
t-1
,y
t
就应该对应 "是" ,"中国"这两个词,预测下一个词最
有可能是什么?就是y_prediction
t+1
应该是”人”的概率比较大。
1.2 前向传播
对于任意一个序列索引号t,有:
对于序列的第一个时刻t
0
,没有上一个隐层状态,则给予一个初始化的h
t
。
f()是激活函数,做一个非线性映射,来过滤信息,处理非线性问题,RNN中一般是为tanh,也可以是Relu等,但是
Sigmoid不太适合,容易梯度消失,这个后面再说。
h
t
除了利用当前信息 x
t
外,还捕捉了之前时间点上的信息,不过,美中不足的是,h
t
并不能捕捉之前所有时间点的
信息,这个缺点暂时也按下不表,之后再说。
b是线性关系的偏置项。
得到h
t
后,就可以计算 t 时刻的输出o
t
了
最终的预测输出为
由于RNN通常是分类模型,所以上面这个激活函数一般是softmax。
1.3 反向传播(BPTT)
RNN的反向传播就是利用损失函数(一般是交叉熵损失函数)对3个共享参数U、V、W求偏导,然后梯度下降更新各
个权重。
各个权重的更新的递归公式:
一次训练任务的损失函数是每一时刻损失值的累加:
假设序列只有三段,t
1
,t
2
,t
3
,对 t
3
时刻的U、V、W求偏导
对V求偏导,有:
对U、W求偏导,有:
剩余14页未读,继续阅读
色空空色
- 粉丝: 53
- 资源: 331
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- linux常用命令大全之切换目录CD命令
- Yolov7音乐资源鸭
- 94b6c85cf1ae52d4fcdffbb7a007049c.apk
- 一个基于C语言和Keil uVision开发环境的单片机开发脚本示例,用于演示一个简单的LED闪烁程序
- 电子通信设计资料一种用方波驱动鼠标光标移动的鼠标电路的设计
- K2731T146-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 电子通信设计资料一种用单片机制作的高频正弦波逆变器
- K209-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 前端vue常见面试题 (附带答案) 完整版PDF.pdf
- 电子通信设计资料一种新颖的消除DC-DC中斜坡补偿影响的电路结构
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0