语言模型GPT跨界CV,OpenAI揭示强算力Transformer具有通用性

既能写文章,又会画图

金磊 贾浩楠 发自 凹非寺
量子位 报道 | 公众号 QbitAI

生成文字的AI和生成图像的AI,竟然是同一个,人工智能要实现通用(AGI)了吗?

语言模型GPT,现在跨界了。

这一次,它要进军CV领域——以Image GPT (简称iGPT)的名义,处理「图像任务」。

那么,这位跨界选手的表现如何呢?

在主流的数据集上,与当前最高精度方法做PK,竟可以刷新纪录,达到SOTA!

简直惊掉了路人下巴:这太疯狂了,而我还在研究自然语言生成(它却已经能生成图像了)。

还有网友脑洞大开:GPT的下一步是不是要生成音乐了?

连名字都想好了——GPT-Music。

莫非,这是要通用人工智能(AGI)的节奏,琴棋书画样样精通?

从语言GPT,到图像GPT

像BERT、GPT-2这样的语言模型,在NLP任务上的成就不用多说,对一维序列的处理能力比较强悍。

但OpenAI的研究人员发现,将它应用到图像上,也就是在像素序列上进行训练,同样也可以得到连贯的完整图像。

举个例子,原始图像是一只小鸡,如下图所示。

当把它的下半部遮挡后作为输入,经过训练之后,生成的图像如下。

可以看到,在生成的一系列图像中,有逼近原始图像的结果。

再来看个猫的例子,原始图像如下。

同样是遮挡一半的图像,生成后得到的图像看起来也是比较完整。

虽然没有生成原始图像中「手」的那部分,但是我们人类看到被遮挡一半的图像,可能也不会联想到这点。

当然,当把那些有名的画作、海报等图像(也遮挡一半)作为输入,生成的图像结果也是较为完整、精确。

「图像生成」的视觉效果如此,那么「图像分类」的实验精度如何?

可以说是依旧强悍,直接上图表。

在比较主流的数据集上做实验,并与目前精度最高的方法作比较,可以看到iGPT在许多结果上超越了前人的方法,达到了SOTA。

而在其它一些数据集上的表现,虽然没有达到前人方法的精度,但也只是「略微逊色」。

所以,跨界的iGPT,是如何取得如此惊人效果的呢?

跨界原理

OpenAI的iGPT使用了一种密集的连接模式,这种模式不会对二位空间结构进行比编码,但其性能却能够超过采用编码的方法。

从结构上看,iGPT分为两个部分,预训练微调

在预训练中,分别对自动递减和BERT两个目标进行了探讨,其中,使用序列变换器架构来预测像素,而不是语言标记。

而对图像分类器进行微调,是衡量参数质量的一种方法,具体方法是在模型中增加一个小的分类器,用于优化分类目标并适应所有权重。

预训练

预训练可以看成是一种有利的初始化,也可以看成是与早期stopping结合使用时的正则器。

给定一个未标记的高维度数据集X,由x = (x1, …, xn)组成。从(1,…,n)中选择一个排列π,然后将密度函数度 p(X)的自动回归建模如下:

在处理图像时,选择一个单独的值πi =i,1≤ i ≤n,即光栅顺序。我们通过最小化数据的负对数似然来训练我们的模型:

对于BERT目标,它对一个子序列 M⊂ [1,n]进 行采样,使得每个索引 i 在 M 中出现的独立概率 为0.15。

研究人员称M为的BERT的mask,并通过最小化“蒙面” 元素 x 的负对数似然来训练模型:

编码器结构

Transformer解码器采用输入序列 xi,…,xn 离散token,并对每个位置产生d维映射。

解码器作为 L 块的堆栈实现,其中 l-th产生一个中间嵌入 hl1 , …, hln ,他们的维数也是d, 我们使用变压器解码器块的 GPT-2 公式,它作用于输入张量hl如下:

这其中,层级规范在mlp操作之前,同时,所有的操作都严格地位于残余路径上。这样的方法可以让轻松地对Transformer进行缩放。

只有在attention操作中才会出现跨序列元素的混合,为了保证训练AR目标时的适当调节,需要对attention对数的n×n矩阵应用标准的上三角mask。

当使用BERT目标时,不需要注意对数mask,只需在对输入序列应用内容嵌入后,将M中的位置归零。

此外,由于每个序列元素学习独立的位置嵌入,BERT模型没有位置感应偏差(即它是换位不变的)。

换句话说,任何位置之间的空间关系都必须由模型在训练时学习。对于AR模型来说,情况并不完全如此,因为选择栅格order还固定了一个预先指定的条件排序。

在最后的变换层之后,我们应用一个层规范nL = layer norm(hL),并从nL学习对数的投影,对每个序列元素处的条件分布进行参数化。在训练BERT时,我们只需忽略未屏蔽位置的logits即可。

微调

微调时,我们在序列维度上对nL池取平均,提取每个样本的d维特征向量:

然后,学习从fL到类对数的投影,目的是减少交叉熵损失Lclf。

虽然在Lclf上进行微调,可以得到较好的下线性能,但实证发现,联合目标的:LGEN+LCLF,LGEN∈{LAR,LBERT}效果更好。

线性探测

提取线性探测的固定特征与微调的类似,只是平均池化并不总是在最后一层。

其中0≤l≤L,实验表明,最佳特征往往位于网络的中间。

和微调一样,将这些中间特征投射到产生类对数上。因为在线性探测时将特征视为固定的,所以这个投影包含了唯一的一个可训练的权重,所以只能优化Lclf 。

思路

虽然监督式预训练是图像分类的主流,但使用大型标签图像数据集既昂贵又耗时。与其进一步扩大标签工作的规模,不如从可用未标记图像集中学习通用表示,并对其进行微调以进行分类。

研究人员使用ImageNet作为大型未标记语料库,以及小型经典标记数据集作为下游任务。对于最大的模型iGPT-XL,使用额外的1亿张未标记的网络图像,对这些图像进行筛选以达到和ImageNet相似的特征。

训练

在预训练iGPT-XL时,使用的数据包大小为64,训练二百万次迭代,对于其他所有模型,我们使用数据包大小为128,训练一百万次次迭代。

使用Adam超参数,β1=0.9,β2=0.95,依次尝试学习速率0.01,0.003,0.001,0.0003,……,一旦最终的验证损失开始增加就停止。

微调时,使用相同的包大小和Adam超参数。

当在ImageNet上运行线性探针时,使用高学习率的SGD。用余弦曲线学习速率进行一百万次迭代训练。最后,当在CIFAR-10,CIFAR-100或STL-10上运行线性探针时,使用L-BFGS算法与先前的结果保持一致 。

跨界表现很强,但仍有局限性

虽然GPT跨界处理图像的表现比较出众,但OpenAI的研究人员也谦虚的自曝「存在一定的局限性」。

这个局限性就是计算量太大

由于我们使用了语言中GPT-2使用的通用序列transformer,所以我们的方法需要大量的计算量。

在一张Nvidia V100卡上进行iGPT-L训练,大约需要2500天。而在相同情况下,MoCo24模型仅需要70天。

此外,iGPT模型仅能识别生成低分辨率图像,并有一定偏差。

这些偏差是由于数据训练而产生的,例如,模型可能在性别和角色之间建立了关联(即“男性科学家”)。

由于这些缺点,研究人员认为这项工作目前主要是作为概念的演示。

这项工作说明,像GPT-2、BERT这样的语言模型,由于具有简单、通用的特点,在给定足够计算能力的序列Transformer的情况下,可能胜任多个领域的机器学习任务。

iGPT并不是NLP的第一次跨界。前不久Facebook才将Transformer用于图像领域的目标识别。

嗯,语言模型跨界完了CV界,下一步又将挑战什么领域呢?是通用人工智能(AGI)吗?

参考链接:

https://openai.com/blog/image-gpt/

iGPT项目地址
https://github.com/openai/image-gpt

版权所有,未经授权不得以任何形式转载及使用,违者必究。