【CENet】多模态情感分析的跨模态增强网络

在MSA领域,文本的准确度远远高于音频和视觉,如果文本能达到90%,那么音频和视觉的准确度只有60%~80%,但是过往研究很少针对情感分析的背景下去提高音频和视频的准确度。

abstract: 

多模态情感分析(MSA)在智能问答、计算机辅助心理治疗和视频理解等领域发挥着重要的作用,近年来引起了人们的广泛关注。它利用多模态信号,包括口头语言、面部手势和声音行为来识别视频中的情绪。在MSA中,语言形态通常优于非语言形态。因此,加强语言在语篇分析中的重要性将是提高识别准确率的重要途径。考虑到句子的意义在不同的非语言语境中往往是不同的,将非语言信息与文本表征相结合有助于准确理解话语所传达的情感。在本文中,我们提出了一个跨模态增强网络(CENet)模型,通过将视觉和声学信息集成到语言模型中来增强文本表示。具体来说,它将一个跨模态增强(CE)模块嵌入到一个基于转换器的预训练语言模型中,该模块根据未对齐的非语言数据中隐含的远程情感线索来增强每个单词的表示。此外,引入了声学和视觉模态的特征转换策略,以减少语言和非语言模态初始表征之间的分布差异,从而促进不同模态的融合。在基准数据集上进行的大量实验表明,CENet比最先进的方法取得了显著的进步。

intro:

人类自然地通过语言、声音和视觉等多模态信号进行交流[1]。

因此,理解话语中所传达的情感需要对不同形态的全面理解。随着以人为中心的网络视频的爆炸式增长,利用语言(文本)、声学和视觉模式识别视频中人类情感的多模态情感分析(MSA)近年来受到了广泛关注[1],[2]。尽管许多先前的工作在MSA任务上取得了很大的进展,但由于异构模态之间的巨大模态差距,实现与人类相当的性能仍然具有挑战性

基于变压器的预训练语言模型[3]-[5]在自然语言处理(NLP)领域取得了显著的成功,因为它们具有强大的上下文语义特征提取能力和通过微调在下游任务中的通用性。最近的研究表明,在MSA中使用预训练的语言模型可以大大提高识别准确率[2],[6]-[8]。交互典型相关网络(ICCN)[6]利用深度典型相关分析分别学习基于文本的音频嵌入和基于文本的视频嵌入,然后将这两种嵌入与文本嵌入融合。MISA[2]首先利用三个独立的网络学习三个单模态表征,然后通过多任务损失学习模态不变表征和模态特定表征。Self-MM[7]提出了一种自监督策略来获取单模态标签,然后通过基于多模态标签和单模态标签的多任务框架学习模态间一致性和模态内特异性。上述工作使用BERT[3]作为文本特征提取器,并取得了良好的效果。

预训练语言模型是在大型文本语料库上训练的,可以极大地促进对文本情态情感的理解。而对于声学和视觉模态,通常首先使用COVAREP[9]和Facet 1等特征提取工具提取手工制作的特征。然后使用序列神经网络(如LSTM[10])学习话语级表示。与预先训练的语言模型学习到的文本特征相比,非语言特征相对欠发达。因此,语言情态(言语情态)在MSA中的表现通常优于非言语情态。为此,加强语篇分析中语言情态的重要性将是提高语篇分析识别准确率的可行途径。此外,考虑到一个句子在不同的非语言语境中可以有不同的含义,如面部表情和声调,将非语言信息整合到语言模型中可以帮助准确理解话语中所传达的情感。

在本文中,我们提出了一个跨模态增强网络(CENet)模型,通过结合视觉和听觉模态的情感信息来增强文本表示。

CENet的核心是跨模态增强(Cross-modal Enhancement, CE)模块,该模块可以嵌入到基于转换器的预训练语言模型中。CE模块由两部分组成:跨模嵌入单元和增强嵌入门。跨模态嵌入单元侧重于从未对齐的非语言数据中捕获远程非语言情感线索。远距离非语言情绪线索是指从不同时间戳的非语言框架中提取的情绪信息。一般来说,语言、视觉和听觉形式的相关信息是异步的[11]。如图1所示,“awful”是一个情绪性的词,在说这个词的时候,信息性的面部表情会出现在不同的时刻。

基于自注意的跨模态注意[11]可以从未对齐的多模态数据中捕获远程依赖关系。因此,我们使用它分别从音频和视觉中获取每个单词的异步非语言情感语境。我们把这些视觉和听觉情感语境分别称为基于文本的视觉和听觉嵌入。增强嵌入门利用基于文本的非语言嵌入生成包含远程非语言情感语境的非语言增强嵌入。然后,增强嵌入将在预训练的语言模型中更新文本表示

考虑到初始语言表征和非语言表征之间存在较大的分布差异,我们引入了一种特征转换策略来减小分布差距。

受文本词汇衍生的标记索引序列的启发,我们将声学和视觉框架的手工特征聚类,分别建立“声学词汇”和“视觉词汇”。然后,通过对非语言词汇的查询,得到声模态和视模态的索引序列。通过这种方式,高维非语言特征被转化为一个类似于文字标记的个体索引。因此,异质性模式之间的初始分布差距被缩小,这将进一步缩小融合阶段言语和非言语特征之间的分布差异。因此,特征转换策略可以促进文本表征与非语言情感语境的整合。

本文贡献如下:

  • 本文提出了一个跨模态增强网络,通过结合远程非语言情感语境来增强预训练语言模型中的文本表示。
  • 提出了一种特征转换策略,通过减少语言和非语言模式初始表征之间的分布差异,促进不同模式的整合。
  • 在两个基准多模态情感分析数据集上进行的大量实验表明,该方法大大优于目前最先进的方法。

related work:

在本节中,我们首先介绍了一些与单模态情感分析和多模态情感分析密切相关的工作。然后讨论预训练的语言模型。

单模情感分析

文本:基于文本的情感分析是一个活跃而成功的研究领域[12]-[14]。早期的作品通常使用词袋呈现文本话语,然后利用SVM等机器学习方法对情感极性进行分类[15],[16]。随着深度学习的发展,CNN、递归神经网络(RNN)和长短期记忆(LSTM)被广泛应用于文本情感分析[17]-[20]。近年来,基于自我关注的变压器[21]在自然语言处理的许多领域出现。与循环层和卷积层相比,自注意层的计算效率更高,也更容易学习到远程依赖关系[21]。为情感分析设计的基于transformer的预训练语言模型[22]-[25]极大地促进了文本情感分析的发展。

视觉:视觉情感分析可分为图像情感分析和视频情感分析。对于图像情感分析,许多作品采用微调预训练卷积神经网络(CNN)来获取与情绪相关的特征[26]-[30]。在视频情感分析中,视觉信息在时间和空间上是分布的。通常采用3D卷积神经网络(3D Convolutional Neural Networks, C3D)或CNN + LSTM从时空视觉输入中提取情感相关特征[31]-[33]。

音频:对于声学情感分析,声学低级描述符(LLD)的功能是在先验知识的基础上手工制作的,在以前的作品中被用作情感识别的声学特征[34],[35]。最近的研究使用深度神经网络(Deep Neural Network, DNN)直接从原始音频信号中学习声学特征[36]-[39]。然后将这些声学特征馈送到序列神经网络(如LSTM)以捕获时间动态。

多模态情感分析

根据是否使用预训练的语言模型,MSA的前期工作可以分为两类。

第一种方法不使用预训练模型。

这些方法通常使用GloVe[40]词嵌入,然后使用LSTM[10]来提取语言表示。早期的工作[41]将不同特征提取网络获得的文本、视觉和声学表示连接起来,然后利用多核学习(MKL)作为分类器来预测情感强度。卷积循环多核学习(CRMKL)[42]是[41]的改进版本。它结合CNN和RNN从视觉数据中提取时空特征,并应用MKL作为分类器。

然而,直接组合不同的单峰表示可能会导致信息丢失。为了避免这个问题,后续的工作通常侧重于设计复杂的融合框架。

张量融合网络(Tensor fusion network, TFN)[43]通过模态嵌入子网络学习模态内动态,通过计算外积获得模态间相互作用。尽管TFN可以很好地融合多模态信息,但它的计算成本很高。低秩多模态融合(Low-rank multimodal fusion, LMF)[44]通过低秩张量降低了TFN的计算成本。递归参与变异嵌入网络(Recurrent attended variation embedding network, RAVEN)[45]利用细粒度的非言语子词信息动态调整词表示,实现多模态融合。

因子化多模态变压器(Factorized multimodal transformer, FMT)[46]应用因子化多模态自注意(Factorized multimodal self-attention, FMS)构建多模态交互。FMS考虑了三种模式组合中的所有因素作为输入。多模态转换器(Multimodal transformer, MulT)[11]利用跨模态注意力将一种模态转化为另一种模态,反之亦然,从而在不同模态之间建立相互作用。与MulT不同,我们的方法利用跨模态注意捕获的远程情感线索来增强文本表示。换句话说,信息流是单向的,从非语言形态到文本形态

第二种方法利用预先训练好的语言模型提取文本特征,通常比第一种方法获得更好的结果。交互规范相关网络(ICCN)[6]通过深度规范相关分析构建文本和非语言模式之间的交互。

MISA[2]通过四种不同的损失函数学习每种模态的不变表示和特定表示,然后融合不同的表示来预测情绪。自监督多任务多模态情感分析网络(Self-MM)[7]引入了自监督标签生成模块来获取额外的单模态标签。然后通过对一个多模态任务和三个单模态子任务的联合学习,获得信息丰富的MSA单模态表示。CM-BERT[47]利用掩模多模态注意动态调整BERT输出的每个词级特征的权重。它只利用声模态信息来调整文本特征。与CM-BERT不同,我们的CENet将CE模块获得的非语言增强嵌入添加到预训练语言模型中间层输出的文本表示中。CENet通过利用声音和视觉模式的情感信息来增强文本表示。MAGBERT[8]引入了一个多模态适应门,使BERT[3]能够接受非语言模态的表征。

在本文中,我们还将声学和视觉信息集成到基于转换器的语言模型中。然而,我们的方法可以从非对齐的非语言数据中捕获异步情感线索,以增强文本表示,而MAG-BERT只能处理词级对齐的多模态数据。

预训练语言模型

与GloVe[40]相比,预训练的语言模型在单词表示方面具有更优越的性能。ELMo[48]在大规模无监督语料库上预训练一个双向LSTM。GPT[49]是一种基于转换器的模型,与ELMo相比,它在捕获远程依赖关系方面表现更好。然而,它们都是单向的语言模型,限制了上下文表示能力的进一步提高

 BERT[3]是一种基于transformer[21]的双向预训练语言模型。BERT通过使用掩模语言模型(MLM)预训练目标,获得双向语境感知能力。XLNet也是一种基于变换的双向预训练语言模型,通过在预训练阶段构建置换语言模型,避免了传销预训练和微调阶段不一致的问题。大多数现有的预训练语言模型都是BERT和XLNet的变体。VideoBERT[50]是BERT的一种变体,它应用向量量化使BERT模型联合接受视觉和语言标记序列。通过纯文本、纯视频和文本-视频预训练目标来学习视频和文本的双向联合分布。SentiLARE[25]是一个基于变压器的预训练模型,专门为情感分析任务设计。它继承自RoBERTa[5],将词性标签、情感极性等语言知识整合到语言模型中。

 与VideoBERT类似,我们将矢量量化应用于非语言数据的特征变换策略中。我们的特征转换策略的动机是减少异构模式之间的分布差异。而VideoBERT使用矢量量化来鼓励模型关注视频中的高级语义和长期时间动态,而不是低级属性,如局部纹理和运动。此外,VideoBERT将单词标记与视觉标记相结合,并利用BERT直接学习多模态表示。而我们的CENet首先利用一个额外的模块来提取非语言特征,然后将非语言特征集成到预训练的语言模型中。本文分别使用SentiLARE、BERT和XLNet作为语言模型,对CENet框架进行综合评估。

跨模态增强网络

在本节中,我们首先介绍MSA任务设置。然后介绍了特征变换策略和跨模增强模块。最后,描述了CENet模型的总体体系结构。

任务设置:

多模态情感分析是利用多模态信号对视频片段进行情感检测。对于视频片段X,它由文本(t)、声学(a)和视觉(v)序列三部分组成,分别表示为

代表第i个单词,第i个音频帧和第i个视觉帧,

对于文本序列Xt,我们使用预训练语言模型的标记器来获得其相应的标记序列

对于声学序列和视觉序列,我们分别使用Facet和COVAREP[9]提取它们的原始特征。

原始的声学和视觉特征序列表示为

其中da和dv分别是声学和视觉特征维度,提取非语言特征的细节在实验设置部分讨论

给定一个视频片段X, CENet的目标是预测X的情绪强度y,其中y∈[- 3,3]是一个连续的强度变量,y > 0表示积极情绪,y < 0表示消极情绪,y = 0表示中性情绪。

非语言模式的特征转换

对于预训练的语言模型,初始文本表示是词汇表中的单词索引序列。然而,视觉和声学的表示是真实的矢量序列。因此,我们提出了一种将非语言向量转化为指数的特征转换策略,以缩小异质模态之间的初始分布差异,从而进一步缩小语言与非语言的分布差距,因此,它将促进文本表征和非语言情感语境的整合。

特征转换策略利用无监督聚类算法分别建立“声学词汇”和“视觉词汇”。通过查询非语言词汇,可以将原始特征序列转换为索引序列。图2显示了特征转换过程的示意图。

Q:我其实不懂,是不是从数据集提取出的特征是单词索引序列,然后这里的预训练语言模型指的是bert,初始特征经过bert提取出更高维的表示,视觉和声学一般用sLSTM提取,这里的真实的矢量序列又是什么意思?

A:文本初始被表示为词汇表中的单词索引序列,预训练语言模型Bert将他的单词索引序列转化为高维的词向量表示(嵌入),捕捉词语的语义信息。而视觉和声学通过特征提取工具从原始数据中获取的实值向量序列,比方说,用OpenFace提取面部表情、动作单元等特征,每一帧对应一个特征向量。声学特征也是一样的,比如使用COVAREP提取音频信号的特征,如基频、能量、声谱等,每一帧也对应一个特征向量。

问题在于,文本特征往往是离散的索引序列,词汇表通常有限(例如3万个单词)

视觉和声学特征是连续的、高维的实值向量序列,维度可能高达几十到上百维。其次,不同模态的初始特征分布存在显著差异,直接融合会导致模型难以有效学习跨模态的关联。

特征转换策略的目的就是缩小模态之间的分布差异,将视觉和声学的实值向量序列转换为类似于文本的索引序列。这样三种模态都以索引序列的形式表示,方便统一处理和融合。

在往下看具体理论之前,我先大致讲一下如何建立视觉和声学的索引:

首先,我们需要提取原始特征,通过分词器将文本转换为单词索引序列,例如,句子“我很开心”可能被转换为[101, 2769, 2523, 6887, 102],其中每个数字代表词汇表中的一个单词。至于声学和视觉信息,用特征提取工具获取每一帧的声学和视觉的特征向量,这些特征向量是实值的,例如一个88维的向量

接下来,使用无监督聚类算法k-means对大量的视觉和声学特征向量进行聚类,目的是将相似的特征向量归为一类,每一类代表一个“词”,聚类中心代表该类的典型特征。

比如说,视觉词汇表包含500个视觉“词”(聚类中心),声学词汇表包含500个声学“词”

下一步将特征向量转换为索引序列。对于每一个视觉或声学特征向量,找到距离最近的聚类中心,2,fi是第i帧的特征向量,cj是第j个聚类中心,也就是词汇表中第j个词||  * ||2是欧式距离,即L2范数,indexi是第i帧对应的词汇索引。

接下来,原始的视觉或声学特征序列会被转换为索引序列,例如[45,12,378...]

为了区分不同模态的索引,防止索引冲突。

文本索引:保持原有索引,例如[101,2769,2523,6887,102]

声学索引:在索引上加了一个偏移量,声学索引 = 原索引 + 40000

视觉索引:类似地,加上另一个偏移量,视觉索引 = 原索引 + 50000

接下来,多模态索引序列融合

要根据时间戳,将三种模态的索引序列对齐。将对应时刻的索引组合起来,形成一个多模态的索引序列。

比如:

时间1:        文本索引:101        声学索引:40045        视觉索引:50012

时间2:        文本索引:2769      声学索引:40012        视觉索引:50078

组合后的序列为:[101, 40045, 50012, 2769, 40012, 50078,....]

将这些融合后的索引序列输入模型,例如transformer......

由于k-means方法计算复杂度低、简单等优点,本文采用k-means方法学习非语言模态词汇。在不丧失一般性的情况下,其他聚类和字典学习方法也可以用于学习声学和视觉词汇。 

具体来说,我们首先从训练集中收集所有的听觉和视觉片段帧,形成两个帧集

Nm表示模态m的帧数。然后,将Fm中的帧按k-means分成km组,如下所示:

是模态m的第j个聚类中心,然后我们可以分别基于聚类中心Ca和Cv构建“视觉词汇”和“声学词汇”。

给定一个非语言特征序列

Lm是序列的长度,

通过对非语言词汇的查询,可以得到相应的索引序列

对于Sm中第i帧的特征,查询过程计算如下:

为第i帧的索引标号,则得到索引序列作为模态m的表示。特征变换策略的过程如算法1所示。

请注意,原始的非语言特征主要是内容无关的情感特征。因此,避免了将内容相似但情感不同的框架划分为一个集群的琐碎解决方案

Q:能解释一下吗?

A:好的,我把算法1拆解一下

目标是将非语言特征序列转换为索引序列,使其与文本索引序列同一表示,便于多模态融合和模型处理。输入的是一个非语言特征序列S = {f1,f2....,fN},其中fi表示的是第i帧的特征向量。输出的索引序列I = {i1,i2....,iN},每个it都是对应于特征向量ft的索引值。

步骤:

1,准备聚类中心(词汇表):使用无监督聚类算法k-means对大量非语言特征向量进行聚类,得到K个聚类中心,构成非语言词汇表C = {c1,c2......,ck}。这些聚类中心代表了非语言特征空间中的典型模式。

2,特征向量到索引的映射:对于序列中的每个特征向量ft,t=1,2,3...N,计算与所有聚类中心的距离:dtj = || ft - cj ||2,j = 1,2,3...K,其中|| * ||2表示欧式距离,接着找到最近的聚类中心it = argmindtj,it就是ft映射到词汇表的索引。

3,索引偏移(模态区分):为了区分不同模态的索引,给视觉和音频模态的索引加上偏移量

4,重复步骤2和3,得到处理序列中所有的特征向量,最终得到非语言特征的索引序列


接下来,我具体举个例子

假设:

聚类中心(词汇表)数量:K = 3

聚类中心:c1 = [1.0,1.0],c2 = [5.0,5.0],c3 = [9.0,9.0]

非语言特征序列:f1 = [2.0, 2.0],f2 = [4.5, 5.5],f3 = [8.0, 8.5],f4 = [1.5, 0.5]

步骤:

1,计算距离并找到最近的聚类中心

对于f1 = [2.0,2.0]

对于f2 = [4.5,4.5]

对于f3 = [8.0,8.5]

对于f4 = [1.5,0.5]

假设以上的非语言模态指的是音频模态,那么偏移量为40000

i1 = 1 + 40000 = 40001

i2 = 2 + 40000 = 40002

i3 = 3 + 40000 = 40003

i4 = 4 + 40000 = 40004

最终的索引序列为I = {40001,40002,40003,40004}

接着将非索引序列与文本序列进行融合,按照时间步对齐,形成一个综合的输入序列。

跨模态增强模块

提出的CE模块将远程视觉和声学信息集成到预训练的语言模型中,以增强文本表示。CE模块的架构如图5所示。

CE模块的关键部件是如图4所示的跨模态嵌入单元。它利用跨模态注意捕捉远程非语言情感信息,并产生基于文本的非语言嵌入

具体来说,给定一个索引向量

跨模态嵌入单元首先将其输入到嵌入层:

式中Hm为嵌入层的输出,dm为嵌入维数。嵌入层的参数是可学习的。

嵌入层的作用是将特征变换策略得到的非语言索引向量映射到高维空间。

为预训练语言模型中间层的输出文本隐藏表示,dt为文本特征维数。跨模态注意中Q、K和V的定义与自注意中的定义相似[21]。

然后,我们可以得到文本语态对非语言语态的注意权重矩阵

是注意力权重矩阵

的(i, j)-元素表示文本情态的第i个词对情态m的第j个框架的关注。

α是标度参数。

Q:好像和注意力很相似?

A:你的感觉是对的,先来看看self-Attention

而在CE模块中,Q来自文本,K和V来自另一个模态,这使得文本模块可以基于这些非文本信息调整其对文本部分的解释和关注。

在初始训练阶段,由于言语表征和非言语表征处于两个不同的特征空间,言语表征和非言语表征之间的相关性很小。这样,权重矩阵中的元素也会很小。为了更好地学习模型参数,我们在softmax处理之前使用超参数α对矩阵进行缩放。

基于注意权重矩阵

我们可以得到基于文本的非语言嵌入如下:

得到的基于文本的非语言嵌入可以看作是文本情态所选择的情态m中的潜在情感信息。

将基于文本的声学嵌入Ua→t和基于文本的视觉嵌入Uv→t相结合,通过

其中“;”表示串联操作,Gate(·)为由完全连接的致密层组成的增强嵌入门。增强嵌入门的作用是将基于文本的声学嵌入Ua→t与基于文本的视觉嵌入Uv→t融合,生成非语言增强嵌入E。

最后,文本表示Ht将通过嵌入E as的非语言增强来更新

Q:E是如何影响文本表示的?

A:Good Question!

E是concat后的结果,融合了视觉和声音信息,这些信息通常包含与文本相关联的关键情感和语境表示,E通过简单的向量相加直接作用于原始的文本表示,这种直接修改方式允许E将视觉和声音模态的特征直接注入到文本的特征空间中,从而实现特征的即时增强,其实很常见的啦,很多论文的原始文本特征都参与最终的决策,因为文本准确率很高。

一般来说,话语中的每个词都有一个非语言语境。

同一个词的上下文意思在不同的非语言中是不同的

此外,非语言语境并不严格与单词同步,如图1所示。因此,我们提出CE模块生成非语言增强嵌入E,为文本提供非语言上下文信息。通过在文本表示中加入非语言增强嵌入E,可以使文本表示在语义上更加准确。如图3所示,“You know he did it”这句话中的“did”是一个中性词,而在一个微笑的表情和一个激动的声音的语境中,“did”可以变成一个积极的词

CENet的整体架构

CENet的主要架构是将提出的跨模态增强模块整合到一个基于转换器的预训练语言模型中。图5显示了CENet的整体架构,其中我们使用SentiLARE网络[25]作为语言模型。SentiLARE利用词性和词的情感极性等词汇语言学知识来学习情感感知语言表征。假设CE模块集成到预训练语言模型的第i层。算法2显示了训练阶段的CENet。值得注意的是,任何基于转换器的预训练语言模型都可以与我们的CE模块集成

根据SentiwordNet的设置,给定一个词序列Xt,我们首先通过Stanford Log-Linear词性标注器(POS) Tagger[51]学习其词性序列Ipos,通过SentiwordNet学习词级情感极性序列Ipolar[52]。然后通过预训练语言模型的标记器得到其标记索引序列。通过输入序列It、Ipos和Ipolar,可以得到经过语言知识增强的初始文本表示为

其中,BertEmdling表示BERT[3]中的嵌入操作,embedding表示嵌入层。然后,将通过1→i变压器层。我们称Hi为第i层的输出。CE模块嵌入在预训练语言模型的第i层和(i + 1)层之间。

CE模块的输入是非语言索引向量Ia和Iv,文本隐藏表示

生成一个增强嵌入E,然后文本表示将被增强嵌入E更新为

 

接下来,更新后的文本表示将成为第(i + 1)层的输入,并通过剩余的M−i层,其中M = 12在SentiLARE中。对于第m层,它的输出将是一个以文本为主导的高级情感表示,包含视觉和声学信息

最后一步,将文本表示输入到分类头中,得到情感强度

experiments

datasets:

mosi和mosei,略

特征提取:

文本特征提取:

大多数现有的工作使用来自GloVe或预训练语言模型的词嵌入。在本文中,我们使用预训练的模型来获取单词嵌入。除了常用的BERT和XLNet之外,我们还使用SentiLARE作为语言模型。与BERT和XLNet相比,SentiLARE为每个句子增加了词性(POS)嵌入和词级情感极性嵌入。词性语义和词级情感极性分别来源于Stanford Log-Linear词性标注器[51]和SentiwordNet[52]。

视觉特征提取:

对于MOSI数据集,我们使用Py-Feat工具包[53]提取每个视觉帧的面部特征,包括面部地标、7个面部表情和面部动作单元。通过计算眼睛的宽高比,利用面部标志来选择睁开眼睛的帧。闭着眼睛的画面可能会导致表情分析的不确定性,因此被丢弃。最后,对睁开眼睛的每一帧形成包含面部表情和面部动作单元的27维特征。对于MOSEI数据集,Facet用于提取包含面部动作单元和面部姿势的35维视觉特征。

音频特征提取:

使用COVAREP软件[9]提取与情绪和语音音调相关的声学特征,包括12个mel频率倒谱系数、音高、浊音/浊音分割特征、声门源参数、峰斜率参数和最大色散商。MOSI和MOSEI数据集的特征维度都是74

baseline:

evaluation metrics:

根据前人的研究[2]、[7]、[8],我们构建了二值分类和回归两个评价任务。对于二值分类,报告了二值分类精度(Acc-2)和加权F1分数(F1)。有两种分类方式:消极/非消极分类和消极/积极分类。对于回归,识别性能由平均绝对误差(MAE)和皮尔逊相关(Corr)来评估。

参数设置

所提出的CENet由Adam优化器训练,学习率在{1e−4,2e−5,4e−5,6e−5}之间。聚类数量为16,CE模块的缩放参数α设置为8。CE模块嵌入在预训练语言模型的第一层和第二层之间,除非另有说明。增强嵌入门中完全连接的致密层数为1。所有模型都使用MOSI的验证集来找到最合适的超参数。

与基线比较

CENet(S)的情感分析结果以及MOSI和MOSEI的基线如表1所示。CENet(S)模型使用了专门为情感语言处理任务设计的SentiLARE预训练模型。为了公平的比较,我们重新训练了基线模型,包括MISA(S), Self-MM(S)和MAG-SentiLARE(S),它们使用SentiLARE作为语言模型。在实验中,在对齐的数据集上只使用为字级对齐数据集设计的方法,在未对齐的数据集上使用其他比较方法和CENet(S)。

从表1中,我们有以下观察结果。

  1. 对于单模基线,文本模态优于非语言模态。SentiLARE在文本情态上给出了最好的结果,BERT紧随其后。我们认为这可能有几个原因。首先,大多数人喜欢用语言来表达他们的情感。其次,在多情态分析领域,非语言情态分析方法相对于预训练的语言情态分析方法还不发达。
  2. MISA(S)、Self-MM(S)和MAGSentiLARE(S)的结果分别优于MISA(B)、SelfMM(B)和magi - bert (B)。这表明SentiLARE的引入可以进一步提高SOTA方法的准确性。然而,与SentiLARE在文本模态上的结果相比,这些多模态方法的表现并不好。可能的原因将在后面的小节中讨论。
  3. CENet(S)在MOSI和MOSEI上都明显优于基线。MISA(S)、Self-MM(S)和MAG-SentiLARE(S)等多模态方法都使用SentiLARE作为语言模型,但CENet(S)仍然大大优于它们。与SentiLARE相比,CENet(S)实现了较大的性能改进,这反映了在使用远程非语言依赖的预训练语言模型中增强文本表示的有效性。

人类表现结果在MOSI上的MAE和Corr分别为0.61和0.83[14]。CENet在MOSI上的表现甚至超过了人类

CENet与其他预训练语言模型

全面展示我们的CENet框架的有效性和通用性。我们分别采用BERT和XLNet作为CENet的语言模型。同时,我们分别使用BERT和XLNet作为语言模型重新训练一些基线。结合表1和表2,我们有一些新的观察结果如下

1)CENet(X)仍然优于这些基线在使用相同语言模型的情况下,CENet(B)和,这进一步证明了我们的CENet框架的有效性。

2) TFN(B)、LMF(B)、MulT(B)等多模态方法的结果均不如单模态方法T(B)。当使用XLNet作为语言模型时,情况也是一样的。然而,在表1中,TFN、LMF和MulT的结果优于使用GloVe词嵌入的单模态方法T(G)。这说明BERT和XLNet预训练语言模型不适合TFN、LMF和MulT。值得注意的是,GloVe是在他们各自的原始论文中使用的。我们认为,造成这种现象的原因是三种多模态方法认为文本、视觉和听觉模态同等重要,并将它们紧密结合在一起。使用GloVe词嵌入时,语篇情态和非语言情态的表现非常接近。因此,三种多模态方法相对于单模态方法都有一定的改进。然而,当用BERT或XLNet词嵌入代替GloVe词嵌入时,文本模态的性能大大提高,言语模态和非言语模态之间的平衡被打破。在这种情况下,深耦合融合方法可能会造成文本情态中情感信息的丢失。

3)与T(B)相比,MISA(B)和Self-MM(B)的性能有所提高。然而,当使用XLNet时,情况就改变了。包括MISA(X)和Self-MM(X)在内的多模态方法没有达到单模态方法T(X)的改进。在使用SentiLARE作为语言模型时也是如此。MISA和Self-MM都利用多任务框架来通过改变簇数来帮助学习模式特异性和表III ACC-2 ON MOSI。V和A分别表示视觉模态和声学模态不变表示。在这种情况下,文本表征在与非语言表征融合时能够保持良好的独立性。然而,MISA和Self-MM认为文本、声音和视觉模式同样重要。当语言和非语言表现方式之间的差距进一步扩大时,这些方法将遇到困难。

4) MAG-BERT(B)优于T(B), MAG-XLNet(X)也优于T(X)。MAG系列类似于我们的CENet。他们都使用非语言情感信息来增强文本表征。这种融合方法可以缓解语言和非语言表现极不平衡的问题。我们还观察到MAG-SentiLARE(S)的性能接近于T(S)。但不能全面超越T(S)。MAG的增强策略是在预先训练好的语言模型中使用与单词对齐的非语言特征来增强文本表示。它没有能力从非语言模式中捕捉到远距离的情感线索。此外,模式之间存在较大的分布差异,而MAG中使用的非语言特征并没有专门针对该问题进行处理。因此,MAG捕获的增强信息不足以增强sentilaare中的文本表示。

我们的CENet利用从远程非语言特征中捕获的情感线索来增强预训练语言模型中的文本表示。并采用转换策略来减小异构模态之间的分布差异。大量的实验表明,我们的CENet结合几个预训练的语言模型可以取得很好的效果。

簇数的影响

在本文中,我们设计了一种基于聚类的特征转换策略,将矢量量化应用于声学和视觉特征。聚类数是特征变换的一个重要因素。它决定了索引向量是否充分地表示了原始特征。为了研究聚类数的影响,我们使用Transformer提取非语言表示,并使用两个完全连接的层来预测MOSI数据集上的情感强度。从表III中,我们可以看到16是一个合适的集群号。这意味着更少的集群不能完全分离差分帧,而更多的集群分离相似帧。

特征转换Vs.原始特征

为了验证我们的特征转换策略的作用,我们设计了两个比较实验

在第一个实验中,我们分别比较了转换后的特征嵌入和原始手工特征输入的两层Transformer的性能。将特征变换策略与嵌入层相结合,得到变换后的特征嵌入。利用一个完全连接的层作为头部来预测情绪强度。如表4所示,转换后的特征嵌入在视觉和声学模式上都优于原始特征。

这表明非语言词汇可以代替非语言的原始特征而不会造成性能损失。

在第二个实验中,我们分别比较了使用和不使用特征转换策略的文本表示和非语言增强嵌入之间的特征分布的Jensen-Shannon (JS)分歧。具体来说,我们分别在MOSI数据集的验证集上使用转换后的特征嵌入和原始特征训练两个CENet模型。然后在CE模块中得到两种非语言增强嵌入和相应的文本表示。然后,我们对收集到的非语言增强嵌入和相应的文本表示进行标准化,然后通过计算JS散度来比较它们在各个维度(共768个维度)的分布相似度。图6分别给出了采用和不采用特征变换策略的文本表示与非语言增强嵌入之间的JS差异。我们可以观察到,使用特征转换策略的JS平均发散比使用原始特征的要小得多。这表明特征转换策略可以减少语言和非语言特征之间的分布差异,从而促进非语言数据中的情感信息融入到文本表示中。

在消融研究部分,我们将进一步探讨将特征转换策略应用于CENet对性能的影响。

在不同层上嵌入CE模块的效果

本文研究了CE模块在不同层的嵌入对CENet性能的影响。我们将CE模块嵌入到i∈{0,1,2,4,6,8,10,12}的SentiLARE第1层之后,并将相应的结果记录在表V的MOSI数据集上,其中第0层表示嵌入层。很明显,在较低的层中嵌入CE模块比在较高的层中嵌入CE模块可以获得更好的性能。对于文本模态,表示在更高的层中更高级。由于非语言表征是相对较低层次的特征,因此将CE模块嵌入较低层次将更为合适。

消融实验

为了进一步研究CENet中各组分的影响,我们对MOSI数据集进行了全面的消融分析。以下是CENet的一些变体。

A→T:以语言为目的情态,以听觉为源情态。我们首先使用跨模态注意使声学模态适应语言模态,然后将得到的基于文本的声学嵌入输入到SentiLARE的其余层中。自适应过程在SentiLARE的第一层之后执行。

V→T:类似于A→T的设置,只是用视觉模态代替听觉模态。

T:在不整合非语言信息的情况下进行对话,这相当于SentiLARE。

T, A→T:不整合视觉信息的CENet。

T, V→T:不整合声学信息的CENet。

T, A→T, V→T:典型的CENet。

T, Araw→T, Vraw→T: CENet,不使用特征变换策略。

T,Araw, Vraw:使用MAG模块代替CE模块。也没有使用特征转换。

表六显示了CENet所有变体的结果。我们可以得出以下结论。

  • 比较A→T和V→T与T的结果,我们发现文本表示的性能优于基于文本的非语言嵌入。这似乎有两个原因:1)预先训练的语言模型不适应非语言特征。2)非言语情态的特征不如语篇情态。
  • T, A→T和T, V→T的表现优于T。这表明通过使用CE模块,声音和视觉模式都可以为增强语言表征提供有用的信息。
  • T, A→T, V→T表现最好。这表明将听觉和视觉模态信息相结合可以进一步增强语言表征。
  • T,Araw→T, Vraw→T在Acc-2和F1得分上优于T,Araw, Vraw和T,证明了CE模块的有效性。此外,CE模块使用未对齐的非语言数据增强文本表示,从而避免了繁琐的对齐工程。
  • T、A→T、V→T的表现优于T、Araw→T、Vraw→T,说明特征转换策略确实能够促进非语言情感信息整合到文本表征中。

定性分析

为了阐明CENet是如何工作的,我们展示了一些使用和不使用跨模态增强嵌入的情况下,CENet预测情绪强度的情况。表七展示了CENet如何通过整合非语言信息来调整情绪强度的一些例子。在第一个和第三个例子中,没有跨模态增强嵌入的CENet仅用文本模态预测情感极性,我们发现预测的情感强度不足。当加入增强嵌入时,预测值几乎增加到真实情感强度。在第二个例子中,仅从文本信息判断情感极性是有歧义的。在这种情况下,非语言信息可以帮助模型确定情绪的极性。这些观察结果表明,CENet可以成功地利用声学和视觉模式中的信息来增强情绪预测

conclusion

本文提出了一种跨模态增强网络(CENet)模型,利用远程视觉和听觉情感信息增强预训练语言模型中的文本表示。此外,还引入了特征转换策略来减小语言和非语言初始表征之间的分布差异。

大量的实验证明了CENet在基准数据集MOSI和MOSEI上优于最先进的性能。在未来的工作中,我们将设计一个完全端到端的多模态学习模型来探索语言和非语言特征之间的相互作用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/3586.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

多线程--模拟实现定时器--Java

一、定时器的概念 定时器的本质就是一个闹钟&#xff0c;时间到了开始执行某些逻辑。Java标准库中的定时器是Timer。 我们查阅Java文档可以详细看到定时器的使用方法&#xff1a; Timer最核心的方法就是schedule方法。值得注意的是我们通常描述任务是使用Runnable来描述&…

‌MySQL中‌between and的基本用法‌

文章目录 一、between and语法二、使用示例2.1、between and数值查询2.2、between and时间范围查询2.3、not between and示例 BETWEEN AND操作符可以用于数值、日期等类型的字段&#xff0c;包括边界值。 一、between and语法 MySQL中的BETWEEN AND操作符用于在两个值之间选择…

视频一键转换3D:Autodesk 发布 Video to 3D Scene

Video 3D Scene 最近 Autodesk 旗下公司 Wonder Dynamics 推出了 Wonder Animation 的测试版&#xff0c;它使用突破性的视频到 3D 场景技术&#xff0c;通过将任何视频序列转换为 3D 动画场景来加速动画电影的制作。 Video 3D Scene Video 3D Scene 生成效果 作为 Wonder Stud…

数据结构 C/C++(实验一:线性表)

&#xff08;大家好&#xff0c;今天分享的是数据结构的相关知识&#xff0c;大家可以在评论区进行互动答疑哦~加油&#xff01;&#x1f495;&#xff09; 目录 提要&#xff1a;实验题目 一、实验目的 二、实验内容及要求 三、算法思想 实验1 实验2 四、源程序及注释 …

关于SQLServer在局域网内无法连接的问题的解决思路

针对SQL Server 2008在局域网内无法连接的问题&#xff0c;以下是一些详细的解决办法。我们在过程中需要用到Microsoft SQL Server 2008和Microsoft SQL Server tools 2008数据库软件中的配置管理器以及SQL Server Management Studio工具&#xff0c;入下截图所示。 一、检查网…

【C++】RBTree——红黑树

文章目录 一、红黑树的概念1.1 红⿊树的规则&#xff1a;1.2 理解最长路径长度不超过最短路径长度的 2 倍1.3 红⿊树的效率 二、 红⿊树的实现2.1 红⿊树的结构2.2 红⿊树的插⼊2.2.1 红⿊树树插⼊⼀个值的⼤概过程 2.3 红⿊树的插⼊代码实现 一、红黑树的概念 红⿊树是⼀棵⼆…

Docker-- cgroups资源控制实战

上一篇&#xff1a;容器化和虚拟化 什么是cgroups&#xff1f; cgroups是Linux内核中的一项功能&#xff0c;最初由Google的工程师提出&#xff0c;后来被整合进Linux内核; 它允许用户将一系列系统任务及其子任务整合或分隔到按资源划分等级的不同组内&#xff0c;从而为系统…

vscode ssh连接autodl失败

autodl服务器已开启&#xff0c;vscode弹窗显示连接失败 0. 检查状态 这里的端口和主机根据自己的连接更改 ssh -p 52165 rootregion-45.autodl.pro1. 修改config权限 按返回的路径找到config文件 右键--属性--安全--高级--禁用继承--从此对象中删除所有已继承的权限--添加…

你适合哪种tiktok广告账户类型?

TikTok在广告营销方面的分类体系极为详尽。在开设广告账户时&#xff0c;根据不同的海外市场和商品类型&#xff0c;TikTok会有各自的开户标准。此外&#xff0c;广告主所开设的TikTok广告账户类型会直接影响其可投放的广告类型。在广告出价方面&#xff0c;广告主的营销目标不…

大规模语言模型:从理论到实践(1)

1、绪论 大规模语言模型&#xff08;Large Language Models&#xff0c;LLM&#xff09;是由包含数百亿以上参数的深度神经网络构建的语言模型&#xff0c;采用自监督学习方法通过大量无标注文本进行训练。自2018年以来&#xff0c;多个公司和研究机构相继发布了多种模型&#…

SpringBoot中@Validated或@Valid注解校验的使用

文章目录 SpringBoot中Validated或Valid注解校验的使用1. 添加依赖2. 使用示例准备2-1 测试示例用到的类2-2 实体Dto&#xff0c;加入校验注解2-2 Controller 3. 示例测试4. Valid 和 Validated注解详解4-1 常用规则注解4-2 分组验证4-2-1 示例准备4-2-2 Controller接口4-2-3 P…

HarmonyOS使用arkTS拉起指定第三方应用程序

HarmonyOS使用arkTS拉起指定第三方应用程序 前言代码及说明bundleName获取abilityName获取 前言 本篇只说采用startAbility方式拉起第三方应用&#xff0c;需要用到两个必备的参数bundleName&#xff0c;abilityName&#xff0c;本篇就介绍如何获取参数… 代码及说明 bundle…

04_CC2530+Uart串口通信

04_CC2530UART串口通信 串口通信基本概念 串行通信: 数据字节一位位地依次传送的通信方式, 串行通信的速度慢, 但用的传输线条数少, 成本低&#xff0c;适用于远距离的数据传送并行通信: 数据字节的各位同事传送的通信方式, 优点是数据传送速度快, 缺点是占用的传输线条数多,…

Speaker Recognition说话人识别(声纹识别)

说话人识别&#xff0c;又称声纹识别。从上世纪60年代开始到现在&#xff0c;声纹识别一直是生物识别技术研究的主题。从传统的基于模板匹配的方法&#xff0c;到早期基于统计学方法&#xff0c;直到基于深度学习的声纹识别技术成为主流。本项目给出一个从传统&#xff08;基于…

SpringBoot篇(简化操作的原理)

目录 一、代码位置 二、统一版本管理&#xff08;parent&#xff09; 三、提供 starter简化 Maven 配置 四、自动配置 Spring&#xff08;引导类&#xff09; 五、嵌入式 servlet 容器 一、代码位置 二、统一版本管理&#xff08;parent&#xff09; SpringBoot项目都会继…

华为HarmonyOS借助AR引擎帮助应用实现虚拟与现实交互的能力3-获取设备位姿

设备位姿描述了物体在真实世界中的位置和朝向。AR Engine提供了世界坐标下6自由度&#xff08;6DoF&#xff09;的位姿计算&#xff0c;包括物体的位置&#xff08;沿x、y、z轴方向位移&#xff09;和朝向&#xff08;绕x、y、z轴旋转&#xff09;。通过AR Engine&#xff0c;您…

【Git】Git常用命令

目录 1 前言2 git命令2.1 branch2.2 checkout2.3 pull and push2.4 config2.4.1 Proxy 2.5 tag2.6 rebase2.7 patch2.8 remote2.9 submodule2.10 rm2.10 gitignore2.11 某个commit更改了哪些文件2.12 clean 3 结束语 1 前言 本章记录总结在使用git过程中常用的一些命令&#x…

cgroup2版本下使用cgroups对内存/cpu进行控制

先查看cgroups的版本支持: cat /proc/filesystems | grep cgroup 运行结果: 如上表示支持cgroup2版本 一、对内存进行控制 cgroup版本对于内存控制是单独使用/sys/fs/cgroup/memory路径控制的,而在cgroup2版本中是统一管理,所以没有该路径,所以只需先进入该路径: cd /sys/…

安卓应用跳转回流的统一和复用

本文字数&#xff1a;6799字 预计阅读时间&#xff1a;35分钟 作为一个功能复杂的应用&#xff0c;无法避免地需要支持众多路径的回流&#xff0c;比如从Launcher、从Push通知、从端外H5、从合作第三方App以及从系统资源分享组件等。 我们知道&#xff0c;不同的回流路径会通过…

C3.【C++ Cont】名字空间、注释和变量

目录 1.回顾 2.名字空间(也称命名空间) 介绍 代码示例 3.注释 4.练习 B2003 输出第二个整数 方法1 方法2 1.回顾 在C1.【C Cont】准备中提到了名字空间(namespace)语句 using namespace std; 2.名字空间(也称命名空间) 介绍 1.处在在同一个空间内的,若有重名则会名…