Image GPT 解析

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

Paper:https://cdn.openai.com/papers/GenerativePretrainingfromPixelsV2.pdf

alt

前言

此篇文章是OpenAI GPT方案用于图像领域开篇性代表,核心思路是把成熟的语言模型方案迁移到图像领域,答案也是令人振奋的。虽然计算量比较大,复现的硬件要求很高,复现分辨率比较低(64*64),但至少证明了这条路是可行的,也为之后Transformer用于图像领域提供了大量借鉴思路。(此方案的mini版可以在单机实现。)

相比以前LSTM、RNN等线性回归的简单语言模型,相比pixelcnn、gan等cnn方案,也有划时代优势。 alt

一、源自语言模型

在语言领域,像GPT-2和BERT等依赖于词预测的非监督学习算法非常成功,在多个语言相关任务上取得了最好的表现。其中一个重要的原因在于下游任务(数据)是以自然的文本方式呈现的:答案往往伴随着问题(问答任务),文章往往伴随着总结(文本摘要任务)。而像素序列针对其所属的图像却没有非常明显的标签。

即使没有这种隐式的监督,GPT-2在图像任务上成功的原因也不难发现:一个足够大的transformer模型,用于训练针对下一个像素的预测,最终能够学会生成丰富的可以清晰辨认的目标样本。

当模型可以有效合成图像时,研究人员开始思考是不是可以通过“基于合成的分析”来尝试利用模型识别目标的分类。先前很多生成模型都受到了这一观点的启发,最近的BigBiGAN就是一个典型的例子,可以产生非常有效的样本和特征。在这一研究中,研究人员首先展示了更好的生成模型可以实现更强的分类表现,随后通过对GPT-2生成能力的优化,在很多情况下实现了最为优异的分类表现,为基于合成的分析思想提供了更多的佐证。

二、迈向通用非监督学习

生成序列模型可以被视为一种通用的非监督学习算法:由于所有的数据类型都可以被标示为字节序列,无需额外的改动,transformer可以被直接应用于任何类型的数据形式上。为了验证这种算法的通用性,研究人员将原先用于自然语言处理的GPT-2的架构直接应用于图像生成任务上,故意放弃了对图像先验知识的手动编码(包括卷积、相关注意力、稀疏注意力、2D位置嵌入等等)。

但随之而来的是,如果要实现具有竞争力的非监督学习性能,就需要更多的计算量来保证。基于对比的方法在从图像生成高质量特征的过程中的确具有更高的计算效率,然而在与最好的无监督算法比较过程中,基于对领域知识的手工编码和计算需求间可以找到有效的平衡。在没有领域知识的全新领域,大规模的计算也许是解决问题值得一试的有效手段。

三、实现方法

研究人员分别在ImageNet上训练了大中小三个GPT-transformer模型,分别包含了1.4B,455M,76M的参数。同时还利用ImageNet和网络数据共同训练了包含6.8B参数的iGPT-XL,由于长序列训练需要消耗非常大的计算资源,所有的训练都在较低的图像分辨率上进行(32x32,48x48,64x64)。

虽然研究人员尝试在更低的分辨率上继续减小计算资源的消耗,但先前研究认为人眼的识别分类能力会随图像尺寸的减小而迅速变弱。在先前显示模型研究的启发下,构建了9-bits的颜色表示模式,可以用较为真实的编码颜色同时代替RGB三个通道。

四、实验方法

研究人员使用了两种方法来评测模型的分类性能。第一种类似一个线性探测器,利用训练好的模型从图像中抽取特征进行分类,随后用逻辑回归拟合图像的标签。另一种方式是在下游任务数据上对整个模型进行调优。为了抽取特征,在某些层的输入添加了layernorm注意力模块,并在序列维度上使用了平均池化。为了调优模型,研究人员使用了layernorm transformer的输出,并在序列维度上进行平均池化来作为分类部分的输入。

由于针对序列中下一个像素的预测与图像分类并没有明显的关系,最后层的特征对于目标分类并不是最好的。从结果中可以看出一开始特征质量在迅速提升,而后随着深度的增加缓慢减小。这一现象表明transformer生成模型在运行中有两个显著的阶段,在第一阶段每个位置从它周围的上下文中获取信息以构建出有效的的图像特征;而后在第二阶段上下文特征被用于解决下一个像素的条件生成问题。在这种线性探测器下观测到的两阶段现象很容易让人联想到具有约束结构(bottleneck)的自编码器,其中间层就是手动设置用于特征抽取的结构。

五、局限性

虽然iGPT在各种图像任务上都很成功,但却不得不提这种方法的局限性。由于使用了GPT-2中的通用序列迁移器架构,这种方法需要大规模的计算资源,iGPT-L典型情况下需要2500 V-100 GPU日的计算才能达到MoGo模型的水平,而后者只需要约70 V100 计算日的训练。

此外,这一基于transformer模型的输入分辨率较低,而其他自监督方法可以利用卷积编码器轻松地处理高维度输入。也许在未来需要构建多尺度transformer的新架构来处理输入维度受限的问题。这一工作仅仅是大规模语言模型在新领域尝试的原型验证,无需领域知识的人工编码。然而庞大的计算量消耗、卷积网络的高精度表现使得这一方法在实际工作中并不实用。

最后,生成模型会受到训练序列中偏见的影响。有的对于构建上下文关系十分有利,但有的却会造成不好的结果。例如在训练数据中男性较多就会造成生成图像中包含更多的或者完全都是男性,而不是有男有女的场景。在未来的研究中希望可以对数据进行更有效的除偏处理,并更好的理解数据偏见与模型的关系。

利用语言模型GPT对图像进行处理的想法非常独特,实验也显示了这种非监督方法的对于全新领域的通用性,在提供足够计算资源的情况下序列transformer也许能在未来为很多新领域提供解决问题新思路。

六、总结

已经证明,通过交换二维知识的规模和选择预测特征的中间网络,序列变换器可以与顶级卷积网络竞争的非监督图像分类。值得注意的是,直接将GPT-2语言模型应用到图像生成中,取得了很好的效果。结果表明,由于其简单性和通用性,一个序列转换器给予充分的计算可能最终是一个有效的方式来学习优秀的特征在许多领域。

张健源

人工智能 图像识别 语音合成 自动作曲 自动绘画 复杂系统

北京 海淀