XYZ“三原色”,助力AI决策类人化
共 3419字,需浏览 7分钟
·
2020-11-06 21:06
编者按:人类认知的三大属性包括:单语言文本(X),音频或视觉感官信号(Y)和多语言文本(Z)。微软通过研究 X、Y、Z 三个领域的交汇处,发现了实现 AI 能力又一次飞跃的可能——以更接近人类的学习和理解方式进行多感知和多语言学习。本文编译自微软技术院士、微软 Azure 认知服务首席技术官黄学东发表在微软研究院博客的署名文章“A holistic representation toward integrative AI”。
在微软,我们一直在寻求通过更全面、以人为本的方法去解决机器的学习和理解问题,以超越现有技术的限制,推进 AI 发展。作为微软 Azure 认知服务首席技术官,我一直与一支由顶尖的科学家和工程师组成的团队通力合作,力争实现这一目标。
由于工作角色的关系,我能够以独特的视角观察人类认知三大属性之间的关系:单语言文本(X),音频或视觉感官信号(Y)和多语言文本(Z)。在这三者的交汇处,存在着一种魔力,我们称之为 XYZ 代码,如图1所示。这种联合描述将能够创造更强大的 AI,可以更好地表达、倾听、观察和理解人类。我们相信,XYZ 代码将有助于我们实现长期的人工智能愿景:跨领域、跨模式和跨语言的迁移学习。我们的目标在于研发出共同学习表征的预训练模型,进而为广泛的下游 AI 任务提供支持,而这与人类今天的工作方式非常相似。
过去五年间,我们在对话式语音识别、机器翻译、对话式问答、机器阅读理解和图像描述等基准测试中都取得了能够与人类媲美的成绩。这五项技术突破让我们更加满怀信心地渴望实现 AI 能力的又一次飞跃——以更接近人类学习和理解的方式进行多感知和多语言学习。我相信,如果有下游 AI 任务中的外部知识作为支撑,XYZ 代码将成为实现这个愿望的基本要素。
图1:旨在实现 AI 功能飞跃的 XYZ 代码。我们可以通过 X、Y、Z 三个领域的交叉获得更强大的表示形式。
X 代码旨在实现单语言文本通用表示。早在2013年,我们就通过语义嵌入最大化必应搜索查询词和与之相关的文档的互信息,其得到的文本表示即为 X 代码。X 代码很快就转化至微软必应搜索服务推向了市场,但当时其架构(如图2所示)并未公布。近1-2年来,在基于 Transformer 的神经模型(例如 BERT、图灵和 GPT-3)的加持下,X 代码对基于文本的单语言预训练起到了显著的提升作用。
X 代码将查询词(字)和文档映射到高维意图空间中。我们以500亿个无重复的查询-文档对作为训练数据,对这些表示的互信息加以最大化,X 代码成功学会了大规模查询与文档之间的语义关系,并且在搜索排名、广告点击预测、查询之间相似度以及文档分组等各种自然语言处理任务中展现出了优越的性能。
图2:早在2013年,X 代码通过互信息的最大化以改善大规模语义文本的表示学习。我们通过查询及 URL 表示的联合优化,利用搜索引擎点击日志对其进行训练。在嵌入空间,X 代码捕获到其中单词和 Web 文档的相似性,进而用于各种自然语言处理任务。图示来自2013年的原始架构。
我们对感知 AI 的探索及努力全都囊括在了 Y 代码之中。我们用 Y 指代音频或视觉信号。对 X 和 Y 属性的联合优化有助于图像描述以及语音、表格或 OCR 识别。通过 XY 联合代码或单纯的 Y 代码,我们旨在对文本、音频或视觉信号进行共同优化。
在最近的 NOCAPS 基准测试中,通过我们的努力,Y 代码在图像描述上的表现超越了人类,其架构如图3所示。通过该架构,我们能够从视觉信息中确定新物体,并增加一个语言理解层组成描述它们之间关系的句子。在很多情况下,这比人类写的描述更加准确。NOCAPS 上的突破表明,X 和 Y 属性之间的交集可以极大地帮助我们在下游 AI 任务取得额外的提升。
图3:应用于图像描述的 Y 代码架构(2020年)。
为了实现 NOCAPS 上的突破,我们预训练了一个大型 AI 模型,用于文本和视觉模式的语义对齐。训练使用的数据集由带文字标签的图像进行增强,而不仅仅是完整的图片描述,因为它们更易于构建,而且学习的视觉词汇量也更加丰富。这就像教孩子们读书一样,向他们解读一本图画书时,将苹果的图片与 “苹果”这个单词关联起来。
在第二阶段,我们对预训练的模型进行了微调,以教会这个模型如何组成句子。这个自动图像描述功能目前已经集成到了 Office 365、LinkedIn 等广受欢迎的微软产品中,欢迎大家使用。此外,还有一款名为 Seeing AI 的手机应用,正在为视力受损或丧失的人群提供服务。在 Office 365中,当你将一张图像粘贴到 PowerPoint、Word 或 Outlook 中时,都会看到“替代文本”这个选项。这在易用性方面也大有裨益,因为图像所附的替代文本可以通过屏幕阅读器朗读出来。
Z 代码也可称为多语言,其灵感来自于我们希望为全社会消除语言障碍的愿景。Z 代码通过为一系列语言启用基于文本的多语言神经网络翻译,来扩展单语言的 X 代码。由于进行了迁移学习,而且相似语言之间存在共同的语素,所以我们显著地改善了质量,降低了成本,并提高了 Azure 认知服务中机器翻译功能的效率(更多详细信息,见图4)。
借助 Z 代码,我们正在利用迁移学习的能力,提高低资源语言的质量。低资源语言是指训练数据中所含语句数量少于100万的语言。我们旨在覆盖大约1,500个低资源语言。随着语言覆盖范围的扩大,这些语言可用训练数据的缺乏所带来的限制与日俱增。为了克服这个难题,我们通过多语言合并以及使用 BERT 式的掩码语言模型开发出了多语言神经网络翻译。
在 Z 代码中,我们把 BERT 视为将掩码语言翻译成初始语言的另一项翻译任务。由于进行了迁移学习以及相似语言之间的共享,因此我们可以用更少的数据极大地提升翻译质量,降低成本,并提高效率。现在,我们可以使用 Z 代码来改进翻译和一般自然语言理解任务,例如多语言命名的实体抽取等。无论人们使用何种语言,Z 代码都可以帮助我们提供嵌入其中的通用语言。Z 代码可谓“天生就是多语言的”。
图4:Z代码架构图。Z代码以两种方式使用迁移学习。首先,该模型使用多语言训练,这样知识可以在多个语言之间实现迁移。其次,我们使用多任务训练,让知识在不同任务之间迁移。例如,机器翻译任务(MT)可以为自然语言理解任务提供帮助,而掩码LM任务(MLM)或去噪自动编码器任务(DAE)可以为机器翻译任务提供帮助,以此类推。
多语言语音识别或翻译是应用 XYZ 代码的实际情境之一,无论这涉及到的是简单的电梯多语言语音控制,还是向欧盟议会提供支持(其成员使用24种欧洲官方语言)。我们通过开发基于 AI 的工具,努力克服语言障碍,实现了对欧洲议会辩论的自动实时转录和翻译,并且能够从人工的校对和编辑中进行学习。
在15世纪中期,德国发明家约翰内斯·古腾堡(Johannes Gutenberg)造出了第一台印刷机。古腾堡印刷机通过把金属质地的活字模组合成单词,从而使大规模印刷书面材料成为了可能。这一进步让人类能够广泛地传播和分享知识。我们的团队正是从古腾堡身上汲取了灵感,XYZ 代码的研发工作将 AI 功能分解成了细小的“积木”,以独特的方式进行组合,让集成 AI 变得更加有效。
作为历史上最重要的发明之一,古腾堡印刷机极大地改变了社会的演进方式。我相信,我们正处于与之相似的 AI 功能“复兴”过程之中。在当今的数字化时代,我们的雄心壮志是开发出可以像人类一样学习和推理的技术,也就是说,让技术能够更像人类在做出决策时那样,对情境和意图进行推断。
尽管我们志存高远,但对 XYZ 代码的研究仍需脚踏实地,向着既定目标迈进。正如古腾堡印刷机彻底变革了人类信息传播的过程一样,我们希望研发出能够更好地与人类能力相匹配的 AI,并不断推动 AI 向前发展。