第四部分 自然语言:让计算机理解它所“阅读”的内容
12 机器翻译,仍然不能从人类理解的角度来理解图像与文字
2016年,谷歌推出了一种新型的“神经机器翻译”(neural machine translation, NMT)系统,并声称他们已经在机器翻译质量方面取得了迄今为止最大的进步,但是,机器翻译系统的水平仍然远低于优秀的人类翻译员。
第一代:指定规则解码
自动翻译,特别是英语和俄语之间的翻译,是最早的人工智能项目之一。自动翻译的早期发展得益于数学家沃伦·韦弗在1947年的大力推动,他曾这样描述自己的想法:“人们会自然而然地想到翻译的问题是否可以被视为密码学中的一个问题。当我看一篇用俄语写就的文章时,我想说,这其实是用英语写的,只不过它被编码成了一些奇怪的符号,我现在需要解码它。”与人工智能中经常出现的情况一样,这种解码比人们最初预期的要更困难。
与早期的许多其他人工智能研究一样,机器翻译的原始方法依赖于人类指定规则的复杂集合。为了将源语言(如英语)翻译成目标语言(如俄语),程序通常会将这两种语言的语法规则及其句法结构之间的映射规则编码进机器翻译系统。此外,程序员还会为机器翻译系统创建词对词的或短语对短语的等价关系“字典”。就像许多其他在符号人工智能方面的工作一样,虽然这些方法在某些特定的情况下表现得很好,但它们相当脆弱,会面临我在之前讨论过的来自自然语言的所有挑战。
第二代:统计机器翻译
从20世纪90年代开始,一种被称为“统计机器翻译”(statistical machine-translation)的新方法开始在机器翻译领域占据主导地位。和同一时期人工智能其他方面的发展趋势类似,统计机器翻译依赖于从数据而非从人类制定的规则中学习,训练数据由大量成对的句子组成:每对句子中的第一个句子来自源语言,第二个句子是将第一个句子用目标语言翻译后的结果。这些成对的句子的来源有:双语国家的官方文件,例如,加拿大议会的每一份文件都是分别用英语和法语编写的;联合国的文字记录手稿,其中的每一份都会被翻译成联合国的六种官方语言;以及其他大量的原始的和翻译后的文件。
20世纪90年代到21世纪的前10年,统计机器翻译系统通常使用的是包含源语言和目标语言中短语连接概率的大型计算表。当用英语给定一个句子时,比如“一位男士走进一家餐厅”,系统会把这个句子分解成短语:“一位男士走”“进一家餐厅”,并在概率表中查找与这些短语相对应的最佳翻译。这些系统还会设定额外的步骤来确保翻译后的短语可以组成一个合理的句子,但这一过程主要是依据从训练数据中学到的各种短语配对的概率,系统并不知道其中的原理。尽管统计机器翻译系统对这两种语言的语法都知之甚少,但总的来说,这些方法要比更早期的基于规则的方法有更好的翻译效果。
谷歌翻译可能是目前最为广泛使用的自动翻译程序,从2006年推出起,一直在使用这种统计机器翻译方法,
第三代:神经机器翻译方法
直到2016年,谷歌研究人员称他们研发了一种更加优越的基于深度学习的翻译方法,也就是神经机器翻译。之后不久,所有最先进的机器翻译程序都采用了神经机器翻译方法。
编码器遇见解码器
图中上半部分是一个递归神经网络,也就是一个编码器网络,与我在前一章中所描述的非常相似。英语句子“A man went into a restaurant.”需要经过7个时步进行编码,我用白色的矩形来表示编码这个句子的网络,稍后我将介绍在矩形内的网络实际上是什么样子的。在编码阶段,每经过一个时步网络就会把句子中的一个单词以一个词向量的形式输入到网络中。从一个时步到下一个时步的虚线箭头是隐藏层中递归连接的简略表达。一次处理一个单词,网络会通过这种方式建立对这个英语句子的一个表示,并将其编码为其隐藏层单元中的激活值。
在最后一个时步中,编码器网络会被输入一个结束符号(END),此时隐藏单元的激活值就成了对这个完整句子的一个编码。这些来自编码器的最终隐藏单元的激活值就作为第二个网络——解码器网络(decoder network)的输入。如图12-1的下半部分所示,这个解码器网络将创建该句子的翻译版本。解码器网络也是一个递归网络,但其输出的是构成翻译句子的单词的数字表示,这些数字会在下一个时步被反馈回网络中。
更具体地说,解码器网络的输出是网络词汇表中(此处是法语)每个可能单词出现的概率。
如果句子太长的话,编码器网络最终会丢失有用的信息。也就是说,在后面的时步中,它会“忘记”句子前面的重要部分。
20世纪90年代末,瑞士的一个研究团队提出了一个解决方案:应该在一个递归神经网络的每个单元中都构造一个更加复杂的结构,并给其分配专门的权重来判定什么信息应该在下一个时步被发送出去,以及什么信息可以被“遗忘”。研究人员称这些更复杂的单元为“长短期记忆”(long short-term memory, LSTM)单元。这是一个令人困惑的名字,它指的是这些单元允许更多短时记忆贯穿句子的整个处理过程。与传统神经网络中的正规权重一样,这些专门的权重通过反向传播进行学习。编码器和解码器在图12-1中被抽象为白色矩形框,实际上,它们是由长短期记忆单元组成的。
深度学习时代的机器自动翻译是由大数据和快速计算造就的巨大成功。为了创建一个编码器-解码器网络,比如,将英语翻译成法语的,这些网络需要在超过3 000万对人工翻译的句子样本上进行训练。由长短期记忆单元组成,并且在大量数据集上进行训练的深度递归神经网络,已经成为现代自然语言处理系统的重要组成部分,不仅仅被用在谷歌翻译的编码器-解码器网络中,还被用在语音识别、情感分类以及我们将在下面看到的问答系统中。这些系统通常包含一些可以提高其表现的机制,比如同时前向和后向输入原始的句子,以及在不同的时步上将“注意力”集中在句子的不同部分。
机器翻译,正在弥补人机翻译之间的差距
我们应该在多大程度上相信机器实际上真的在慢慢学会理解语义,或者说机器翻译的准确性正在迅速接近人类水平?
评估翻译质量并非那么简单明了,一段给定的文本可以有很多种正确的翻译方式,当然,也有更多错误的翻译方式。由于对给定的文本进行翻译没有唯一的正确答案,因此很难设计出一种能够自动评估系统翻译准确性的方法。
两种评估翻译结果的方法。
- 第一种是自动化的方法,使用一个计算机程序,将一台机器的翻译与人类的进行比较,并给出分数;
- 对于第一种方法,在几乎所有的机器翻译评估中使用的程序都是“双语评估候补”(bilingual evaluation understudy,BLEU)。为了衡量翻译的质量,BLEU主要计算不同长度的单词和短语,在机器翻译的结果和一个人为创建的“参考文献”即正确答案之间匹配的数量。尽管BLEU的评分往往比较符合人们对翻译质量的判断,但BLEU总是倾向于高估糟糕的翻译。许多机器翻译的研究人员表示:BLEU是一种有缺陷的评估翻译的方法,之所以使用它,仅仅是因为还没人能找到总体性能更优的自动评估方法。
- 第二种方法是雇用精通两种语言的专家来人工评估翻译。
- 鉴于BLEU的缺陷,评估一个机器翻译系统的黄金标准方法还是让精通两种语言的专家对系统生成的翻译进行人工评分。这些专家还能对专业翻译人员的相应翻译进行评分,以便与机器翻译的评分进行比较。这种黄金标准方法也有缺点:显然,雇用相关人员需要花费很多钱,而且不同于计算机,人类在完成一定量的翻译评分后就会感到疲劳。因此,除非你能雇用一支手头有很多空闲时间的双语评估团队,否则这一方法就难以实施。
- 谷歌和微软的机器翻译团队都曾通过雇用双语评估团队来执行这种并不完全达标的黄金标准评估。每个评估人员都会被分配一组源语言句子,以及这些句子被翻译成目标语言后的结果,其中包括神经机器翻译系统的翻译和专业翻译人员的翻译。谷歌的评估内容包括约500个来自新闻报道和维基百科文章的不同语种的句子。他们的做法是:对每位评估人员在所有机器翻译以及人工翻译的句子上的评分分别取平均值,作为每位评估人员的最后评分,然后对所有评估人员的最后评分分别求平均值。谷歌的研究人员发现:评估人员对神经机器翻译系统翻译结果的平均评分接近(尽管低于)人工翻译句子得到的平均评分。这项评估中的所有语言对都出现了这种情况。
随着深度学习的引入,机器翻译的水平已经得到很大提升。那么这样就能证明机器翻译现在已接近人类水平了吗?在我看来,这种声明从好几个方面看来都是不合理的。
- 首先,对评分取平均数会产生误导性。比如,对于机器翻译来说,尽管其对大多数句子的翻译被评为“好极了”,但也有许多句子被评为“糟透了”,那么其平均水平是“还不错”;然而,你可能更想要一个总是表现得相当好、从来不会出错的、更可靠的翻译系统。
- 其次,这些翻译系统接近人类水平或与人类水平相当的说法完全是基于其对单个句子翻译水平的评估,而非篇幅更长的文章的翻译。在一篇文章中,句子通常会以重要的方式相互依存,而在对单个句子翻译的过程中,这些可能会被忽略。我还没有看到过任何关于机器翻译长文的评估的正式研究,一般来说,机器翻译长文的质量会差一点,比如说,对于谷歌翻译,当给定的是整个段落而非单个句子时,其翻译质量会显著下降。
- 最后,这些评估所使用的句子都是从新闻报道和维基百科页面中提取的,这些页面通常都经过慎重的编写以避免使用有歧义的语言或习语。这样的语言可能会给机器翻译系统带来严重的问题,但在现实世界中是无法回避的。
迷失在翻译之中
我用谷歌翻译把《餐厅际遇》这个故事从英语翻译成三种目标语言:法语、意大利语和中文。我把不带原文的翻译结果发给了我那些同时懂英语和目标语言的朋友们,并请他们把谷歌翻译的翻译结果再翻译回英语,以便了解一个熟练掌握相应目标语言的人会从谷歌翻译后的文本中得到什么。
虽然这些译文都把故事的梗概表达出来了,但一些细微且重要的部分在所有的翻译版本中都有丢失,包括把男士的愤怒表达为“冲出餐厅”,以及把女服务生的不满表达为“小声嘟囔着”,更不用说正确的语法偶尔也会在翻译过程中丢失。
对于机器翻译来说,主要的障碍在于:与语音识别系统的问题一样,机器翻译系统在执行任务时并没有真正“理解”它们正在处理的文本。在翻译以及语音识别中,一直存在这样的问题:为达到人类的水平,机器需要在多大程度上具备这种理解能力?侯世达认为:“翻译远比查字典和重新排列单词要复杂得多……要想做好翻译,机器需要对其所讨论的世界有一个心理模型。”例如,翻译《餐厅际遇》这个故事需要具有这样一个心理模型:当一个人不付钱就气冲冲地离开餐厅时,服务生更有可能对着他大吼要他支付账单,而不是说些提议法规的事。侯世达的这一观点在人工智能研究人员欧内斯特·戴维斯(Ernest Davis)和马库斯2015年的一篇文章中得到了回应:“机器翻译通常会涉及一些歧义问题,只有达到对文本的真正理解并运用现实世界的知识才能完成这项任务。”
一个编码器-解码器网络能够简单地通过接触更大的训练集以及构建更多的网络层,来获得必要的心理模型和对现实世界的认识吗?还是说需要通过一些完全不同的方法?
- 这仍然是一个悬而未决的问题,也是在人工智能研究群体中引发了激烈辩论的主题。
- 现在,我只想说,虽然神经机器翻译在许多应用领域中非常有效且实用,但是如果没有知识渊博的人类进行后期编辑,它们从根本上来说仍然是不可靠的。
把图像翻译成句子
除了在语言之间进行翻译之外,我们能否训练一个类似于编码器-解码器架构的神经网络,使其学会把图像翻译成语言?
- 其思想是:先使用一个网络对图像进行编码,再使用另一个网络来把它“翻译”成描述该图像内容的句子。毕竟,为一个图像创建标题不就是一种翻译方式吗?只不过这种情况下的源语言与目标语言分别是一幅画和一个标题。
- 2015年,两个分别来自谷歌和斯坦福大学的团队,在同一个计算机视觉会议上围绕这个主题彼此独立地发表了非常类似的论文。由谷歌团队研发的叫作“Show and Tell”(展示和说明)的系统。
这个系统的工作原理类似于编码器-解码器系统,只不过这里的输入是一幅图像而不是一个句子。图像被输入到一个卷积神经网络(ConvNet)而非编码器网络中。这里的ConvNets与我在第04章中描述的那个类似,只是这个ConvNets并不输出对于图像的分类,而是将其最后一层的激活值作为输入提供给解码器网络,随后,解码器网络解码这些激活值来输出一个句子。为了编码图像,研发团队使用了一个经ImageNet(我在第05章中描述过的一个大型图像数据集)图像分类任务训练过的ConvNets,其任务是训练解码器网络为输入图像生成一段合适的字幕。
在为图像生成字幕的情形中,每个训练样本由一张图像和与它匹配的一段字幕组成。这些图片是从Flickr等公共图像存储库中下载的,其字幕是由谷歌为此项研究雇用的亚马逊土耳其机器人生成的。由于字幕可以非常多变,每张图像都由5个不同的人分别给出一段字幕。因此,每张图像在训练集中会出现5次,每次都与不同的字幕配对。
即便它们给出的字幕是正确的,这些系统也无法从人类的角度来理解图像。描述漏掉了照片中关键的、有价值的点,漏掉了通过图像对我们自身、对我们的体验、对我们关于世界的情感和知识进行表达的方式,也就是说,它漏掉了这张照片的意义。
就像在机器翻译中的表现一样,这些系统仍然是不可信的。它们会在某些情况下运行得很好,但有时却会令人大失所望。此外,即便这些系统在大多情况下是正确的,但对于一幅蕴含丰富意义的图像,它们往往无法抓住其中的要点。
《AI 3.0》读书笔记
《AI 3.0》读书笔记 序1
《AI 3.0》读书笔记 序2
《AI 3.0》读书笔记 序3
《AI 3.0》读书笔记 译者序
《AI 3.0》读书笔记 第一部分 若想对未来下注,先要厘清人工智能为何仍然无法超越人类智能01
《AI 3.0》读书笔记 第一部分 若想对未来下注,先要厘清人工智能为何仍然无法超越人类智能02
《AI 3.0》读书笔记 第一部分 若想对未来下注,先要厘清人工智能为何仍然无法超越人类智能03
《AI 3.0》读书笔记 第二部分 视觉识别:始终是“看”起来容易“做”起来难 04 何人,何物,何时,何地,为何
《Ai 3.0》读书笔记 第二部分 视觉识别:始终是“看”起来容易“做”起来难 05 ConvNets和ImageNet,现代人工智能的基石
《AI 3.0》读书笔记 第二部分 视觉识别:始终是“看”起来容易“做”起来难 06 难以避免的长尾效应
《AI 3.0》读书笔记 第二部分 视觉识别:始终是“看”起来容易“做”起来难 07 确保价值观一致,构建值得信赖、有道德的人工智能
《AI 3.0》第三部分 游戏与推理:开发具有更接近人类水平的学习和推理能力的机器
《AI 3.0》第三部分 08 强化学习,最重要的是学会给机器人奖励
《AI 3.0》第三部分 09 学会玩游戏,智能究竟从何而来从
《AI 3.0》第三部分 10 游戏只是手段,通用人工智能才是目标
《AI 3.0》第四部分 自然语言:让计算机理解它所“阅读”的内容
《AI 3.0》第四部分 11 词语,以及与它一同出现的词
网友评论