【多模态大模型】 ALBEF in NeurIPS 2021

一、引言

论文: Align before Fuse: Vision and Language Representation Learning with Momentum Distillation
作者: Salesforce Research
代码: ALBEF
特点: 该方法使用ViT进行图像特征提取,提出将BERT分两部分,一部分进行文本特征提取,另一部分进行图像-文本交互的特征提取;提出使用image-text contrastive learning (ITC)损失、masked language modeling (MLM)损失、image-text matching (ITM)损失进行模型优化;提出Momentum Distillation策略以一个通过exponential moving average (EMA)的网络生成软伪标签提供另一个视角的优化方向。

⚠️ 在学习该方法前,建议补充ViT、BERT、CLIP、MoCo的相关知识。

二、详情

ALBEF的整体结构图如下:

可见,ALBEF在网络结构上主要包括1个图像编码器、1个文本编码器、1个多模态编码器和1个同样包含上述3个编码器的动量模型;ALBEF在损失上主要包括image-text contrastive learning (ITC)损失、masked language modeling (MLM)损失、image-text matching (ITM)损失;此外,ALBEF还引入了动量蒸馏。

2.1 网络结构

如图,ALBEF在网络结构上主要包括1个图像编码器、1个文本编码器、1个多模态编码器和1个同样包含上述3个编码器的动量模型

2.1.1 图像编码器

ALBEF的图像编码器使用ViT-B/16,共12个transformer模块,由在ImageNet-1k上进行预训练的权重初始化。输入图像转为token后会再扩充一个名为 [ CLS ] [\text{CLS}] [CLS]的token(初始化全0的可学习参数向量),用来表达图像的全局信息。最后输出的是经过12个transformer模块优化过的输入图像的token和 [ CLS ] [\text{CLS}] [CLS]的token,记为 { v cls , v 1 , ⋯   , v N } \{\boldsymbol{v}_{\text{cls}},\boldsymbol{v}_{1},\cdots,\boldsymbol{v}_N\} { vcls,v1,,vN}

关于ViT的详情,请参考我之前的博客Vision Transformer

2.1.2 文本编码器

ALBEF的文本编码器使用6个transformer模块,由 BERT base \textbf{BERT}_{\textbf{base}} BERTbase的前6层初始化。输入文本会在最前面扩充一个名为 [ CLS ] [\text{CLS}] [CLS]的token(直接放在句子最前面,例如原文本是“I am very happy today.”,则新文本应为“ [ CLS ] [\text{CLS}] [CLS] I am very happy today.”),用来表达文本的全局信息。最后输出经Tokenizer和6个transformer模块优化过的输入文本的token和 [ CLS ] [\text{CLS}] [CLS]的token,记为 { w cls , w 1 , ⋯   , w N } \{\boldsymbol{w}_{\text{cls}},\boldsymbol{w}_{1},\cdots,\boldsymbol{w}_N\} { wcls,w1,,wN}

2.1.3 多模态编码器

ALBEF的多模态编码器使用6个transformer模块(含交叉注意力),由 BERT base \textbf{BERT}_{\textbf{base}} BERTbase的后6层初始化(BERT不包含交叉注意力,所以其中交叉注意力是随机初始化的)。输入为图像编码器和文本编码器输出的token,即 { v cls , v 1 , ⋯   , v N } \{\boldsymbol{v}_{\text{cls}},\boldsymbol{v}_{1},\cdots,\boldsymbol{v}_N\} { vcls,v1,,vN} { w cls , w 1 , ⋯   , w N } \{\boldsymbol{w}_{\text{cls}},\boldsymbol{w}_{1},\cdots,\boldsymbol{w}_N\} { wcls,w1,,wN},输出以图像token为指导经6个含交叉注意力的transformer模块优化过的文本token。

2.1.4 动量模型

ALBEF的动量模型是额外保存的一个模型,同样包括图像编码器、文本编码器、多模态编码器,且初始化参数也一致。但动量模型不通过梯度优化,而是通过指数移动平均进行参数更新。为方便讲解,我们将正常通过梯度优化更新参数的模型称为梯度模型,额外保存的通过指数移动平均更新参数的模型称为动量模型

指数移动平均的公式可表示为 θ t = λ θ t + ( 1 − λ ) θ g \theta_{t}=\lambda\theta_{t}+(1-\lambda)\theta_{g} θ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Fulin_Gao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值