循环神经网络

✍ dations ◷ 2025-06-18 21:23:15 #循环神经网络

循环神经网络(Recurrent neural network:RNN)是神经网络的一种。单纯的RNN因为无法处理随着递归,权重指数级爆炸或梯度消失问题,难以捕捉长期时间关联;而结合不同的LSTM可以很好解决这个问题。

时间循环神经网络可以描述动态时间行为,因为和前馈神经网络(feedforward neural network)接受较特定结构的输入不同,RNN将状态在自身网络中循环传递,因此可以接受更广泛的时间序列结构输入。手写识别是最早成功利用RNN的研究结果。

递归神经网络是基于大卫·鲁梅尔哈特1986年的工作。1982年,约翰·霍普菲尔德发现了Hopfield神经网络——一种特殊的RNN。1993年,一个神经历史压缩器系统解决了一个“非常深度学习”的任务,这个任务在RNN展开之后有1000多个后续层。

Hochreiter和Schmidhuber于1997年提出了长短期记忆(LSTM)网络,并在多个应用领域创造了精确度记录。

大约在2007年,LSTM开始革新语音识别领域,在某些语音应用中胜过传统模型。2009年,一个由 CTC(英语:Connectionist temporal classification) 训练的LSTM网络赢得了多项连笔手写识别竞赛,成为第一个赢得模式识别竞赛的RNN。2014年,百度在不使用任何传统语音处理方法的情况下,使用经过CTC训练的RNNs打破了Switchboard Hub5'00 语音识别基准。

LSTM还改进了大词汇量语音识别和文本到语音合成并在谷歌安卓系统中使用。据报道,2015年,谷歌语音识别通过接受过CTC训练的LSTM(谷歌语音搜索使用的)实现了49%的引用量的大幅提升。

LSTM打破了改进机器翻译、语言建模和多语言处理的记录。 LSTM 结合卷积神经网络改进了图像自动标注 。

循环神经网络将输入序列 x {displaystyle {vec {x}}} 编码为一个固定长度的隐藏状态 h {displaystyle {vec {h}}} ,这里有(用自然语言处理作为例子):

其中,计算隐藏状态的方程 f ( x , h ) {displaystyle f(x,h)} 是一个非线性方程,可以是简单的Logistic方程(tanh),也可以是复杂的LSTM单元(Long Short-Term Memory)。 而有了隐藏状态序列,就可以对下一个出现的词语进行预测:

这里的非线性方程 g ( y , h , c ) {displaystyle g(y,h,c)} 可以是一个复杂的前馈神经网络,也可以是简单的非线性方程(但有可能因此无法适应复杂的条件而得不到任何有用结果)。给出的概率可以用监督学习的方法优化内部参数来给出翻译,也可以训练后用来给可能的备选词语,用计算其第j个备选词 y t , j {displaystyle y_{t,j}} 出现在下一位置的概率,给它们排序。排序后用于其它翻译系统,可以提升翻译质量。

更复杂的情况下循环神经网络还可以结合编码器作为解码器(Decoder),用于将编码后(Encoded)的信息解码为人类可识别的信息。也就是上述例子中的 y t = f ( y t 1 , h t , c ) {displaystyle y_{t}=f(y_{t-1},h_{t},c)} 过程,当中非线性模型 f {displaystyle f} 就是作为输出的循环神经网络。只是在解码过程中,隐藏状态因为是解码器的参数,所以为了发挥时间序列的特性,需要对 h t {displaystyle h_{t}'} 继续进行迭代:

用两个循环神经网络双向读取一个序列可以使人工智能获得“注意力”。简单的做法是将一个句子分别从两个方向编码为两个隐藏状态,然后将两个 h {displaystyle {vec {h}}} 拼接在一起作为隐藏状态。 这种方法能提高模型表现的原因之一可能是因为不同方向的读取在输入和输出之间创造了更多短期依赖关系,从而被RNN中的LSTM单元(及其变体)捕捉,例如在实验中发现颠倒输入序列的顺序(但不改变输出的顺序)可以意外达到提高表现的效果。

结构递归(Recursive)神经网络是一类用结构递归的方式构建的网络,比如说递归自编码机(Recursive Autoencoder),在自然语言处理的神经网络分析方法中用于解析语句。

RNN 有很多不同的变种

基本的 RNN 是由人工神经元(英语:Artificial neuron)组织成的连续的层的网络。给定层中的每个节点都通过有向(英语:Directed graph)(单向)连接连接到下一个连续层中的每个其他节点。每个节点(神经元)都有一个时变的实值激活。每个连接(突触)都有一个可修改的实值权重(英语:Weighting)。节点要么是输入节点(从网络外部接收数据),要么是输出节点(产生结果),要么是隐藏节点(在从输入到输出的过程中修改数据)。

对于离散时间设置中的监督学习,实值输入向量序列到达输入节点,一次一个向量。在任何给定的时间步长,每个非输入单元将其当前激活(结果)计算为与其连接的所有单元的激活的加权和的非线性函数。可以在特定的时间步长为某些输出单元提供主管给定的目标激活。例如,如果输入序列是对应于口语数字的语音信号,则在序列末尾的最终目标输出可以是对该数字进行分类的标签。

在强化学习环境中,没有教师提供目标信号。相反,适应度函数或奖励函数偶尔用于评估RNN的性能,它通过影响输出单元来影响其输入流,输出单元和一个可以影响环境的执行器相连。这可以被用来玩一个游戏,在这个游戏中,进度是用赢得的点数来衡量的。

每个序列产生一个误差,作为所有目标信号与网络计算的相应激活的偏差之和。对于大量序列的训练集,总误差是所有单个序列误差的总和。

Elman网络是一个三层网络(在图中水平排列为x、y和z),添加了一组上下文单元(在图中为u)。中间(隐藏)层连接到这些权重为1的上下文单元。在每个时间步,输入被向前反馈,并且学习规则被应用。固定的反向连接在上下文单元中保存隐藏单元的先前值的副本(因为它们在应用学习规则之前在连接上传播)。因此,网络可以保持某种状态,允许它执行诸如序列预测之类的任务,这些任务超出了标准多层感知器的能力。

Jordan网络类似于Elman网络。上下文单元是从输出层而不是隐藏层馈送的。Jordan网络中的上下文单元也称为状态层。他们与自己有着经常性的联系。

Elman和Jordan网络也被称为“简单循环网络”。

变量和函数

相关

  • 难产难产(Obstructed labour)是指分娩时,子宫虽然正常收缩,但却因物理因素无法顺利产出胎儿的情形。难产诱发的并发症除了因胎儿缺氧造成致命性的周产期窒息(英语:Perinatal asphyxia),
  • 切尔西艺术与设计学院1895年1895年 – 西南理工大学 South-Western Polytechnic1908年 – 切尔西艺术学校 Chelsea School of Art1989年 – 切尔西艺术与设计学院 Chelsea College of Art and De
  • 数据模型在软件工程中,数据模型是定义数据如何输入和与输出的一种模型。其主要作用是为信息系统提供数据的定义和格式。数据模型是数据库系统的核心和基础,现有的数据库系统都是基于某
  • 宝体站宝体站是深圳地铁1号线一个车站。站名因车站附近宝安区体育中心而得名,并将其名称缩短为“宝体”。位于中国广东省深圳市宝安区新湖路与罗田路交叉口下方,顺新湖路呈东南至西
  • 法属刚果法属刚果(英语:Congo français),在1903年后又称为中央刚果(法语:Moyen-Congo),是法国在非洲建立的一个殖民地政权,该领域涵盖现今的刚果共和国、加蓬、中非共和国等地。该政权在1882
  • 林锦林锦,字彦章,连江人。明朝官吏。景泰初年,由乡贡授合浦训导,提供平定当地瑶寇方略,为巡抚叶盛所奇,命代理灵山县事。之后设栅防守,抵御寇乱。任期满后离开,当地百姓称:“公去,贼复至,谁
  • 恩斯特一世 (萨克森-科堡-哥达)恩斯特一世(英语:Ernest I, Duke of Saxe-Coburg and Gotha,德语:Ernst Anton Karl Ludwig Herzog von Sachsen-Coburg und Gotha;1784年1月2日-1844年1月29日)是最后一任萨克森-科
  • 宪仁亲王妃久子久子(日语:久子/ひさこ ,1953年7月10日-)婚前名鸟取久子(とっとり ひさこ),日本皇族,为高圆宫宪仁亲王的亲王妃。勋等为勋一等,身位亲王妃、依《皇室典范》其敬称为殿下。徽章印为扇(お
  • 中国人民政治协商会议内蒙古自治区委员会中国人民政治协商会议内蒙古自治区委员会,简称内蒙古自治区政协,是中国人民政治协商会议在内蒙古自治区的地方组织机构。6 副主任☆
  • 热罗姆·戈尔马热罗姆·戈尔马(法语:Jérôme Golmard,1973年9月9日-2017年7月31日)是一位法国职业网球运动员,1993年转职业。戈尔马在2014年宣布被诊断出罹患运动神经元疾病(俗称渐冻人症),并于2017年7月31日逝世,享年43岁。