论文部分内容阅读
GPT-3自动生成的语言竟然能和人类差不多,堪称奇迹。但在很大程度上,GPT-3也不过是个噱头。判断方法也很简单。若提问GPT-3:羊是什么颜色?它会说“白色”,还会说“黑色”,频次一样高。因为英语里有“black sheep”(黑羊,引申意为害群之马)。
这就是语言模型的问题。只用文本训练语言模型,会导致模型缺乏常识。不过,为了改变这种状况,北卡罗来纳大学教堂山分校(下文简称UNC)的学者莫希特班萨尔和其博士生谭昊研发了一种新技术,研究人员称其为为“视觉监督”,如此,GPT-3等语言模型便能具备“看”的功能。
将语言模型与计算机视觉结合起来并不新鲜,该人工智能研究领域其实正在快速发展。出发点是这两种类型都有不同的优势。GPT-3等语言模型通过无监督学习来训练,不需要人工进行数据标注,因此很容易开发出大型模型。而物体识别系统等图像模型更多是在现实世界中学习。换句话说,图像模型并不依赖文本所提供的抽象世界来理解世界。比如,图像模型可以从羊的图片中“看到”,羊其实是白色的。
能够同时解析语言和视觉输入的人工智能模型用处很大。例如,机器人需要计算机视觉来导航,也需要语言来与人类交流,因此该模型能用于开发机器人。
但要结合这两种类型,是说起来容易做起来难。并非把现有的语言模型与物体识别系统拼接在一起便大功告成,而是需要从头开始训练新模型。所用数据集要包括文本和图像,也就是所谓的视觉语言数据集。
要获得这样一个数据集,最常见的方法是做带有描述性标题的图片集。例如,下面这张图片的标题设为“一只橘猫卧在空行李箱里”。这样的图片集便和传统图片数据集不同。后者只用名词来标注图片,比如给下面这张图片只简单地命名为“猫”。因此,视觉语言数据集不仅可以教人工智能模型如何识别对象,还可以教人工智能模型如何根据动词和介词识别不同对象之间的相互关系。
但如此也意味着,创建数据集会耗费很长时间。因此,现有的视觉语言数据集太单薄了。而常用的纯文本数据集则不同。如英语维基百科,包括了几乎所有英语维基百科条目,有近30亿个单词。而视觉语言数据集 Microsoft Common Objects in Context(下文简称MS COCO)只包含700万个,根本不足以训练一个有用的AI模型。
有了视觉监督,问题迎刃而解。视觉监督使用无监督学习方法,将MS COCO的数据规模扩展到与英语维基百科相当。视觉语言模型用规模化后的数据集训练后,研究人员使用了一些最难的AI语言理解能力测试对其进行检验。结果模型的表现甚至优于当今最先进的模型。
自然语言处理初创公司Hugging Face的联合创始人兼首席科学官托马斯沃尔夫说:“要在这些测试中击败最先进的模型,得下大力气。这些测试可不是儿戏。能有这样的结果,真的让人非常激动。”
我们先理清一些术语。到底什么是“voken”?
在人工智能领域,用来训练语言模型的词称为token。UNC研究人员便以“voken”,来指代所用视觉语言模型中与任一token相关联的图像。用来匹配token和voken的算法称为vokenizer,整个匹配过程称为“视觉监督”。
说了这么多,主要是为了帮助大家理解视觉监督的基本理念。UNC研究人员没有拿着图像数据集来手动编写标题,这耗时过长;他们选择了使用语言数据集以及无监督学习法,匹配每个单词与相关图像。如此便很容易规模化。
此处的无监督学习技术正是此项研究的贡献。那么,究竟如何为每个单词找到关联图像呢?
视觉监督
先回到GPT-3。GPT-3所属语言模型家族有“变形金刚”之称。2017年,该类模型首次面世,便是将无监督学习应用于自然语言处理取得的重大突破。变形金刚可以观察单词在上下文中的使用,再根据上下文创建每个单词的数学表达式,即“单词嵌入”,以此来学习人类语言模式。例如,代表“猫”的嵌入可能会显示,“喵”和“橙”两字周围,“猫”出现频率高,但在“吠”或“蓝色”周围出现的频率便较低。
因此,变形金刚猜单词含义的准确度较高,GPT-3也因此能写出仿佛由人所作的句子。变形金刚一定程度上依靠这些嵌入,学习如何将单词组成句子、句子组成段落。
还有一种类似技术也可以用于处理图像。这种技术不是通过扫描文本来寻找单词使用规律,而是通过扫描图像来寻找视觉规律。比如,该技术将猫出现在床上与出现在树上的频率制成表格,并利用这些上下文信息创建“猫”的嵌入。
UNC研究人员认为,处理MSCOCO要同时使用这两种嵌入技术。研究人员将图像处理为视觉嵌入,将标题处理为文字嵌入。而这些嵌入妙就妙在能在三维空间中绘制出来,完全可以看到嵌入之間的关系。如果某一视觉嵌入与某一单词嵌入密切相关,绘制出来后位置很接近。换句话说,理论上,代表猫的视觉嵌入应该与代表猫的文字嵌入重合。
之后的工作也就水到渠成。一旦嵌入都绘制完毕、并相互比较和关联,就很容易开始匹配图像(voken)与文字(token)。而且,由于图像和单词基于原嵌入进行匹配,那么实际也在基于上下文进行匹配。这样,即便一个词可能有多个不同含义也不必担心,该技术能为单词的每个含义找到对应voken。
这两个例子中的token都是“contact”一词。但在第一个句子中,上下文表明“contact”是联系的意思,所以voken是联系图标。在第二个句子中,上下文表明这个词有触摸的意思,所以voken显示的是一只被抚摸的猫。
这些利用MSCOCO创建的视觉和单词嵌入,便用来训练算法vokenizer。
一旦经过训练,vokenizer就能够在英语维基百科中找token的对应voken。虽然该算法只为大约40%的token找到了voken,并不完美,但英语维基百科可是有接近30亿字。
有了新的数据集后,研究人员重新训练了BERT语言模型。BERT是谷歌开发的开源变形金刚,比GPT-3还要早。然后,研究人员使用六个语言理解测试,测试改进的BERT。语言理解测试中有SQuAD斯坦福回答数据集,该测试要求模型回答基于文章的阅读理解题;还有SWAG测试,该测试利用英语语言的精妙处,检测模型是否只是单纯模仿和记忆。改进的BERT在所有测试里表现都比原来更突出。沃尔夫说,这并不奇怪。
虽然研究还处于早期阶段,但沃尔夫认为,从在视觉语言模型中利用无监督学习方面看,这项工作是一项重要观念突破。当年,正是类似突破极大推动了自然语言处理的发展。
沃尔夫说:“在自然语言处理领域,两年多前便有了这一巨大突破,然后突然间自然语言处理领域有了很大发展,开始走在其他AI领域前面。但是把文字和其他事物联系起来还是有很大障碍。就像机器人只能说话,但不会看、不会听。”
“这篇论文则做到了将文字与另一种模式连接起来,而且效果更好,树立了典范。可以想象,如果要把这种非常强大的语言模型用到机器人上,也许能用到部分新技术。比如,用同样的技术将机器人的感官和文本联系起来。”
(综合整理报道)(编辑/多洛米)