目录

  • 1. 简介
  • 2. 创新点
  • 3. 模型描述
  • 3.1 Low Rank Fusion
  • 3.2 Multimodal Transformer
  • 具体模块介绍
  • Temporal Convolutions
  • Positional Embedding (PE)
  • Crossmodal Attention (core)
  • Crossmodal Transformers
  • Self-Attention Transformers and Prediction
  • 4. Experiment


1. 简介

前面文章提到基于张量低秩分解进行多模态的融合,今天介绍的文章则结合多模态 Transformer (MulT) [1]低秩矩阵分解 (Low Rank Matrix Factorization, LMF)[2] 来处理多模态融合的问题,并且相对减少了跨模态 Transformer 的个数,没有引起过度的参数化。

本文内容包括了两篇文章的内容:

  1. Low Rank Fusion based Transformers for Multimodal Sequences ( LMF-MulT )
  2. Multimodal transformer for unaligned multimodal language sequences ( MulT )

2. 创新点

  • MulT方法 [1] 中有3个 unimodal transformer 和 6 个 bimodal transformer,但是没有 trimodel 。本文方法比 mulT 使用更少的 transformer 来得到多模态表示
  • 提出两种方法
  • LMF-MulT:通过3个模态的注意力加强融合表示。
  • Fusion-Based-CM-Attn:通过融合信号并行加强单个模态表示。
  • 利用低秩矩阵分解的方法 (LMF) 通过近似张量融合来捕获所有单个模态、双模态以及三模态之间的交互。
  • 文章可以处理对齐和非对齐的序列。可以对非对齐序列进行建模的能力是有利的,因为文章依赖的是基于学习的方法,而不是使用强制信号同步的方法(需要额外的时间信息)来模仿人类多模态语言表达的协调性。

3. 模型描述

3.1 Low Rank Fusion

  • LMF(low-rank matrix factorization)[2]:是一种张量融合方法,通过使用低秩分解因子来进行张量融合,避免了直接张量相成进行融合导致的高维问题,更多关于LMF的介绍可以看下这篇文章。

输入张量 如何跨架构模拟_机器学习 通过一个线性层 如何跨架构模拟_多模态融合_02 产生一个向量表示:
如何跨架构模拟_多模态融合_03
其中 如何跨架构模拟_机器学习_04 是权重, 如何跨架构模拟_人工智能_05

基于 如何跨架构模拟_机器学习_04 的分解,再根据 如何跨架构模拟_机器学习_07 ,可以把计算 如何跨架构模拟_transformer_08

如何跨架构模拟_人工智能_09

如果通过计算如何跨架构模拟_人工智能_10再得到如何跨架构模拟_transformer_08如何跨架构模拟_人工智能_12个模态如何跨架构模拟_人工智能_10的维度就是如何跨架构模拟_机器学习_14,这种低秩分解代替原来的向量相成的方法,可以直接得到如何跨架构模拟_transformer_08,不用计算高维的如何跨架构模拟_人工智能_10,使得可以轻松扩展到模态数较多的情况。

3.2 Multimodal Transformer

在基于 Transformers 的序列编码的基础上,利用 Tsai [1] 的 multiple cross-modal attention blocks 模块,然后用 self-attention 来编码多模态序列做分类。

  • 早期工作关注一个模态到另外一个模态的潜在适应。文本关注利用single-head 和 cross-modal attention 实现潜在多模态融合表示与单个模态之间的适应。
  • LMF 后加时间卷积。

文章这里用了两种框架:

第一种框架是LMF得到的融合表示和每个模态表示之间建立一个跨模 transformer,然后利用融合表示加强单个模态的表示,最后将每个模态的表示连接在一起获得一个统一的表示去做后续的任务。

如何跨架构模拟_transformer_17

第二种框架是通过LMF得到的多模态融合表示,然后添加时间卷积信息和位置信息,然后基于每个模态的表示加强多模态融合表示,再对统一的表示进行self-attension,再进行后续任务。

如何跨架构模拟_transformer_18


具体模块介绍

  • 论文中的各个模块没有具体的介绍,基础模块基于另外一篇ACL的论文:Multimodal Transformer for Unaligned Multimodal Language Sequences (MulT) [1] ,这篇论文的框架图如下所示:

如何跨架构模拟_多模态融合_19

MulT 包括以下几个模块:

Temporal Convolutions

将输入序列通过一个 1D 的时间卷积层:

如何跨架构模拟_如何跨架构模拟_20

  • 卷积得到的序列被期望包含序列的局部信息。
  • 如何跨架构模拟_多模态融合_21:对应模态卷积核的大小。
  • 将不同模态的特征维度映射到如何跨架构模拟_人工智能_22,使得跨模注意力模块点积 (dot-products) 可用。
Positional Embedding (PE)

为了保证序列携带时间信息,为包含时间信息的表示 如何跨架构模拟_多模态融合_23 增加位置嵌入 (position embedding, PE):
如何跨架构模拟_多模态融合_24
其中 如何跨架构模拟_如何跨架构模拟_25,计算每个位置索引的嵌入,计算方式如下:
如何跨架构模拟_机器学习_26
其中如何跨架构模拟_人工智能_27如何跨架构模拟_如何跨架构模拟_28

如何跨架构模拟_多模态融合_29就是不同模态包含低层位置信息的特征。

Crossmodal Attention (core)

一种融合跨模信息的方式:提供一种潜在的跨模适应 ( latent adaptation across modalities ), 如下图中的模态 如何跨架构模拟_多模态融合_30 到模态 如何跨架构模拟_如何跨架构模拟_31

如何跨架构模拟_人工智能_32

Crossmodal Transformers

基于跨模注意力模块,可以设计跨模transformer模块,使一个模态从另外一个模态接收信息。

以模态 vision ( V )到每模态 language ( L )为例:

每个跨模 transformer 都由 D 层 跨模注意力块组成。跨模态 transformer 对 1:D 层计算 feed-forwardly (前馈) 如下:

如何跨架构模拟_如何跨架构模拟_33

  • 如何跨架构模拟_人工智能_34 是一个以 如何跨架构模拟_transformer_35
  • 如何跨架构模拟_如何跨架构模拟_36 是第 如何跨架构模拟_机器学习_37 层从模态 如何跨架构模拟_transformer_38 到模态 如何跨架构模拟_机器学习_39
  • 如何跨架构模拟_机器学习_40:layer normalization

在每对模态之间建立跨模交互,所以有6个跨模transformer。(MulT)

Self-Attention Transformers and Prediction

连接所有的跨模 transfomer 的输出,得到如何跨架构模拟_多模态融合_41,例如如何跨架构模拟_多模态融合_42

4. Experiment

论文 Low Rank Fusion based Transformers for Multimodal Sequences 在三个多模态数据集上做了实验,

如何跨架构模拟_人工智能_43


如何跨架构模拟_人工智能_44


如何跨架构模拟_人工智能_45

可以达到和他改进的 MulT 方法 comparable 的结果,但是相比 MulT,文章具有以下优点:

  • 使用的 transformer 数量少,训练时间短。
  • 如何跨架构模拟_多模态融合_46

  • 以更低的参数,达到相似的性能。
  • 如何跨架构模拟_人工智能_47

[1] Tsai, Yao-Hung Hubert, et al. "Multimodal transformer for unaligned multimodal language sequences." Proceedings of the conference. Association for Computational Linguistics. Meeting. Vol. 2019. NIH Public Access, 2019.