全球今日讯!语音副语言任务通用模型:人形机器人语音情感识别能力有望提升
近日,华南理工大学-优必选科技“类人情感智能”联合实验室最新的语音副语言任务通用模型(SpeechFormer++)已发表在语音领域顶级期刊TASLP(论文名:《SpeechFormer++: A Hierarchical Efficient Framework for Paralinguistic Speech Processing》)。
【资料图】
相比于时下最热门的自然语言理解模型Transformer,SpeechFormer++能够在语言理解的基础上,对语音信号进行进一步的分析和处理,从而能够更好地理解语言背后所传达出来的情感信息,提升语言理解的准确性。这一模型未来有望在语言情感分析及神经认知障碍分析等方面发挥更重要的作用。
本文将根据论文核心内容,对SpeechFormer++模型进行大致介绍。详细内容可参阅论文原文。
(地址:SpeechFormer++: A Hierarchical Efficient Framework for Paralinguistic Speech Processing | IEEE Journals & Magazine | IEEE Xplore , 您也可以在GitHub - HappyColor/SpeechFormer2: SpeechFormer++ in PyTorch 找到这一模型的代码仓库)
语音副语言信息处理在解决情感和神经认知障碍分析等许多问题中非常重要。最近,Transformer在自然语言处理领域中取得了巨大的成功,同时也向我们展示了其在语音领域的强大能力。
然而,以往在语音领域中关于Transformer的研究并没有考虑语音信号的特性,导致Transformer在语音领域的潜能尚未被充分发掘。在本文中,我们考虑语音信号的天然特性,为语音副语言任务提出一个通用的框架,并将其命名为SpeechFormer++。
SpeechFormer++根据语音信号中的组成关系,利用一个单元编码器来高效地建模单元内和单元间的信息(单元指构成语音信号的基本单位,即帧、音素和字)。SpeechFormer++根据语音信号中的层次关系,利用聚合模块生成不同粒度的特征,并与语音信号中的层次结构保持一致。
此外,SpeechFormer++引入一个字编码器,将字级特征聚合到每个单元编码器中,从而实现细粒度和粗粒度信息的平衡。SpeechFormer++是一个通用的语音信号建模框架,可直接应用于语言情感识别、抑郁症检测、阿尔兹海默症识别等多种语音副语言任务中。
SpeechFormer++的结构图
研究方法
语音信号的统计特性:
语音单元的统计时长是SpeechFormer++框架的设计基础。我们使用P2FA工具统计了四个语料库(IEMOCAP、MELD、Pitt、DAIC-WOZ)中音素和单词的持续时间,统计结果如下图所示。我们发现超过80%的音素持续时间在50到200毫秒之间,因此我们将最短和最长的音素持续时间分别近似为50毫秒和200毫秒。
类似地,几乎90%的字的持续时间在250至1000毫秒之间,我们分别将其视为字的最短和最长持续时间。此外,每一帧的持续时间是提取声学特征时所使用的窗口长度,可以进行手动设置(本文使用的每一帧时长为25毫秒)。
音素与字的统计时长
结合语音特性的单元编码器:
SpeechFormer++包含有四个阶段,分别为帧阶段、音素阶段、字阶段和句子阶段。在帧阶段,对于输入的语音信号,我们使用窗口长度为的单元编码器将输入的语音信号分成个片段,操作如下:
下标代表SpeechFormer++中不同的阶段,其中代表帧阶段,代表音素阶段,代表字阶段,代表句子阶段。我们将设置成50毫秒(最短的音素持续时间)所覆盖的tokens数量,因此可以学到不同帧之间的交互。随后,我们在每一个片段中进行注意力计算,公式如下:
在音素阶段,我们假设输入的音素级特征为。由聚合模块与帧阶段的输出生成,详细过程将在下文给出。中每一个token代表一个音素或子音素的表征。为了对音素进行建模并学习不同音素之间的交互,音素阶段的单元编码器使用的窗口长度设置为400毫秒(最长音素持续时间的两倍)所覆盖的tokens数量。因此,每个片段都能覆盖一个完整的中心音素以及其周围的音素。每个片段的注意力计算如公式1-3所示,公式中的。
类似的,在字阶段,我们假设输入的字级特征为。由聚合模块与音素阶段的输出生成。中每一个token代表一个字或子字的表征。为了对字内以及字间的交互进行建模,字阶段的单元编码器使用的窗口长度设置为2000毫秒(最长字持续时间的两倍)所覆盖的tokens数量。因此,每个片段都能覆盖一个完整的中心字以及其上下文内容。每个片段的注意力计算如公式1-3所示,公式中的。
平衡粗细粒度信息的字编码器:
单元编码器能够有效地捕获语音信号中的细粒度特征。然而,它的感受野依然会受到注意力窗口大小的限制。为了将粗粒度信息结合进模型,我们提出了字编码器将粗粒度的信息注入到每个阶段的单元编码器中。
我们首先为帧阶段初始化个可学习字tokens,,为句子中字的近似数量。因此,可学习字token的数量为语音信号的时长除以1000毫秒(最长字的持续时间)。音素阶段的可学习字tokens以及字阶段的可学习字tokens由聚合模块产生,详细过程将在下文给出。输入首先被均匀地分成多个片段,每个可学习字token负责学习对应片段的粗粒度特征,学习过程如下:
随后,我们将输入到第i阶段的单元编码器中,使得单元编码器在进行局部建模的同时可以考虑到粗粒度的特征,每一个片段都可以被对应的可学习字token进行增强。单元编码器的完整计算过程如下所示:
单元编码器与字编码器如下图所示:
单元编码器与字编码器的结构示意图
结合语音特性的聚合模块:
受语音信号的分层特性启发,我们可以将语音信号逐渐分为帧、音素和字。因此,我们提出了一个聚合模块来根据语音单元的统计时长生成相应级别的特征。聚合模块应用在两个阶段之间。帧阶段的输入表示来自原始语音信号的帧级别特征。
为了向音素阶段提供音素级别的输入,我们对帧阶段的输出进行平均池化,合并尺度为50毫秒(音素的最短持续时间),从而得到音素级别的特征。每50毫秒包含的信息被汇总到中的一个token,因而每个token表示一个音素的信息。类似地,为了给字阶段提供字级别的输入特征,合并尺度被设置为250毫秒(单词的最短持续时间),使得中的每个token为一个字的表征。
最后,将聚合模块应用于字阶段的输出,同时将合并尺度设置为1000毫秒(单词的最长持续时间),以模拟语音样本中的单词数量。可学习的字token代表粗粒度特征,因此我们不必将它们池化。聚合模块的计算过程如下:
第三个聚合模块的输出被串联在一起并输入到句子阶段。句子阶段由Transformer编码器堆叠而成,用于全局建模语音信号。SpeechFormer++将声学特征逐步聚合以模拟语音信号的结构特性,并且在语音特性的指导下进行注意力计算。SpeechFormer++的计算流程图如下所示:
SpeechFormer++的计算流程图
实验部分
在IEMOCAP数据库上的语音情感识别结果分析
下表呈现了Transformer和SpeechFormer++在IEMOCAP上的结果。由于添加了集合模块,我们的SpeechFormer++模型大小略大。但是,与Transformer相比,SpeechFormer++的理论计算复杂度(FLOPs)大大降低(降低了71.67%)。同时,SpeechFormer++在WA和UA上都取得了更好的性能。
在MELD数据库上的语音情感识别结果分析
在MELD数据集上的结果如下表所示。与标准Transformer相比,SpeechFormer++在WA、UA和WF1上分别获得了5.16%、6.23%和3.52%的相对提升。虽然SpeechFormer++的模型大小略大,但计算复杂度从15.33G降低到了4.51G,相对降低了70.58%。
在Pitt数据库上的阿尔兹海默症检测结果分析
如下表所示, SpeechFormer++的性能在Pitt上再次击败了标准的Transformer框架,同时SpeechFormer++的计算消耗显著降低。
在DAIC-WOZ数据库上的抑郁症检测结果分析
标准Transformer和SpeechFormer++在DAIC-WOZ上的结果如下表所示。对于Transformer,由于DAIC-WOZ中样本的持续时间总体上比其他三个语料库更长,因此FLOPs达到了31.26G。随着输入序列长度的增加,Transformer所需的计算量迅速增加。而我们的SpeechFormer++在保持FLOPs相对较低(8.53G)的情况下,依然可以提供更出色的性能。
消融实验
为了验证本文提出的单元编码器、字编码器以及聚合模块的作用,我们对每一个模块都进行了消融实验。每个模块的消融结果如下表所示。由表中结果可知,去掉其中任何一个模块,都会导致模型性能的下降,由此证明了本文所提的每个模块的有效性。
对统计时长的敏感度
SpeechFormer++是在语音单元统计时长的指导下进行建模的。为了研究 SpeechFormer++对统计时间的敏感性,我们故意将音素和字的持续时间调长或调段,实验结果如下图所示。
当图中x轴的mismatch值大于1时,系统使用的音素和字持续时间是统计数据的mismatch倍。相反,如果mismatch小于 1,则使用的持续时间比统计数据短。只有mismatch等于 1 时,使用的持续时间才与统计数据一致。持续时间确定编码器中的窗口大小和聚合模块中的合并尺寸,从而影响模型的性能和计算复杂度。
如图所示,当使用的持续时间增加时,FLOPs逐渐降低。SpeechFormer++的性能在mismatch介于 0.9 和 1.1 之间时表现出较好的鲁棒性,这表明我们可以将 SpeechFormer++ 直接应用于具有类似统计数据的其他英语数据集。当mismatch大于 1.3 或小于 0.7 时,性能开始下降,尤其是在 DAIC-WOZ 上。这些结果表明,在处理不同的语言或语言方言时,应重新计算每个语音单元的持续时间。
SpeechFormer++在不同失配程度下的性能
可视化分析
我们将Transformer和SpeechFormer++中的注意权重进行可视化,可视化结果如下图所示。为了更好地理解和分析,我们标记出样本中的重要内容。
对于第一个样本,左侧框内出现的深呼吸是有利于模型进行判断的。然而,Transformer中的注意权重表明Transformer对该区域不感兴趣,对该区域分配了相对较低的权重。同样,第一个样本的右侧框是一个单词的延音部分,这也对模型的识别具有重要作用,但却被Transformer省略了。SpeechFormer++能够给样本1分配合理的注意力权重并避免了上述问题,没有任何有用信息被忽略。
第二个样本中的左侧框内出现一个难以察觉的叹息。然而,这个叹息被Transformer完全忽略。SpeechFormer++能够准确捕捉这个叹息。样本2的右侧框中有多个词被快速连续地说出。Transformer中的注意权重是相对稳定的,而SpeechFormer++中的注意权重是波动的。这是因为SpeechFormer++使用快速变化的注意力权重对细粒度的特征进行建模,以捕捉更详细的信息。
Transformer与SpeechFormer++中的注意力权重可视化
小结
情感是人类最基本、最复杂、最深刻的体验之一,也是人类与一般动物或其他无机体最根本的区别所在。人工智能之父马文·明斯基就曾经表示:“如果机器不能够很好地模拟情感,那么人们可能永远也不会觉得机器具有智能。”
对于人形机器人而言,其重要价值之一就在于与人类进行更频繁的互动;而是否能够真实识别人类情感,则是决定其能否实现这一价值的重要前提。本次华南理工大学-优必选科技“类人情感智能”联合实验室所提出的SpeechFormer++模型,便有望在未来进一步提升人形机器人对于人类语言情感识别的能力,从而让人形机器人距离“走进千家万户”这一目标更进一步。
标签: