摘要:在本文中,我们以视听情感识别为例,考虑了多模态数据分析的问题。我们提出了一种能够从原始数据中学习的架构,并描述了具有不同模态融合机制的三种变体。虽然之前的大多数工作都考虑了在推理过程中始终存在两种模态的理想情况,但我们评估了模型在一种模态不存在或有噪声的无约束环境中的稳健性,并提出了一种以模态丢弃的形式减轻这些限制的方法。最重要的是,我们发现,遵循这种方法不仅在一种模态的不存在/有噪声表示下显著提高了性能,而且在标准理想设置下也提高了性能。
人类情感状态的识别是机器学习领域的一项重要任务,能够在从机器人到人机交互的广泛应用中更好地理解社会信号[1],[2]。到目前为止,已经提出了多种方法和情感模型,从识别离散的情感状态,如“快乐”、“愤怒”或“悲伤”,到估计情感属性,如连续尺度上的唤醒和效价[3],[4]。该任务已经从多个角度进行了处理,使用不同的数据类型作为输入,包括文本[5]、语音[6]和图像[7]。
随着可用数据的丰富,旨在充分利用这些数据的各种方法正在出现,为多模态方法的发展提供了动力[8]、[9]、[10]。多模态方法是一类对多种数据类型联合操作的方法。其中包括由音频和视觉模态[11]、联合 RGB 和深度图像[12]以及 RGB 和骨架数据[13]组成的视频数据。对这种多模态表示进行操作的方法从简单的决策级融合方法到更先进的联合特征学习方法。尽管由于对多种模态的表示进行联合学习,中间特征的融合可能会产生更好的性能,但由于其简单性和多功能性,在现代架构中后期或早期融合仍然是一种流行的选择[8]。另一方面,早期融合不适用于截然不同的数据类型的融合,而后期融合主要只独立考虑在每个模态中学习的特征。
迄今为止开发的大多数多模态方法都假设在推理过程中始终存在所有采用的模态,并且只评估模型在这种情况下的性能。然而,在现实世界的应用中,在某些时候,其中一种模态往往可能缺失或质量较差,因此模型对这些场景的鲁棒性是构建基于现实世界数据的多模态系统的一个重要因素。
在多模态情感识别任务中,特别是在最近的基于 Transformer 的架构中,趋势主要是利用预先提取的特征,这些特征随后与学习模型融合,而不是创建端到端的可训练模型[14]、[15]、[16]。这限制了这种方法在现实世界场景中的适用性,因为在不受约束的环境中,必要的特征提取往往具有挑战性,并给整个处理流程带来了另一个不确定性点。采用语言信息[14]、[15]的方法尤其如此,因为音频信号的文本转录在实际应用中很少可用,并且需要单独的估计。因此,我们主要针对不需要单独特征学习的视听情感识别任务。
在我们的工作中,我们的目标是通过建立一个不需要先验特征学习的端到端模型,并在中间级别执行融合,同时对不完整或有噪声的数据样本保持鲁棒性,来解决现有多模态情感识别方法的这些局限性。我们的贡献可以总结如下:
情感识别受到了机器学习界的极大关注,迄今为止已经提出了许多旨在解决这一任务的方法。这些方法对各种数据类型进行操作,如图像[7]、语音[6]、文本[5]或生物信号[17]。同时,还提出了将这些模态相结合的方法[14]、[16]、[15],采用不同的多模态融合技术。
在多模态机器学习领域,通常确定了三类多模态融合方法:早期融合,即通过级联、相加或任何其他操作简单地组合多模态的输入数据,并一起进一步处理;后期融合,其中模态被独立处理,并且它们的特征或 softmax
分类得分仅在最后一层中组合;以及中间特征融合,其中在网络的中间层执行特征共享,从而联合学习不同模态的特征表示。
多模态融合中一组值得注意的方法依赖于自我注意的利用[18]。回想一下,自我注意是通过计算潜在空间中的点积相似性来公式化的,其中查询 q q q 、关键字 k k k 和值 v v v 是通过可学习的投影矩阵 W q W_q Wq、 W k W_k Wk、 W v W_v Wv从输入特征表示中学习的,并且基于它们来计算注意力表示:
A n = s o f t m a x ( q k T d ) v ( 1 ) A_n=softmax(\dfrac{qk^T}{\sqrt{d}})v\kern15em(1) An=softmax(dqkT)v(1)
其中 d d d 是潜在空间的维度。考虑到两种模态 a a a 和 b b b 的融合任务,通过计算来自模态 a a a 的查询和来自模态 b b b 的键和值,可以将自我注意用作融合方法。这导致从模态 a a a 学习的表示关注对应的模态 b b b,并进一步将获得的注意矩阵应用于从模态 b b b 学习的表示。
这一想法已被广泛用于解决涉及多模态融合的大量任务。在情感/情感识别的背景下,著名的工作包括[14]、[16]、[15]。在[14]中,作者为未对齐的多模态语言序列提出了一种基于多模态 Transformer 的架构,并考虑了三种模态的融合,即音频、视觉和文本。首先通过 1D 卷积层将来自每个模态的数据投影到期望的维度,并且进一步应用一组 Transformer 块。具体地,在每个模态分支中使用两个 Transformer 模块,两个模块中的每个模块负责按照上述指定方法将其他模态之一与给定分支的模态融合。这些表示随后被连接,并且在联合表示的每个模态分支中应用另一个 Transformer 模块。来自三个分支中的每一个分支的处理后的表示随后被连接以进行最终分类。
另一项相关工作是[16],其中音频和视觉模态被考虑用于情感识别任务。在那里,每个模态首先用单独的 Transformer 块进行预处理,并且以类似于等式(1)的方式将从每个模态学习的表示与 Transformer 融合。与之前的工作相比,只有一种模态被融合到另一种模态中,而不是在单独的分支中以成对的方式进行融合。
[15]中描述的另一项工作考虑了来自语音和文本模态的情感识别。类似地,他们首先通过卷积块进行模态特定的特征学习,并进一步使用两个跨模态注意力块,其中一个将音频融合到文本中,另一个向相反方向进行融合。从每个分支汇集统计数据,并连接起来进行预测。
可以注意到,上述所有方法在融合策略上都相当相似,因为 Transformer 融合是它们中每一种的构建块,并且架构之间的差异相当标称和特定于数据集。同时,可以注意到,这些模型专注于构建多模态融合方法,而不是端到端的情感识别系统,并且通常使用需要单独估计的特征,尤其是对于视觉模态。例如,[14]和[16]依赖于面部动作单元作为特征,而[14]和[115]使用在实际应用中需要单独注释或估计的语言模态。
还应注意的是,上述三种方法都在管道(pipeline)的早期或中期阶段进行融合,迫使学习联合表示。虽然受益于联合特征学习,但如果学习到的融合表示过于相互依赖,并且其中一种模态在推理过程中有噪声、不完整或根本不存在,那么这种融合可能会成为一种诅咒。事实上,通常的做法是只评估模型在两种模态始终存在和完整的理想场景下的性能,而现实世界的应用程序不一定反映出这种场景。
在这里,我们描述了所提出的视听情感识别模型的总体架构,以及三种基于自我注意的模态融合方法。此外,我们提出了一种方法,以模态丢失的形式来解释推理过程中一个模态中丢失的数据。一般来说,该模型由两个分支组成,分别负责学习音频和视觉特征,根据特征融合类型,将融合模块放置在这两个分支的末尾或中间,如图1所示。在音频和视觉分支中,主要使用在时间维度上应用的1D卷积块。
1)视觉分支:视觉分支由两个部分组成,第一个部分是从单个视频帧中的提取视觉特征,然后学习整个视频序列的联合表示。为了实现能够从原始视频中学习的端到端可训练模型,我们将特征提取作为我们的管道(pipeline)的一部分,并与多模态融合模块一起对其进行优化,这与绝大多数现有工作不同,这些工作将特征提取与多模态融合分离,并主要利用预提取的特征,如面部特征位置、面部动作单元,或者头部姿势信息[14]、[16]。我们选择了最近提出的面部表情识别架构之一,即 EfficientFace [7],并在将其引入后续 1D 卷积块之前,将其用于从单个帧中提取特征。具体地,在 EfficientFace 的最后一个卷积块的平均池输出之后添加 1D 卷积块。
考虑到 k k k 个帧的输入视频序列, k k k 个帧中的每个帧由 2D 特征提取器独立处理,从而为每个帧产生单个向量描述符。这些表示与进一步描述的时间卷积块在时间维度上被进一步连接和处理。我们选择采用这种方法,而不是直接使用视频任务中常见的 3D 卷积,因为它在给定任务中提供了许多优势,第一个优势是与 3D 卷积相比,2D 卷积层带来的计算开销更低。也可以认为,时间关系在情感识别任务中的重要性较低,因此在时间维度上应用的 1D 卷积运算足以捕捉这些信息。遵循所提出的方法的另一个主要好处是能够使用在更大的基于图像的情感识别数据集上预训练的 2D 特征提取器,因为这样的数据集对于预训练 3D 卷积模型所必需的视频来说明显不常见。
尽管我们主要感兴趣的是构建一个可以从原始数据中学习的端到端管道,但第一部分,即视觉特征提取,可以与模型解耦,任何其他特征都可以用作视觉分支第二部分的输入。也就是说,在架构的第二部分中,我们假设已经从输入视觉数据中提取了特定的特征表示 X v N ∗ d X_v^{N*d} XvN∗d,其中 N N N 表示时间维度, d d d 表示特征维度。这里, X v X_v Xv 可以由任何特征类型表示,要么是使用预先训练的模型提取的深度特征,要么是通常用于情绪识别的其他特征,例如面部动作单元或特征。我们进一步应用四个卷积块的序列来学习时间表示。每个卷积块由具有 3 × 3 3×3 3×3内核的 1D 卷积层、批量归一化和 ReLU
激活组成。进一步的细节可以在 表1
中看到,表1
提供了视觉分支的全部细节,其中 k k k 表示内核大小, d d d 表示卷积层中滤波器的数量, s s s 表示步长。卷积块被分为两个阶段,用于进一步描述的多模态融合。
2)音频分支:与视觉分支类似,音频分支对特征表示进行操作,无论是预先计算的还是联合优化的,并应用四块 1D 卷积层。每个块由卷积层、批处理规范化、ReLU
激活和 MaxPooling
组成,规格如表1所示。对于音频,我们主要使用 Mel 频率倒谱系数作为特征。我们观察到使用其他特征表示类型(如色度特征或光谱图)没有任何益处。
在本节中,我们将描述所考虑的融合方法。我们将首先描述与文献中描述的先前工作类似的后期 Transformer 融合方法,然后描述所提出的两种中间融合方法。
1)后期 Transformer 融合:在这种设置中,从两个分支学习的功能与 Transformer 块融合。具体来说,我们在每个分支的输出端使用两个 Transformer ,其中一种模态被融合到另一种模态中。这些 Transformer 块的输出被进一步级联并传递到最终预测层。从形式上讲,这可以定义如下。
设 Φ a Φ_a Φa 和 Φ v Φ_v Φv 是在第二特征提取阶段之后,即在第四卷积块之后的音频和视觉模态的特征表示。在每个分支中添加一个 Transformer 块,将两种模态的表示作为输入。以音频分支为例,Transformer、 块将视觉分支表示 Φ v Φ_v Φv 作为输入,并将其投影以获得键和值,同时根据音频分支特征 Φ a Φ_a Φa 计算查询。也就是说,自注意被计算为
A = s o f t m a x ( Φ a W q W k T Φ v T d ) Φ v W v ( 2 ) A=softmax(\dfrac{\Phi_aW_qW_k^T\Phi_v^T}{\sqrt{d}})\Phi_vW_v\kern15em(2) A=softmax(dΦaWqWkTΦvT)ΦvWv(2)
随后进行标准 Transformer 块处理[18]。Transformer 块的具体架构如图2所示。
两个 Transformer 块的输出被级联并传递到最后一层用于预测。
2) Transformer 的中间融合:我们建议使用与上述 Transformer 块类似的 Transformer 块在中间特征层进行融合。具体地,在特征提取的第一阶段之后,即在两个卷积层之后,利用每个分支中的 Transformer 块来执行融合。使用了与图1中描述的架构类似的架构,并将融合的特征表示添加到相应的分支中。
由于来自互补模态的数据已经在体系结构的早期阶段引入,这允许在随后的卷积层中学习对模态之间的手头任务共同有意义的特征。
3)基于 attention 的中间融合:我们进一步提出了一种仅基于点积相似性的融合方法,该相似性构成了 Transformer 块中的注意力。从形式上讲,其定义如下。给定不同模态 Φ a Φ_a Φa 和 Φ b Φ_b Φb 的两个特征表示,我们计算具有学习权重的查询和关键字,类似于传统的注意力。缩放后的点积相似度(dot-product similarity)随后计算为
A = s o f t m a x ( Φ a W q W k T Φ v T d ) ( 3 ) A=softmax(\dfrac{\Phi_aW_qW_k^T\Phi^T_v}{\sqrt{d}})\kern15em(3) A=softmax(dΦaWqWkTΦvT)(3)
s o f t m a x softmax softmax 激活促进了注意力矩阵中的竞争,从而突出了每个模态的更重要的属性/时间戳,并因此提供了每个关键字相对于每个查询的重要性分数,即模态 a a a 相对于模态 b b b 的每个表示。这允许通过聚合与模态 b b b 的所有属性相对应的分数来计算模态 a a a 的每个属性的相对重要性。因此,我们获得了一个注意力向量,该注意力向量可用于突出模态 a a a 的更多相关属性。考虑到方程3所示的音频和视觉模态特征之间的点积注意力(dot-product attention),视觉模态的注意力向量由下式给出 v v = ∑ i = N v A [ : , i ] v_v=\textstyle\sum_{i=N_v}A[:, i] vv=∑i=NvA[:,i]
注意,这种融合方法不会直接融合两种模态的特征。相反,它根据每个模态中与其他模态的数据的相似性得分来识别每个模态中最相关的属性。因此,两种模态之间一致的特征对最终预测的贡献最大,从而引导模型学习模态不可知的特征或模态之间高度一致的特征。这种方法能够在模态之间共享信息,同时由于只使用注意力得分进行融合,因此不会强制不同分支中学习到的特征的强共同依赖性。
迄今为止描述的绝大多数多模态学习方法都假设在推理过程中始终存在这两种模态。然而,在现实世界的应用程序中,一种或多种模态的数据往往不可靠,或者有时可能丢失。在这种情况下,传统的多模态方法往往会失败。在这里,我们的目标是解释数据丢失的潜在情况,并提出模态丢失作为一种缓解方法。正如将进一步表明的那样,在两种模态都存在的情况下,使用这种方法也会提高性能。
我们提出了模态丢弃(modality dropout),它在训练过程中随机屏蔽或衰减其中一种模态的数据。具体来说,我们考虑三种变体。在第一种变体中,在训练期间,每个样本中一个模态的数据被随机选择并用零替换,而给定样本的另一模态的表示保持不变。这种方法模仿缺失的数据,也可以充当正则化子,类似于神经网络中使用的 Dropout
层。注意,在第三种融合方法和不存在偏差项的情况下,这导致注意力块中的零点相似性矩阵,在 softmax
和求和之后导致恒定的注意力向量,因此没有来自归零模态的信息传递。
在第二种变体中,对于每对数据样本,我们生成范围为 [ 0 , 1 ] [0,1] [0,1][19]的随机比例因子 α α α,并将其中一种模态乘以 α α α,而另一种模态则乘以 1 − α 1−α 1−α。这种方法的目标是在不同的训练步骤衰减来自不同模态的信号,从而防止模型严格从一个模态学习。我们进一步将这种方法称为“软”模态丢弃。第三种变体针对有噪声数据的问题,其中一种模态的输入信号被破坏。这里,与第一变体类似地执行掩蔽,不同之处在于,数据不是零掩蔽,而是从每个样本的模态之一中具有零均值和单位方差的正态分布随机生成的。
在本节中,我们描述了用于评估所提出方法性能的实验协议和数据。我们报告了所提出的具有三种融合变体的模型的结果,以及最近的多模态情感识别方法,即 MULT [14]和多模态 Transformer [16]。请注意,这两种方法都在由预先提取的特征组成的数据集上报告结果。此外,[14]考虑了三种模式,[16]没有提供架构的特定超参数的细节,这使得直接比较不可行。因此,我们采用了我们的特征提取,并仅在这些作品中描述的融合方法方面与竞争作品进行比较。具体来说,与[16]相比,我们在两个卷积分支的顶部使用了一个 Transformer 块,该 Transformer 块执行从音频到视频的融合,或者在相反的方向上进行融合,并用 1D 卷积层替换 Transformer 块中的线性层。关于MULT[14],我们希望与纯视听模型进行比较,因此我们删除了负责语言模态融合的 Transformer 块。这产生了类似于我们后期 Transformer 融合的架构,在每个分支中添加了额外的单模态 Transformer 块。其他超参数,如潜在空间维度,在两种方法之间保持相同,以进行公平比较。类似于与[14]的比较,我们将我们的特征提取块添加到模型中。除非另有规定,否则我们使用单个 Transformer 块,每个 Transformer 块都有一个头部,以实现轻量级模型。当然,通过向模型添加额外的块和参数,可以预期更好的性能。我们使用了[20]来实现 Transformer 块。
随后,我们在两种设置中进行模态丢失的实验。在第一个例子中,我们针对一种模态的数据丢弃问题,并在训练过程中应用软模态和硬模态丢弃。也就是说,在该设置中,在每个批次中,数据由完整数据对、没有音频模态的对、没有视频模态的对以及如上所述与随机系数相乘的对组成。我们报告了在存在两种模态(用 A V 表示)以及完全不存在一种模态(分别用 A 或 V 表示仅存在音频和视频模态)的情况下的性能。我们还报告了三种模态设置的平均度量(用 M 表示),以简化方法之间的比较。在第二种设置中,我们考虑对噪声的鲁棒性,并在训练期间应用模态丢弃的第三种变体,并在测试期间用随机噪声替换其中一种模态。
1)RAVDESS
数据集
我们选择 RAVDESS
数据集[21]主要是因为该数据集中的原始数据可用性,而不是其他数据集。该数据集由 24 个人用不同情绪说话的视频记录组成,并将情绪状态分为7类:平静、快乐、悲伤、愤怒、恐惧、惊讶和厌恶。为每个演员录制了 60 个视频序列,我们将其裁剪或零填充到 3.6 秒,这是平均序列长度。对于音频处理,我们提取 10 个梅尔频率倒谱系数用于进一步处理。对于视觉数据,我们从 3.6 秒的视频中选择 15 个均匀分布的帧,并使用人脸检测算法裁剪演员的人脸[22]。图像的大小调整为 224x224 像素。我们在 15 帧的原始视频上训练模型。我们转移在 AffectNet 数据集[4]上预训练的 EfficientFace 的权重。我们将数据划分为训练集、验证集和测试集,以确保参与者的身份不会在集合中重复。具体来说,我们使用了四个参与者进行测试,四个用于验证,16 个用于训练,并报告了五倍以上的平均结果。视频被缩放为 [0,1]
比例,随机水平翻转和随机旋转用于数据扩充。所有模型都训练了 100 个时期,SGD
、0.04
的学习率、0.9
的动量、1e-3
的权重衰减和 10 个时期的平台学习率降低。
2)CMU-MOSEI
数据集
此外,我们还在 CMU-MOSEI
数据集上进行了实验。该数据集由 23454 个电影评论视频片段组成,这些视频片段取自 YouTube
,由情绪评分在 [-3, 3] 范围内的人类注释者标记。请注意,我们在实验中只考虑音频和视觉模式。由于数据集提供预提取的特征而不是原始数据(具体地,为视觉模态提供 35 个面部动作单元,并且音频数据由 MFCCs
、音调跟踪、声门源和峰值斜率参数表示,从而产生 74 个特征),我们省略了视觉分支中的 EfficientFace
特征提取,并且直接从卷积块开始执行训练。我们依赖于在 CMU-MOSEI
数据集上实现[14]的实验协议,并采用其中描述的训练超参数。
表II
显示了所提出的方法在 RAVDESS
和 MOEI
数据集上的结果。这里,LT1
和 LT4
分别表示具有一个和四个头部的后期 Transformer 融合,类似地,IT
表示中间 Transformer 融合,IA
表示中间注意力融合,TAV
和 TVA
指[16]中描述的融合方法,MULT
指[14]。我们报告了 RAVDESS
数据集的分类准确性,MOSEI
数据集的二元准确性(积极情绪与消极情绪),以及真实情绪得分和预测情绪得分之间的平均误差。
可以看出,在没有任何类型的丢弃的情况下,后期转换融合在 RAVDESS
数据集上实现了最佳结果,而中间注意力融合在 MOSEI
数据集上在准确性和 MAE
指标上都实现了最佳效果。请注意,与使用全转换块的任何方法相比,中间注意力融合也是最轻量级的融合方法。同时,在 RAVDESS
数据集上,仅存在一种模态的情况下的性能极差。在 MOSEI
数据集上,在大多数情况下,性能下降并不剧烈,这可能是由于数据集由已经预先提取的特征组成,因此即使在没有另一种模式的情况下,也能保证在每种模式中存在有意义的独立特征。
此外,可以看出,在一个模态的不完整数据下,模态丢弃的利用大大提高了性能。所有的融合方法都是这样,而中等注意力融合从中受益最大。此外,在两种模式存在的情况下,性能也得到了改善,通过中间注意力融合在 RAVDESS
上获得了最好的结果。这也是该数据集中所有方法和丢弃设置中最好的结果。在 MOSEI
数据集上也可以得出类似的结论;模态丢弃的利用提高了单模态和双模态情况下的性能。在噪声设置下,我们仍然观察到中间注意力融合在 RAVDESS
上的平均度量上表现最好。
为了更好地与现有技术进行比较,我们还与完整的 MULT
模型(省略了语言模态)进行了比较,遵循[14]提供的实现,并使用它们的卷积层、Transformer 块实现和其他超参数。由于在它们的实现中,在融合之后和输出层之前添加了几个密集层,为了进行公平的比较,我们在模型中添加了类似的密集层。结果如 表III
所示。可以看出,虽然 MULT
在两种模态的普通环境中都优于所提出的中间融合方法,但中间融合可以更好地处理缺失的模态,尤其是在模态退出的情况下。
最佳的整体性能是通过与第一模态丢弃变体的中间注意力融合来实现的。可以看出,在大多数情况下,最佳性能是通过所提出的中间注意力融合与所提出的丢弃方法之一相结合来实现的。由于在这种方法中不执行硬特征共享,因此所学习的特征表示不太可能是相互依赖的,因此可以更容易地解纠缠,从而导致模型在不完整的数据设置中具有更好的鲁棒性。这反过来又提高了模型的整体泛化能力,在两种模式的设置下也提高了性能。
我们提出了一种端到端学习的视听情感识别模型和一种基于注意力的融合方法。我们评估了不同模态融合方法在其中一种模态不存在或存在噪声的情况下的鲁棒性,并提出了一种提高模型鲁棒性的方法。重要的是,所提出的方法还提高了在两种模式都存在的(理想)标准设置下的性能。