ViLT解读记录

ViLT全称: Vision-and-Language Transformer Without Convolution or Region Supervision

视频讲解:ViLT 论文精读
论文下载:https://arxiv.org/pdf/2102.03334.pdf
代码地址:https://github.com/dandelin/vilt
论文投稿:PMLR2021 Proceedings of Machine Learning Research 机器学习顶会

领域

Vision-and-Language 多模态

背景

现在的VLP模型过度依赖于图像特征提取,包括使用Convolution or Region的结构,这一过程时间冗杂,导致了

(1)计算速度和效率较低,简单地提取输入特征需要比多模态交互用到多得多的计算量

(2)表达能力的上限取决于视觉嵌入器和预定义的视觉词汇量(predefined visual vocabulary)

方法

  • 结合BERT和VIT

    • 使用简单的patch线性投影(linear projection of a patch)代替之前的图像特征提取的工作。结合文本和图像为一个序列输入到Transformer中。
    • transfomer encoder作为Modality Interaction
  • 使用了2个trick

    • Whole Word Masking:巧妙的加强文字和图像的联系
    • Image Augmentation:使用RandAugment的数据增强方法,但是这里剔除了color inversion和cutout。因为这两个部分可能会导致数据集中的图片和文字不对应。

结果

大大提升效率:在图像的处理上,从之前的885ms(region),45ms(convolution)提升到0.4ms

下游任务效果持平,算是有竞争力,但是没有太大提升

贡献

  • ViLT is the simplest architecture by far for a vision-and-language model as it commissions the transformer module to extract and process visual features in place of a separate deep visual embedder. This design inherently leads to significant runtime and parameter efficiency.

  • For the first time, we achieve competent performance on vision-and-language tasks without using region features or deep convolutional visual embedders in general.

  • Also, for the first time, we empirically show that whole word masking and image augmentations that were unprecedented in VLP training schemes further drive downstream performance

缺点

  • 模型是在64张32G的V100s上训练了3天,这个资源配置太贵了,99%的人无法承受。

后期在NeurlPS2021(机器学习顶会)出现更轻量的ALBEF(单机八卡训练3天)

  • 时间上提升了很多,但是效果一般般

展望

  • Scalability:扩大数据集或者增大模型的规模

  • Masked Modeling for Visual Inputs:图像上进行mask的操作(完形填空)

    后期出现MAE,BEIT后,微软研究院在2022年6月提出的VL-BEiT,在此基础上加上了视觉的无监督重建损失.

    Bao H, Wang W, Dong L, et al. VL-BEiT: Generative Vision-Language Pretraining[J]. arXiv preprint arXiv:2206.01127, 2022.

  • Augmentation Strategies: 数据增强,从消融实验可以看出数据增强作用很大,并且有可能提升data efficiency。

相关论文
  • Align before Fuse: Vision and Language Representation Learning with Momentum Distillation
  • BLIP: Bootstrapping Language-Image Pre-training for Unified Vision-Language Understanding and Generation
  • Masked Unsupervised Self-training for Zero-shot Image Classification
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ViLT (Visual and Language Transformer) 是一种视觉和语言模型,它将图像和文本表示结合在一起,用于多种视觉问答任务。微调(fine-tuning)ViLT通常涉及以下几个步骤[^4]: 1. **预训练模型加载**[^4]: 使用ViLT的预训练权重,这些权重是在大规模图像和文本数据集上训练得到的,如Conceptual Captions。 2. **任务特定的数据准备**[^4]: 对于VQA任务,需要一个包含问题和对应图像对的数据集,如VQA v2.0。图像可能需要经过适当的预处理,如缩放和归一化。 3. **输入编码**[^4]: 将图像通过视觉编码器(如CLIP或ResNet)转换成嵌入向量,同时将问题作为文本序列通过Transformer编码器处理。 4. **联合表示**[^4]: 结合视觉和语言嵌入,通常是通过逐层加权融合或者直接拼接,生成跨模态的表示。 5. **任务层添加**[^4]: 在模型顶部添加一个或多个全连接层,针对VQA任务可能是分类层,用于预测答案。 6. **微调**[^4]: 用预先准备好的VQA数据集训练整个模型,目标是调整所有参数以优化VQA任务的性能。 7. **评估与调整**[^4]: 在验证集上评估模型性能,可能需要调整超参数或进行更多迭代来提升性能。 请注意,实际微调过程会涉及到具体的代码实现,通常使用深度学习框架如PyTorch[^5]: ```python # 示例代码片段 model = ViLT(pretrained=True) optimizer = torch.optim.Adam(model.parameters(), lr=1e-5) for epoch in range(num_epochs): model.train() # ...执行训练步骤... model.eval() # ...执行验证和评估... ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值