循环神经网络

✍ dations ◷ 2025-07-11 21:00:26 #循环神经网络

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

变量和函数

相关

  • 糖浆糖浆(英语:Syrup)是透过煮或其它技术制成的、黏稠的、含高浓度的糖溶液。制造糖浆的原材料可以是糖水、甘蔗汁、果汁或者其它植物汁等。由于糖浆含糖量非常高,在密封状态下它不
  • 王文华王文华(英文名:Tom Wang,1967年12月17日-),台北市人,为作家、主持人、企业家、经理人及教师。擅长写作都会爱情故事、都会观察、人性剖析、行销企划、职场趋势、励志书籍等作品,读者
  • 罗马奥运会第十七届夏季奥林匹克运动会(英语:the Games of the XVII Olympiad,法语:les Jeux de la XVIIe Olympiade,意大利语:i Giochi della XVII Olimpiade),于1960年8月25日至9月11日在意
  • Bingle Bangle (AOA迷你专辑)《Bingle Bangle》是韩国女子组合AOA的第五张迷你专辑,由FNC Entertainment于2018年5月28日发行,本作是在草娥退团后,AOA首次以6人形式推出的作品。2018年5月14日,FNC娱乐宣布AO
  • 毛利和昭毛利和昭(1957年8月13日-),日本的资深男性动画师、人物设计师、演出家。出身于冈山县冈山市。已婚,妻子是动画师小川瑞惠(小川 みずえ)。代表作是负责人物设定的《妙手小厨师》、《
  • 乔治·达顿乔治·达顿(英语:George Dutton,1899年12月19日-1977年5月13日)为一位美国音讯工程师。他曾5次提名奥斯卡金像奖,其中3次奥斯卡最佳视觉效果奖和2次奥斯卡最佳音响效果奖。最佳视
  • 博德利博德利(Bodeli),是印度古吉拉特邦Vadodara县的一个城镇。总人口10494(2001年)。该地2001年总人口10494人,其中男性5436人,女性5058人;0—6岁人口1180人,其中男658人,女522人;识字率71.8
  • 俞跗俞跗,一作俞柎,又作逾跗。上古医家,传说为黄帝时代的良医。传说俞跗为黄帝时大臣,善医术,是中国医学史上最早的外科手术专家。精于外科,治病不用汤液醴酒(汤药)、石针、按摩,而以割皮
  • 吉田初三郎吉田初三郎(よしだ はつさぶろう、1884年3月4日-1955年8月16日)是活跃在大正至昭和的鸟瞰图绘师。生涯作成3000件以上的鸟瞰图,有“大正广重”之称。京都生。幼年,曾经是友禅的图
  • Labrador RecordsLabrador Records 是瑞典清新派第一大厂,创办人Bengt Rahm于1997年在瑞典Malmö成立了Labrador,后转移至首都斯德哥尔摩,主要发行独立流行音乐。