17

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

 3 years ago
source link: https://www.qbitai.com/2020/06/15762.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

既能写文章,又会画图

金磊 贾浩楠 发自 凹非寺

量子位 报道 | 公众号 QbitAI

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

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

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

Y3Yru2m.gif

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

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

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

FnYBvem.jpg!web

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

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

eYrQR3M.jpg!web

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

从语言GPT,到图像GPT

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

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

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

MFRRja7.jpg!web

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

IBrAzij.jpg!web

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

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

ZzEjQb3.jpg!web

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

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

yEnaayf.jpg!web

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

uqaq2qq.jpg!web

juMz2aM.jpg!web

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

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

BFRFRfz.jpg!web

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

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

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

跨界原理

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

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

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

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

预训练

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

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

UnqErm7.jpg!web

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

nq2M7bA.jpg!web

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

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

euiqErQ.jpg!web

编码器结构

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

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

n673euA.jpg!web

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

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

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

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

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

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

微调

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

AN3EZnZ.jpg!web

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

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

线性探测

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

zmeMZvM.jpg!web

其中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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK