AAAI 2021 的一篇多模态表示学习文章
题目: 在异构嵌入空间中的多模态事件表示学习
关于 异构空间 我的理解
这里 Heterogeneous 我把它翻译成异构,有道给出的翻译是:
读到题目时,我猜想这里heterogeneous的意思是,嵌入空间是各种不同维度的空间组成的,或者是一个大空间包含多个维度不同的小空间。 。 读完以后看会不会理解一些。
读完introduction我觉着我可能理解了。 这里的heterogeneous指的是,讲文本嵌入和图像嵌入分别嵌入到两个空间中,所以这里heterogeneous是 不同的,类比的是以往的将多个模态的信息嵌入到同一个空间的做法。
读完文章后我又进行了思考,理解了这里的heterogeneous space。
异构空间 相对同构空间而言。 文章中介绍到,目前多模态表示学习一般是两种,1多个模态映射到同一个空间 2 多个模态映射到两个空间。 注意这里2映射到两个空间,其实是映射到两个相同类型的空间,都是欧式空间,比如文字映射到三维空间,视觉映射到五维度空间,两个空间都是欧式空间,两个空间的类型是相同的。虽然映射到两个不同空间,但是却是同构空间。而作者提出的异构空间,作者将文字模态映射到了高斯密度空间,而视觉信息嵌入到点嵌入空间。 其实高斯密度空间里的元素是高斯分布,这个空间便不是欧式空间。而点嵌入空间,仍然是欧式空间。两个空间类型不一样,所以称为异构空间。
Abstract
之前的研究工作已经在很多任务上展现出使用事件表示学习方法的有效性,比如脚本事件预测和股票市场预测。然而,仅根据通常表示为(主语、谓语、宾语)三元组的事件的文本描述来了解事件之间的细微语义差异仍然具有挑战性。作为另一种选择,图像提供了一种更直观的方式来理解事件语义。我们观察到,在文本和图像中描述的事件显示出不同的抽象层次,因此应该投射到不在本文中,我们提出了一个多模态事件表示学习框架(MERL)来同时学习基于文本和图像的事件表示。同的嵌入空间,与以前的方法不同,以前的方法将信号从不同的模态投射到同一个空间。事件文本三元组被dual-path 高斯三元组编码器(我觉着翻译不好,应该是双向 或者是 对称双向 高斯三元组编码器)映射为高斯密度嵌入,同时事件图像被视觉事件成分感知编码器投射为点的嵌入。在此基础上,引入了一种基于统计假设检验的评分函数来协调两个嵌入空间。在多个多模态事件相关的任务上进行了实验,结果表明,MERL的性能优于多个单模态和多模态基线,证明了所提框架的有效性。
Introduction
在自然语言处理(NLP)中,构造一个能代表文本内容的事件结构是非常重要的,因为它对语言的理解和推理至关重要。将事件转换成机器可读的形式对许多自然语言处理任务来说很重要,例如回答问题、理解篇章和信息提取。至今,主流做法是将原事件表示为低维度稠密向量。
在从表示为(主语,谓语,宾语)的结构化事件三元组中学习事件表示或嵌入方面已经取得了很大的进展。事件嵌入学习的典型做法是将各个成分的嵌入组合在一起。两种常用的组合方法是基于叠加additive-based和基于张量tensor-based。对于additive-based方法,事件成分(比如主语,谓语和宾语)的拼接或者叠加嵌入被神经网络参数化函数投射到一个事件表示空间。对于基于张量的方法,事件成分被张量操作组合在一起,这样,可以获得事件成分之间的乘法交互(multiplicative interactions )。
尽管事件表示学习方法非常成功,但对于模型来说,仅仅根据文本模态来学习事件之间的细微语义差异仍然是一个挑战。例如图1上部分有三个事件 1 (she, attend, baby), 2 (he, take care, kid), 3 (she, attend, meeting)。其中事件1和时间3有相同的主语和谓语,但表达的意思截然不同。相反,事件1和事件2没有任何相同的元素,但其实表达的是同一个事件。这种情况下,相比文本描述三元组,事件语义能够更好的在事件相关的图像中获取,如图1 。因此利用图像模态来增强事件表示学习非常重要。
多模态表示学习方法,旨在从不同模态(如文本和图像)中传达的语义单元或信息当中学习一个统一的表示。以往的方法通常是将信息从不同的模态投射到相同的嵌入空间,如点嵌入空间或密度嵌入空间。然而在事件嵌入学习中,事件的描述通常在图像中要比在文本描述中传达更多的信息。如图1 的下部分所示,事件(he, play, soccer)能够描述不只一张图像。在这个例子中,我们能够以更简洁的描述来看待事件三元组,即相关事件图像的抽象。而每个图像是一个事件三元组的实例化,其中包含一些超出文本能够描述出的细节。
在本文中,我们提出了一个多模态事件表示学习框架(MERL)来将事件三元组及其相关图像投影到异构嵌入空间中。更具体地说,对于每个事件,它的事件三元组被一个双路径高斯三元组编码器投射到一个高斯密度嵌入空间。用不同的组合方法估计了高斯分布的均值和方差。针对事件图像,提出了一种视觉事件成分感知的图像编码器,用于提取视觉事件成分并为图像生成一个嵌入点。我们假设一个事件图像是一个事件三元组的实例化,我们希望确保图像点嵌入的行为就像从事件三元组高斯嵌入中采样一样。为此,提出了一种基于统计假设检验的得分函数,该函数在理论上具有一定的保证性和可扩展性。通过多模态事件相似性、脚本事件预测和多模态事件检索等实验验证了该方法的有效性。
本文的主要贡献如下:
- 提出了一种将事件三元组和图像投影到异构嵌入空间的多模态表示学习框架。以及统计驱动的得分函数来协调在异构空间中的事件三元组嵌入和图像嵌入。
- 设计了两种新的编码器,用于对不同模态的事件信息进行建模。事件三元组编码器的事件成分通过两个不同的编码器路径来预测高斯嵌入的均值和方差。图像编码器抽取视觉事件特征来生成图像嵌入点。
- 在各种任务上的实验结果展示出提出的框架表现优于各种具有竞争力的嵌入学习和多模态表示学习方法。
Related Work
本文的研究与下面两条线路研究相关
事件表示学习 事件表示学习方法使用神经网络将原始事件三元组或者句子投射成稠密向量,其中相似的事件有相近的嵌入,不同的事件有分别不同的嵌入。Ding们在2015年提出一个基于张量的事件嵌入模型来做股票交易预测,其中结构化事件的成分由3维张量组成。Granroth-wilding Clark 和 Modi 这几位大兄弟在2016年将主语、谓语和宾语的嵌入进行了拼接,然后输入给神经网络去生成事件的嵌入。 Ding们在2016年提出将知识图谱融合到基于张量的时间嵌入模型。Pichotta和Mooney在2016年将事件预测架构为序列到序列的模型,结构化事件的成分输入到LSTM模型中来预测下一个事件。Weber(歪脖),balasubramanian和chambers在2018年提出另一个基于张量的事件表示模型,基于谓语嵌入学习生成一个张量。 Lee和Goldwasser在2018年引入情感色彩和时间的生命力作为附加成分来学习事件表示。 Ding们在2019年提出一个多任务学习框架,将事件的感情和意图注入到事件嵌入当中。然而上述的这些方法仅仅考虑文本模态,没有融入其他模态的信息,比如图像。
多模态表示学多模态表示学习的目的是学习多种信息源目标的表示,比如文本,图像和音频。多模态表示学习方法可以被分成两种类型:联合表示和协同表示。联合表示方法将来自不同模态的单一模态信号映射到相同的表示空间。Silberer 和 Lapata 在2014年提出使用堆叠的自编码器拼接文本嵌入和图像嵌入来预测目标的标签。Rajagopalan们在2016年提出显式对随时间推移的特定视图和跨视图融合进行建模,来获得结构化输出。协调表示方法学习每个模态的单独表示,但通过一个约束来协调它们。Flome们在2013年提出使用相似性内积来限制文本嵌入和视觉图像嵌入。Vendrov们在2016年提出一个保持序列框架来学习文本和图像当中的部分顺序关系。Ben和Andrew在2018年扩展了这个框架,用密度嵌入代替了点的嵌入。 Li们在2020年介绍了多媒体事件抽取任务,从多媒体文档中抽取事件和事件的参数。然而,提到的这些方法表示图像和文本都是在相同空间中。据我们所知,我们的工作是在异构嵌入空间中考虑多模态表示学习的第一次尝试。
Methodology
在本节中,我们将首先介绍所提出的多模态事件表示学习框架(MERL)的总体架构,然后是详细介绍了三元组编码器和图像编码器。最后,我们描述了整个框架的训练过程。
Multimodal Event Representation Learning on Heterogeneous Embedding Spaces
如图2所示,提出的框架属于多模态协同表示模型。在MERL中,事件三元组和事件图像被精心设计的两个模态内部学习目标的三元组编码器和图像编码器嵌入到异构嵌入空间中。为了融合多模态的知识,提出了一个跨模态约束来对齐三元组嵌入空间和图像嵌入空间。
** Problem Setting** 首先我们定义多模态时间表示学习的问题如下。我们假设每个事件 e e e 与一个三元组 t = { S , P , O } t=\{S, P, O\} t={S,P,O} 和一个或多个图像描述 { v j ∣ j = 1 , . . . , k } \{v_j|j=1,...,k\} {vj∣j=1,...,k}配对,MERL的目的是达到以下:
- 语义相似的事件三元组被投射到嵌入空间中相近的位置
- 相同事件的图像被投射到嵌入空间中且聚类到一起,同时保留相应事件三元组的语义关系;
- 对于同一事件,事件图像嵌入点的分布好像是从事件三元组的密度嵌入中采样得到。
Heterogeneous Embedding Spaces 如上面描述的,我们假设事件三元组是对应图像的一个抽象,事件图像是三元组的一个实例。这样,MERL将事件数据从不同模态投射到异构嵌入空间当中。一个时间三元组
t
t
t被投射到密度嵌入空间
D
D
D:
也就是,每个事件三元组都关联一个密度。所以密度嵌入学习相当于估计密度参数。相反,一个时间图像
v
v
v被投射到一个点嵌入空间
P
P
P中:
Coordinate the Heterogeneous Spaces 协调多模态表示方法通常使用同构的测量方法,比如余弦相似度,KL散度 来对齐同构空间中的嵌入。然而这种测量方法不能够在这里使用,因为我们处理的是异构空间嵌入问题。为了衡量分布和点,假设检验是一种自然的做法。在统计上,假设是关于总体参数的假设,而假设检验是用采样数据来评估对总体假设的可信度。假设检验的一种常见选择是 likelihood-ratio test 似然比检验。对于无效假设
H
0
H_0
H0和一个可替代假设
H
1
H_1
H1:
似然比检验的检验统计是:
其中
x
x
x代表样本,
θ
\theta
θ代表参数,
L
(
⋅
∣
⋅
)
L(\cdot|\cdot)
L(⋅∣⋅)代表可能性,
Θ
0
\Theta_0
Θ0代表无效假设的参数空间,
Θ
\Theta
Θ代表全部参数空间。当无效假设成立时,
Θ
\Theta
Θ上的极大似然与
Θ
0
\Theta_0
Θ0的极大似然之间的差距不应该比随机采样误差大。也就是说,如果
λ
(
x
)
<
c
,
(
c
∈
(
0
,
1
)
)
\lambda(x)<c ,(c\in(0,1))
λ(x)<c,(c∈(0,1))的时候,无效假设就会被拒绝。换句话说,越大的眼见统计
λ
(
x
)
\lambda(x)
λ(x),无效假设
H
0
H_0
H0越有可能是真的。
受到似然比检验的启发,我们提出一个评分函数,来衡量我们的密度嵌入
t
t
t和多点嵌入
v
S
v_S
vS。对公式4两边取
l
o
g
log
log后,得到:
公式5的值越大,则分布
t
t
t和数据点
v
s
v_s
vs之间的假设为真的可能性越大。
在MERL中,我们假设事件图像是事件三元组的实例,可以表示为:
考虑到
L
(
θ
∣
x
)
L(\theta|x)
L(θ∣x)在参数空间
Θ
\Theta
Θ上的参数优化可以使用极大似然估计(MLE),其也是样本
x
x
x的
T
(
x
)
T(x)
T(x)统计,对于MERL,公式5可以改写为:
其中
N
(
x
∣
μ
,
σ
2
)
N(x|\mu,\sigma^2)
N(x∣μ,σ2)是高斯分布似然,
T
(
x
)
=
{
x
ˉ
,
S
2
(
x
)
}
T(x)=\{\bar x , S^2(x)\}
T(x)={xˉ,S2(x)} 是样本
x
x
x的均值和方差。
评分函数可以如下解释:第一项应该最大化,因为对数似然衡量了分布和样本之间的拟合程度;第二项应该最小化,可以被解释为是一个惩罚项,组织样本被聚类到一起,并鼓励这些点分散开,以具有更好的标示性。
具备了嵌入空间和且定义了嵌入空间之间的测量方法,我们可以推导出模态内部损失来学习模态内部的几何图形,跨模态失来协调模态之间。
Dual-path Gaussian Triple Encoder
三元组编码器的目的是将事件三元组 t = { S , P , O } t=\{S,P,O\} t={S,P,O}映射为一个高斯嵌入 t t t,其中农耕 S S S是主语或行动者, P P P是谓语或动作, O O O是动作接受者。本文中,为了简化模型,我们设置了高斯分布协方差矩阵的对角线。任务是组合事件成分来计算事件密度嵌入的均值向量和方差向量 t = ( μ , σ 2 ) t=(\mu,\sigma^2) t=(μ,σ2)。
之前的神经高斯嵌入方法通常采用共享编码器来计算均值和方差向量。然而我们争辩其做法,均值和方差向量描述高斯分布的不同方面,均值考量的是在嵌入空间中高斯分布的位置,方差向量获取的是高斯分布的形状和分散程度。因此,我们提出一个双向路径高斯事件三元组编码器,如图3所示,其通过不同路径预测均值向量和方差向量。
对于均值向量,对事件成分之间的相互作用的建模是非常重要的,如此才能捕获语义的细微变化。因此,我们介绍一个基于张量组合的路径来计算事件高斯嵌入的均值向量。三元组编码器的输入是
S
,
P
,
O
S ,P ,O
S,P,O 三个词词嵌入。对于由多个词组成的事件成分,使用其成分词嵌入的平均值。如图3所示,
S
和
P
S和P
S和P,
P
和
O
P和O
P和O首先用于生成中间表示
m
1
和
m
2
m_1和m_2
m1和m2:
f
=
t
a
n
h
f=tanh
f=tanh是非线性函数,在每个元素上应用。
b
∈
R
k
b\in R^k
b∈Rk是偏置向量,
U
∈
R
k
×
d
×
d
U \in R^{k \times d \times d}
U∈Rk×d×d是张量,由一系列矩阵组成每个都是
d
×
d
d \times d
d×d维度。张量乘法
s
T
U
p
s^TUp
sTUp得到一个向量
h
∈
R
k
h \in R^k
h∈Rk 其中
h
i
=
∑
j
,
k
U
i
j
k
s
j
p
k
h_i=\sum_{j,k}U_{ijk}s_jp_k
hi=∑j,kUijksjpk。然后均值向量
μ
\mu
μ通过中间表示
m
1
和
m
2
m_1和m_2
m1和m2的张量组合计算而来。
对于方差向量,我们假定它主要捕捉与同一事件有关的各种表达式,其主要被事件的谓语考量,而不是与s和p, p和o的相互乘法。因此我们提出一个基于添加成分的路径去建模方差向量。首先,中间表示
m
3
和
m
4
m_3和m_4
m3和m4如下计算
W
∈
R
k
×
2
d
W \in R^{k \times 2d}
W∈Rk×2d 是权重矩阵,方差向量
σ
2
\sigma^2
σ2通过中间表示
m
3
,
m
4
m3, m4
m3,m4计算得到:
Visual Event Components-aware Image Encoder
图像编码器的目的是将事件图像
v
v
v映射为点的嵌入
v
\bold v
v ,其中相似的三元组的图像嵌入应该是聚集的,不相似的三元组的图像嵌入应该是分散的。为了捕捉图像上的语义,我们提出检测视觉事件成分,且组合这些表示来获取图像嵌入。事件图像编码器的结构如图4所示。
为了让模型具备检测视觉事件成分的能力,我们首先在ImSitu数据集上训练一个图像分类器,该数据集提出了位置识别任务。在ImSitu中,每张图像被标注出活动和活动参与者的角色(称为属性)。例如一张vet clipping dog’s claw 的图像 将被标注为 活动 clipipng, 参与者vet 来源 dog。任务是去识别给定图像的每个属性。本文中,我们预训练图像编码器来识别ImSitu中的三个属性:主语,活动,来源,对应着事件三元组中的主语 谓语和宾语。
因为到目前为止,大多数的对象检测方法只能处理有限的对象类型,因此无法检测出大量的真实事件图像中的对象。受到 Li2020工作的启发,我们利用注意机制提取开放词汇的事件成分。在我们的模型中,我们使用一个VGG16网络来抽取整体图像特征
g
g
g, 对每一张图像
v
v
v 用一个
7
×
7
7\times 7
7×7来作为一个
7
×
7
7 \times 7
7×7局部区域的 attention keys。拿 subject举例,角色的query向量
q
s
q_s
qs 是由角色嵌入
s
s
s和图像特征
g
g
g拼接获得:
然后,对于一个事件图像
v
v
v,我们计算角色主语
s
s
s对所有局部区域的注意力得分 :
最后,主语
s
s
s在图像
v
v
v种的表示通过计算:
宾语的表示和主语的获取过程一样。谓语的表示,通过图像特征
g
g
g和MLP
r
p
=
M
L
P
(
g
)
r_p=MLP(g)
rp=MLP(g)获得。在预训练阶段,我们我们将抽取主语和宾语的表示和
g
g
g输入给分类层来做位置识别任务。预训练之后,我们把分类层替换为全连接层去组合事件参数,并获得最终的图像表示
Training
对于模态内部三元组损失,我们介绍一个最大距离loss来鼓励相似的事件有更相近的得分。相似性得分通过bhattacharyya 距离来计算:
其中
t
j
t_j
tj表示事件三元组
t
j
p
t_j^p
tjp表示正例采样(很接近的事件),
t
j
n
t_j^n
tjn表示负例采样(不接近的事件)。对于对角线高斯分布,该距离简化为:
其中
在我们的研究中所有
Σ
\Sigma
Σ都是对角矩阵。
对于图像内部损失,与三元组编码器损失相似。
其中
∣
∣
⋅
∣
∣
2
|| \cdot ||_2
∣∣⋅∣∣2表示欧氏距离,
v
j
k
v_{jk}
vjk表示事件图像,
v
j
k
p
v_{jk}^p
vjkp表示正例,
v
j
k
n
v_{jk}^n
vjkn表示负例。
最终两个编码器的结果,利用两个模态的知识来增强事件密度嵌入和图像嵌入学习:
其中
x
ˉ
\bar x
xˉ是
v
s
v_s
vs的均值,
S
2
S^2
S2是采样方差。这些是高斯分布的极大似然估计参数。
最终的损失:
训练算法:
对于联合训练,我们构建了一个多模态数据库,通过扩展硬相似事件数据库 (Ding 提出来的)。原始数据库包含1000个事件三元组,每个时间配备了正例和负例。 正例采样有很强的语义关系但词汇重叠很少,负例采样有明显的差别但词汇有大量重叠。为了眼神数据库多模态性,每个三元组用来在Google Image上检索20个候选图,由人们标注并选择前十个关联性最强的图像。最终我们的相似性数据库包含3000个事件三元组,配备3000个事件图像。
Experiments
我们在各种各样的下有任务中,评估提出的MERL,包括多模态事件相似性,脚本事件预测,跨媒体检索。我们将汇报数据库,基线模型,评估策略,结果。
多模态事件相似性
事件表示学习的目的是尽可能多的保留事件中的信息,使得相似的时间在嵌入过程中被投射到接近的位置,不相似的事件在嵌入空间中互相距离很远。
dataset
Multimodal hard similarity datset: 包含230个事件对,(115对相似事件,115对不相似事件)。我们拓展了这个数据集,方式如上面描述的,结果有690个事件三元组,6900个事件图像。对于每个模型,我们计算事件对表示的相似性得分,报告相似事件比 不相似事件得分高的情况。
Transitive sentence similarity dataset:包含108对动宾句子,每个对被人工标注为1到7的相似性。对于每个模型,我们使用Spearman’s correlation
ρ
\rho
ρ相似性得分和average annotation scores 作为评估标准。
baseline
result
Script Event Prediction
事件,承载着世间的知识,在自然语言推理任务上扮演着极其重要的角色。常识推理任务可以用来评估事件表示学习对知识信息的捕捉。Chambers和Jurafsky提出了 narrative cloze 任务。任务中文档的事件序列被抽取出来,但其中一个事件被遮挡。推理模型是在两个备选的事件中去去预测遮挡的事件。Granroth-Wilding和Clark 扩展了这个任务变成多选择的,并提出了multiple choice narrative cloze (MCNC)任务。我们评估提出的方法和其他baseline,使用标准MCNC数据库。
Multiple choice narrative cloze dataset 140k个训练样本,10k个测试样本。每个事件链,有5个候选事件其中一个是正确答案。
Baselines
result
Cross-modal Event Retrieval
多模态表示学习方法从两个模态中映射信息,并学习他们的关系,使得跨模态的检索可以实现。本节我们在模态检索上评估MERL模型的表现。
Cross-modal event retrieval dataset 我们改进了 多模态硬相似性数据集,来做多模态事件检索。对于事件三元组检索,我们使用一个随机选择的图像作为query,目标是从随机构造的事件三元组中检索最匹配的事件三元组,其中包含原始的三元组事件和19个随机采样的三元组事件。对于图像检索,我们跟从从给定的三元组中检索最相似的图像,其中一个图像是期望结果。我们报告每个模型的recall10结果。
Baseline
result
Conclusion
不翻译了!,太磨叽了