基于语音音素后验概率图关键特征提取的中文方言识别模型

2024-01-05 12:49罡,
关键词:音素特征提取方言

冯 罡, 陈 宁

(华东理工大学信息科学与工程学院, 上海 200237)

语种识别(Language Identification, LID)是对语音片段所属的语言种类进行辨识[1],方言识别(Dialect Identification, DID)是其中一个特殊任务,旨在识别同一语种的不同方言,通常应用于语音识别系统的前端[2]。但由于方言的类间距离差异较大,部分相似的方言在声学特征分布上非常相近,导致DID 相比LID 任务更加困难[3]。

传统的DID 模型大多基于机器学习方法,如高斯混合模型(Gaussian Mixture Model, GMM)[4-5]、支持向量机(Support Vector Machine, SVM)[6]以及i-vector[7-8]等。由于深度学习模型能够提取语音信号的深层非线性特征,从而更好表征方言的深层语义特征,因此基于深度学习的DID 模型可达到更高的识别准确率[9-10]。X-vector[11]在过去几年中是方言识别和说话人识别的主流模型。之后文献[3]将Transformer 模型引入DID 任务,采用多头自注意力机制捕捉包含长时特征序列依赖关系的方言嵌入,提升了分类性能。另外,为了加深网络深度以提升模型性能,残差网络(ResNet)[12]被应用于DID 任务。在AP20-OLR挑战赛中,IBG_AI 团队[13]提出了基于5 种不同深度ResNet-SE[14]模 型 融 合 的LID 模 型。然 而,以上DID 模型在特征提取与优化、标签预测阶段仍存在可改进的方面:首先,在特征提取阶段,现有模型大多采用声学特征,如Filter Banks (Fbanks)或Mel-Frequency Ceptral Coefficient (MFCC),而忽略了音素分布特性对方言特性表征的重要作用;其次,在特征优化阶段,以上模型在引入注意力机制时,对特征的分析维度相对单一,如Transformer 模型仅考虑了时间维度的差异性,而ResNet-SE 模型仅考虑特征维度的差异性,无法对特征进行全面的注意力分析,并且忽略了模型中间层信息的重要作用;最后,在标签预测阶段,以上模型仅采用单一的交叉熵损失函数作为训练目标,无法最大化类间距离,难以保证模型的分类准确性。

针对以上问题,本文分别在特征提取阶段、特征优化阶段、以及标签预测阶段进行了如下改进,以提升方言识别的准确性。第一,在特征提取阶段,考虑到不同方言对相同字的发音有所不同,导致不同方言语音所包含音素的概率分布存在较大差异,本文采用表示音素分布特性的音素后验图特征(Phonetic Posteriorgram,PPG)[15]作为模型的输入特征。本文经过实验证明,相比于Fbanks 和MFCC,PPG 具有更优的方言区分性能。第二,在特征优化阶段,本文构建了结合Convolutional Block Attention Module[16](CBAM)和 Emphasized Channel Attention-Propagation and Aggregation in TDNN(ECAPA-TDNN)[17]的特征优化模型。其中,CBAM 模块可对输入特征依次进行通道维度、特征维度和时间维度的注意力分析;以SERes2Block为基本单元的ECAPA-TDNN 模型利用多尺度空洞卷积和Res2net[18]结构有效扩大了特征提取的感受野,所包含的剩余连接和多层特征聚合(Multi-layer Feature Aggregation, MFA)可有效保证中间层信息的提取,所采用的注意力统计池化(Attentive Statistical Pooling, ASP)可在一定程度上消除部分噪声片段的干扰。第三,在标签预测阶段,在交叉熵损失函数的基础上引入Additive Angular Margin (AAM)[19-20]损失,以决策区域替代决策边界,从而进一步提升分类准确率。公开数据集的实验结果表明,本文方法实现了比传统方言识别方法更高的分类准确率。

1 算法模型

本文提出的基于语音音素后验概率图关键特征提取的中文方言识别模型如图1 所示,它分为特征提取、特征优化和标签预测3 个阶段。

1.1 特征提取

本文利用预训练模型提取语音信号的PPG 特征。首先对音频信号进行帧长为25 ms、帧移为10 ms的分帧处理,得到帧级MFCC 特征,记为X={xt|t=1,···,T} ,其中T为帧数。然后根据第t帧的特征利用公式(1)计算属于每种音素的后验概率,得到相应的PPG 特征,记为Pt。

其中,xt是第t帧的输入特征,d表示音素单元的类别,D是音素单元的类别总数,P(d|xt) 是xt属于第d种音素的后验概率。

为了比较Fbanks、MFCC 以及PPG 特征在区分方言中的有效性,实验采用普通话和10 种方言各2 500个样本,以帧长为25 ms、帧移为10 ms 对样本进行分帧处理,分别提取每帧的Fbanks、MFCC 和PPG 特征,并对每个样本的Fbanks、MFCC、PPG 特征按帧进行均值化处理。图2(a)、(b)和(c)分别示出了均值化处理后的Fbanks、MFCC 和PPG 特征的t-SNE可视化分布。可以看出,相比于Fbanks 和MFCC,PPG具有更优的方言区分性能。

图2 普通话和方言语音样本经均值化处理的t-SNE 可视化分布对比Fig.2 Comparison of t-SNE visual distribution for Mandarin and dialect speech samples after averaging

1.2 特征优化

本文在特征优化阶段分别引入基于CBAM 注意力机制和基于ECAPA-TDNN 的深层嵌入提取模块。前者对PPG 特征进行基于通道、特征和时间维度的注意力分析,后者则通过剩余连接和MFA 保留中间层信息以提升特征的表征能力,同时借助注意力统计池化分析获得句子级嵌入。

1.2.1 基于CBAM 的注意力分析 语音中存在的静音和含噪时隙对方言识别的性能有一定影响。传统的方言识别模型尚未考虑这一重要影响因素。为此,本文引入基于CBAM 的注意力机制对PPG 特征依次进行通道和空间(特征-时间维度)注意力分析。注意力的引入还可在一定程度上减少训练参数,从而提升模型的训练效率。

如图2 所示,对于输入的PPG 特征Pt∈RD×T,分别进行Unsqueeze 和二维卷积将其通道从一维扩充为C维,所得通道扩充后的特征记为Ft∈RC×D×T。进行通道扩充的主要目的是增强PPG 特征的分辨率,以便更好地提取方言相关特征。后续将依次进行通道注意力分析和空间注意力分析。

(1)通道注意力分析

对特征Ft的特征维度D和时间维度T分别进行全局最大池化和全局平均池化,将池化结果分别通过共享的多层感知器(Multilayer Perceptron, MLP)并相加,经过Sigmoid 激活得到通道注意力的权重向量,记为Mt(c)∈RC×1×1,其计算公式如公式(2)所示:

其中, C onv 和 C at 分别表示卷积和拼接操作。

经空间注意力优化的特征记为Ft(cs)∈RC×D×T,可由公式(5)得到:

1.2.2 基于ECAPA-TDNN 的句子级嵌入提取 为了从帧级特征获取句子特征的过程中更好地提取句子所包含的时序特性,避免中间层信息的丢失对句子级特征的影响,同时尽可能消除句中的静音和含噪时隙对特征提取的影响,本文引入ECAPA-TDNN模型进行句子级嵌入的提取。

ECAPA-TDNN 模型框图及SE-Res2Block 结构如图3 所示。首先,ECAPA-TDNN 模型以SE-Res2Block模块为基础,SE-Res2Block 模块将输入特征分成更小的片段,用小的卷积器组代替单个大的卷积器,并对各卷积器的输出进行类残差的层次化方式连接,这种结构在不增加模型参数的基础上扩大网络层的感受野,同时获得更细粒度的多尺度特征信息,因此可有效提升特征的表征能力。设第n个输入特征片段为zn(n=0, 1 ,···,7) ,则对应的片段的输出qn可用公式(6)计算:

图3 ECAPA-TDNN 模型框图(a)以及SE-Res2Block 结构(b)[17]Fig.3 Architecture of ECAPA-TDNN model (a) and SE-Res2Block structure (b)[17]

其中, C onv 表示 3× 3 卷积操作, R eLU 和 BN 分别表示激活函数和批归一化。

其次,如图3(a)所示,初始卷积层的输出与SERes2Block 层的输出进行求和后输入到下一个SERes2Block 层,因此可有效减少中间层信息的丢失;同时,中间三层SE-Res2Block 的输出将通过MFA 层进行聚合,从而进一步避免了中间层信息的丢失。

最后,ASP 层的引入可对不同时间维度的特征进行不同权重的加权,从而在一定程度上消除静音时隙和噪声时隙对句子级嵌入提取的影响。

1.3 标签预测

本文使用多层全连接层作为分类器,通过设置最后一层全连接层的输出节点数N=11 来控制分类任务的类别数,输出向量Oi的元素则表示对各类方言的预测概率。

在分类过程中,一方面采用常被用于分类问题的交叉熵损失作为训练目标,记为lCE。另一方面为了防止单个损失造成的决策单一问题,同时更好地最大化分类的类间距离,本文引入AAM,记为lAAM,进一步约束模型训练。其计算公式为:

其中:B表示batch-size,N表示类别数,yi代表第i条音频的标签one-hot 向量, θyi,Oi表示yi、Oi之间的角度,m和 β 分别代表损失函数中margin 和scale 两个超参数。

AAM 损失是以角度为分类标准,类间增设固定边际m,以决策区域替代决策边界进行分类,达到缩小类内距离、扩大类间距离的目标,有效提高方言分类的准确性。

模型整体损失,记为ltotal,由以上两种损失加权求和得到,见公式(8):

其中 α ∈[0,1] 是控制两种损失比例的超参数,本文设定 α =0.5 。

2 实验结果

为了验证本文提出的方言识别模型的性能,实验以包括普通话在内的11 种中文方言的分类为目标,对本文的模型进行了性能测试。同时将基于Transformer 的方言识别模型[3]、基于ResNet34-SE 的语种识别模型[13],以及相关模型(X-vector[11]和ECAPA-TDNN[17])作为基线系统进行性能对比。

2.1 数据集及具体划分

2.1.1 普通话数据 来自Aishell2 数据集中1 991 位说话人的40 188 条语音,共计30 h。

2.1.2 方言数据 来自数据堂公司Datatang-Dialect方言数据集中包括上海话、福建话、粤语、四川话、长沙话、杭州话、河南话、昆明话、苏州话以及武汉话10 种方言各30 h 的数据。具体信息如表1 所示。

表1 方言数据集的构成Table 1 Composition of dialect dataset

训练集和测试集的具体划分如表2 所示。为了保证训练集和测试集之间不存在说话人重叠,对以上的10 种语言按说话人数量进行9∶1 的划分,其中9 份归入训练集,1 份归入测试集。需要说明的是,本文的模型仅采用每个样本的前3 s 作为输入。

表2 训练集和测试集的具体划分Table 2 Division of training and testing sets

2.2 实验设置

实验的硬件设备为具有24 GB 内存的NVIDIA 3090Ti GPU,并采用PyTorch 进行编程。语音样本的采样率和量化精度分别为16 kHz 和16 bit。实验采用40 维PPG 特征作为输入。模型训练时采用triangular2 策略[18],对ECAPA-TDNN 模型的学习率进行设置,并采用Adam 优化器[19]。AAM 损失的margin 和scale 分别设定为0.2 和12。模型所有权重的衰减因子设为2×10-4,batch size 设为128。

2.3 实验结果和分析

本文实验包括与基线系统的性能对比实验和本文模型的消融实验。实验采用分类准确率作为衡量指标,即分类正确的语音样本数占总体语音样本数的比例。

2.3.1 与基线系统的性能对比 实验采用基于Transformer[3]和X-vector[11]的方言识别模型,基于ResNet34-SE 的语种识别模型[13],以及基于ECAPATDNN[17]的方言识别模型作为基线系统,在本文构造的训练集和测试集上进行了对比实验。包括本文模型在内的5 种模型在测试集上的方言分类准确率对比结果如表3 所示,可以看出,本文提出的模型取得了比所有基线系统更高的分类准确率。

表3 方言分类准确率对比Table 3 Comparison of dialect identification accuracy

为了进一步研究各种模型在不同方言区分能力上的差异,图4 示出了由各种模型在测试集上提取的句子级嵌入的t-SNE 可视化分布的对比结果。可以看出:(1)各种模型均具有一定的方言分类能力;(2)就类间距离来看,ECAPA-TDNN[17]和本文模型更具优势,可能是因为ECAPA-TDNN 具有较好保持中间层特征能力,并能更好地提取语音的长时时序特性;(3)与原始的ECAPA-TDNN 相比,本文的模型具有更强的方言分类能力。

图4 各模型提取的语音嵌入的t-SNE 可视化分布对比Fig.4 Comparison of the t-SNE visual distribution of embeddings extracted by each model

图5 显示了5 种模型在不同方言上分类准确率对比结果。可以看出:(1)在长沙话、河南话、昆明话、武汉话、闽南话以及上海话的分类中,本文的模型取得了比4 种基线系统更高的准确率;(2)在闽南语、杭州话、普通话的分类中,本文模型取得了与各基线模型相当的性能;(3)在粤语和苏州话的分类中,本文模型略低于基线模型,但差距很小;(4)在四川话的分类中,本文模型的准确率低于ResNet34-SE[13]模型,但高于其他3 种基线系统;(5)总体而言,与基线系统相比,本文模型在不同类方言的识别中具有更好的稳定性。

图5 各模型中不同方言的分类准确率Fig.5 Accuracy of different dialects in each model

2.3.2 消融实验 为了验证本文模型在输入特征的选择、特征的优化以及损失函数的构造方面的改进对整个模型性能提升的不可替代作用,本研究进行了消融实验,结果如表4 所示。

表4 消融实验结果Table 4 Results of ablation experiments

(1)特征选择的有效性

表4 中示出的Our-Fbanks 和Our-MFCC 分别表示当把本文的模型输入替换为Fbanks 特征或MFCC 特征时的模型,可以看出本文模型取得了比Our-Fbanks 和Our-MFCC 更高的识别准确率。这表明PPG 具有比Fbanks 或MFCC 更好的方言特性表征能力。

(2)特征优化的有效性

为了验证特征优化阶段中CBAM 以及ECAPATDNN 的作用,表4 中列出了模型分别缺少了以上模块时模型的性能。其中No ECAPA-TDNN 是在将CBAM 模块的输出直接进行平均池化后通过FC 和BN 层得到的模型。可以看出,以上任一模块的缺失均会导致模型性能的下降,这表明以上在特征优化阶段的改进均对模型性能的提升有贡献。同时如表5所示的实验结果表明CBAM 的引入对降低整个模型的训练时长有突出的贡献。

(3)损失函数的有效性

为了验证AAM 损失的引入对模型性能提升的作用,表4 列出了模型在缺少AAM 损失条件下的分类准确率。从No AAm 与Ours 的实验对比可以看出,AAM 损失的引入能有效提升模型的分类准确率。

3 结 论

考虑到语音音素的分布特性可有效区分不同的中文方言,本文提出了一种基于语音音素后验概率图关键特征提取的中文方言识别模型。该模型以语音音素后验概率图作为模型的输入,通过引入基于CBAM 的注意力机制对帧级特征进行优化,利用ECAPA-TDNN 模型提取帧级特征序列的长时特性,并加强对中间层信息的提取和聚合,并引入ASP 降低噪声和静音帧对句子级特征的影响;最后,引入AAM 损失提升分类准确率。在公开数据集上的实验结果表明,本文的模型取得了比传统方法更高的分类准确率,并且以上改进均对模型识别准确率的提升有贡献。

猜你喜欢
音素特征提取方言
新目标英语七年级(上)Starter Units 1-3 STEP BY STEP 随堂通
方严的方言
方言
依托绘本课程,培养学生英语音素意识
说说方言
留住方言
小学英语课堂中音素意识与自然拼读整合训练的探索
基于Daubechies(dbN)的飞行器音频特征提取
❷不定冠词a与an
Bagging RCSP脑电特征提取算法