循环神经网络

✍ dations ◷ 2025-07-11 22:54:09 #循环神经网络

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

变量和函数

相关

  • 曼图霍特普四世曼图霍特普四世(英语:Mentuhotep IV),古埃及中王国时期第十一王朝的末代国王(在位时期大约是公元前1998年—约公元前1991年)。他远征红海,目的是探险和采石。他死后由阿米尼姆亥特
  • 罗斯福家族罗斯福家族(英语:Roosevelt family)是一个卓越的商业和美国政治世家,为荷兰移民的后裔,该家族产生过两位美国总统,分别是西奥多·罗斯福和富兰克林·德拉诺·罗斯福;富兰克林·德拉
  • 艳红丝隆头鱼艳红丝隆头鱼,又称艳红丝鳍鹦鲷,为辐鳍鱼纲鲈形目隆头鱼亚目隆头鱼科的其中一种,分布于中西太平洋的斐济海域,栖息深度20-50米,本鱼雌性尾鳍截形到边缘微凹,雄性呈新月状,腹鳍相当
  • 天主教贝克教区天主教贝克教区(拉丁语:Dioecesis Bakeriensis、英语:Roman Catholic Diocese of Baker)是美国一个罗马天主教教区,属波特兰总教区。1903年6月19日成立贝克城教区。1952年2月16日
  • 蓝与黑 (电影)《蓝与黑》(英语:)是邵氏于1966年出品的一部电影,导演为陶秦,林黛、关山主演,其中林黛在未能完成影片时逝世。故事根据王蓝的同名小说改编,当时投入了大量资金,以和电懋公司拍摄的《
  • 阮玉嘉福阮玉嘉福(越南语:Nguyễn Ngọc Gia Phúc/.mw-parser-output .han-nom{font-family:"Nom Na Tong","Han-Nom Gothic","Han-Nom Ming","HAN NOM A","HAN NOM B","Ming-Lt-HKSCS
  • 余国佩余国佩,字振行,清代徽州婺源县人。中年弃儒习医,名噪于时。著有《燥湿论》、《医理》。创万病之源,提出“燥湿为本”说。余国佩,清代徽州婺源县沱川人,国学生。为人温恭沈静,中年弃
  • 三氧化钋三氧化钋,又称氧化钋(VI) ,是一种无机化合物,化学式 PoO3。 它是钋的三种氧化物之一,另外两种氧化物分别是一氧化钋(PoO) 和二氧化钋 (PoO2)。 它是
  • 刘诗兵刘诗兵(1938年9月-),男,汉族,湖北人,中国影视表演教育家,曾任北京电影学院表演系主任,中国电影表演艺术学会常务理事,中国电影家协会理事。
  • 郑万通郑万通(1941年4月5日-),男,天津人,中华人民共和国政治人物,曾任第十一届全国政协副主席、党组成员。天津师范学院中文系毕业,大专学历。 1960年8月加入中国共产党,1961年8月参加工作。2008年,当选第十一届全国政协副主席,代表中国共产党,分入第一组。