点击上方蓝字关注我们
Efficient Multimodal Fusion via Interactive Prompting
作者:
Yaowei Li, Ruijie Quan, Linchao Zhu, Yi Yang
作者单位:
悉尼科技大学, 浙江大学
论文链接:
https://arxiv.org/pdf/2304.06306
代码链接:
https://github.com/yaoweilee/PMF
简介
多模态学习模型的规模不断增加,导致迫切需要减少针对下游任务微调这些模型的计算成本。本文提出了一种高效灵活的多模态融合方法,即 PMF,融合单模态预训练的transformer。具体来说,首先提出了一种模块化多模态融合框架,促进不同模态之间的相互交互。此外,将普通提示分为三种类型,以便学习多模态训练的不同优化目标。需要注意的是,仅在单模态transformer的深层添加提示向量,能够更显着减少训练内存的使用。实验结果表明,所提出的方法实现了与其他几种多模态微调方法相当的性能,可训练参数少于 3%,训练内存使用节省高达 66%。
研究背景
近年来,大规模预训练语言模型和视觉模型取得了巨大成功,导致了预训练多模态模型的激增去尝试协调不同的模态。许多现有方法利用微调来更新每个目标跨模态任务的模型参数。尽管微调可以实现良好的性能,但由于必须存储多模态模型所有参数的梯度和优化器状态,因此需要大量的计算成本。因此,促使研究人员为多模态学习提出比微调更参数有效的方法。提示微调(prompting tuning)冻结预训练模型的所有参数,同时仅调整连续提示来解决这个问题。具体来说,它将可训练的连续提示添加到输入数据的原始标记序列中。训练期间,仅更新连续提示。对于基于多模态提示的学习,最新的方法【1】提出分解预训练模型的功能,该模型表现出高度的灵活性。尽管该方法显着减少了调整参数(例如,小于预训练模型的0.1%),但它与基于微调的方法之间仍然存在很大的性能差距。
【1】Modular and parameter-efficient multimodal fusion with prompting. arXiv preprint arXiv:2203.08055, 2022
此外,该方法采用顺序模块化结构,即预训练的图像transformer模型后面跟随语言transformer模型,这导致跨模态学习中的两个主要问题:单向路径学习和模型层数的显着增加。具体来说,多模态模型中的单向路径学习通常会迫使一种模态与其他模态保持一致,但反之则不然。这样,由于缺少相互对齐,基于多种不同模态的跨模态学习没有得到充分探索。由于提示被添加到输入数据的标记序列中并在训练中更新,因此它们需要在反向传播中进行大量的梯度计算,这会消耗大量的内存。因此,这种方法虽然减少了需要更新的参数数量,但并没有减少训练期间的内存使用量(最多 20%)。换句话说,这种参数有效的方法仍然需要大量的计算资源,这阻碍了它应用于许多现实世界的应用。
论文贡献
为了解决这些问题,本文提出了一种具有高内存效率的基于提示的多模态融合方法,即 PMF。
(1)提出了一种新的模块化多模态融合框架,该框架具有高度灵活性并促进不同模态之间的双向交互。具体来说,采用双流结构,其中预训练的语言模型和图像模型以并行方式构建多模态模型。因此,不同模态的 token 可以通过类似交叉注意力的操作来学习相互交互。
(2)利用三种类型的交互式提示(即查询提示、查询上下文提示和融合上下文提示)来动态学习多模态学习的不同目标。直观上,查询上下文提示和查询提示可以看作一对“问题”和“答案”,目的是提取两种模态之间交换所需的信息。经过非线性映射“翻译器”翻译后,“答案”被传递给其他模态,以实现更好的跨模态理解。最后,融合上下文提示会为所传递的答案提供上下文以促进融合。
(3)PMF 是一种内存高效的方法,可以显着降低大型预训练模型的内存需求。考虑到计算反向传播提示的梯度非常消耗内存,本文建议仅在所使用的单模态transformer的深层添加提示。因此,反向传播不需要经过整个多模态模型,只需要经过几个深的transformer层就可以到达所有可训练的参数,大大减少了训练内存的使用。
基于提示的多模态融合方法
基于提示的多模态融合策略(PMF)分为三部分(1)为视觉和语言任务开发的单模态transformer。(2)基本特征提取。(3)基于交互式提示将两个单模态 Transformer 层集成为多模态 Transformer 层。
图 2.应用于视觉语言输入的基于提示的多模态融合策略 (PMF)。
单模态transformer
Vision Transformer (ViT) 中RGB 图像输入 x_img ∈ R^h,w,c 首先被切割成 N_img 非重叠块,然后线性投影到每个 z_i ∈ R^d 的嵌入 z 序列中。语言 Transformer 首先将原始文本标记为 N_txt 个one-hot嵌入,然后将这些离散向量转换为 N_txt 连续嵌入序列。Language Transformer 和 Vision Transformer 的连续嵌入具有相同的结构,如下所示:
其中 CLS 是序列前面的特殊标记,因此它在最后一层的表示可以用作整个序列的表示进行分类。请注意,两个单模态transformer具有不同的 CLS token。然后将连续嵌入 z 馈送到由 L 个transformer层组成的transformer编码器中。对于每个transformer层,输入经过包括多头自注意力、层归一化、多层感知器在内的模块,最后通过残差连接添加到原始输入中。
单模态基本特征提取
如图 2 所示,图像和文本输入首先分别被处理并输入到单模态transformer层中提取基本特征。在此阶段,每个编码器的工作方式与在单模态任务中的工作方式完全相同。将起始融合层表示为 Lf 。每个编码器的基本特征提取可以表示为:
其中 θ 代表预训练参数。较小的 Lf 导致较早的融合,较大的 Lf 导致较晚的融合。
多模态融合层--交互式提示
每个融合层由“查询阶段”和“融合阶段”组成,提取的单模态基本特征通过多个多模态融合层进行融合,如图 3 所示。Querying阶段侧重于提取需要传递的内容,并且融合阶段侧重于融合从其他模态传递的提取信息。
图 3.基于提示的多模态融合层。
采用三种交互提示来实现两种模式信息的融合/交换。在查询阶段使用“查询提示”()和“查询上下文提示”()来提取需要的信息,经过非线性映射后,在融合阶段借助“融合上下文提示”()将提取的信息融合。黄色和绿色元素分别代表语言和视觉模态。红色框表示可训练模块。
这种两阶段的设置使得原本的即时训练与不同的学习目标纠缠在一起。因此,将普通提示解耦为三种:“查询提示”(QP,表示为 )、“查询上下文提示”(QCP,表示为 )和“融合上下文提示”(FCP,表示为 )以动态地了解多模态学习的不同目标。根据提示使用的方式,每种提示可以进一步指定为 和 来相互区分(例如 和 )
如图3所示,QP和QCP用于查询阶段,FCP用于融合阶段。QP是从单模态输入序列中查询信息,QCP为查询提供额外的上下文。QP和QCP就像一对“问题”和“答案”,通过非线性映射来翻译。FCP负责在融合阶段为融合提供上下文。
实验结果
PMF 与微调基线相比具有竞争力。表 2 显示,PMF 通过完全微调基线实现了可比的性能,可训练参数少于 3%,同时节省了 66% 的内存成本,显着缩小了微调和基于提示的方法之间的差距。此外,当配备更大的transformer(即 bert-large 和 vit-large)时,PMF 甚至优于微调 LateConcat。
表 2. 多模式分类性能。PMF 实现了与微调基线相当的性能,可训练参数不到 3%,训练内存使用量高达 66%。MM-IMDB为F1-Macro / F1-Micro,其他为准确性。表中显示了每种方法在训练和评估 UPMC Food-101 时的最大内存使用情况。“-”表示可训练参数小于 0.1 M。PMF-Large 使用 bert-large 和 vit-large 模型(24 个隐藏层),而其他模型则使用 bert-base 和 vit-base 模型(12 个隐藏层)。M 是提示长度,Lf 是起始融合层。
表 3. PMF 模块消融。PMF 中有四种类型的可训练模块。设置融合层 Lf = 10 并一次添加一个不同的模块以查看它们各自的影响。所有带有 ✓ 的提示的长度均为 4,带有 ✓✓ 的提示的长度为 8。
方法局限性
局限性1: PMF 在三个数据集上的性能仍然落后于具有相同预训练主干的微调基线,这表明未来需要更多的工作来开发基于提示的方法,以充分利用预训练模型中的知识,最终通过提示获得同等或超越的结果。
局限性2: 关于超参数调整:最好根据提示在多模态融合中的作用将提示解耦为三种。然而,通过最佳融合结构获得最佳结果,它也会给超参数调整带来更多工作。
致谢作者,关于论文的详细实施过程和具体解释请阅读论文原文哦~❤️❤️ 转载请注明出处
喜欢的话,请别忘记点赞👍➕关注哦
推荐阅读
TPAMI 2024 |多模态学习最新综述!普林斯顿大学、武汉大学等从数据视角解读多模态学习
CVPR 2024|拥抱单模态不确定性,实现稳健多模态融合!电子科大与同济等联手突破多模态技术瓶颈!