爱吧机器人网 » 技术 > 神经网络 > 正文

用中文传话游戏理解RNN

本文为雷锋字幕组编译的技术博客,原文名 Understanding RNNs using the game of Chinese whispers ,作者 Eniola Alese。翻译 |  陈涛   整理 |  吴璇 

循环神经网络(RNN)是人工神经网络中非常流行的一个版本,其可以很好地处理序列数据类型。该数据类型指的是将一组数据点以特定顺序排列,从而使相关的数据点一个挨着一个,具体的例子有:股票市场价格、音频和视频数据、DNA 序列、传感器数据、自然语言文本等等。

为了直观地了解 RNN 是如何工作的,假设我们正在玩一个很受欢迎的儿童游戏——中文传话。该游戏的目的是最后一个人能准确预测出句子中所漏掉的词语,比如「The brown dog has four _____」。

中文传话游戏
 
玩家们需要排成一队,并且根据句子中词语的排列,每个人都会得到其中的一个词语,比如玩家 1 得到词语「the」,玩家 2 得到词语「brown」,玩家 3 得到词语「dog」,以此类推。首先,队伍中的第一个人把他听到的词语悄悄地告诉队伍中站在他身后的玩家。然后这个玩家将这个词语和自己的词语一起悄悄地告诉他身后的人。接下来,整个队伍不断重复这个过程直到最后一个玩家。最后的玩家需要预测出所漏掉的词语,并大声地把这个消息告诉整个集体。

显而易见的是,最后一个玩家可以准确地猜出漏掉的词语是「legs」。这是因为前一个玩家告诉了他这个句子的前面部分:「The brown dog has four」,所以他能够通过该语境推导出这个词语。

上文说明了 RNN 的基本原理。通过提取序列之前的信息,并结合序列当前的输入,该网络能够预测出序列的下一个输出。

RNN的展开由上文可知,RNN 能够通过对整个序列重复同样的过程,从而做出预测。左下图显示了循环网络的基本结构。它同时接收序列数据输入向量(x)和隐藏状态信息(a),然后使用二者去预测序列数据的输出。


为了正确地将系统工作方式可视化,我们通常把 RNN 展开成与序列数据长度一致的一连串重复的单元或称之为时间步(如右上图所示)。比如我们需要处理的序列是一个有三个词语的句子时,那么其将被展开成有三个时间步的 RNN 网络,每一个时间步处理一个词语。

  RNN 的设计架构序列数据的输入和输出有各种各样的形式和长度。比如在情感分析任务中,输入通常是一串文本,而期望的输出是一个整数(1-5 的评分范围)或是单个文本(好的、坏的,积极的、消极的、中性的)。然而在语音文本任务中,输入则是声波中的一串声音信号,其输出则是一串对应的文本。

正是由于这些差异,当需要处理序列任务时,我们会针对性地设计 RNN 的输入和输出结构。一些常见的架构类型如下:

1. 多对多架构(同样的序列长度)

这是最基本的 RNN 结构,在每个时间步中输入序列的数量与输出序列的数量是一致的。一个使用该架构的应用实例是文本生成器:根据句子中前面的词语,预测下一个最有可能的词语。

采用多对多 RNN 架构的文本生成器
 
如上图所示,文本生成器的输入是一串词语,输出则是由预测得到的下一个词所组成的一串词语:「brown dog has four legs」。

2. 多对多架构(不同序列长度)

当需要处理输入和输出序列的数量不一致时,我们便可采用多对多架构的另一种版本。而机器翻译任务就是这样的一个应用实例:输入是原文的一串词语(比如法文),而输出是译文的一串词语(比如英文)。这个架构有两个不同的模块:编码器和解码器。前者接受输入的句子,将其映射成内部状态表征,然后将其传给后者,以供其生成输出的句子。

采用多对多 RNN 架构的机器翻译
 
在此架构中,当编码器将全部的输入序列处理完后,解码器才开始对输出的序列进行预测。这与前面提到的相同序列长度架构完全不同,在那个架构中,其每收到一个输入序列对象后,马上开始对每一个输出序列对象进行预测。

3. 多对一架构

在此架构中,RNN 在每个时间步都有一串输入,但只有在最后一个时间步输出一个单一值。情感分析任务正是此情景下的应用实例:任务的目的是对输入的语句进行分类,判断其是否有正面或负面的情感。

采用多对一 RNN 架构的情感分析任务
 
在上图的情感分析任务中,RNN 并不是在每个时间步都有输出,而是在读完整串词语后,仅在最后一个时间步输出一个单一值:「positive」。

4. 一对多架构

此处的 RNN 在第一个时间步接受一个单一值,然后在剩余的时间步中输出一串值。基于此架构的应用通常会取得每个时间步的预测输出,并把它传递给下一层,作为该层的输入值。一个应用实例是图像标注:RNN 接受一幅图像作为输入,然后输出描述图像中所发生事情的一串词语。

采用一对多架构的图像标注
 
上图显示了输入是一个女性跑步的表情符号,而输出则是预测得到的一串词语:「woman in blue vest running」。

 结论

在这篇文章中,我们简单介绍了循环网络以及其不同类型的架构,包括相应的应用实例。

来源
https://medium.com/learn-love-ai/introduction-to-recurrent-neural-networks-rnns-43238d037a5c


上一篇:如何应用TFGAN快速实践生成对抗网络?
下一篇:人工智能穿越时空艺术压缩:如何教一个神经网络来绘制70年代电视
精选推荐
九台“猎豹”机器人组队踢球,麻省理工高材生们的高级趣味
九台“猎豹”机器人组队踢球,麻省理工高材生们的高级趣味

[2019-11-09]  本周,在麻省理工学院10号楼外草坪上展开了一场别开生面的足球比赛。在绿草如茵的基利安球场上,一群由人工智能驱动的机器人就是这场比赛的 ...

2017年:AI渗入云端
2017年:AI渗入云端

[2017-12-29]  云中的人工智能不仅仅是科技巨头的权力游戏,它也可能是人工智能领域的下一个飞跃。加利福尼亚州的Rigetti Computing公司刚刚使用其原型量子芯片之一在其云平台上运行机器学......

改变保险市场的格局:无人机如何通过更快的估算、响应时间和利益交付来使消费者受益
改变保险市场的格局:无人机如何通过更快的估算、响应时间和利益交付来

[2018-12-08]  市场研究公司IHS Markit预测,到2020年,专业无人机市场将通过农业,能源和建筑等行业利用测量,制图,规划等技术实现77 1%的复合年增长率(CAGR)。与此同时,消费者无人......

机器人从工业走向家庭  库卡KUKA目标是引领中国市场
机器人从工业走向家庭 库卡KUKA目标是引领中国市场

[2017-12-08]  机器人正在改变着人们的生活方式,而库卡KUKA想要在中国这个大蛋糕中占有一块大份额,库卡公司正在引领市场...

CES 2018:英特尔推出49量子位芯片争夺量子霸权
CES 2018:英特尔推出49量子位芯片争夺量子霸权

[2018-01-10]  在与Google、IBM的一场关于建立量子计算系统的马拉松比赛中,英特尔通过了一个关键的里程碑。近日,这个科技巨头已经推出了一个49个量子位 ...

受大脑控制的机器人
受大脑控制的机器人

[2017-03-21]   想让机器人做我们想做的,首先,他得全面地了解我们。通常,这就意味着人类需要要付出更多。比如,教机器人复杂的人类语言或者把一项任务 ...

深度神经网络揭示了大脑喜欢看什么
深度神经网络揭示了大脑喜欢看什么

[2019-11-06]  爱吧机器人网编者按:近日,《自然-神经科学》发表了一篇论文,研究人员创建了一种深度人工神经网络,能够准确预测生物大脑对视觉刺激所产 ...

美国人工智能公司Skymind进入福建全面开展业务
美国人工智能公司Skymind进入福建全面开展业务

[2017-12-11]  人工智能在当今这个时代对大家来说想必是非常熟悉的,这也是我国近十几年来一直追求的目标,未来的时间里这也将是全人类追求的目标。就目前来看,近年来,人工智能或在我国迎......

本周栏目热点

神经网络:人工智能以及我们的未来

[2016-11-20]   作者:James Crowder翻译:王益军审校:心原文链接:techcrunch把自己想象成在一辆未来的自动驾驶汽车的乘客。这辆汽车与你以一种 ...

[2016-11-20]   include "stdio h" include "stdlib h" include "time h" include "math h" *********************************************i ...

OpenAI开辟全新AI音乐领域,发布Jukebox神经网络生产歌曲

[2020-05-19]  日前,外媒报道,人工智能(AI)技术生成的音乐会给人们带来非常奇妙体验。其中有两大原因,第一,这是一个非常吸引人的全新领域;第二,这 ...

50行代码玩转生成对抗网络GAN模型!(附源码)

[2018-07-30]  本文为大家介绍了生成对抗网络(Generate Adversarial Network,GAN),以最直白的语言来讲解它,最后实现一个简单的 GAN 程序来帮助大家加深理解。...

深度神经网络揭示了大脑喜欢看什么

[2019-11-06]  爱吧机器人网编者按:近日,《自然-神经科学》发表了一篇论文,研究人员创建了一种深度人工神经网络,能够准确预测生物大脑对视觉刺激所产 ...