我是靠谱客的博主 可爱翅膀,最近开发中收集的这篇文章主要介绍RNN学习笔记(一)--初识RNN,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

第一次整理内容有些凌乱

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所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部