基于编码器的语音增强的效果实现

2023-08-19 09:59张可欣刘云翔
电子设计工程 2023年16期
关键词:多任务解码器编码器

张可欣,刘云翔

(上海应用技术大学计算机科学与信息工程学院,上海 201418)

语音情感识别是指赋予计算机和人脑相同的能力,通过说话者的语音分析说话者的情感状态,主要应用于教育业、服务业、侦察业[1-3]。

在现有的研究中,在语音特征值的选择、特征值的降维、分类器的构建方面取得了很大的进展[4-6]。深度学习在情感分类当中应用广泛,深度学习分类器有卷积神经网络(DNN)、双向循环记忆神经网络(BLSTM)、深度置信神经网络[7-9]。自然环境中数据集存在差异,使用迁移学习消除源域数据和目标域数据的差异[10-11]。

传统的语音增强方法有频谱相减、小波分解变化、维纳滤波语音增强方法、生成对抗网络方法[12-14]。文中的改进方法在于融合自然语言处理领域的知识来解决语音增强的问题。首先利用文本特征,通过对文本信息的分词、向量化、输入到编码器,把声学特征和编码器的输出一起输入到解码器,解码器的输出作为声学模型。文本信号输入该训练过的声学模型,使用多任务学习的DNN 分类器,实现了更加高效的语音情感识别。

1 文本特征的处理

在文本特征输入到编码器之前,需要对文本进行预处理,包括去停用词、Jieba 分词、文本特征向量化,达到去除冗余信息、充分利用上下文语义关系的效果,提高情感分类的效率。在文本预处理的步骤,经过对文本特征的处理操作,为利用文本特征进行语音增强打下了基础。

1.1 去停用词和Jieba分词

文本中经常存在“嗯”、“啊”、“哦”、“吗”等无实际意义的虚词,它们的存在加大了情感分类的复杂度。应首先查阅停用词字典,对比文本中的词是否在停用词字典中,若是,则过滤掉。Jieba 分词首先基于前缀词典实现高效的词图扫描,生成句子中汉字所有可能成词情况所构成的有向无环图,然后根据词频按照动态规划的方法来寻找概率最大的分词路径,找出基于词频的最大切分组合。Jieba 分词可以把文本词汇最精准地切分,速度相比常见的分词方法,如最大匹配算法、临近匹配算法、基于统计的方法要快。

1.2 TF-IDF权重计算

TF-IDF 表示文本特征的重要程度。选择TFIDF 值大的特征,剔除TF-IDF 小的特征,可以减少贡献度小的信息的干扰,计算公式如下:

TFi表示特征词i的词频,D为全部文本数量,Di为包含特征词i的文本数。

1.3 BERT模型

常用的词向量模型是Word2vec,其局限性在于不能根据上下文的语义识别一词多义的情况,容易引起歧义。例如,“炒鱿鱼”既可以指吃的炒鱿鱼,又可以指下岗;“苹果”既可以指一种水果,又可以指一种手机的品牌。传统的词向量对于一词多义的识别率低,然而BERT 模型能够根据语义做出识别,可以更好地实现上下文的关联。BERT 模型结构图如图1 所示。该模型由Transformer 构成,预训练任务分为遮蔽词预测任务和下一句判断任务[15]。

图1 BERT结构

1.3.1 Transformer结构

Transformer 是Seq2seq 的改进,它引入了多头注意力机制。Seq2seq 由编码器和解码器组成。编码器把输入的文本信息压缩成固定长度的向量,解码器把向量输出为和编码器长度相等的向量序列。在编码器中,先使用多头注意力机制,增强文本关注上下文的语义信息。多头注意力机制的计算如下:

1)计算Query(Q),Key(K)和Value(V)值。

其中,WQ、WK、WV分别表示Q、K、V的权重矩阵。权重的计算公式为:

2)计算每个头部的权重:

3)计算所有头部的权重之和:

计算完多头注意力机制后,进入add&norm 层进行权重的相加以及归一化处理,经过feed forward 层之后再进行add&norm 层的处理。从编码器中输出,输入到解码器,把固定长度的向量解码为可变长度的输出序列。这样就通过BERT 模型完成了文本向量化。Encoder-Decoder 模型结构如图2 所示。

图2 Encoder-Decoder模型结构

1.3.2 BERT模型预训练

BERT 模型预训练分为遮蔽词预测和下一句判断两个任务。遮蔽词预测任务中会随机地用特殊符号遮蔽住部分词汇,然后用其他的词汇来预测被遮蔽的词汇,被遮蔽的词汇占15%,这些被遮蔽的词语被特殊符号替代的占80%,被随机词替代及保持原样的概率各占10%[18]。由于遮蔽词预测不能够判断句子之间的联系,需要利用下一句判断任务,判断一个句子是不是另一个句子的下一句。

2 文本-语音增强模型

语音合成模型也是基于Encoder-Decoder 的模型。Encoder-Decoder 模型在上一节已经介绍。基本思想是利用IEMOCAP 数据库的文本信息与语音信号合成,达到利用文本信息使得语音效果增强的目的。编码器由预网和CBHG 模块构成,解码器由预网和两层残差的GRU 构成。把经过BERT 模型向量化的文本输入到编码器中,编码器的输出和语音信号输入到解码器,解码器的输出作为声学模型。然后利用测试集的文本,输入到声学模型中,完成语音信号的合成。语音合成模型如图3 所示。

图3 语音合成模型

2.1 编码器

编码器的输入是经BERT 模型处理过的词向量。编码器由预网和CBHG 模块构成。预网由两个隐藏层网络组成。第一个隐藏层的神经单元数目等于输入向量的维度,设置为256 个神经单元。第二个隐藏层的神经元数目等于第一个隐藏层神经元数目的一半,设置为128 个神经单元。隐藏层选取Relu 激活函数进行非线性变化。为了提高模型的泛化能力,dropout 设置为0.5。CBHG 模块首先使用一维卷积层,卷积层的激活函数选取Relu 函数,进行局部特征向量的建模。然后进行最大池化操作,池化层的步长设置为1,宽度设置为2,然后输入到多层高速公路网络。高速公路网络设置为4 层、128 个神经单元,实现高层特征的提取。最后双向GRU 从前后两个方向进行双向的文本特征提取,并把它表示成连续空间的向量。GRU 的神经单元数为128[16]。

2.2 解码器

解码器的输入为编码器对文本信息的输出以及语音特征。语音特征的提取选用Python 中的librosa工具包,提取MFCC 特征值和语谱图特征,并把提取的声学特征输入到解码器。解码器由预网和两层GRU 组成,预网结构如编码器所述。每层GRU 有256 个神经单元。GRU 所有单元的输出之和作为解码器的输出,即声学模型。

3 多任务分类

多任务学习将主任务和若干个辅助任务关联起来,能提高分类的泛化性。在多任务学习的神经网络模型中,网络底层是共享隐藏层,学习任务之间的联系;顶层是任务特有层,学习每个任务的特有属性。多任务学习结构图如图4 所示。经过语音合成与增强得到的语音信号,再二次提取MFCC 和语谱图特征值,进行多任务学习的分类。分类的主任务为情感识别,辅助任务为性别分类。多任务学习基于DNN 结构。在网络模型的共享隐藏层中,设置隐藏层的层数为2 层,每层由128 个单元组成。隐藏层共享两个属性之间的隐藏层中的节点。Dense层前面与隐藏层连接,后面为每个任务分别连接,起到学习特定任务的作用。连接在Dense层之后的是softmax分类器,这里有两个任务,所以连接两个softmax 分类器。定义网络模型,使用Python 中 的基于tensorflow 的kearas 定义。情感分类器的损失记为Lov1,权重为β,性别分类的损失记为Lov2,权重为γ,损失值Lov=βLov1+γLov2。同时训练两个模型,使总损失值最小。

图4 多任务学习结构图

4 实 验

4.1 实验数据集和实验环境

IEMOCAP 数据库是一个多模态的数据库,包括文本和语音信号。该数据集包含愤怒、快乐、悲伤、中立、沮丧、兴奋、恐惧、惊讶等情感。IEMOCAP 数据库支持视频和音频,还有所有话语的文本转录。数据库中包含5 331 条音频和文本转录话语。此次实验按照数据样本的90%划分为训练集、10%划分为测试集。测试集的文本用来增强合成语音信号。实验运行环境选择Windows 系统,编程语言使用Python编程,深度学习的框架选取tensorflow 和kearas。

4.2 实验参数设计和评价指标

BERT 模型的dropout 值设置为0.5,迭代次数设置10 次,学习率设置为0.01。多任务学习分类模型以及语音合成模型的参数设置如2、3 部分所述。文中使用准确率来评价实验方法的优劣。准确率的计算可表示为正确分类的数目与总数目的比值。

4.3 实验设计思路

为了证明设计的语音增强效果优于对比文献方法,需要设计多组对比实验。第一组实验的目的是证明BERT 模型比Word2vec 模型好。设计思路为分别使用BERT 和Word2vec 对文本进行向量化,然后同样使用文本-语音合成模型与多任务学习分类器。第二组实验目的是证明提到的文本-语音增强模型优于其他对比文献的语音增强方法,同样使用BERT 模型进行文本向量化,语音增强用文中方法和频谱相减、小波分解变化、增强方法对比,然后用多任务学习分类器分类。第三组实验目的是证明同时学习性别和情感分类优于只学习情感分类一个任务,对比实验使用BERT 模型+文本-语音增强模型以及一个使用单任务的DNN、一个使用多任务的DNN。

4.4 实验结果

如表1 所示,BERT 词向量与Word2vec 词向量相比,准确率提高了6%,原因在于BERT 词向量解决了Word2vec词向量一词多义的问题,以及BERT 的多头注意力机制更能有效地学习上下文信息。文本-语音增强模型的识别率为92%,频谱相减的准确率为85%,小波分解的准确率为89%,证明了文中语音增强方法优于小波分解法和频谱相减法。原因在于用文本特征增强语音特征避免了频谱相减法引入“音乐噪声”,解决了小波分解法阈值确定的问题。多任务学习的准确率与单任务DNN 相比,提升了4%,因为多任务学习可以利用不同任务之间的关联。

表1 对比实验的结果

4.5 相似研究对比

下面对比其他利用编码器和解码器的语音增强方法,并进行分析。实验结果如表2 所示。由表2 可知,文献[16]、文献[17]、文献[19]和文中方法的识别准确率分别为84%、86.7%、82%和92%。文中方法改进之处在于:①利用文本信息增强语音的效果优于利用语音信号增强,这是因为文本信息不容易受到环境噪声、语言文化差异的影响,能够更加直观地表达情感;②对文本信息进行去停用词、特征权重计算操作筛选有用特征值,大量的文本信息会加大文本-语音合成的工作量;③对文本特征的BERT 向量化,根据文本的上下文避免一词多义造成的歧义;④利用多任务学习,考虑了性别差异[20]。

表2 对比文献的识别准确率

5 结论

文中使用文本信息增强语音信号,实现了语音和文本两个模态的融合以及自然语言处理和语音情感识别两个交叉领域的创新应用。对文本信号进行去停用词、Jieba 分词、使用TF-IDF 计算权重,挑选权重大的文本特征。用BERT 模型将挑选的文本特征向量化,可以利用上下文的语义信息,解决了Word2vec 词向量一词多义及识别率不准确的问题。将BERT 模型的输出输入到Encoder 中,Encoder 的输出和语音特征输入到Decoder,完成声学模型的训练。在合成阶段,利用测试集的文本信息输入到声学模型,完成了合成。对合成后的语音信号进行二次特征提取,最终在基于多任务学习的DNN 模型完成了分类。文中方法的改进之处在于:①利用文本信息增强语音信号,避免引入“音乐噪声”和阈值确定困难的问题;②对于增强后的语音信号,同时学习性别分类和情感分类这两个任务。多任务学习既可以学习各自任务的特征,也可以学习共享的特征。如果只考虑到不同任务的差异,而忽略共享信息,会造成识别率下降。

猜你喜欢
多任务解码器编码器
科学解码器(一)
科学解码器(二)
科学解码器(三)
线圣AudioQuest 发布第三代Dragonfly Cobalt蓝蜻蜓解码器
基于中心化自动加权多任务学习的早期轻度认知障碍诊断
基于FPGA的同步机轴角编码器
基于PRBS检测的8B/IOB编码器设计
基于判别性局部联合稀疏模型的多任务跟踪
基于多任务异步处理的电力系统序网络拓扑分析
JESD204B接口协议中的8B10B编码器设计