人工智能之循环神经网络(RNN)
2018-06-15 08:38:10AI云资讯1573
循环神经网络(RNN)现已成为国际上神经网络专家研究的重要对象之一。它是一种节点定向连接成环的人工神经网络,最初由Jordan,Pineda.Williams,Elman等于上世纪80年代末提出的一种神经网络结构模型。
引领循环神经网络RNN研究的主要是JuergenSchmidhuber和他的学生——其中包括SeppHochreiter,他发现了高深度网络所遇到的梯度消失问题,后来又发明了长短期记忆(LSTM)循环网络;还有Alex Graves,他目前在DeepMind任职。另外两位比较著名的研究者分别是:Felix Gers,他发明了LSTM遗忘门;Justin Bayer,他发明了可以让LSTM拓扑结构根据具体问题进行自动演化的方法。
RNN概念:
循环神经网络RNN(Recurrent NeuronNetwork)的内部状态可以展示动态时序行为。不同于前馈神经网络的是,RNN可以利用它内部的记忆来处理任意时序的输入序列,这让它可以更容易处理如不分段的手写识别、语音识别等。

循环神经网络(RNN)可以实现并行和序列计算,原则上可以计算任何传统计算机所能计算的东西。但和传统计算机不同的是,RNN与人类大脑有相似之处;人脑是一种由神经元相互联结组成的大型前馈网络,可以借由某种方式学会将长达人的一生的感觉信号输入流转换为一个有效的运动输出序列。人脑是一个杰出的模范,因为它能解决许多计算机尚且力所不及的问题。
RNN特征:
循环神经网络RNN的本质特征是在处理单元之间既有内部的反馈连接又有前馈连接。从系统观点看,它是一个反馈动力系统,在计算过程中体现过程动态特性,比前馈神经网络具有更强的动态行为和计算能力。
RNN分类:
1)完全递归网络(Fully recurrent network)
2)Hopfield网络(Hopfield network)
3)Elman networks and Jordannetworks
4)回声状态网络(Echo state network)
5)长短记忆网络(Long short term memery network)
6)双向网络(Bi-directional RNN)
7)持续型网络(Continuous-time RNN)
8)分层RNN(Hierarchical RNN)
9)复发性多层感知器(Recurrent multilayer perceptron)
10)二阶递归神经网络(Second Order Recurrent Neural Network)
11)波拉克的连续的级联网络(Pollack’s sequential cascaded networks)
RNN与FNN区别:
循环神经网络RNN和前馈神经网络FNN的最大区别在于有一个反馈循环。另外,两者的记忆模式完全不同。在定型之后,前馈神经网络会生成已学习数据的静态模型,然后接受新的样例,进行准确的分类或聚类。而循环神经网络RNN则会生成动态模型,即会随时间推移而变化的模型,即将第n-1步的输出反馈给神经网络,对第n步的输出产生影响,之后的每一步也都以此类推。这种变化可以让模型依据输入样例的上下文来进行准确的分类。
RNN模型与记忆:
循环神经网络RNN包含了决定同个序列中的前一次分类结果的隐藏状态。以后每一步,这一隐藏状态会与新一步的输入数据相加,生成一个新的隐藏状态,再得出一个新的分类结果。每个隐藏状态都会被循环利用,生成经过调整的后续隐藏状态。
人类的记忆模式同样能考虑上下文,循环利用对于过往状态的认知来恰当地解读新数据。人类会受到短期记忆和先前感觉的影响,保留了不同的“隐藏状态”。
RNN基本结构:

RNN是一种对序列数据建模的神经网络,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐藏层之间的节点不再无连接而是有连接的,并且隐藏层的输入不仅包括输入层的输出还包括上一时刻隐藏层的输出。下面是一个RNN模型的示例图,其中:
xt是t时刻的输入;
st是t时刻的隐状态(memory),基于上一时刻的隐状态和当前输入得到:st=f(Uxt+Wst?1),其中f一般是非线性的激活函数,在计算s0时,需要用到s?1。
ot表示t时刻的输出,ot=softmax(Vst);
在RNN中,所有层次均共享同样的参数。其反应出RNN中的每一步都在做相同的事,只是输入不同,因此大大地降低了网络中需要学习的参数。

RNN允许对向量的序列进行操作:输入可以是序列,输出也可以是序列,在最一般化的情况下输入输出都可以是序列。输出序列理解为RNN关于序列下一个状态预测的信心程度。
RNN参数训练:
循环神经网络RNN的参数训练可以通过随时间进行反向传播(Back propagation Through Time,BPTT)算法,BPTT算法是针对循环层的训练算法,包含三个步骤:
1)前向计算每个神经元的输出值;
2)反向计算每个神经元的误差项值,它是误差函数E对神经元j的加权输入的偏导数;
3)计算每个权重的梯度,最后再用随机梯度下降算法更新权重。

RNN优点:
1)分布式表达;
2)能在序列预测中明确地学习和利用背景信息;
3)具有长时间范围内学习和执行数据的复杂转换能力。
RNN缺点:
1)会造成梯度消失问题;
2)会造成梯度爆炸问题;
RNN改进方案:
1)选择其他的激活函数,比如ReLU;
2)引入改进网络结构的机制,比如LSTM,GRU;
3)自然语音处理上应用十分广的就是LSTM。

RNN应用场景:
循环神经网络RNN是一类功能强大的人工神经网络算法,特别适用于处理声音、时间序列(传感器)数据或书面自然语言等序列数据。DeepMind在自动代理玩游戏的研究中就使用了一种循环网络。
循环神经网络RNN也适用于聚类和异常状态检测。可以应用于可穿戴式设备生成的医疗保健数据、恒温器等智能设备生成的家居环境数据、股票及指数变动生成的市场数据、账户交易活动生成的个人财务数据(可用于检测欺诈或洗钱行为)等。

目前,循环神经网络RNN在自然语言处理、机器翻译、图像识别、语音识别等领域迅速得到大量应用。
RNN已在实践中证明对自然语言处理是非常成功的,如词向量表达、语句合法性检查、词性标注等。
结语:
循环神经网络RNN是一类功能强大的人工神经网络算法,其模型是目前人工神经网络应用中最为广泛的一类模型。特别适用于处理声音、时间序列(传感器)数据或书面自然语言等序列数据。DeepMind在自动代理玩游戏的研究中就使用了一种循环网络。RNN算法在人工智能之机器学习、自然语言处理、机器翻译、图像识别、语音识别、时间序列数据、股票交易数据和气象观测数据等领域有着广泛应用。
相关文章
- 微软2025年的碳排放量增加了25%,可持续发展解决方案未能跟上人工智能需求的步伐
- 深耕人工智能赋能教育,探索育人新模式 —— 天立依托 AI育人实践交出阶段性答卷
- 聚智向善 赋能未来:中国联通数智创新成果亮相2026人工智能向善全球峰会
- 中国移动江苏公司开展“人工智能+制造”专项宣讲活动
- 第7届电力人工智能大会暨第5届电力行业数字化转型大会,10月相约杭州!
- “AI设计师”上岗记:佛山“小巨人”用AI重塑“工业之母”丨佛山向新·人工智能+③
- 复旦大学博导曾新华加盟网萌科技出任人工智能首席科学家,全面赋能电商数智化服务创新
- 三星借助量子计算赋能芯片制造技术追赶台积电,人工智能将重塑芯片制造最关键的环节
- 华为中国行2026·新疆人工智能+产业峰会成功举办
- 探寻人工智能2026|对话张亚勤:智能体落地提速,中国基建构筑AI竞争优势
- 泛在AI:下一代人工智能终极落地形态,东数新业以原创根技术构筑数字经济新质生产力底座
- 谷歌投资A24,共同开发人工智能电影制作工具
- 云从科技参与共建广州市粤港澳大湾区人工智能应用赋能中心
- 中电信人工智能公司跻身IDC报告中国智能体开发平台私有化市场份额前五
- 上海智位机器人正式加入鸿蒙生态,Mind+适配鸿蒙PC共推人工智能教育普及
- 解码AI未来 2026世界制造业大会人工智能与机器人展9月启幕
人工智能企业
更多>>人工智能硬件
更多>>人工智能产业
更多>>人工智能技术
更多>>- 自变量机器人王昊:训练世界模型需付出“时间税”,解决模态对齐是当务之急
- 腾讯发布CodeBuddy Security,用AI Agent实现更高效的代码审计
- Twinkle x昇腾,率先实现Deepseek-V4系列模型高效训练
- 高德发布鸿蒙首个生成式 UI 开源框架 AGenUI,告别传统 UI 开发模式
- 发布即适配| 天数智芯全力支持腾讯混元Hy3 preview 开源落地,共推国内大模型产业普惠
- Seedance 2.0面向企业公测,豆包大模型日均Token使用量突破120万亿
- 端到端OCR模型第一!百度千帆Qianfan-OCR正式发布
- 云知声Unisound U1-OCR大模型发布!首个工业级文档智能基础大模型,开启OCR 3.0时代









