在GPT等大模型出现后,语言模型这种Transformer+自回归建模的方式,也就是预测next token的预训练任务,取得了非常大的成功。
背景
在GPT等大模型出现后,语言模型这种Transformer+自回归建模的方式,也就是预测next token的预训练任务,取得了非常大的成功。那么,这种自回归建模方式能不能在视觉模型上取得比较好的效果呢?今天介绍的这篇文章,就是Apple近期发表的基于Transformer+自回归预训练的方式训练视觉模型的文章,下面给大家展开介绍一下这篇工作。
论文标题:Scalable Pre-training of Large Autoregressive Image Models
下载地址:https://arxiv.org/pdf/2401.08541v1.pdf
开源代码:https://github.com/apple/ml-aim
模型结构
模型结构整体采用Transformer,优化目标采用语言模型中的next token prediction。在模型结构上,主要的修改有3个方面。首先是相比ViT这种双向attention,本文使用的是GPT这种单向attention,即每个位置的元素只能和前面的元素计算attention。
![Apple:使用语言模型的自回归方式进行图像模型预训练](http://img.aiiiii.com.cn/2024/01/20240129014230749.jpg?imageView2/0/format/webp/q/75)
其次是引入了prefix,在Transformer前面的输入加了多个prefix token,这部分token使用的是双向attention。这个主要作用是预训练和下游应用的一致性,下游都是类似ViT的双向attention使用方法,预训练增加prefix双向attention,可以让模型适应下游任务。
![Apple:使用语言模型的自回归方式进行图像模型预训练](http://img.aiiiii.com.cn/2024/01/20240129014233472.jpg?imageView2/0/format/webp/q/75)
最后是在模型最终输出MLP层的优化。原来的预训练方法,一般会丢弃掉MLP层,在下游finetune使用一个新的MLP,防止预训练的MLP过于倾向于预训练任务导致下游任务效果下降。而本文中,作者采用的方法是每个patch都使用一个独立的MLP,对于图像整体的表征,也采用各个patch保证和attention融合的方式,代替一般的pooling,提升预训练MLP head在下游任务的可用性。
在优化目标上,文中尝试了两种方法,第一种是直接拟合patch像素,用MSE进行预测。第二种是提前对图像patch进行tokenize,转换成分类任务,用交叉熵损失。不过在文中后续的消融实验中发现,第二种方法虽然也可以让模型正常训练,但是效果并不如基于像素粒度MSE的效果更好。
实验结果
文中的实验部分详细分析了这种基于自回归的图像模型的效果,以及各个部分对于效果的影响。
首先,随着训练的进行,下游的图像分类任务效果越来越好了,说明这种预训练方式确实能学到良好的图像表征信息。
![Apple:使用语言模型的自回归方式进行图像模型预训练](http://img.aiiiii.com.cn/2024/01/20240129014232446.jpg?imageView2/0/format/webp/q/75)
在训练数据上,使用小数据集的训练会导致overfitting,而使用DFN-2B虽然最开始验证集loss较大,但是没有明显的过拟合问题。
![Apple:使用语言模型的自回归方式进行图像模型预训练](http://img.aiiiii.com.cn/2024/01/20240129014231120.jpg?imageView2/0/format/webp/q/75)
对于模型各个模块的设计方式,文中也进行了详细的消融实验分析。
![Apple:使用语言模型的自回归方式进行图像模型预训练](http://img.aiiiii.com.cn/2024/01/20240129014229269.png?imageView2/0/format/webp/q/75)
在最终的效果对比上,AIM取得了非常不错的效果,这也验证了这种自回归的预训练方式在图像上也是可用的,可能会成为后续图像大模型预训练的一种主要方式。
![Apple:使用语言模型的自回归方式进行图像模型预训练](http://img.aiiiii.com.cn/2024/01/20240129014234143.png?imageView2/0/format/webp/q/75)
责任编辑:上模
来源: 圆圆的算法笔记