当前位置: 首页 > news >正文

论文解读:CARAT

论文解读系列文章目录


文章目录


一、近年来的研究主要致力于探索各种融合策略,以将多模态信息整合为所有标签的统一表示。然而,这样的学习方案不仅忽略了每个模态的特异性,而且不能捕获不同标签的个体区别特征。 这段话什么意思

这段话出现在论文的引言部分,讨论的是 多模态多标签情感识别(MMER) 中的融合方法。以下是对该段话的解读:

原文
“近年来的研究主要致力于探索各种融合策略,以将多模态信息整合为所有标签的统一表示。然而,这样的学习方案不仅忽略了每个模态的特异性,而且不能捕获不同标签的个体区别特征。”

意思

  • 近年来,研究者们试图通过不同的融合策略,将来自不同模态(如文本、音频、图像等)的信息整合成一个统一的表示,用于解决所有情感标签的识别问题。
  • 然而,这种统一表示的方法存在问题:
    1. 它没有考虑每种模态的独特性或特异性。例如,音频、文本和图像每个模态都有其独特的特征,这些特征对于情感识别任务是非常重要的。
    2. 它无法捕捉到不同情感标签之间的个体差异。每个情感标签可能依赖于不同的模态特征,这些差异在统一表示中可能被模糊或忽略。

这段话指出了当前多模态情感分析中融合策略的局限性,尤其是如何处理各个模态的特异性以及如何更好地识别和区分不同情感标签的特征。

二、有效地建模标签到标签和模态到标签的依赖性”意思是

在多模态、多标签情感识别任务中,模型需要处理标签与标签、以及模态与标签之间的复杂关系。

  1. 标签到标签的依赖性:不同情感标签之间往往存在关联性。例如,愤怒和悲伤可能经常一起出现,而喜悦和惊讶也可能有关联。建模标签之间的依赖性可以帮助模型更好地识别多个情感标签之间的关系,从而提升情感识别的准确性。

  2. 模态到标签的依赖性:不同模态(如音频、文本、视觉等)对不同情感的表达具有不同的重要性。例如,视觉模态可能在识别“惊讶”情感时更为重要,而文本模态可能更能反映“悲伤”或“愤怒”。建模模态到标签的依赖性意味着模型能够学习到不同模态对不同情感标签的贡献,进而提高识别不同情感的效果。

有效建模这些依赖性,有助于创建一个更精确和具有区分力的多模态情感识别系统,如文中所述的CARAT模型通过对比学习和重构融合机制来实现这种建模,从而在实验中显示了良好的效果。

三、给定训练数据集 D = { ( X i { t , v , a } , y i ) } i = 1 N D=\{({\bf X}_{i}^{\{t,v,a\}},y_{i})\}_{i=1}^{N} D={(Xi{t,v,a},yi)}i=1N,MMER旨在学习函数 F : X t × X v × X a ↦ Y \mathcal{F}:{\mathcal{X}}^{t}\times\mathcal{X}^{v}\times\mathcal{X}^{a}\mapsto\mathcal{Y} F:Xt×Xv×XaY以预测每个视频的相关情绪。具体地, X i m ∈ X m X_i^m ∈ X^m XimXm是异步协调话语序列,并且 y i = { 0 , 1 } C y_i =\{0,1\}^C yi={01}C是多热标签向量,其中符号 y i , j = 1 y_{i,j} =1 yi,j=1指示样本 i i i属于类别 j j j,否则 y i , j = 0 y_{i,j} =0 yi,j=0。这里面的异步协调话语序列 什么意思举个例子

在多模态情绪识别(Multimodal Emotion Recognition, MMER)任务中,给定的输入数据包含多种不同的模态,比如文本(t)、视觉(v)和音频(a)。在公式中, X i t , v , a X_i^{t,v,a} Xit,v,a代表一个样本中不同模态的信息,而 X i m X_i^m Xim m m m 可以是 t t t v v v a a a)是特定模态的数据。

术语“异步协调话语序列”指的是来自不同模态的输入数据,它们在时间上并不完全对齐,但会尽可能地配合彼此的时间步长进行分析。由于不同模态的数据(如文本、视频和音频)可能采样频率不同或发生在不同的时间点,它们的序列通常是“异步的”。但是,为了进行情绪识别,模型会尝试从这些不完全同步的序列中找到有意义的协调信息。

示例解释

假设一个数据样本来自一个社交媒体视频片段。该视频中包含了以下模态信息:

  1. 文本模态(t):视频中说出的文字或字幕内容。假设它在每秒有一段话语。

    [t1: “Hello everyone”, t2: “I am very happy today”, t3: “Thanks for watching”]
    
  2. 视觉模态(v):视频中人物的面部表情或动作等。假设视频以每秒30帧的帧率记录。

    [v1: frame1表情, v2: frame2表情, ..., v90: frame90表情]
    
  3. 音频模态(a):声音的特征,如语调、音量等。假设每秒有10个音频特征提取点。

    [a1: 音调特征, a2: 音量特征, ..., a30: 语速特征]
    

在上述例子中,不同模态的特征具有不同的时间步长。文本模态可能每秒钟只有一句话;而视觉模态是以每秒30帧的速率记录的;音频模态则每秒钟有10个特征点。因此,它们的序列在时间上是异步的(即,不同模态的时间步长不同),但在MMER模型中,模型会学习如何“协调”这些模态,从而提取出它们之间的关联性并预测视频的情绪。

四、为了确保重构的特征向量能够恢复原始信息,我们使用均方误差将重构损失公式化,其中 ∥ ⋅ ∥ F \parallel\cdot\parallel F F返回矩阵的Frobenius范数。 这里面的 范数有何作用?

在这里使用的 Frobenius范数 是衡量矩阵重构误差的一种方法。具体来说,Frobenius范数的作用是量化原始矩阵和重构矩阵之间的差异程度。在特征学习中,使用Frobenius范数作为重构损失函数的核心作用如下:

  1. 度量矩阵之间的误差:Frobenius范数(记作 ∥ ⋅ ∥ F \| \cdot \|_F F)计算两个矩阵之间的每个元素差值的平方和,然后取平方根。其公式为:
    ∥ A − B ∥ F = ∑ i , j ( A i j − B i j ) 2 \|A - B\|_F = \sqrt{\sum_{i,j} (A_{ij} - B_{ij})^2} ABF=i,j(AijBij)2
    这里 A A A 是原始特征矩阵, B B B 是重构后的矩阵。通过计算两个矩阵的Frobenius范数,可以得到它们之间的差距(即重构误差),这个误差越小,说明重构越精确。

  2. 惩罚重构误差:将Frobenius范数的值作为损失函数的一部分,模型会尝试最小化这个重构误差,从而“惩罚”与原始矩阵差异较大的重构结果。这会促使模型学习到更精确的特征,确保重构特征向量能够有效地恢复原始信息。

  3. 凸性和计算效率:Frobenius范数具有良好的数学性质,比如它是一个凸函数,因此可以用梯度下降等优化算法进行高效求解。此外,Frobenius范数计算简单,只需要对差异矩阵的每个元素求平方和,计算效率较高,适用于大规模特征重构任务。

总结

在这里,Frobenius范数的作用是为重构损失提供一种精确且可计算的度量标准,通过最小化该范数值,确保特征向量能够有效重构并保留原始信息。

五、Fully-connected Max-pooling Network 的图 什么意思?

这张图展示了一个 全连接最大池化网络(Fully-connected Max-pooling Network) 的结构,用于整合多模态特征(文本、视觉和音频)以获得最终的输出表示。以下是图中各部分的解释:

  1. 输入特征( U t U^t Ut, U v U^v Uv, U a U^a Ua:图的底部包含三个输入特征,分别表示来自不同模态的数据——文本模态( U t U^t Ut)、视觉模态( U v U^v Uv)和音频模态( U a U^a Ua)。这些特征是从各自模态的输入中提取的特征表示,通常是经过预处理和编码后的特征向量。

  2. 隐藏表示( h t h_t ht, h v h_v hv, h a h_a ha:这些输入特征经过某种网络(可能是神经网络层)处理后,得到每个模态的隐藏表示。 h t h_t ht h v h_v hv h a h_a ha分别表示文本、视觉和音频模态的隐藏表示,保留了各模态的独立特征信息。

  3. 特征堆叠(Stack):图中的“Stack”步骤将所有模态的隐藏表示进行堆叠(拼接),形成一个包含多模态信息的联合特征向量。这一步骤将不同模态的信息融合到一起,以便后续处理。

  4. 最大池化(Max-Pooling):堆叠后的特征向量经过最大池化操作。最大池化会在特定维度上选择最大的激活值,从而缩小特征维度,并保留每个模态中最显著的信息。这有助于突出关键特征,忽略不重要的细节。

  5. 全连接层(FC-MP):最大池化的结果进一步输入到全连接层(FC-MP)进行处理,得到最终的联合表示 s { o , α , β } s^{\{o, \alpha, \beta\}} s{o,α,β}。这个表示是模型的最终输出,用于表示融合后的多模态特征。它可能会进一步用于分类或回归任务,以预测情绪、行为等目标。

总结
这张图描述了一个多模态特征融合网络,通过堆叠不同模态的隐藏表示,结合最大池化和全连接层,得到一个多模态的联合特征表示。这种结构可以有效地整合文本、视觉和音频信息,为下游任务提供丰富的特征输入。

六、举个简单带计算的例子

好的,为了更直观地理解这个网络的计算流程,我们可以用一个简单的例子来说明如何从多模态输入特征中获得最终的输出表示。假设我们有文本、视觉和音频三个模态,每个模态输入的特征向量长度为3。我们将经历每一步操作,并进行具体的计算。

假设输入特征

  1. 文本模态( U t U^t Ut U t = [ 0.2 , 0.8 , 0.5 ] U^t = [0.2, 0.8, 0.5] Ut=[0.2,0.8,0.5]
  2. 视觉模态( U v U^v Uv U v = [ 0.6 , 0.4 , 0.9 ] U^v = [0.6, 0.4, 0.9] Uv=[0.6,0.4,0.9]
  3. 音频模态( U a U^a Ua U a = [ 0.7 , 0.1 , 0.3 ] U^a = [0.7, 0.1, 0.3] Ua=[0.7,0.1,0.3]

步骤 1:计算隐藏表示

我们假设隐藏表示是通过一个简单的线性变换(例如,乘以权重矩阵)得到的。这里为了简化计算,假设隐藏表示就是输入特征的直接拷贝:

  • 文本隐藏表示 h t = U t = [ 0.2 , 0.8 , 0.5 ] h_t = U^t = [0.2, 0.8, 0.5] ht=Ut=[0.2,0.8,0.5]
  • 视觉隐藏表示 h v = U v = [ 0.6 , 0.4 , 0.9 ] h_v = U^v = [0.6, 0.4, 0.9] hv=Uv=[0.6,0.4,0.9]
  • 音频隐藏表示 h a = U a = [ 0.7 , 0.1 , 0.3 ] h_a = U^a = [0.7, 0.1, 0.3] ha=Ua=[0.7,0.1,0.3]

步骤 2:特征堆叠(Stack)

将三个隐藏表示拼接成一个向量:

[ h t , h v , h a ] = [ 0.2 , 0.8 , 0.5 , 0.6 , 0.4 , 0.9 , 0.7 , 0.1 , 0.3 ] [h_t, h_v, h_a] = [0.2, 0.8, 0.5, 0.6, 0.4, 0.9, 0.7, 0.1, 0.3] [ht,hv,ha]=[0.2,0.8,0.5,0.6,0.4,0.9,0.7,0.1,0.3]

步骤 3:最大池化(Max-Pooling)

最大池化将从拼接后的向量中选出每一维的最大值。假设我们每3个一组进行池化:

  • 第1组(0.2, 0.6, 0.7):最大值为0.7
  • 第2组(0.8, 0.4, 0.1):最大值为0.8
  • 第3组(0.5, 0.9, 0.3):最大值为0.9

池化结果为:

[ 0.7 , 0.8 , 0.9 ] [0.7, 0.8, 0.9] [0.7,0.8,0.9]

步骤 4:全连接层(FC-MP)

假设我们有一个简单的全连接层,将池化后的结果线性变换得到输出。假设权重为 W = [ 1.2 , 0.5 , 1.0 ] W = [1.2, 0.5, 1.0] W=[1.2,0.5,1.0],偏置项为 b = 0.1 b = 0.1 b=0.1,则计算为:

s = W ⋅ [ 0.7 , 0.8 , 0.9 ] + b s = W \cdot [0.7, 0.8, 0.9] + b s=W[0.7,0.8,0.9]+b

具体计算如下:

s = ( 1.2 × 0.7 ) + ( 0.5 × 0.8 ) + ( 1.0 × 0.9 ) + 0.1 s = (1.2 \times 0.7) + (0.5 \times 0.8) + (1.0 \times 0.9) + 0.1 s=(1.2×0.7)+(0.5×0.8)+(1.0×0.9)+0.1
= 0.84 + 0.4 + 0.9 + 0.1 = 2.24 = 0.84 + 0.4 + 0.9 + 0.1 = 2.24 =0.84+0.4+0.9+0.1=2.24

最终输出

经过全连接层后,我们得到最终的多模态联合表示 s = 2.24 s = 2.24 s=2.24。这个结果可以作为进一步任务(例如情绪预测)的输入。

七、为什么叫内在向量

“内在向量”这个名称的使用,源于这些向量在多模态学习中的核心作用深层特征表征的性质。以下是称之为“内在向量”的原因:

  1. 核心表示特征分布:这些向量 ( D_m = {d_{m,j}}_{j=1}^C ) 是每个模态下各个标签在潜在空间中的中心或“代表点”。它们并不是直接的输入特征,而是通过编码器和潜在空间映射,得到的一组高度抽象的表示。这些表示能够概括出某一模态的特征分布,因此被称为“内在”向量,意味着它们是模态内部的核心特征总结。

  2. 表征模态的“内在”特性:由于不同模态的数据类型、特征分布和表达方式各异,内在向量捕捉了每个模态特有的分布信息。通过将这些模态特征压缩到潜在空间中,这些向量成为了反映模态“内在”特性的深层表征,能够为跨模态特征融合提供基础。

  3. 用于对比和重构的核心特征:在对比学习和特征重构任务中,内在向量帮助模型明确各标签在不同模态上的差异。这些向量在潜在空间中相对固定,作为标签的中心表示,用于指导模型生成更准确的重构和更可靠的模态融合。因此,它们是不同模态间的“内在”连接点。

  4. 深层嵌入而非直接输入特征:相比于初始输入特征,内在向量是经过模型编码和特征提取后得到的深层嵌入,是数据“内部结构”的一种总结。这种深层嵌入让模型能够在后续的融合和重构过程中关注模态间的核心特征,从而更好地支持多模态任务。

因此,这些向量被称为“内在向量”,以突显它们在表示模态特征、构建深层嵌入和指导特征融合中的核心作用。

八、计算内在向量 D m = { d m , j ∈ R d z } j = 1 C D_m = \{d_{m,j} \in \mathbb{R}^{d_z}\}_{j=1}^C Dm={dm,jRdz}j=1C,以反映不同模态中每个标签 j j j 的特征分布(在下一个子节中详细解释)。这句话什么意思?

这句话描述了计算内在向量 D m D_m Dm 的过程,目的是在潜在空间中为每个模态 m m m 提供一种方式来表示每个标签 j j j 的特征分布。具体来说:

  • 内在向量 D m D_m Dm:这是一个向量集合 D m = { d m , j ∈ R d z } j = 1 C D_m = \{d_{m,j} \in \mathbb{R}^{d_z}\}_{j=1}^C Dm={dm,jRdz}j=1C,表示在模态 m m m 中,每个标签 j j j 的特征分布。这里 C C C 是标签的总数, d m , j d_{m,j} dm,j 是标签 j j j 在模态 m m m 上的一个内在向量。

  • 向量 d m , j d_{m,j} dm,j:向量 d m , j d_{m,j} dm,j 的维度是 d z d_z dz,它在潜在空间 S z S_z Sz 中捕捉模态 m m m 对应的特征分布。这种特征分布是关于标签 j j j 的,因此每个 d m , j d_{m,j} dm,j 表示标签 j j j 在模态 m m m 中的特征分布或特征中心。

  • 反映不同模态的特征分布:通过计算这些内在向量,可以在潜在空间 S z S_z Sz 中反映出不同模态对于标签 j j j 的特定信息。换句话说, D m D_m Dm 可以帮助模型理解标签 j j j 在模态 m m m 上的典型特征分布。

这样,内在向量 D m D_m Dm 就可以在潜在空间中作为每个标签在每个模态上的特征中心,后续可以在多模态融合或重构过程中使用这些向量。

九、利用对比学习来学习一个可区分的潜在嵌入空间 S z S^z Sz 这句话什么意思

这句话的意思是通过对比学习(Contrastive Learning)技术来训练模型,使模型能够在一个潜在嵌入空间 ( S^z ) 中学习到样本的表示方式,使得相似的样本在这个空间中彼此接近,而不相似的样本彼此远离,从而实现一个区分性良好的嵌入空间

具体来说:

  1. 潜在嵌入空间 ( S^z ):这是一个模型生成的多维空间(即向量空间),在这个空间中,每个数据点(样本)都被表示为一个向量。嵌入空间 ( S^z ) 具有区分性,能够让模型区分不同类别或标签的样本。

  2. 对比学习的目标:对比学习的目标是通过设计对比损失,使模型学习到一种表示方式,使得:

    • 相似的样本(例如,相同标签的样本)在嵌入空间中靠得更近。
    • 不相似的样本(例如,不同标签的样本)在嵌入空间中彼此远离。
  3. 可区分性:由于对比学习的这种方式,嵌入空间 ( S^z ) 具备了区分性。也就是说,模型能够在这个空间中对不同类别或标签的样本进行区分,使得每个类别的样本形成自己独特的聚集区域,不同类别之间有明显的分隔。

  4. 在多模态学习中的应用:在多模态任务中,学习到的 ( S^z ) 嵌入空间可以用于处理来自不同模态的数据,比如文本、图像或音频,使得同一类别的不同模态的数据也能够在嵌入空间中靠近,从而实现多模态信息的融合。

总之,这句话表达了通过对比学习的过程,模型能够在潜在嵌入空间 ( S^z ) 中学习到一种有区分力的样本表示方式,有助于在后续任务中更有效地利用这些嵌入来完成分类或特征融合。

十、为了构造正样本集合,考虑到学习每个标签的模态特定特征分布的目的,我们重新定义每个 e e e 的标签。根据模态 m m m、标签类别 j j j 和标签极性 k k k,新标签定义为 y ~ = l j , k , m m \tilde{y} = l_{j, k, m}^m y~=lj,k,mm,其中 m ∈ { t , v , a } m \in \{t, v, a\} m{t,v,a} j ∈ [ C ] j \in [C] j[C] k ∈ { pos , neg } k \in \{\text{pos}, \text{neg}\} k{pos,neg}。因此,正样本被选择为 P ( e ) = { e ′ ∣ e ′ ∈ E ( e ) , y ~ ′ = y ~ } P(e) = \{e' | e' \in E(e), \tilde{y}' = \tilde{y}\} P(e)={eeE(e),y~=y~},其中 y ~ ′ \tilde{y}' y~ e ′ e' e 的标签。换句话说,正样本集合包含来自相同模态且具有相同标签类别和极性的嵌入。 什么意思?

这段话描述了一种构造正样本集合的方法,在对比学习中,正样本是指和目标样本相似的样本,通过构建这种集合,可以帮助模型在学习过程中将相似样本聚集在一起。具体来说,这里是针对多模态、多标签的任务,通过为每个标签生成独特的嵌入表示来实现正样本集合的构建。

以下是这段话的逐步解释:

  1. 重新定义标签 y ~ \tilde{y} y~

为了构造正样本集合,先重新定义每个样本 ( e ) 的标签,目的是在多模态、多标签环境中生成精细化的标签描述。新的标签 y ~ \tilde{y} y~ 是根据模态标签类别标签极性来定义的:

  • 模态 m m m m ∈ { t , v , a } m \in \{t, v, a\} m{t,v,a},即可以是文本 ( t ) (t) (t)、视觉 ( v ) (v) (v)或音频( a a a)模态。这允许在多模态环境中区分不同来源的数据。

  • 标签类别 j j j j ∈ [ C ] j \in [C] j[C],表示数据所属的类别或标签。例如,如果有3种情感类别(例如「积极」、「中性」、「消极」),则 j j j 表示每个具体情感标签。

  • 标签极性 k k k k ∈ { pos , neg } k \in \{\text{pos}, \text{neg}\} k{pos,neg},用于区分正负极性。例如,可以定义某个情感类别的「正向」和「负向」信息。这种极性标签可以帮助模型进一步区分样本的情感强度或倾向。

因此,新的标签定义为:

y ~ = l j , k m \tilde{y} = l_{j, k}^m y~=lj,km

这表示一个样本的标签不仅包括类别信息 j j j,还包括模态 m m m 和极性 k k k 的信息。这种精细化的标签结构使得在选择正样本时,能够基于模态、类别和极性来选择更为相似的样本。

  1. 构造正样本集合 P ( e ) P(e) P(e)

根据新的标签 y ~ \tilde{y} y~,可以构造每个锚点(目标样本) e e e正样本集合 P ( e ) P(e) P(e)

P ( e ) = { e ′ ∣ e ′ ∈ E ( e ) , y ~ ′ = y ~ } P(e) = \{e' \mid e' \in E(e), \tilde{y}' = \tilde{y}\} P(e)={eeE(e),y~=y~}

其中:

  • E ( e ) E(e) E(e) 是对比学习嵌入池中除了锚点 e e e 以外的所有样本集合。
  • y ~ ′ \tilde{y}' y~ 是样本 e ′ e' e 的标签。

正样本集合的含义:正样本集合 P ( e ) P(e) P(e) 包含与锚点 e e e 的模态、类别和极性完全相同的样本。换句话说,正样本集合中的样本与锚点 e e e 在模态、类别和极性上完全匹配。

  1. 构造正样本集合的目的

通过这种方式构建的正样本集合,能够确保模型在训练过程中将具有相同模态、标签类别和极性的样本聚集在一起,这样可以:

  • 捕捉模态特定的特征分布,因为模型关注的是同一模态的数据。
  • 学习到更精细的情感类别特征,即模型不仅关注大类(情感类别)信息,还能学习到具体的模态间如何表达这种情感。
  • 提升模型的区分能力,因为不同模态、类别或极性的样本在潜在空间中彼此区分开来。

总结

这句话的核心在于利用对比学习,将正样本限定为同一模态、相同情感类别和极性的样本,以便模型能够更细致地学习到每种情感在不同模态下的特征分布。这种做法提高了对比学习的效果,使得模型在潜在空间中具有更好的区分性,能够在多模态、多情感标签的复杂任务中表现更好。

十一、

十二、

十三、


http://www.mrgr.cn/news/71838.html

相关文章:

  • 13、指向Member Function的指针
  • Spring boot + Vue2小项目基本模板
  • (一)- DRM架构
  • Maven 中央仓库地址 mvnrepository.com
  • 02_ElementUI
  • 2024 年 8 个最佳 API 设计工具图文介绍
  • cache(五)Write-through,Write-back,Write-allocate,No-write-allocate
  • 【t365】基于springboot的高校疫情防控系统
  • uniapp路由与页面跳转详解:API调用与Navigator组件实战
  • linux性能提升之sendmmsg和recvmmsg
  • kafka夺命连环三十问(16-22)
  • A/B测试的误区与优化策略:如何最大化客户留存ROI?
  • 【LeetCode】【算法】136. 只出现一次的数字
  • 数据结构《链表》
  • ML 系列: 第 23 节 — 离散概率分布 (多项式分布)
  • 【MySQL 保姆级教学】事务的自动提交和手动提交(重点)--上(13)
  • 移动电源测试中最核心的测试项目有哪些?-纳米软件
  • 多线程和线程同步复习
  • 鸿蒙next版开发:ArkTS组件通用属性(Flex布局)
  • python语言基础-4 常用模块-4.7 pyinstaller模块
  • Spring生态学习路径与源码深度探讨
  • 今天出了10个4声母 .com
  • 1163:阿克曼(Ackmann)函数
  • 词汇积累之倒行逆施、上行下效极简理解
  • 百度富文本禁止编辑
  • 华为OD机试真题-寻找最大价值的矿堆-2024年OD统一考试(E卷)