循环神经网络

✍ dations ◷ 2025-05-19 12:16:33 #循环神经网络

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

变量和函数

相关

  • 刘忠范刘忠范(1962年10月-),吉林九台人,中国物理化学家,北京大学教授。
  • 黑岛黑岛可以指:中国的岛屿:日本的岛屿:人名:企业:作品:
  • 温泉城温泉城(英语:Hot Springs)是位于美国阿肯色州加兰县的一座城市,也是该县的县治所在。根据美国人口调查局2000年统计,共有人口35,750人,其中白人占78.86%、非裔美国人占16.87%。温
  • 玻尔半径尼尔斯·玻尔于1913年提出了原子构造的玻尔模型,其中电子环绕着原子核运转。模型中提及电子只会在特定的几个距离(视能量而定)环绕原子核运转。而最简单的原子──氢原子──只
  • 以色列交通以色列交通主要基于私家车、巴士服务和正在扩充的铁路网。以色列公路网全长18,096千米(11,244英里),其中449 km(279 mi)是高速公路。巴士是以色列主要的公共交通方式。2015年,以
  • 何贤 (永乐进士)何贤,字彦哲,陕西狄道人。明朝政治人物、进士。永乐十年(1412年)壬辰科二甲第三十四名进士。后选为翰林院庶吉士,编撰永乐大典。历任中书舍人、詹事府少詹事、直至太常寺少卿。善
  • 关彝关彝(?-?),三国时蜀国汉寿亭侯,关兴庶子,关羽之孙。220年关羽死后,关兴继汉寿亭侯,但是关兴长子关统无后,所以由关彝继汉寿亭侯。在《三国志》裴松之注引《蜀记》里收录一说,指庞德之子
  • 圣但尼-巴黎门站圣德尼-巴黎门站(法语:Saint-Denis - Porte de Paris)是巴黎地铁的一个车站,位于巴黎北郊的圣但尼 (塞纳-圣但尼省)。圣德尼-巴黎门站是巴黎地铁13号线的车站,开通于1976年5月25
  • 政治迫害受害者纪念日政治迫害受害者纪念日(俄语:День памяти жертв политических репрессий)定于10月30日,俄罗斯、白俄罗斯等前苏联加盟共和国举行活动,悼念共产党政权时期遭到政治迫害的遇难者。乌克兰的政治迫害遇难者日定于五月的第三个星期日。1974年10月30日,前苏联两个劳改营中的政治犯首次以绝食和点燃蜡烛的方式纪念政治迫害遇难者。1989年10月30日,一批苏联持不同政见者在诺贝尔和平奖得主萨哈罗夫的带领下,首次在克格勃总部前广场举行纪念政治迫害遇难者活动,那次活动未遭苏联警察驱散
  • 三陆沿岸道路 */?)是一条连结日本宫城县仙台市宫城野区至岩手县宫古市的高速公路(与国道45号与宫城县道8号仙台松岛线(日语:宮城県道8号仙台松島線)的自动车专用道路)。略称为三陆道。高速公路编号(日语:高速道路ナンバリング)的路线编号在仙台港北IC(日语:仙台港北インターチェンジ)-利府JCT(日语:利府ジャンクション)间与常磐自动车道、仙台东部道路、仙台北部道路一同编入“E6”,利府JCT-田老北IC(日语:田老北インターチェンジ)间编入“E45”。东日本大震灾后,计划在北至青森县八户市的路段兴建“复兴道路”三陆