概述
第一次整理内容有些凌乱
1.概述
1.1用途
Recurrent Neural Networks (RNN) 循环神经网络主要用于自然语言处理及序列标注问题
1.2特点
记忆:某一时间节点,获取输入向量x<t>信息,通过隐含层(包含多种多种block)激活函数激活后,将信息传递给后续节点
2.主要解决问题
2.1 many-to-many
输入信息x与输出信息y长度均大于1,例如,命名体识别任务、机器翻译任务等
2.2 one-to-many
输入信息长度为1,输出信息长度大于1
2.3 many-to-one
输入信息长度为大于1,输出信息长度为1
3 前向传播过程 forward propagation
3.1内部公式
RNN cell 内部结构数上图所示,以many-to-many中的输入输出信息一一对应的rnn模型为例;每一个节点包含两个输入信息
输入信息
a<t-1>—上一节点的激活值(主要的记忆功能),通常a<0>设为0向量
x<t>—本节点的输入信息
参数
包含五个待估计参数(均为整个序列的共享参数,每一次向下一节点传播均使用这四个参数)
Waa—激活值之间的参数,将上一节点激活值a<t-1>的信息,传入本节点激活值a<t>
Wax—输入信息与激活值之间的参数,将本节点输入信息x<t>的信息,传入本节点激活值a<t>
ba—激活值偏置
Wya—激活值与输出结果之间的参数
by—输出结果偏置
激活函数
tanh— Rnn常用激活函数公式如下
softmax—输出激活函数
公式
3.2数据流向
本图为Rnn某个cell内的数据流向
4 反向传播过程
5问题
梯度爆炸问题 解决方案gradient-clipping
梯度消失问题-y<t>的输出仅受位置较近的信息影响,不擅长捕捉远程依赖关系
传播方向单向问题 解决方案BRN
最后
以上就是可爱翅膀为你收集整理的RNN学习笔记(一)--初识RNN的全部内容,希望文章能够帮你解决RNN学习笔记(一)--初识RNN所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复