《卷积神经网络与计算机视觉》 —3.3循环神经网络

举报
华章计算机 发表于 2020/02/14 16:48:48 2020/02/14
【摘要】 本节书摘来自华章计算机《卷积神经网络与计算机视觉》 一书中第3章,第3.3.1节,作者是[澳]萨尔曼·汗(Salman Khan)侯赛因·拉哈马尼(Hossein Rahmani)赛义德·阿法克·阿里·沙(Syed Afaq Ali Shah)穆罕默德·本纳努恩(Mohammed Bennamoun),黄智濒 戴志涛 译。

3.3循环神经网络

反馈网络在其网络架构中包含循环,允许它们处理时序数据。在许多应用(例如图像的字幕生成)中我们希望进行预测,使得它与先前生成的输出(例如,标题中已生成的字)一致。为实现此目的,网络以类似的方式处理输入序列中的每个元素(同时考虑先前的计算状态)。 因此,它也称为RNN。

由于RNN以依赖于先前计算状态的方式处理信息,因此它们提供了“记住”先前状态的机制。 存储机制通常有效地仅记住先前由网络处理的短时信息。下面,我们概述RNN的架构细节。

3.3.1基础架构

简单的RNN架构如图3.3所示。如上所述,它包含一个反馈回路,其工作可以通过随时间展开循环网络来显示(如图3.3b所示)。展开版本的RNN非常类似于3.2节中描述的前馈神经网络。 因此,我们可以将RNN理解为一个简单的多层神经网络,其中信息流随时间发生,不同的层代表不同时刻的计算输出。RNN对序列进行操作,因此输入以及每个时刻的输出也会变化。

 image.png

图3.3RNN架构。a)具有反馈回路的简单循环网络。b)在不同时间步展开的循环架构

 

下面将重点介绍RNN架构的主要功能。

 

可变长度输入:RNN可以对可变长度的输入(例如,具有可变帧长度的视频、具有不同数量的单词的句子、具有可变数量的点的3D点云)进行操作。展开的RNN结构的长度取决于输入序列的长度,例如,对于由12个单词组成的句子,在展开的RNN架构中将总共有12层。在图3.3中,在每个时刻t,对网络的输入由变量xt表示。

隐藏状态:RNN在内部保存先前计算的存储,该隐藏状态由ht表示。可以将该状态理解为展开的RNN结构中的前一层的输入。在序列处理开始时,用0或随机向量初始化它。 在每个时间步,通过考虑其先前值和当前输入来更新该状态:

image.png

其中,f(·)是非线性激活函数。权重矩阵B称为转移矩阵,因为它影响隐藏状态随时间的变化。

可变长度输出:每个时间步的RNN输出用yt表示。RNN能够产生可变长度输出,例如,将一种语言的句子翻译成另一种语言,其中输出序列长度可以与输入序列长度不同。这是可能的,因为RNN在进行预测时会考虑隐藏状态。隐藏状态模拟先前处理的序列的联合概率,其可用于预测新输出。例如,在句子中给出一些起始单词,RNN可以预测句子中的下一个可能的单词,其中句子的特殊结尾符号用于表示每个句子的结尾。在这种情况下,所有可能的单词(包括句子结尾符号)都包含在进行预测的字典中。

image.png

其中,f(·)是激活函数,例如柔性最大传递函数(softmax,见4.2.4节)。

 

共享参数:在展开RNN结构中,链接输入、隐藏状态和输出的参数(分别由A、B和C表示)在所有层之间共享。 这就是整个架构可以使用循环来表示它的递归架构的原因。由于RNN中的参数是共享的,因此可调参数的总数远小于MLP,MLP网络中的每个层需要学习一组单独的参数。这样可以有效地训练和测试反馈网络。

基于上述的RNN架构的描述,可以注意到网络的隐藏状态确实提供了存储机制,但是当我们想要记住序列中的长时关系时它是没有效果的。因此,RNN仅提供短时记忆并且难以“记住”(几步之外)通过它处理的旧信息。为了克服这一限制,文献中引入了改进版本的循环网络,其中包括长短时记忆网络(LSTM) [Hochreiter and Schmidhuber,1997]、门控递归单元(GRU)[Cho et al.,2014]、双向RNN(BRNN)[Graves and Schmidhuber,2005]和神经图灵机(NTM)[Graves et al.,2014]。但是,所有这些网络架构及其功能的详细信息都超出了本书的范围,本书主要关注前馈架构(特别是CNN)。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。