Flamingo论文笔记

Flamingo这篇论文算是利用预训练的llm和图像编码器的开山之作,出自大名鼎鼎的deepmind,也算是现在流行的llava模型的基础。
一、背景
transformer发布以来,语言建模的任务进展很快,出现了以bert为代表的大量数据预训练-下游任务微调的范式。同时也产生了一些视觉-语言模型对比学习的工作,Flamingo的特点是可以不需要微调,只需要上下文学习即可,并且可以生成文本。
本文的创新点:1、提出了一个新的图文模型的架构,可以通过少量的上下文学习执行多模态任务,并且可以高效的处理任意交错的视觉图像和文本,并生成文本;2、设计了模型少样本评估的基准测试;3、效果在部分任务上仅仅通过上下文学习就可以超过微调的效果,并且微调后在五个基准测试中效果达到了最好。
二、模型架构
在这里插入图片描述

模型的整体架构是多张图片通过视觉编码器(这里是ResNet)编码后输入到Perceiver Resampler模块产生固定长度的图片embedding,送到语言模型的每一层Gated XATTN-DENSE进行交叉注意力计算。

在这里插入图片描述

Perceiver Resampler可以接受多张图片的输入,图像经过编码器后加入时间维度的位置向量,展平后和新引入的Query向量进行注意力的计算(和blip2中的q-former有点类似),再经过前馈神经网路和残差结构得到固定长度的特征向量。Perceiver Resampler 模块类似transformer,可以堆叠多层。无论输入的图像/视频的帧数或分辨率如何,Perceiver Resampler 会将所有输入映射到固定数量的输出特征。
在这里插入图片描述

GATED XATTN-DENSE 层通过交叉注意力机制将视觉输入(X)与语言输入(Y)结合,这个结构是在语言模型中新引入的一层,使用了门控机制(交叉注意力机制和ffw的输出经过tanh函数)保持训练的稳定性和最终能力。
本文通过设计图像因果掩码机制,让模型只关注当前文本之前最近的一个图像特征,而不是之前所有的图像特征。虽然一次只能关注一个图像,但是能关注之前的所有文本,之前的文本关注了之前的图像,所以也可以抽取之前所有图像的信息,论文中称这种方法为单图交叉注意力机制。这种机制可以使得模型泛化到任何数据的视觉输入,而不受训练期间图像数量的影响。
三、训练数据
训练数据包含三类:交错图像和文本数据、图像-文本对、视频-文本对,这些数据都是从网络中抓取出来的。
四、结果
有关模型效果多好的结果这里就不赘述了,感兴趣的可以自己去看一下。
消融实验的结果:1、去除某一类的数据集模型效果都会有下降,需要保证数据集的多样性;2、语言模型的交叉注意力机制使用了0初始化的tanh门控,如果不用,效果会有下降;3、本文的GATED XATTN-DENSE相较于原始Transformer解码器中的普通交叉注意力、GRAFTING方法(冻结的语言模型保持不变,不插入额外层,而是在冻结语言模型输出上学习交错的自注意力和交叉注意力层)效果更好;4、每一层插入GATED XATTN-DENSE模块效果最好,但是训练速度更慢,每四层插入一次可以加速训练66%,而总体得分仅下降1.9%;5、Perceiver Resampler与给定参数预算的MLP和普通Transformer进行了比较,后面两种效果更差,速度更慢;6、对比学习预训练的NFNet-F6视觉编码器与公开的CLIP ViT-L/14相比效果更好;7、冻结语言模型可以有效防止灾难性遗忘。
五、讨论
Flamingo也存在一些问题:1、基于预训练的语言模型,因此具有语言模型的幻觉问题,并且推力时的输入序列长度大于训练时效果不好;2、分类效果不好;3、上下文学习相比较于少样本学习对于示例数据更敏感。
六、个人总结
这篇论文算是一个图文大语言模型的开山之作,工作量感觉很大,消融实验也很丰富,但是模型结构和训练策略设计的也比较复杂,值得花较多的实验看看模型的实验设计和方法。另外论文有些地方还不是很清楚,后面有时间再更新一下。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值