Wang Y, Cui Z, Li Y. Distribution-consistent modal recovering for incomplete multimodal learning[C]//Proceedings of the IEEE/CVF International Conference on Computer Vision. 2023: 22025-22034.
论文概述
本文的核心思想是提出了一种名为“分布一致的模态恢复(DiCMoR)”的新方法,用于处理不完整的多模态学习中的缺失模态问题。在多模态学习中,由于各种原因(如语音识别错误、背景噪音、传感器限制等),某些模态数据可能会丢失,这对模型的性能构成挑战。传统的方法通常直接通过深度神经网络从观测到的模态估计缺失模态,但这种方法忽略了不同模态间分布差异,导致恢复的数据与真实数据在分布上不一致。
为了解决这个问题,DiCMoR方法旨在将可用模态的分布转移到缺失模态上,以此维持恢复数据的分布一致性。具体来说,该方法设计了一种基于类别特定流的模态恢复方法,通过条件样本类别来转换跨模态分布,从而能够预测缺失模态的分布一致空间。这种方法利用了归一化流(normalizing flow)的可逆性和精确的密度估计能力,生成的数据与可用模态数据一起用于分类任务。
实验表明,DiCMoR在多种缺失模式下表现出色,优于现有的最先进方法。此外,可视化结果显示,与缺失模态相比,DiCMoR恢复的模态在分布上的差距得到了明显缓解。总的来说,DiCMoR通过在模态恢复过程中保持分布一致性,提高了多模态学习在面对模态缺失时的鲁棒性和性能。
本文用到的背景补充概述
Normalizing flow(归一化流)是一种深度学习模型,主要用于生成模型领域,其核心原理是使用可逆的变换来建模复杂数据分布。归一化流的基本思想可以概括为以下几个关键点:
- 可逆性(Invertibility):归一化流模型的核心特性之一是其变换是可逆的。这意味着,对于任何给定的数据点,都可以通过这些变换准确地映射到一个潜在空间,并且可以从潜在空间无损地重构回原始数据点。
- 变换链(Chain of Transformations):归一化流通过一系列的可逆变换(例如,仿射变换)将复杂的数据分布转换为简单的分布(通常是高斯分布)。每个变换都是简单的,但是当它们串联在一起时,可以模拟出非常复杂的分布。
- 精确的概率密度估计(Exact Density Estimation):由于变换是可逆的,归一化流可以精确地计算数据点在原始空间和潜在空间的概率密度。这是通过变换的雅可比行列式(Jacobian determinant)来实现的,它允许从潜在空间的密度映射回原始数据空间的密度。
- 灵活性和表达能力:通过增加变换的数量和复杂性,归一化流可以捕捉到数据中的复杂特征和结构。这使得它们在建模复杂分布时非常有效,尤其是在生成模型和密度估
模型结构
-
Shallow Feature Extractor
利用三个独立的时间卷积层提取三种模式的浅层特征,并将其投射到同一维度空间中。
-
Cross-Modal Distribution Transfer
X ~ ( A ) = ( F ( A ) ) − 1 ( [ F ( L ) ( X ( L ) ) + F ( V ) ( X ( V ) ) ] / 2 ) . \widetilde{\mathbf{X}}^{(A)}=\left(\mathcal{F}^{(A)}\right)^{-1}\left(\left[\mathcal{F}^{(L)}\left(\mathbf{X}^{(L)}\right)+\mathcal{F}^{(V)}\left(\mathbf{X}^{(V)}\right)\right] / 2\right) . X (A)=(F(A))−1([F(L)(X(L))+F(V)(X(V))]/2).
本文以语言( L L L)和视频模态( V V V)存在,恢复音频模态( A A A)为例:从浅层特征提取器中获取的 X ( m ) \mathbf{X}^{(m)} X(m),这里 m m m是可见模态,映射到同一个多维正态分布 Z ( m ) = F ( m ) ( X ( m ) ) \mathbf{Z}^{(m)}=\mathcal{F}^{(m)}\left(\mathbf{X}^{(m)}\right) Z(m)=F(m)(X(m))。同时,可以将 Z ( m ) \mathbf{Z}^{(m)} Z(m)输入到 ( F ( m ) ) − 1 \left(\mathcal{F}^{(m)}\right)^{-1} (F(m))−1中,生成真实分布 X ~ ( m ) ∼ p X ( m ) \widetilde{\mathbf{X}}^{(m)} \sim p_{\mathbf{X}^{(m)}} X (m)∼pX(m)的样本 X ~ ( m ) \widetilde{\mathbf{X}}^{(m)} X (m)。论文采用可用模式隐变量特征的均值作为对缺失模态隐变量分布的估计,即经过正变换后可用模态 Z ( L ) ∼ N ( μ c , Σ c ) \mathbf{Z}^{(L)} \sim \mathcal{N}\left(\mu_{c}, \boldsymbol{\Sigma}_{c}\right) Z(L)∼N(μc,Σc), Z ( V ) ∼ N ( μ c , Σ c ) \mathbf{Z}^{(V)} \sim \mathcal{N}\left(\mu_{c}, \boldsymbol{\Sigma}_{c}\right) Z(V)∼N(μc,Σc),则令缺失模态 Z ~ ( A ) ← ( Z ( L ) + Z ( V ) ) / 2 ∼ N ( μ c , Σ c ) \widetilde{\mathbf{Z}}^{(A)} \leftarrow\left(\mathbf{Z}^{(L)}+\mathbf{Z}^{(V)}\right) / 2 \sim\mathcal{N}\left(\mu_{c}, \boldsymbol{\Sigma}_{c}\right) Z (A)←(Z(L)+Z(V))/2∼N(μc,Σc),然后通过逆变换 ( F ( A ) ) − 1 \left(\mathcal{F}^{(A)}\right)^{-1} (F(A))−1得到缺失的声学模态 X ~ ( A ) \tilde{\mathbf{X}}^{(A)} X~(A)。然后将 X ~ ( A ) \tilde{\mathbf{X}}^{(A)} X~(A)送入解码器 X ^ ( A ) = D ( A ) ( X ~ ( A ~ ) ) \widehat{\mathbf{X}}^{(A)}=\mathcal{D}^{(A)}\left(\widetilde{\mathbf{X}}^{(\tilde{A})}\right) X (A)=D(A)(X (A~))进行模态重建。增加解码重建这一步的目的在于虽然估计的缺失模态遵循原分布,但当类内样本的离散度较大时,就会偏离ground truth。
-
Class-specific flows
常规为了优化归一化流,目标通常是使所有 Z ( m ) Z(m) Z(m)具有相同的标准多变量高斯分布(即 Z ( m ) ∼ N ( 0 , I ) \mathbf{Z}^{(m)} \sim \mathcal{N}(\mathbf{0}, \mathbf{I}) Z(m)∼N(0,I)),但这可能会导致对不同类别的样本失去可分辨性。为了解决这一问题,论文引入标签自适应学习类特定的高斯分布,使不同类的潜在状态具有不同的高斯分布,从而增强可分辨性。这一部分公式稍微复杂一些,对理解过程记录一下:给定 c c c类样本 X X X,可以定义跨模态分布转移的损耗函数 L c d t L_{cdt} Lcdt为:
L c d t = − ∑ [ log p Z ( m ) ( Z ( m ) ∣ y = c ) + log ∣ det ( ∂ Z ( m ) ∂ X ( m ) ) ∣ ] \mathcal{L}_{\mathrm{cdt}}=-\sum\left[\log p_{Z^{(m)}}\left(\mathbf{Z}^{(m)} \mid y=c\right)+\log \left|\operatorname{det}\left(\frac{\partial \mathbf{Z}^{(m)}}{\partial \mathbf{X}^{(m)}}\right)\right|\right] Lcdt=−∑[logpZ(m)(Z(m)∣y=c)+log det(∂X(m)∂Z(m)) ]
上式中:
-
− ∑ m ∈ I o b s -\sum_{m \in \mathcal{I}_{\mathrm{obs}}} −∑m∈Iobs 表示对所有观测到的模态( ( I obs ) \left(\mathcal{I}_{\text {obs }}\right.) (Iobs )进行求和。这个求和是对每个可用模态的贡献进行累加,以计算总的损失。
-
log p Z ( m ) ( Z ( m ) ∣ y = c ) \log p_{Z^{(m)}}\left(\mathbf{Z}^{(m)} \mid y=c\right) logpZ(m)(Z(m)∣y=c): 这部分是对于模态 m m m 的潜在表示 Z ( m ) \mathbf{Z}^{(m)} Z(m) 的概率密度函数的对数。这里 p Z ( m ) p_{Z^{(m)}} pZ(m)是模态 m m m 的潜在空间的概率密度函数,而 Z ( m ) \mathbf{Z}^{(m)} Z(m)是输入数据 X ( m ) \mathbf{X}^{(m)} X(m) 映射到潜在空间的表示。这个项的目的是确保潜在表示符合特定的分布(在这里是条件于类别 C C C的分布)。
-
log ∣ det ( ∂ Z ( m ) ∂ X ( m ) ) ∣ \log \left|\operatorname{det}\left(\frac{\partial \mathbf{Z}^{(m)}}{\partial \mathbf{X}^{(m)}}\right)\right| log det(∂X(m)∂Z(m)) : 这是变换的雅可比行列式(Jacobian determinant)的对数的绝对值。雅可比行列式用于量化从输入空间 X ( m ) \mathbf{X}^{(m)} X(m)到潜在空间 Z ( m ) \mathbf{Z}^{(m)} Z(m)的变换的“缩放”效果。这个项确保了概率密度在变换过程中保持不变,这是归一化流模型的一个关键特性。
总体来说,这个损失函数旨在通过最小化潜在空间中的分布与目标分布之间的差异,以及确保变换的可逆性,来训练模型在不同模态之间有效地转移分布。这有助于在多模态学习中保持分布的一致性,特别是在处理缺失模态的情况下。
上式中:
log p Z ( m ) ( Z ( m ) ) = log ( 2 π ) − d 2 det ( Σ c ) − 1 2 − 1 2 ( Z ( m ) − μ c ) T Σ c − 1 ( Z ( m ) − μ c ) , log ∣ det ( ∂ Z ( m ) ∂ X ( m ) ) ∣ = ∑ i = 1 N log ∣ det ( s i ( m ) ) ∣ , \begin{array}{l} \log p_{Z^{(m)}}\left(\mathbf{Z}^{(m)}\right)= \\ \quad \log (2 \pi)^{-\frac{d}{2}} \operatorname{det}\left(\boldsymbol{\Sigma}_{c}\right)^{-\frac{1}{2}}-\frac{1}{2}\left(\mathbf{Z}^{(m)}-\mu_{c}\right)^{T} \boldsymbol{\Sigma}_{c}^{-1}\left(\mathbf{Z}^{(m)}-\mu_{c}\right), \\ \log \left|\operatorname{det}\left(\frac{\partial \mathbf{Z}^{(m)}}{\partial \mathbf{X}^{(m)}}\right)\right|=\sum_{i=1}^{N} \log \left|\operatorname{det}\left(s_{i}^{(m)}\right)\right|, \end{array} logpZ(m)(Z(m))=log(2π)−2ddet(Σc)−21−21(Z(m)−μc)TΣc−1(Z(m)−μc),log det(∂X(m)∂Z(m)) =∑i=1Nlog det(si(m)) ,
其中:
- 第一部分 - 概率密度函数的对数: log p Z ( m ) ( Z ( m ) ) \log p_{Z^{(m)}}\left(\mathbf{Z}^{(m)}\right) logpZ(m)(Z(m))
- 是模态
m
m
m 的潜在表示的概率密度函数的对数。这个函数假设
Z
(
m
)
\mathbf{Z}^{(m)}
Z(m)遵循多变量正态分布,其均值为
μ
c
\mu_c
μc且协方差矩阵为
Σ
c
\boldsymbol{\Sigma}_{c}
Σc。该部分可以分解为以下几个元素:
- log ( 2 π ) − d 2 det ( Σ c ) − 1 2 : \log (2 \pi)^{-\frac{d}{2}} \operatorname{det}\left(\boldsymbol{\Sigma}_{c}\right)^{-\frac{1}{2}}: log(2π)−2ddet(Σc)−21:这是多变量正态分布的归一化常数部分,其中 d d d是数据的维度。
- − 1 2 ( Z ( m ) − μ c ) T Σ c − 1 ( Z ( m ) − μ c ) -\frac{1}{2}\left(\mathbf{Z}^{(m)}-\mu_{c}\right)^{T} \boldsymbol{\Sigma}_{c}^{-1}\left(\mathbf{Z}^{(m)}-\mu_{c}\right) −21(Z(m)−μc)TΣc−1(Z(m)−μc): 这是多变量正态分布的指数部分,表示 Z ( m ) \mathbf{Z}^{(m)} Z(m)与其均值 μ c \mu_c μc之间的马氏距离。
- { μ c , Σ c } \left\{\mu_{c}, \boldsymbol{\Sigma}_{c}\right\} {μc,Σc}的学习是通过两个卷积神经网络分别端到端自行学习。
-
-
Multimodal Fusion and Prediction
这部分没有什么特别的,就是用Transfomer进行特征融合,很常规。
实验部分
本文使用的是数据集是CMU-MOSI和CMU-MOSEI。
对比的baseline是MCTN:
可视化表明,还原分布方式使得缺失模态还原度更好,使用条件约束相比归一化为标准多维正态分布更好。
文章提出的方法的局限性
-
模型需要标签的可用性作为训练阶段的条件因素来生成类相关的数据。在遇到未标记任务的场景下,方法可能会受到性能下降的影响。
-
可以用正则化流,是否可以用扩散模型?
-
文中使用可用模态隐空间分布的均值作为对缺失模态隐空间的估计,是否合理?是否有更好的方式?
-
多模态缺失时候如何处理?比如严重的模态缺失,只有一个模态可用 ?