深度学习attention原理_RNN&Attention机制&LSTM 入门了解

本文深入介绍了RNN的基本结构和应用场景,包括经典RNN、NVS1、1VSN和NVM结构。然后探讨了Encoder-Decoder模型和Attention机制,解释了Attention如何解决长序列信息处理的问题。最后,讨论了LSTM,一种解决RNN梯度消失问题的特殊RNN形式,详细解析了LSTM的遗忘门、输入门、细胞状态和输出门的工作原理。
摘要由CSDN通过智能技术生成

RNN

经典的RNN结构:

在实际应用中,我们还会遇到很多序列形的数据,如:

自然语言处理问题。x1可以看做是第一个单词,x2可以看做是第二个单词,依次类推。

语音处理。此时,x1、x2、x3……是每帧的声音信号。

时间序列问题。例如每天的股票价格等等

序列形的数据就不太好用原始的神经网络处理了。为了建模序列问题,RNN引入了隐状态h(hidden state)的概念,h可以对序列形的数据提取特征,接着再转换为输出。先从h1的计算开始看:

图示中记号的含义是:

圆圈或方块表示的是向量。

一个箭头就表示对该向量做一次变换。如上图中h0和x1分别有一个箭头连接,就表示对h0和x1各做了一次变换。

在很多论文中也会出现类似的记号,初学的时候很容易搞乱,但只要把握住以上两点,就可以比较轻松地理解图示背后的含义。

h2的计算和h1类似。要注意的是,在计算时,每一步使用的参数U、W、b都是一样的,也就是说每个步骤的参数都是共享的,这是RNN的重要特点,一定要牢记。

我们这里为了方便起见,只画出序列长度为4的情况,实际上,这个计算过程可以无限地持续下去。

我们目前的RNN还没有输出,得到输出值的方法就是直接通过h进行计算:

正如之前所说,一个箭头就表示对对应的向量做一次类似于f(Wx+b)的变换,这里的这个箭头就表示对h1进行一次变换,得到输出y1。

剩下的输出类似进行(使用和y1同样的参数V和c):

这就是最经典的RNN结构,我们像搭积木一样把它搭好了。它的输入是x1, x2, .....xn,输出为y1, y2, ...yn,也就是说,输入和输出序列必须要是等长的。

由于这个限制的存在,经典RNN的适用范围比较小,但也有一些问题适合用经典的RNN结构建模,如:

计算视频中每一帧的分类标签。因为要对每一帧进行计算,因此输入和输出序列等长。

输入为字符,输出为下一个字符的概率。这就是著名的

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值