循环神经网络

✍ dations ◷ 2025-11-09 16:55:28 #循环神经网络

循环神经网络(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网络也被称为“简单循环网络”。

变量和函数

相关

  • 杨属杨属(学名:Populus)属于杨柳科,包含了胡杨、白杨、棉白杨等,通称杨树。杨属植物为落叶乔木,在落叶前叶子变黄。与柳属植物相同,杨属植物的根部有着较强的侵略性,所以它们不能被种植
  • 红糖红糖(英语:Non-Centrifugal Sugar, NCS,有地区称板糖或者红板糖, 是一种常见的食用糖,泛指没有经过完全精炼及未经离心分蜜的带蜜蔗糖,与砂糖、冰糖相对。红糖能保持蔗糖的天然焦
  • 美国电视新闻电视新闻在美国有着悠久的历史。美国的电视台在早期大多只在晚间播10- 15分钟的新闻,然而现在美国有着多样的新闻节目和新闻频道。观众可通过多种方式,并在一天中的任何时间收
  • 尼姆博雷布德鲁克尼姆博雷布德鲁克(Nimbhore Budruk),是印度马哈拉施特拉邦Jalgaon县的一个城镇。总人口8449(2001年)。该地2001年总人口8449人,其中男性4485人,女性3964人;0—6岁人口759人,其中男426
  • 瓦莱里乌斯·安提亚斯瓦莱里乌斯·安提亚斯(Valerius Antias),约于公元前1世纪前后活动。写作时间约公元前80年至公元前60年间;著有自起源到约公元前60年的罗马史,至少有75卷,现仅存残篇,李维曾批判其作
  • 北安普敦主教座堂北安普敦主教座堂(英语:Northampton Cathedral)是英国英格兰城市北安普敦的一座罗马天主教的教堂,这座教堂是天主教北安普敦教区的主教座堂。教堂位于北安普敦的市区北部。
  • 安迪·拜福德安迪·拜福德(英语:Andy Byford,1965年-)是一位来自英国的雇员,目前于大都会运输署(MTA)任职,并从2018年1月起成为纽约市公共运输局(NYCTA)的董事长。在拜福德调至纽约之前,他曾于2011年
  • 整数数列列表整数数列是由整数组成的数列,以下只列出几个较有名的数列:在有形数中,有时会把0当做第一项
  • 朗热利耶站朗热利耶站站(法语:Station Langelier、英语:Langelier Station)位于加拿大魁北克省蒙特利尔,服务附近的居民。
  • 派翠西亚·亚莉杭德拉·贝穆德兹派翠西亚·亚莉杭德拉·贝穆德兹(Patricia Bermúdez,1987年2月5日-)是一名阿根廷摔跤运动员,曾代表国家参加2012年伦敦奥运的女子自由式48公斤级比赛,并未获得奖牌。她也参加了2016年里约奥运。