Flamingo: a Visual Language Model for Few-Shot Learning
模型建模了给定交织的图片或支=视频的条件下文本y的最大似然:
1 Visual processing and the Perceiver Resampler
Vision Encoder:from pixels to features。
预训练并且冻结的NFNet,在我们的数据集上使用文本图片对的对比损失训练,然后把提取的特征打成向量。
Perceiver Resampler:from varying-size large feature maps to few visual tokens。
连接vision encoder 和 frozen language model。Vision Encoder得到的特征数量不一样,这部分处理成一样的。学习了预定义数量的潜在输入查询,这些查询被送到Transformer并交叉关注视觉特征。
2 Conditioning frozen language models on visual representations
在Perceiver Resampler产生的视觉表示的条件下,文本生成由Transformer解码器执行。
冻结LM blocks,在原始层之间插入gated cross-attention dense blocks。
tanh-gating mechanism:新加层的输出在将其从残差连接添加到输入表示之前乘以tanh()。
3 训练时的一些说明
1)Multi-visual input support: per-image/video attention masking
通过掩蔽全文到图像的交叉注意力矩阵,该矩阵限制了模型在每个文本标记处看到的视觉标记。在给定的文本标记下,模型关注交错序列中出现在其之前的图像的视觉标记,而不是所有先前的图像。尽管模型一次只直接关注单个图像,但对所有先前图像的依赖性仍通过LM中的自我关注保持。重要的是,这种单图像交叉注意力方案允许模型无缝地推广到任何数量的视觉输入,无论在训练期间使用多少。特别是,当在交错数据集上进行训练时,我们每个序列最多只使用5个图像,但我们的模型能够在评估过程中受益于多达32对(或“镜头”)图像/视频和相应文本的序列。
2)Training on a mixture of vision and language datasets
三类数据集训练
M3W: Interleaved image and text dataset
Pairs of image/video and text
3)Multi-objective training and optimisation strategy:
在给定视觉输入的情况下,我们通过最小化每个数据集预期的文本负对数可能性的加权和来训练我们的模型:
4 附录一些内容:
原文内容还有很多细节。