Multimodal Transformer for Unaligned Multimodal Language Sequences
https://github.com/yaohungt/Multimodal-Transformer
摘要:
人类语言往往是多模态的,包括自然语言,表情以及声学行为。但对时间语言序列进行多模态建模存在以下两个主要挑战:
1.不同模态的数据在时间上是不对齐的,这里不对齐一是采样率不同,二是不同模态数据采集的起始时间未必对齐
2.不同模态之间的长期依赖问题
文章提出了Multimodal Transformer(MulT)来解决上述问题。
模型分析:
整体结构如下图,多模态之间成对处理。
Crossmodal Attention
假设输入两个模态数据:和,其中和表示序列长度和特征维度,定义作为Query,作为key,作为value,其中 是权重。上述W权重是可训练的,这里我觉得W主要目的有两个,一个是转换向量空间,因为如果采用多头的注意力机制,需要映射到不同的学习空间;二是转化特征维度,使Q,K维度相同。接下来就是经典的注意力机制:
作者称上述公式为 a single head crossmodal attention,一个单一的跨模态注意力,如下图(a)所示。
接着,作者在跨模态注意力机制后加入残差连接和位置前馈子层,后者其实也是一种MLP,因为处理的attention输出是某个位置的,所以位置前馈子层的输入和输出的维度一样。
作者称,模型能够让一种模态从另一种模态接受信息,假设让模态V传递信息到模态L,记为,经历以下步骤:
是多头注意力机制,LN 是layer normalization,是位置前馈网络。
细节描述:
Temporal Convolutions: 采用1维的时域卷积对数据进行预处理,主要目的是对周围信息建模以及将不同模态输入特征投影到相同维度。
Positional Embeddint: 为了确保输入特征具备时域信息,对特征进行时域编码