关注公众号,发现CV技术之美
0
写在前面
过去十年深度学习的发展,极大地推动了多媒体领域视觉与语言之间跨模态分析的进步。然而,目前还没有一个开源的代码库以统一和模块化的方式来支持训练和部署跨模态分析任务的神经网络模型。在这项工作中,作者提出了X-modaler——一个通用和高性能的代码库,它将SOTA的跨模态任务流程封装到几个通用阶段 。
每个阶段涵盖了目前SOTA方法广泛采用的一系列模块,并允许在不同模块之间进行无缝切换。这使得科研工作者们实现了图像字幕、视频字幕和视觉语言预训练等任务更加灵活,促进研究社区的快速发展。
同时,由于有些阶段(如跨模块态交互)的有效模块化设计是在不同的视觉语言任务中共享的,因此x-modaler可以扩展到跨模态分析中其他任务,包括视觉问题回答、视觉常识推理和跨模态检索。
1
论文和代码地址
X-modaler: A Versatile and High-performance Codebase for Cross-modal Analytics
论文地址:https://arxiv.org/abs/2108.08217
代码地址:https://github.com/YehLi/xmodaler
官网文档:https://xmodaler.readthedocs.io/en/latest/
2
Motivation
视觉和语言是人类智能的两个基本能力。人类通常通过视觉和语言之间的交互作用进行跨模态分析,能够用自然句子描述他们看到的东西(对应image captioning和 video captioning任务),基于给定的图像回答问题(对应VQA任务)。
在过去的五年里,视觉到语言一直是跨模态分析的“最热门”和快速发展的主题之一,出版物数量和工业应用都在显著增长,例如,图像/视频字幕和视觉语言预训练的新兴研究任务的出现。
尽管许多现有的视觉到语言工作已经发布了开源实现,但源代码是在不同的深度学习平台(如Caffe、TensorFlow和PyTorch)中实现的,其中大多数不是以统一的方式构建的。因此,研究人员和工程师必须基于现有的不统一的开源实现,来修改/部署他们自己的视觉-语言任务的idea/应用程序,这严重阻碍了跨模态分析的快速发展。
为了缓解这个问题,作者提出了x-modaler代码库,这是一个基于pytorch的、通用的、用户友好的和高性能的多模态代码库,通过以模块化的方式组织所有组件,可以灵活地实现SOTA的视觉语言技术。x-modaler也是目前第一个针对跨模态分析的开源代码库。
具体来说,从NLP领域的机器翻译获得灵感,视觉到语言模型的典型架构本质上是一个编码器-解码器结构。首先,将图像/视频表示为一组视觉token、CNN特征或通过预处理的高级属性 ,这些视觉表示通过编码器(如LSTM、卷积或基于转换器的编码器)进一步转换为中间状态 。