文章主题:情感识别, 语音情感识别, 社交机器人, 医疗
摘要:本文介绍了语音情感识别领域的发展现状,挑战,重点介绍了处理标注数据缺乏的问题。
本文分享自华为云社区《语音情感识别的应用和挑战》,作者:SSIL_SZT_ZS。
在人际交往过程中,情感的作用举足轻重。情感识别技术具备巨大的实际应用潜力,对于提高社交机器人的智能水平、优化医疗诊断、提升教育质量评估以及改善人机交互系统的性能等,都具有至关重要的意义。本篇文章将重点阐述以下几个方面:
1、情感识别的基础知识和应用场景。
2、语音情感识别技术的介绍以及面临的挑战。
3、如何解决数据缺乏问题,我们的方案是什么。1.什么是情感识别?
人类的情感是对外部事件或对话活动的心理反应,表现为喜悦、愤怒、哀伤、惊恐和惊讶等多样化形式。对于这些情感,人工智能系统可以通过分析收集到的信息来判断个体的情感状态,这个过程被称为情感识别。生理信号如呼吸、心率和体温,以及行为表现如面部表情、语音和姿态等,都是可以用于情感识别的信号源。由于人脸和语音的获取方式相对简单,它们常常被用于识别个体的情感状态,以便更好地理解他们对于特定话题或事务的观点和态度。
对人工智能(AI)产品与人类互动的过程来说,精确地捕捉到人类的情感状态并根据此作出相应反应,将极大地优化用户的AI产品体验。在诸如商品推荐、舆论监测、人机对话等多个领域,这种方法都具有至关重要的价值。举例来说,如果在销售环节,能够获取到用户对商品的满意程度,这将有助于平台制定更为精准的销售策略;在影视产业,理解观众对节目的情感反应,将有助于设计更吸引人的剧情以及确定特定节目的上线时间;在人机对话的应用中,掌握人类的情感状态将使智能机器人做出更为恰当的回应,并在适当的时候表达出安慰和谅解,从而提升用户体验。此外,在舆论领域,政府机构通过了解公众对热点事件的情感态度和舆论走向,可以更有效地进行舆情监控,并为政策的制定提供有力支持。情感识别技术在现实生活中的应用场景也非常广泛,其研究价值不容忽视。
在考虑到采集难度及用户隐私的前提下,本研究主要关注语音情感识别(SpeechEmotionRecognition,SER)任务,以利用语音信号来判断说话人的情感状态。
2.语音情感识别技术介绍
在我们的日常生活中,语音成为了主要的交流工具,它不仅可以传达我们的思想,还能够展示说话者的情感状态。因此,语音情感识别就成为了一个非常重要的领域。其核心目标在于从语音信号中准确地识别出人类情感状态。为了实现这一目标,我们需要经历两个关键步骤:首先是特征提取,其次是分类器的构建。
作为一篇高质量的文章,我将重新阐述音频信号输入的基本特性以及常用的音频特征提取方法。在数字信号处理领域,音频信号输入通常是近似连续的数值序列。为了从这些音频信号中提取有用的特征信息,我们通常会采用分帧、加窗和短时傅里叶变换(STFT)等方法。通过这些步骤,我们可以得到一个维度为T×DT×D的频谱特征,其中TT代表帧数与时间长度的关系,DD则表示特征的维度数量,每一个维度都对应着特定的频率范围。值得一提的是,部分研究还会对这些频谱特征进行Mel滤波处理,以进一步提升音频特征的表现力。
频谱特征包含丰富的信息,比如说话内容、节奏、语气、语调等等。与情感相关的语音特征提取仍然是一个尚未成熟研究方向。深度学习的出现简化了人工特征提出过程,使用数据驱动的方法,利用情感标签作为监督信号来训练深度模型提取与情感相关的隐含语义特征。由于音频输入的序列化特点,深度特征提取通常也有基于CNN/GRU/LSTM方法,或者基于CRNN或CNN+Attention的方法。
传统的机器学习方法可以基于人工语音特征或者深度语音特征构建分类器,例如高斯混合模型(GMM),隐马尔科夫模型(HMM),支持向量机(SVM)等经典方法。此外,得益于深度学习的发展,基于神经网络的分类器可以与深度特征提取器一起端到端(end-to-end)训练,得到情感分类器。
3.语音情感识别面临的挑战
我们前面介绍了语音情感分析中常用的方法,但语音情感识别在实际中也面临着一些挑战:
情感主观性与模糊性问题:语音情感识别是一个比较年轻的领域,在情感定义上缺乏官方标准。不同听者对同一段语音的情感可能有不同的观点。此外,一段语音往往有情感变化,主观性较强,导致许多研究工作没有普适性。情感特征提取和选择问题:语音说话人各种各样,情感类别多变,语音片段长短不一等,这些问题导致人工设计特征无法涵盖全部情感信息。另一方面,深度特征虽然效果好,但不具有可解释性。标注数据缺乏问题:深度学习方法取得很好的性能要求大量的高质量的标注数据。由于情感的主观性与模糊性,标注语音情感非常费时费力,同时要求大量专业人员。收集大量情感标注数据,是语音情感识别领域亟需解决的问题。4.如何解决数据缺乏的问题?
数据是深度学习的驱动力,大规模高质量的数据是深度学习取得成功的关键。然而,在很多实际问题中,由于标注代价问题,只存在少量的标注数据,这严重限制深度学习方法的发展。随着互联网社交平台的发展,每天都回生产大量的多媒体数据,大规模无标注的数据很容易获得。这就促进了能同时使用标注数据和无标注数据的半监督学习(Semi-SupervisedLearning)方法的发展。另一方面,多媒体数据通常情况下都包含多个模态,因此也有一些工作探索利用一个模态的标注知识去加强在另一个模态上的任务的效果。下面介绍这两种方法。
4.1半监督学习
半监督学习一般有两个数据集,一个小规模的有标注数据集,一个大规模的无标注数据集。其目的是利用无标注数据来增强,监督学习的效果。经典半监督学习方法包含很多类别,例如self-training(自训练算法),generativemodels(生成模型),SVMs(半监督支持向量机),graph-basedmethods(图论方法),multiviewlearing(多视角算法)等等。下面介绍几类主要半监督学习方法。
简单自训练算法(self-training)
self-training算法的步骤为:(1)首先利用标注训练集数据训练分类器;(2)利用分类器对无标注数据进行分类,并计算误差;(3)选择分类结果中误差较小的样本,将分类结果作为其标签,加入到训练集。循环次训练过程,直到所有的无标注数据被标注。多视角学习(multiviewlearing)
这是self-training算法的一种。其假设每个数据可以从不同的角度进行分类。算法步骤如下:(1)在角度用标注数据集训练出不同的分类器;(2)用这些分类器从不同的角度对无标注数据进行分类;(3)根据多个分类结果来选出可信的无标签样本加入训练集。循环前面的训练过程。此方法的优点是不同角度的预测结果可以相互补充,从而提高分类精度。标签传播算法(LabelPropagationAlgorithm)
标签传播算法是一种基于图的半监督算法,通过构造图结构来找无标签数据和有标签数据之间的关系,然后通过这个关系来进行标签传播。在深度学习上的半监督学习方法,叫做半监督深度学习。半监督深度学习主要包括三类:Fine-tune;基于深度学习的self-training算法;半监督的方式训练神经网络。
Fine-tune方式,利用无标签数据训练网络(重构自编码或基于伪标签训练),然后使用有标签数据在目标任务上进行微调。
基于深度学习方法的self-training,基本的步骤:(1)利用有标注数据训练深度模型;(2)利用深度模型作为分类器或者利用深度特征对无标签数据进行分类;(3)选择执行度高的加入有标签训练集,重复此过程。
半监督的方法训练深度网络包含许多技术,例如Pseudo-Label[1],LadderNetworks[2],TemporalEnsembling[3],Meanteachers[4]还有FixMatch等等。下面我们介绍几个主要的工作。
1.Pseudo-Label方法[1]
此方法将网络对无标签数据的预测结果,作为无标签数据的标签,来训练网络。方法虽然简单,效果却很好。从下图我们可以看出,加了无标签数据之后,同一个类别的数据点聚集得更笼了。2.TemporalEnsembling[3]
TemporalEnsembling是Pseudo-Label方法的发展。其目标是构造更好的伪标签。下图给出了此方法的结构图,此方法有两种不同的实现,即ππ-model和temporalensembling。ππ-model的无监督代价是对同一个输入在不同的正则或数据增强的条件下模型输入应具有一致性,这样可以鼓励网络学习数据内部的不变性。
Temporalensembling对每一次迭代的预测z_izi进行移动平均得个\hat{z_i}zi^作为无监督训练的监督信号。3.Meanteacher[4]
Meanteacher方法另辟蹊径,从模型的角度提高伪标签质量,其奉行“平均的就是最好的”原则。对每次迭代之后的student模型参数进行移动平均(weight-averaged)得到teacher模型,然后用teacher模型来构造高质量的伪标签,来监督student模型的无标签loss。4.FixMatch[5]
FixMatch发扬了TemporalEnsembling方法中的一致性正则化(consistencyregularization)原则,即同一个样本的不同增广,模型应该得到一致的结果,从而学习数据内部的不变性。因此FixMatch方法利用弱增广的样本生成一个伪标签,利用此伪标签来监督模型对强增广样本的输出。4.2跨模态知识迁移
跨模态知识迁移基于多媒体数据中各个模态之间的内在联系,将标注信息由一个模态向目标模态迁移从而实现数据标注。如下图所示,跨模态知识迁移包括视觉到语音的迁移,文本到图像的迁移等等。下面介绍几种经典的跨模态知识迁移工作。
1.基于跨媒体迁移的图像情感分析[6]
此方法利用推特上成对的文本图像数据,完成图像情感分析任务,具体步骤如下图。其使用训练好的文本情感分类器,对文本进行情感分类,然后将标签直接给对应的图片。然后使用具有伪标注的图片训练图片情感分类器。
2.SoundNet[7]
通过预训练的视频对象和场景识别网络实现从视觉模态到语音模态的知识迁移,利用迁移的标签训练语音模型,完成语音场景或语音对象分类。
3.EmotionRecognitioninSpeechusingCross-ModalTransferintheWild[8]
此方法利用预训练好的人脸情感识别模型作为teacher模型,然后利用teacher模型的预测结果来训练语音情感识别模型。
5.我们的语音情感识别方案
这一节将介绍我们处理标注数据缺乏的方案。
联合跨模态知识迁移与半监督学习方法
为了解决语音情感识别领域数据缺乏的问题,我们在2021年提出了联合跨模态知识迁移与半监督学习的架构,该方法在CH-SMIS以及IEMOCAP数据集上取得了语音情感识别任务当前最优的结果,同时我们将此工作发表在SCI一区期刊knowledge-basedsystem上发表论文Combiningcross-modalknowledgetransferandsemi-supervisedlearningforspeechemotionrecognition。下面是我们的方案的架构图:
我们的方案基于两个观察:
直接跨模态标签迁移存在误差,因为人脸情感与语音语音情感之间的关系十分复杂,并不是完全一致。半监督学习方法,标注数据很少的情况下,表现并不好。模型的预测错误可能会不断的得到加强,导致模型在某些类别上精度很低。我们的方法收到了多视角学习思路的启发,利用视频数据中存在两种模态,在两个模态上识别情感,融合它们获得更加准确的伪标签。为了进行语音情感识别,本方案首先提取了语音的STFT特征,然后进行了Specaugment数据增广。因为Transformer在建模序列数据的成功,本方案采用了Transformer的encoder进行语音的编码,最后利用均值池化来得到语音特征并分类情感。
跨模态知识迁移
为了进行跨模态情感迁移,本方案基于MobileNet模型利用大量的人脸表情数据集训练了一个性能强大的人脸表情识别模型。使用此模型对从视频中抽取的图片帧进行人脸表情识别。然后将多个帧识别的结果综合到一起得到整个视频段的人脸表情预测结果。
半监督语音情感识别
受到FixMatch中一致性正则化假设的启发,我们设计了半监督语音情感识别方法。具体的,此方法对语音样本输入采取了两种类型的增广,利用强增广方法SpecAugment算法获得到语音严重扭曲版频谱特征,利用弱增广方法(特征上的dropout等)得到变化不大的语音特征。模型使用弱增广的样本生成伪标签,来监督强增广的样本的训练。
结合半监督学习与跨模态知识迁移
在模型的每一次迭代中,本方法利用弱增广样本生成一个伪标签,然后将其与跨模态迁移的伪标签进行融合,以提高伪标签的质量。本工作探索了两种融合方法,一个是加权求和,一个是多视角一致性。得到高质量的伪标签之后,用此标签监督强增广样本的训练。
模型通过多次迭代,不断提升伪标签质量。
相对于半监督学习方法和跨模态方法,本方法在CH-SIMS和IEMOCAP数据集上均取得了最好的效果。结果如下:
参考文献
[1]Pseudo-Label:TheSimpleandEfficientSemi-SupervisedLearningMethodforDeepNeuralNetworks
[2]Semi-SupervisedLearningwithLadderNetworks
[3]TemporalEnsemblingforSemi-supervisedLearning
[4]Meanteachersarebetterrolemodels:Weight-averagedconsistencytargetsimprovesemi-superviseddeeplearningresults
[5]FixMatch:SimplifyingSemi-SupervisedLearningwithConsistencyandConfidence
[6]Cross-MediaLearningforImageSentimentAnalysisintheWild
[7]SoundNet:LearningSoundRepresentationsfromUnlabeledVideo
[8]EmotionRecognitioninSpeechusingCross-ModalTransferintheWildAI时代,拥有个人微信机器人AI助手!AI时代不落人后!
免费ChatGPT问答,办公、写作、生活好得力助手!
搜索微信号aigc666aigc999或上边扫码,即可拥有个人AI助手!