文章目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、问题提出的背景
随着网络2.0的到来,短视频越发的兴起,他的火热程度不需要笔者进行描述大家也清楚。由于短视频往往面向一个特殊的主题(短,所以内容精)比如视频拍摄的地理位置,这种信息对于推荐和社交网络是非常有用的,如果用户不进行标注,我们将很难获取到这种宝贵的信息。
但是由于隐私问题,很少有用户去标注他们的视频,以Vine为例,只有大概1.22%的用户标志了他们视频拍摄的位置。
虽然无法精准的识别用户的准确位置,但是我们可以将用户拍摄的场景类型进行估计,比如“篮球场”,这种技术被视为多模态融合,通过将短视频的视觉、声音以及文本等信息提供的地理信息整合来进行识别。
针对这个问题,有许多人提出了不同的想法,如利用BOW模型、LSTM与RNN结合、DARE等方法,但是这些方法都是将异构的数据投射到了一个共同的空间中,这种投影不可避免的会带来一些模态信息的对视并最终影响短视频的表达,同时以往的方法都仅仅专注于多个模态的常见线索,事实上,除了一致性意外,这些模态之间的关系具有更加复杂的关系,例如互补性等等。
二、本文如何解决?
我们将一致性成分称为以不同形式出现在多个模态中的相同信息如下图所示:图片中的红色糖果和文本中的棒棒糖是一致的;但是“girl”或者“glass”很难找到等价的。一致性信息可以用来缓解微视频的低质量,互补信息可以弥补微视频的信息不足。
我们期望可以增强这种多模态的合作,使其可以:
- 通过一致性正则化从不同的角度增强相同证据的可信度;
- 从互补分量的独占角度提供全面的表示
但是,一致的和互补的信息往往是混合的,不便于分离,而分离后又很难将他们联系起来。以往的方法无法区分这两种特性,而本文提出的深度多模态合作学习方法可以利用Cooperative Net来提取一致、互补信息。
参照下图,我们在每个模态中提取其中的特征,将他们分类输入到三个协作对等的网络中,在每个网络中,我们分别将一个模态特征作为host,其他两个作为guest,获得增强向量后将他们输入到一个attention net后利用softmax输出预测结果进行后期的融合。增强向量是如何获得的呢?在左侧,会将各个模态链接,计算他们的相关性并且将他们组合。对组合后的向量,采用一个阈值门来分离一致部分和互补部分,然后利用Cooperative Net将一致的进行融合,将互补的进行串联,便得到了增强向量。
本文的主要贡献如下:
- 这是第一篇多模态合作学习的论文
- 我们设计了一个Cooperative Net来自动区分和融合多种模式之间的一致性和互补性信息
- 实际应用了提出的深度多模态合作学习方法来估计短视频的场地类别。此外,还发布了代码、参数和相关基线,以方便其他研究人员使用
三、多模态协作神经模型
给定一组N个短视频,对于每个短视频将他们分为三个模态 { x v , x a , x t } \{x_v,x_a,x_t\} {xv,xa,xt}分别代表视觉、听觉和文本 m ∈ { v , a , t } x m ∈ R D m m \in\{v,a,t\}\\x^m \in R^{D_m} m∈{v,a,t}xm∈RDmx是模态上的一维特征向量,每一个视频和K个预定义的类别中的一个相关联。
3.1.多模态Early Fusion
在此部分,我们认为跨模态的信息可以分为两部分,一致性部分(人群图像和人群的欢呼)和互补性部分(太阳和风声),我们将多模态特征输入到一个多层神经网络中,并且输出一个联合表示,但是符合的特征无法从向量中获取,因此我们提出了一个合作学习机制来利用未发现的关系从而提高性能。
3.2.Cooperative Networks
通过投影将不同的形式转换到一个共同的潜在空间。
min
A
m
,
B
λ
1
2
∥
X
m
A
m
−
B
∥
F
2
+
λ
2
2
∑
m
=
1
M
∥
A
m
∥
F
2
\min_{A_m,B} \frac{\lambda_1}{2}\parallel X^mA^m-B \parallel^2_F+\frac{\lambda_2}{2}\sum^M_{m=1}\parallel A^m\parallel^2_F
Am,Bmin2λ1∥XmAm−B∥F2+2λ2m=1∑M∥Am∥F2
B是从所有模态中学习公共空间中的表示矩阵,A是m阶模态上原始特征空间到公共空间的变换矩阵,在这个解决方案中,一致的线索应该彼此接近,因为它们显示相同的证据,而公共空间中的互补线索应该是遥远的,因为它们没有重叠的信息。但是投影的时候会导致信息的损失(上文提到过),所以我们不使用这种方法。
为了避免信息丢失,我们设计了一种新的解决方案,称之为合作网路,每一个模态的信息被其他模态整体保留和增强。
该网络为特征的每个维度分配一个关系分数,从而将特征分为一致部分和互补部分。每个特征的关系分数反映了从其他模式得到的信息的一致性,使模型具有很强的表达能力,有利于进一步的合作学习。接下来,我们将详细阐述合作网络的关键组成部分:
3.2.1 Relation Score:
目标是从每一个模式中选择信息模式一致的特征,如图三所示,一个host(h)两个guest(g1,g2),我们为每一个特征维度分配一个权重来捕获host和guest的一致性,这个权重就是关系评分,我们提出了一个新的关系感知注意机制来对特征进行评分。考虑到一致性应该是h和整个g之间的相关性,我们将所有的g链接在一起
g
m
=
[
g
1
m
,
g
2
m
]
g^m = [g_1^m,g_2^m]
gm=[g1m,g2m]分数高即为一致特征,分数低即为互补特征。
s
h
,
i
m
=
σ
(
h
i
m
,
g
m
)
s_{h,i}^m=\sigma(h_i^m,g^m)
sh,im=σ(him,gm)将它们输入到由单个隐层和softmax层组成的神经网络中,输出为一个得分向量,正式定义为:
s
h
m
=
s
o
f
t
m
a
x
(
W
h
m
.
[
h
m
,
g
m
]
)
s_h^m=softmax(W^m_h.[h_m,g_m])
shm=softmax(Whm.[hm,gm])W的维度为d_hostd_all
对于guest,我们也采用了类似的评分,来进行测试计算:
s
g
m
=
s
o
f
t
m
a
x
(
W
g
m
.
[
g
m
,
h
m
]
)
s_g^m=softmax(W^m_g.[g_m,h_m])
sgm=softmax(Wgm.[gm,hm]) W的维度为d_guestd_all
3.2.2 一致性和互补性:
得到分数后,我们很容易就可以找到一致和互补的特征,我们设置了一个可调阈值,阈值将一致性向量和互补向量分开。
- 一致性权重向量定义如下: γ o m [ i ] = { s o m [ i ] i f s o m [ i ] ⩾ ζ o m 0 o t h e r w i s e \gamma_o^m[i]=\begin{cases} s^m_o[i]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if\ s_o^m[i]\geqslant \zeta_o^m \\ 0\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ otherwise \end{cases} γom[i]={som[i] if som[i]⩾ζom0 otherwise
- 互补性权重向量定义如下: δ o m [ i ] = { 1 − s o m [ i ] i f s o m [ i ] ⩽ ζ o m 0 o t h e r w i s e \delta_o^m[i]=\begin{cases} 1-s^m_o[i]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ if\ s_o^m[i]\leqslant \zeta_o^m \\ 0\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ otherwise \end{cases} δom[i]={1−som[i] if som[i]⩽ζom0 otherwise
由于原始的函数是不连续的,所以我们引入一个sigmod函数来让他们可微:
{
γ
o
m
[
i
]
=
s
o
m
[
i
]
1
+
e
−
ω
∗
(
s
o
m
[
i
]
−
ζ
o
m
)
δ
o
m
[
i
]
=
1
−
γ
o
m
[
i
]
\begin{cases} \gamma_o^m[i]=\frac{ s_o^m[i]}{1+e^{-\omega*(s_o^m[i]-\zeta_o^m )}} \\ \delta_o^m[i]=1-\gamma_o^m[i] \end{cases}
{γom[i]=1+e−ω∗(som[i]−ζom)som[i]δom[i]=1−γom[i]
其中w参数使用来使得值接近0或者目标值,一般设置为50
基于这些权重向量,我们从混合信息中分离出一致性特征和互补性特征,这些特征是原始特征向量和每个权重向量的元素乘积,如
{
α
h
m
=
h
m
⨂
δ
h
m
,
α
g
m
=
g
m
⨂
δ
g
m
,
β
h
m
=
h
m
⨂
γ
h
m
,
β
g
m
=
g
m
⨂
γ
g
m
,
\begin{cases} \alpha^m_h=h^m\bigotimes\delta_h^m,\\ \alpha^m_g=g^m\bigotimes\delta_g^m,\\ \beta^m_h=h^m\bigotimes\gamma_h^m,\\ \beta^m_g=g^m\bigotimes\gamma_g^m,\\ \end{cases}
⎩⎪⎪⎪⎨⎪⎪⎪⎧αhm=hm⨂δhm,αgm=gm⨂δgm,βhm=hm⨂γhm,βgm=gm⨂γgm,
通过分离出一致性和互补性的成分,可以重建具有更好表现力的表征,对不同的部分采用不同的策略。为了充分利用一致分量对之间的相关性,将这些向量串联起来,并将它们输入到神经网络中,以学习增强的一致向量:
β
‾
m
=
ψ
(
W
β
m
.
[
β
h
m
,
β
g
m
]
)
\overline\beta^m=\psi(W^m_\beta.[\beta_h^m,\beta_g^m])
βm=ψ(Wβm.[βhm,βgm])
为了补充其他模式的专有信息,我们将增强的一致性分量和互补分量相结合,生成一个具有强大表达能力的特征向量:
x
^
=
[
α
h
m
,
β
‾
m
,
α
g
m
]
\widehat x=[\alpha^m_h,\overline\beta^m,\alpha^m_g]
x
=[αhm,βm,αgm]
同时,为了保证一致性,应尽量减少一致分量对的多样性。然而,每个向量的维数是不同的,一致特征的数目是动态的。因此,我们无法直接捕捉这些特征的多样性。为此,我们建议计算由一致向量表示的场景类别的概率分布,并进一步利用Kullback-Leibler散度(KL散度)来鼓励它们接近,类别的概率分布定义如下:
p
o
m
=
s
o
f
t
m
a
x
(
U
o
m
.
β
o
m
)
p_o^m = softmax(U_o^m.\beta_o^m)
pom=softmax(Uom.βom)
接下来我们计算这两个类别的KL散度:
ℓ
1
m
=
∑
x
∈
χ
(
p
g
m
l
o
g
p
h
m
−
p
h
m
l
o
g
p
g
m
)
\ell_1^m = \sum_{x\in\chi}(p_g^mlogp_h^m-p_h^mlogp_g^m)
ℓ1m=x∈χ∑(pgmlogphm−phmlogpgm)然后我们计算所有模态的KL散度:
ℓ
1
=
∑
m
∈
M
ℓ
1
m
\ell_1=\sum_{m\in M}\ell_1^m
ℓ1=m∈M∑ℓ1m
3.2.3 注意力网络:
随着注意机制的发展,我们采用了一个注意力网络来评估不同场景类别的每个特征的注意力得分,这些分数可以衡量这些特征与场景类别的相关性和重要性,然后可以使得特征选择更加灵活。
3.2.3.1 Attention Scorce
我们没有计算每个特征对于类别的重要性,而是构建了一个可训练的记忆矩阵来存储他们的注意分数:
Ω
m
∈
R
D
m
×
K
\Omega^m\in R^{D_m\times K}
Ωm∈RDm×K行对应模态类别,列对应场景类别。
对于每个类别,通过计算特征向量与矩阵m中相应行向量的按元素乘积来获得得分的特征向量。x是模态的增广矩阵,其公式如下:
ψ
j
m
=
ω
j
m
⊗
x
^
m
\psi^m_j=\omega^m_j\otimes \hat{x}^m
ψjm=ωjm⊗x^m
为了得到一个区分表示,接下来将得分点特征向量输入到一个完全连通的层中:
θ
j
m
=
ϕ
(
W
m
⋅
ψ
j
m
)
\theta^m_j=\phi(W^m·\psi^m_j)
θjm=ϕ(Wm⋅ψjm)
3.2.3.2 Multimodal Estimation:
在获得区分表示之后,我们将他们传递到一个完全连通到softmax层,他计算在每个模态中场景类别标签的概率分布:
p
(
y
^
k
m
,
∣
θ
k
m
)
=
e
x
p
(
z
k
T
θ
k
m
)
∑
k
=
1
K
e
x
p
(
z
k
T
θ
k
m
)
p(\hat{y}_k^m,|\theta^m_k)=\frac{exp(z_k^T\theta_k^m)}{\sum_{k=1}^{K}exp(z_k^T\theta^m_k)}
p(y^km,∣θkm)=∑k=1Kexp(zkTθkm)exp(zkTθkm)
其中zk是第k个场景类别的可训练权重向量;theta是在模态m中,第k个场景的区别表示最后我们可以获得一个概率标签向量:
y
^
m
=
[
y
^
1
m
,
y
^
2
m
.
.
.
.
.
,
y
^
K
m
]
\hat{y}^m=[\hat{y}^m_1,\hat{y}^m_2.....,\hat{y}^m_K]
y^m=[y^1m,y^2m.....,y^Km]
对于每个模态,我们融合他们在三个模态上的标签概率向量:
y
^
=
∑
m
∈
M
(
y
^
m
)
\hat{y}=\sum_{m\in M}(\hat{y}^m)
y^=m∈M∑(y^m)
然后,我们采用一个函数来最小化估计的标签向量与其目标值之间的损失,如下所示:
ℓ
2
=
−
∑
x
∈
χ
∑
k
=
1
K
y
k
l
o
g
(
y
^
k
)
\ell_2=-\sum_{x\in \chi}\sum_{k=1}^Ky_klog(\hat{y}_k)
ℓ2=−x∈χ∑k=1∑Kyklog(y^k)
最后,将此函数和一致表示对的KL散度结合起来作为我们所提出方法的目标函数,如下所示:
ℓ
=
ℓ
1
+
ℓ
2
=
∑
m
∈
M
∑
x
∈
χ
(
p
g
m
log
p
h
m
−
p
h
m
log
p
g
m
)
−
∑
x
∈
χ
∑
k
=
1
K
y
k
l
o
g
(
∑
m
∈
M
(
exp
(
z
k
T
θ
k
m
)
∑
k
=
1
K
exp
(
z
k
T
θ
k
m
)
)
)
\ell=\ell_1+\ell_2 \\=\sum_{m\in M}\sum_{x \in \chi}(p_g^m\log p_h^m-p_h^m\log p_g^m)-\\ \sum_{x\in \chi}\sum_{k=1}^Ky_klog(\sum_{m \in M}(\frac{\exp (z_k^T\theta_k^m)}{\sum_{k=1}^K\exp (z^T_k\theta_k^m)}))
ℓ=ℓ1+ℓ2=m∈M∑x∈χ∑(pgmlogphm−phmlogpgm)−x∈χ∑k=1∑Kyklog(m∈M∑(∑k=1Kexp(zkTθkm)exp(zkTθkm)))
3.2.3.2 Training
通过随机梯度下降在mini-batch下训练,使用反向传播更新模型参数直到收敛。
ϵ
=
ϵ
−
η
∂
ℓ
∂
ℓ
\epsilon=\epsilon-\eta \frac{\partial \ell}{\partial \ell}
ϵ=ϵ−η∂ℓ∂ℓ为了防止过拟合,我们采用dropout的方法来改进我们的模型
四、模型验证
4.1.数据的准备
4.1.1 数据的收集
通过Vine的公共API来对短视频进行爬取,手动选择了一部分活跃用户作为初始种子,然后从种子出发,收集他们的粉丝。选择了大约24000个带有场景信息的视频,在删除重复的场景序号后,根据场景信息继续爬取扩充数据集,对少于50个视频的类别进行筛选,最后获取了包含188个类别的270145个视频。
4.1.2 特征提取
- 视觉特征:利用了Deep CNN,模型为ResNet,数据集为Caffe数据集。首先利用OpenCV提取关键帧,然后利用ResNet从关键帧中提取特征,对所有短视频的关键帧采用平均池的策略,为每个视频生成一个2048维的向量。
- 声学特征:在视觉特征包含的预测位置的信息很少时,声学模态可以有效补充,利用FFmeg,通过librosa生成频谱图,利用DAE提取声学特征,获得了200维的向量
- 文本特征:包括用户生成的文本和标签,可以为微视频地点估计提供强有力的线索。我们使用了可以有效地缓解单词稀疏的语义问题的Paragraph Vector method。最终,我们应用Sentence2Vector工具为每个视频描述提取了一组100维的特征
4.1.3 缺失值填充
使用低秩矩阵分解方法,用于补全缺失的数据。将从微视频中提取的多模态特征串联起来,形成所有的特征向量作为原始特征矩阵。然后,我们将该矩阵分解为两个包含100个潜在特征的低维矩阵,在此基础上,通过最小化两个矩阵乘积与原始矩阵的经验误差来推断缺失特征,并通过正则化模型避免过度拟合。(ALS)
4.2 实验
我们采用Macro- F1,Micro- F1进行性能度量:
- 就Micro-F1而言,早期融合和晚期融合的性能最差,因为这些标准融合方法很少利用不同模式之间的相关性
- 将注意力模型和标准融合相结合,可以明显提高性能。这验证了修正各特征权重的可行性。
- 采用了多任务学习和场景层次类别的TRYUMANN优于1、2但是比3、4差,这证明了为特征分配关注度权重的重要性
- 我们的模型可以捕获并利用不同模式之间的相关性,并且利用注意力网络对特征采用恰当的关注度
我们还提供了本方法的操作曲线(ROC)和四条基线,并用曲线下面积(AUC)评分来评价结果。
4.3 进一步的研究
如表三所示,仅考虑一个模态时,视觉表现最佳,这得益于视觉所传达的丰富的地理信息以及CNN对于视觉特征的优秀效果。
声学和文本在估计场馆类别方面表现相似。对于大多数微视频而言,仅使用一种模式是不足以估计类别的,因为文本和声学信息是噪声、稀疏的,甚至与场地类别无关。
如表三和表四最后三行所示,采用的模式越多,绩效就越好。这是对“两头不如一头”这句老话的共识。
表四显示,我们提出的方法增强了每种模态的性能,特别是当声学模态和文本模态与视觉模态相结合时。这一改进验证了我们模型中的每种模式都可以被其他模式加强。
将表IV中的每一行与表III中的前三行进行比较,模型中的其他两种模式增强了每一种模式的性能,这优于早期融合整合注意模型的性能。这表明我们的模型可以捕捉不同模式之间的相关性。
图五证明了模型的收敛性和有效性,大约在30次迭代的时候取得稳定。
为了展示可视化模式之间的一致性和互补性,本文选择了两个短视频作为例子:
两个短视频的场景分别为“公园”和“广场”。由于声学特征比较难以提取,所以我们将声学模态视为典型,作为三个模态中的host,将视觉和文本模态视为客体。
我们还利用热图来说明主客体特征对之间的相关性,颜色越深,主客体的特征越一致。
从图6(a)中,我们可以通过热图看到,如“音乐”和“小提琴”的一些声学概念与视觉和文本形式相一致,而一些是从其他形式中很难揭示的专有概念,例如“掌声”、“噪音”和“汽车警报”则一致性比较低;相比之下,图6(b)中,相关性得分分布则完全不同:如“掌声”、“拥挤”和“嘈杂”可以一致性较高,而“音乐”和“小提琴”由于在其他模态中几乎没有被捕捉到,所以一致性较低。
观察结果不仅验证了来自不同模式的信息是互补的,并且证明模型可以明确地将一致的信息与互补的信息分开。
所以说,不同的场景下,一致性信息和互补性信息是不同的,同时这些特征对于场景的判别又十分重要,所以,在我们提出的模型中,我们将不同模态中一致性信息和互补性信息区别,显式地捕获每个模态中独有的信息作为补充,而不是在学习过程中忽略它们的相关性和一致性。
同时,由于不同场景下所对应的特征是不同的,所以我们通过注意力网络为每个场景和特征分配注意力分数也是非常合理的:不同的场景对于不同特征的注意力也是不同的,如公园这个场景对于“汽车警报”这个特征就不会关注太多,这在下图中会有进一步的阐释。
我们还通过热图可视化了注意力矩阵的一部分,其中较浅的颜色表示注意力较弱,反之亦然。我们可以看到,每个选定的场馆类别都与每个声学概念有着不同的关系。例如,以「商场」为地点的微视频与「说话」、「儿童喊叫」有很强的相关性;另外,在“宠物店”的场地中,“孩子说话”和“呼呼”的颜色是深色的,“战斗呐喊”的颜色是浅色的。这些观察结果符合我们的常识,并证明注意分数可以选择对场馆类别的区别特征。
总结
今天大体把这篇论文顺下来了,也学习了一些相关概念。后面大部分都是直接翻译的内容,我对此不是很满意,打算去网站上实验一下代码再修改一下这篇文章。
今天又阅读了一遍论文,结合论文中的试验有了一些新的收获,对博文又有了一定的改动,不过一些更深的体会暂且没有记录下来,之后在阅读完其他相关论文后会接着来补充。