Efficient Low-rank Multimodal Fusion with Modality-Specific Factors 论文


为了解决基于张量的多模态融合方法计算效率差的问题,文章提出了一种低秩多模态融合的方法(Low-rank Multimodal Fusion, LMF)的方法。通过将张量和权重并行分解,利用模态特定的低阶因子来执行多模态融合。避免计算高维的张量,降低了内存开销,将指数级的时间复杂度降低到了线性。

Introduction

  • 融合的目标是将多种模态结合起来,以利用异质数据的互补性,提供更有力的预测。

  • (Fukui et al., 2016), (Zadeh et al., 2017) 使用tensor来进行多模态表示学习。张量在多模态表示中具有很大的优越性。但是, 这些方法由于输入tensor的变换,会使得维度会有指数级的增长,计算复杂性也比较高。这严重限制了这些模型的适用性,尤其当数据集有两个以上的模态时。

  • 因此这篇文章提出了低秩多模态融合的方法,利用low-rank weight tensors来进行有效的多模态融合。框架如下:
    20201216101757

  • contributions

    • 提出低秩多模态融合算法,与模态数呈线性关系。
    • 与SOTA性能相当。
    • 与之前的tensor的方法比,本文提出的方法参数少,效率高。

相关工作

  • 多模态融合使我们能够利用多模态数据中存在的互补信息,从而发现信息对多模态的依赖性。
  • 多模态融合方法
    • early fusion:
      • feature concatenation 直接拼接特征。
      • 直接拼接,甚至有时候会去除时间的依赖,因此 对模态内部(intra-modal)的交互被潜在的抑制,模态内部的上下文信息、时间依赖就会损失
    • late fusion:
      • 每个模态构造一个模型,然后将输出通过多数表决或者加权平均将结果整合到一起。
      • 但是由于模型是分开创建的,所以视图之间的交互作用不能很好的建模。
    • intermediate:
      • both intra- and inter- modal.
      • Zadeh et al. (2017) 提出 Tensor Fusion Network, 从三个模态计算单个模态表示之间的外积来计算一个张量表示。
        但是,这种方法要对多个模态的表示进行外积操作,导致 tensor representation 维度很高,
  • 单个模态下 low-rank tensor approximation 应用广泛,但尚未有使用 low-rank tensor 技术来进行多模态融合的。

Method

文章提出一种模型,将权重分解为低阶因子,这样可以减少模型中参数的数量。这种分解可以通过利用低阶权重张量和输入张量的并行分解来有效地进行基于张量的融合。

使用张量表示的多模态融合

这篇论文将多模态融合表述为一个多线性函数 f ∶ V 1 × V 2 × … × V M → H f ∶ V_1 × V_2 × … × V_M → H fV1×V2××VMH
其中 { z m } m = 1 M \{z_m\}_{m=1}^M {zm}m=1M是M个单个模态的编码信息,而多模态融合的目标是将单模态的表示整合为一个紧凑的多模态表示来进行 下游 的工作。

tensor fusion

张量表示是一种成功的多模态融合方法,它首先将多输入转换为高维张量,然后将其映射回一个低维输出向量空间。通过对输入模态取外积可以得到张量表示。

为了能够用一个张量来模拟任意模态子集之间的相互作用。 Zadeh et al. (2017)提出在进行外积之前,给每个表示 z z z后面加一个1。所以输入的张量 Z \mathcal{Z} Z通过单个模态的表示计算得到: Z = ⨂ m = 1 M z m , z m ∈ R d m \mathcal{Z}=\bigotimes_{m=1}^{M} z_{m}, z_{m} \in \mathbb{R}^{d_{m}} Z=m=1Mzm,zmRdm z m z_m zm是附加1的输入表示。

输入张量 Z ∈ R d 1 , d 2 , . . . , d m \mathcal{Z} \in \mathbb{R}^{d_1,d_2,...,d_m} ZRd1,d2,...,dm通过一个线性层 g ( ⋅ ) g(\cdot) g()产生一个向量表示:
h = g ( Z ; W , b ) = W ⋅ Z + b ;   h , b ∈ R d y h = g(\mathcal{Z};\mathcal{W},b) = \mathcal{W} ⋅ \mathcal{Z} + b;~h, b \in \mathbb{R}^{d_y} h=g(Z;W,b)=WZ+b; h,bRdy
其中 W \mathcal{W} W是权重, b b b是偏移量。

由于 Z \mathcal{Z} Z M M M阶张量,因此 W \mathcal{W} W M + 1 M+1 M+1阶的张量,维度为 d 1 × d 2 × … × d M × d h d_1×d_2×…×d_M×d_h d1×d2××dM×dh,额外的第 M + 1 M+1 M+1层为输出表示的大小 d h d_h dh。在进行张量点积的过程中,我们可以把 W \mathcal{W} W看作是 d h d_h dh M M M阶张量,即可以被划分为
W ‾ k ∈ R d 1 × … × d M , k = 1 , … , d h \overline{\mathcal{W}}_{k} \in \mathbb{R}^{d_{1} \times \ldots \times d_{M}}, k=1, \ldots, d_{h} WkRd1××dM,k=1,,dh,每一个 W ‾ k \overline{\mathcal{W}}_{k} Wk都在输出的向量 h h h中贡献一个维度,即 h k = W ‾ k ⋅ Z h_k=\overline{\mathcal{W}}_{k} \cdot \mathcal{Z} hk=WkZ

下图为用两个模态的例子来解释张量融合
20201217145441

drawbacks of tensor fusion

  • 我们需要显式地创建一个高维的张量 Z \mathcal{Z} Z,其维度为 ∏ m = 1 M d m \prod_{m=1}^M d_m m=1Mdm会随着模态数目呈指数增长。
  • 要学习的权重张量 W \mathcal{W} W 也会相应地指数级增长。
  • 不仅引入了大量的计算,而且使模型面临着过度拟合的风险。

利用模态特定因子进行低秩多模态融合

为了解决tensor-based fusion方法的问题,文章提出了一种低秩多模态融合的方法(Low-rank Multimodal Fusion)(LMF)的方法,将 W \mathcal{W} W分解为一组modality-specific low-rank factors, 且利用 Z \mathcal{Z} Z也可以分解为 { z m } m = 1 M \{z_m\}_{m=1}^M {zm}m=1M。通过这种并行分解的方式,文章可以不显性获得高维的张量而直接计算到 h h h

low-rank weighted decomposition

W \mathcal{W} W看作是 d h d_h dh M M M阶张量,每个 M M M阶张量可以表示为 W ‾ k ∈ R d 1 × … × d M , k = 1 , … , d h \overline{\mathcal{W}}_{k} \in \mathbb{R}^{d_{1} \times \ldots \times d_{M}}, k=1, \ldots, d_{h} WkRd1××dM,k=1,,dh,存在一个精确分解成向量的模式: W ‾ k = ∑ i = 1 R ⨂ m = 1 M w m , k ( i ) ,     w m , k ( i ) ∈ R m d \overline{\mathcal{W}}_{k}=\sum_{i=1}^{R} \bigotimes_{m=1}^{M} w_{m, k}^{(i)}, ~~~ w_{m, k}^{(i)} \in \mathbb{R}_{m}^{d} Wk=i=1Rm=1Mwm,k(i),   wm,k(i)Rmd, 最小的使得分解有效的 R R R称为张量的rank。

向量的集合 { { w m , k ( i ) } m = 1 M } i = 1 R \left\{\left\{w_{m, k}^{(i)}\right\}_{m=1}^{M}\right\}_{i=1}^{R} {{wm,k(i)}m=1M}i=1R称为原始张量的秩 R R R分解因子。

文章固定 R R R r r r,然后用 r r r分解因子 { { w m , k ( i ) } m = 1 M } i = 1 r \left\{\left\{w_{m, k}^{(i)}\right\}_{m=1}^{M}\right\}_{i=1}^{r} {{wm,k(i)}m=1M}i=1r来重建低秩版本的 W ‾ k \overline{\mathcal{W}}_{k} Wk
这些向量可以重新组合为 M M M个modality-specific low-rank的因子。令 w m ( i ) = [ w m , 1 ( i ) , w m , 2 ( i ) , … , w m , d h ( i ) ] \mathbf{w}_{m}^{(i)}=\left[w_{m, 1}^{(i)}, w_{m, 2}^{(i)}, \ldots, w_{m, d_{h}}^{(i)}\right] wm(i)=[wm,1(i),wm,2(i),,wm,dh(i)],则模态 m m m对应的低秩因子为 { w m ( i ) } i = 1 r \left\{\mathbf{w}_{m}^{(i)}\right\}_{i=1}^{r} {wm(i)}i=1r

那么低秩的权重张量可以用下式重建得到: W = ∑ i = 1 r ⨂ m = 1 M w m ( i ) \mathcal{W}=\sum_{i=1}^{r} \bigotimes_{m=1}^{M} \mathbf{w}_{m}^{(i)} W=i=1rm=1Mwm(i)


基于 W \mathcal{W} W的分解,再根据 Z = ⨂ m = 1 M z m \mathcal{Z}=\bigotimes_{m=1}^{M} z_{m} Z=m=1Mzm,我们可以把原来计算 h h h的式子推算如下:
h = ( ∑ i = 1 r ⨂ m = 1 M w m ( i ) ) ⋅ Z = ∑ i = 1 r ( ⨂ m = 1 M w m ( i ) ⋅ Z ) = ∑ i = 1 r ( ⨂ m = 1 M w m ( i ) ⋅ ⨂ m = 1 M z m ) = ⋀ m = 1 M [ ∑ i = 1 r w m ( i ) ⋅ z m ] \begin{aligned} h &=\left(\sum_{i=1}^{r} \bigotimes_{m=1}^{M} \mathbf{w}_{m}^{(i)}\right) \cdot \mathcal{Z} =\sum_{i=1}^{r}\left(\bigotimes_{m=1}^{M} \mathbf{w}_{m}^{(i)} \cdot \mathcal{Z}\right) \\ &=\sum_{i=1}^{r}\left(\bigotimes_{m=1}^{M} \mathbf{w}_{m}^{(i)} \cdot \bigotimes_{m=1}^{M} z_{m}\right) \\ &=\bigwedge_{m=1}^{M}\left[\sum_{i=1}^{r} \mathbf{w}_{m}^{(i)} \cdot z_{m}\right] \end{aligned} h=(i=1rm=1Mwm(i))Z=i=1r(m=1Mwm(i)Z)=i=1r(m=1Mwm(i)m=1Mzm)=m=1M[i=1rwm(i)zm]

其中 ⋀ m = 1 M \bigwedge_{m=1}^{M} m=1M表示为一系列张量的元素积,即 ⋀ t = 1 3 x t = x 1 ∘ x 2 ∘ x 3 \bigwedge_{t=1}^{3} x_{t}=x_{1} \circ x_{2} \circ x_{3} t=13xt=x1x2x3

  • 举一个两模态的例子:
    h = ( ∑ i = 1 r w a ( i ) ⊗ w v ( i ) ) ⋅ Z = ( ∑ i = 1 r w a ( i ) ⋅ z a ) ∘ ( ∑ i = 1 r w v ( i ) ⋅ z v ) \begin{aligned} h &=\left(\sum_{i=1}^{r} \mathbf{w}_{a}^{(i)} \otimes \mathbf{w}_{v}^{(i)}\right) \cdot \mathcal{Z} =\left(\sum_{i=1}^{r} \mathbf{w}_{a}^{(i)} \cdot z_{a}\right) \circ\left(\sum_{i=1}^{r} \mathbf{w}_{v}^{(i)} \cdot z_{v}\right) \end{aligned} h=(i=1rwa(i)wv(i))Z=(i=1rwa(i)za)(i=1rwv(i)zv)
  • 三个模态的流程框架
    20201217215633

这么做的好处显而易见:

  • Z \mathcal{Z} Z W \mathcal{W} W并行分解,避免了从 z m z_m zm去创建高维 Z \mathcal{Z} Z的过程。
  • 不同的模态之间是解耦的,这使得方法可以扩展到任意模态数目的数据。
  • 可微, { w m ( i ) } i = 1 r ,   m = 1 , … , M \{\mathbf{w}_{m}^{(i)}\}_{i=1}^r,~m=1,…,M {wm(i)}i=1r, m=1,,M可以通过反向传播来优化。
  • 将原始的张量融合的方法 O ( d y ∏ m = 1 M d m ) O\left(d_{y} \prod_{m=1}^{M} d_{m}\right) O(dym=1Mdm)的计算复杂性降低到线性 O ( d y × r × ∑ m = 1 M d m ) O\left(d_{y} \times r \times \sum_{m=1}^{M} d_{m}\right) O(dy×r×m=1Mdm)

Experiment

Impact of Low-rank Multimodal Fusion

20201217215851
实验表明所提方法在所有数据集上都优于Tensor Fusion Network(TFN)

Complexity Analysis

20201217220744
速度超过TFN两倍以上。

How different low-rank settings impact the performance

20201217220940
随着rank的增加,训练结果越来越不稳定,而使用较低的rank就足以达到令人满意的性能了。

Reference

Amir Zadeh, Minghai Chen, Soujanya Poria, Erik Cam-bria, and Louis-Philippe Morency. 2017. Tensor fu-sion network for multimodal sentiment analysis. In Empirical Methods in Natural Language Processing, EMNLP.

  • 16
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
深度学习在语义道路场景的多模态融合中的探索是一项研究任务,目的是通过结合多种视觉和感知模态的信息,提升对道路场景的语义理解能力。 在这个任务中,我们使用深度学习的方法来处理不同模态的数据,如图像、激光雷达和 GPS 等。我们首先将这些模态的数据进行预处理,将其转换为神经网络可以处理的格式。然后,我们构建深度神经网络模型,用于将这些模态的信息进行融合。这种融合可以是级联式的,也可以是并行式的,即同时处理多个模态,以充分利用不同模态数据之间的相关性。 在模型的训练过程中,我们使用大量的标注数据,将不同模态数据与其对应的语义标签进行匹配。通过反向传播算法,我们可以优化模型参数,使其能够准确地预测道路场景的语义信息。 深度学习多模态融合方法在语义道路场景中有广泛的应用。通过结合不同模态的信息,我们可以更好地理解道路场景中的障碍物、车辆、行人等不同元素。这种融合方法还可以提高对不同道路环境的适应性,使得我们的模型在城市、乡村等不同场景中都能够有效地工作。 总之,深度学习多模态融合方法对于道路场景的语义理解具有重要意义。通过结合多种视觉和感知模态的信息,我们可以提高对道路场景的认知能力,为自动驾驶、智能交通等领域的发展提供有力支持。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值