从自然语言处理任务起家,又在图像分类和生成领域大放异彩,所向披靡的 Transformer 会成为下一个神话吗?
想象一下你走进一家本地的五金店,在货架上看到一种新型的锤子。你听说过这种锤子:它比其他锤子敲得更快、更准确,而且在过去的几年里,在大多数用途中,它已经淘汰了许多其他锤子。
此外,通过一些调整,比如这里加一个附件,那里拧一个螺丝,这种锤子还能变成一把锯,其切割速度能媲美其他任何替代品。一些处于工具开发前沿的专家表示,这把锤子可能预示着所有工具将融合到一个设备中。
类似的故事正在人工智能领域上演。这种多功能的新锤子是一种人工神经网络——一种在现有数据上进行训练以「学习」如何完成某些任务的节点网络——称为 Transformer。它最初用于处理语言任务,但最近已经开始影响其他 AI 领域。
Transformer 最初出现在 2017 年的一篇论文中:《Attention Is All You Need》。在其他人工智能方法中,系统会首先关注输入数据的局部 patch,然后构建整体。例如,在语言模型中,邻近的单词首先会被组合在一起。相比之下,Transformer 运行程序以便输入数据中的每个元素都连接或关注其他元素。研究人员将此称为「自注意力」。这意味着一旦开始训练,Transformer 就可以看到整个数据集的迹。
在 Transformer 出现之前,人工智能在语言任务上的进展一直落后于其他领域的发展。「在过去 10 年发生的这场深度学习革命中,自然语言处理在某种程度上是后来者,」马萨诸塞大学洛厄尔分校的计算机科学家 Anna Rumshisky 说,「从某种意义上说,NLP 曾落后于计算机视觉,而 Transformer 改变了这一点。」
Transformer 很快成为专注于分析和预测文本的单词识别等应用程序的引领者。它引发了一波工具浪潮,比如 OpenAI 的 GPT-3 可以在数千亿个单词上进行训练并生成连贯的新文本。
Transformer 的成功促使人工智能领域的研究者思考:这个模型还能做些什么?
答卷正在徐徐展开——Transformer 被证明具有惊人的丰富功能。在某些视觉任务中,例如图像分类,使用 Transformer 的神经网络比不使用 Transformer 的神经网络更快、更准确。对于其他人工智能领域的新兴研究,例如一次处理多种输入或完成规划任务,Transformer 也可以处理得更多、更好。
「Transformer 似乎在机器学习领域的许多问题上具有相当大的变革性,包括计算机视觉,」在慕尼黑宝马公司从事与自动驾驶汽车计算机视觉工作的 Vladimir Haltakov 说。
就在十年前,AI 的不同子领域之间还几乎是互不相通的,但 Transformer 的到来表明了融合的可能性。「我认为 Transformer 之所以如此受欢迎,是因为它展示出了通用的潜力,」德克萨斯大学奥斯汀分校的计算机科学家 Atlas Wang 说:「我们有充分的理由尝试在整个 AI 任务范围内尝试使用 Transformer。」
从「语言」到「视觉」
在《Attention Is All You Need》发布几个月后,扩展 Transformer 应用范围的最有希望的动作就开始了。Alexey Dosovitskiy 当时在谷歌大脑柏林办公室工作,正在研究计算机视觉,这是一个专注于教授计算机如何处理和分类图像的 AI 子领域。
与该领域的几乎所有其他人一样,他一直使用卷积神经网络 (CNN) 。多年来,正是 CNN 推动了深度学习,尤其是计算机视觉领域的所有重大飞跃。CNN 通过对图像中的像素重复应用滤波器来进行特征识别。基于 CNN,照片应用程序可以按人脸给你的照片分门别类,或是将牛油果与云区分开来。因此,CNN 被认为是视觉任务必不可少的。
当时,Dosovitskiy 正在研究该领域最大的挑战之一,即在不增加处理时间的前提下,将 CNN 放大:在更大的数据集上训练,表示更高分辨率的图像。但随后他看到,Transformer 已经取代了以前几乎所有与语言相关的 AI 任务的首选工具。「我们显然从正在发生的事情中受到了启发,」他说,「我们想知道,是否可以在视觉上做类似的事情?」 这个想法某种程度上说得通——毕竟,如果 Transformer 可以处理大数据集的单词,为什么不能处理图片呢?
最终的结果是:在 2021 年 5 月的一次会议上,一个名为 Vision Transformer(ViT)的网络出现了。该模型的架构与 2017 年提出的第一个 Transformer 的架构几乎相同,只有微小的变化,这让它能够做到分析图像,而不只是文字。「语言往往是离散的,」Rumshisky 说:「所以必须使图像离散化。」
ViT 团队知道,语言的方法无法完全模仿,因为每个像素的自注意力在计算时间上会非常昂贵。所以,他们将较大的图像划分为正方形单元或 token。大小是任意的,因为 token 可以根据原始图像的分辨率变大或变小(默认为一条边 16 像素),但通过分组处理像素,并对每个像素应用自注意力,ViT 可以快速处理大型训练数据集,从而产生越来越准确的分类。
Transformer 能够以超过 90% 的准确率对图像进行分类,这比 Dosovitskiy 预期的结果要好得多,并在 ImageNet 图像数据集上实现了新的 SOTA Top-1 准确率。ViT 的成功表明,卷积可能不像研究人员认为的那样对计算机视觉至关重要。
与 Dosovitskiy 合作开发 ViT 的谷歌大脑苏黎世办公室的 Neil Houlsby 说:「我认为 CNN 很可能在中期被视觉 Transformer 或其衍生品所取代。」他认为,未来的模型可能是纯粹的 Transformer,或者是为现有模型增加自注意力的方法。
一些其他结果验证了这些预测。研究人员定期在 ImageNet 数据库上测试他们的图像分类模型,在 2022 年初,ViT 的更新版本仅次于将 CNN 与 Transformer 相结合的新方法。而此前长期的冠军——没有 Transformer 的 CNN,目前只能勉强进入前 10 名。
Transformer 的工作原理
ImageNet 结果表明,Transformer 可以与领先的 CNN 竞争。但谷歌大脑加州山景城办公室的计算机科学家 Maithra Raghu 想知道,它们是否和 CNN 一样「看到」图像。神经网络是一个难以破译的「黑盒子」,但有一些方法可以窥探其内部——例如通过逐层检查网络的输入和输出了解训练数据如何流动。Raghu 的团队基本上就是这样做的——他们将 ViT 拆开了。
她的团队确定了自注意力在算法中导致不同感知的方式。归根结底,Transformer 的力量来自于它处理图像编码数据的方式。「在 CNN 中,你是从非常局部的地方开始,然后慢慢获得全局视野,」Raghu 说。CNN 逐个像素地识别图像,通过从局部到全局的方式来识别角或线等特征。但是在带有自注意力的 Transformer 中,即使是信息处理的第一层也会在相距很远的图像位置之间建立联系(就像语言一样)。如果说 CNN 的方法就像从单个像素开始并用变焦镜头缩小远处物体的像的放大倍数,那么 Transformer 就是慢慢地将整个模糊图像聚焦。
这种差异在 Transformer 最初专注的语言领域更容易理解,思考一下这些句子:「猫头鹰发现了一只松鼠。它试图用爪子抓住它,但只抓住了尾巴的末端。」第二句的结构令人困惑:「它」指的是什么?只关注「它」邻近的单词的 CNN 会遇到困难,但是将每个单词与其他单词连接起来的 Transformer 可以识别出猫头鹰在抓松鼠,而松鼠失去了部分尾巴。
显然,Transformer 处理图像的方式与卷积网络有着本质上的不同,研究人员变得更加兴奋。Transformer 在将数据从一维字符串(如句子)转换为二维数组(如图像)方面的多功能性表明,这样的模型可以处理许多其他类型的数据。例如,Wang 认为,Transformer 可能是朝着实现神经网络架构的融合迈出的一大步,从而产生了一种通用的计算机视觉方法——也许也适用于其他 AI 任务。「当然,要让它真正发生是有局限性的,但如果有一种可以通用的模型,让你可以将各种数据放在一台机器上,那肯定是非常棒的。」
关于 ViT 的展望
现在研究人员希望将 Transformer 应用于一项更艰巨的任务:创造新图像。GPT-3 等语言工具可以根据其训练数据生成新文本。在去年发表的一篇论文《TransGAN: Two Pure Transformers Can Make One Strong GAN, and That Can Scale Up》中,Wang 组合了两个 Transformer 模型,试图对图像做同样的事情,但这是一个困难得多的问题。当双 Transformer 网络在超过 200000 个名人的人脸上进行训练时,它以中等分辨率合成了新的人脸图像。根据初始分数(一种评估神经网络生成的图像的标准方法),生成的名人面孔令人印象深刻,并且至少与 CNN 创建的名人一样令人信以为真。
Wang 认为,Transformer 在生成图像方面的成功比 ViT 在图像分类方面的能力更令人惊讶。「生成模型需要综合能力,需要能够添加信息以使其看起来合理,」他说。与分类领域一样,Transformer 方法正在生成领域取代卷积网络。
Raghu 和 Wang 还看到了 Transformer 在多模态处理中的新用途。「以前做起来比较棘手,」Raghu 说,因为每种类型的数据都有自己的专门模型,方法之间是孤立的。但是 Transformer 提出了一种组合多个输入源的方法。
「有很多有趣的应用程序可以结合其中一些不同类型的数据和图像。」例如,多模态网络可能会为一个系统提供支持,让系统除了听一个人的声音外,还可以读取一个人的唇语。「你可以拥有丰富的语言和图像信息表征,」Raghu 说,「而且比以前更深入。」
这些面孔是在对超过 200000 张名人面孔的数据集进行训练后,由基于 Transformer 的网络创建的。
新的一系列研究表明了 Transformer 在其他人工智能领域的一系列新用途,包括教机器人识别人体运动、训练机器识别语音中的情绪以及检测心电图中的压力水平。另一个带有 Transformer 组件的程序是 AlphaFold,它以快速预测蛋白质结构的能力,解决了五十年来蛋白质分子折叠问题,成为了名噪一时的头条新闻。
Transformer isn't all you need
即使 Transformer 有助于整合和改进 AI 工具,但和其他新兴技术一样,Transformer 也存在代价高昂的特点。一个 Transformer 模型需要在预训练阶段消耗大量的计算能力,才能击败之前的竞争对手。
这可能是个问题。「人们对高分辨率的图像越来越感兴趣,」Wang 表示。训练费用可能是阻碍 Transformer 推广开来的一个不利因素。然而,Raghu 认为,训练障碍可以借助复杂的滤波器和其他工具来克服。
Wang 还指出,尽管视觉 transformer 已经在推动 AI 领域的进步,但许多新模型仍然包含了卷积的最佳部分。他说,这意味着未来的模型更有可能同时使用这两种模式,而不是完全放弃 CNN。
同时,这也表明,一些混合架构拥有诱人的前景,它们以一种当前研究者无法预测的方式利用 transformer 的优势。「也许我们不应该急于得出结论,认为 transformer 就是最完美的那个模型,」Wang 说。但越来越明显的是,transformer 至少会是 AI shop 里所有新型超级工具的一部分。