Processing math: 26%

EI / SCOPUS / CSCD 收录

中文核心期刊

多声学场景下端到端语音识别声学编码器的自适应

刘育坤, 郑霖, 黎塔, 张鹏远

刘育坤, 郑霖, 黎塔, 张鹏远. 多声学场景下端到端语音识别声学编码器的自适应[J]. 声学学报, 2023, 48(6): 1260-1268. DOI: 10.12395/0371-0025.2022114
引用本文: 刘育坤, 郑霖, 黎塔, 张鹏远. 多声学场景下端到端语音识别声学编码器的自适应[J]. 声学学报, 2023, 48(6): 1260-1268. DOI: 10.12395/0371-0025.2022114
LIU Yukun, ZHENG Lin, LI Ta, ZHANG Pengyuan. The self-adaptation of acoustic encoder in end-to-end automatic speech recognition under diverse acoustic scenes[J]. ACTA ACUSTICA, 2023, 48(6): 1260-1268. DOI: 10.12395/0371-0025.2022114
Citation: LIU Yukun, ZHENG Lin, LI Ta, ZHANG Pengyuan. The self-adaptation of acoustic encoder in end-to-end automatic speech recognition under diverse acoustic scenes[J]. ACTA ACUSTICA, 2023, 48(6): 1260-1268. DOI: 10.12395/0371-0025.2022114

多声学场景下端到端语音识别声学编码器的自适应

基金项目: 国家重点研发计划项目(2020AAA0108002)和中国科学院声学研究所自主部署“目标导向”类项目(MBDX202106)资助。
详细信息
    作者简介:

    刘育坤, liuyukun-gg@qq.com

    通讯作者:

    张鹏远, zhangpengyuan@hccl.ioa.ac.cn

  • PACS: 
    • 43.72  (语言处理与通信系统)

The self-adaptation of acoustic encoder in end-to-end automatic speech recognition under diverse acoustic scenes

  • 摘要:

    提出了一种面向多样化声学场景自适应设计声学编码器的方法(SAE)。该方法通过学习不同声学场景下语音中包含的声学特征的差异, 适应性地为端到端语音识别任务设计出合适的声学编码器。通过引入神经网络结构搜索技术, 提高了编码器设计的有效性, 从而改善了下游识别任务的性能。在Aishell-1、HKUST和SWBD三个常用的中英文数据集上的实验表明, 通过所提场景自适应设计方法得到的声学编码器相比已有的声学编码器可以获得平均5%以上的错误率改善。所提方法是一种深入分析特定场景下语音特征、针对性设计高性能声学编码器的有效方法。

    Abstract:

    In this paper, a scene-adaptive acoustic encoder (SAE) is proposed for different speech scenes. This method adaptively designs an appropriate acoustic encoder for end-to-end speech recognition tasks by learning the differences of acoustic features in different acoustic scenes. By the application of the neural architecture search method, the effectiveness of encoder design and the performance of downstream recognition tasks are improved. Experiments on three commonly used Chinese and English dataset, Aishell-1, HKUST and SWBD, show that the proposed SAE can achieve average 5% relative character error rate reductions than the best human-designed encoders. The results show that the proposed method is an effective method for analysis of acoustic features in specific scenes and targeted design of high-performance acoustic encoders.

  • 语音识别(ASR)[1-4]在人类生产生活中发挥着至关重要的作用, 端到端ASR是目前最主流的ASR技术[5-8]。在现有的端到端ASR系统中, 声学编码器必不可少。实际应用中ASR系统需面对多样的应用场景, 不同场景中的语音数据有着不同的声学特征, 在发音方式、说话风格乃至情绪语气上都有着巨大的差异。差异一方面来自于说话人及语音内容, 如电话语音、朗读语音和车载交互语音, 这些语音的内容以及承载语音的信道都有所不同; 另一方面则是来自于语种的差异, 如汉语普通话、粤语和英语等, 这些不同的语种有着各自特殊的发音规则, 从而体现出了不同的声学特征[9-10]。此外, 在实际应用中语音数据往往会混入环境噪声和混响, 即便语音内容和语种相同, 不同信噪比下语音数据的声学特征也会有大的差异。如何让声学编码器更好地建模特定场景下语音中所包含的声学特征, 是一个相当具备挑战性的课题。

    为获得适应特定声学场景的声学编码器, 一种主流做法是采用已有结构的声学编码器, 之后再利用目标场景下的语音数据对其进行训练, 以实现对目标场景的有效建模。文献[11]中采用了基于循环神经网络(RNN)结构的声学编码器, 对语音数据进行时序建模学习, 并基于循环神经网络传感器(RNN-T)框架对声学编码器进行训练。文献[12]中使用的声学编码器采用了更为高效的多头注意力机制, 该机制可以对语音序列全局并行建模, 极大提高了编码器的建模能力, 并通过连接时序分类(CTC)框架[13-14]对编码器进行了有效的训练。文献[15]中同样使用了基于多头注意力机制的声学编码器, 不同之处在于其使用了基于注意力的编码解码框架(AED), AED框架可以根据已有的文本信息来辅助声学编码器对语音中的声学特征进行建模, 从而进一步改善声学编码器的建模能力。此外, 围绕上述CTC、AED等RNN-T框架, 还有研究尝试使用基于卷积神经网络(CNN)或相应变种的声学编码器实现ASR任务。

    已有固定结构的声学编码器显然难以适应多样化的声学场景。为解决该问题, 可手动调整编码器结构, 但其存在两个问题: 一是手工设计的编码器结构数目十分有限, 无法保证可以设计出最适合目标场景的编码器; 二是逐一验证手工设计的编码器性能时, 需要单独对每个编码器进行训练和评估, 从而给实际应用带来很高的设计成本。

    为解决手工设计编码器过程中存在的问题, 本文提出了一种基于神经网络结构搜索(NAS)[16-18]的场景自适应声学编码器设计方法SAE。一方面, 针对端到端ASR任务对声学编码器的需求, 设计了一套新的搜索空间, 该搜索空间充分考虑了不同场景下语音数据的声学特征, 提供了多种分别适用于建模不同声学特征的候选编码器结构。另一方面, 进一步采用可微分搜索算法DARTS来搜索目标场景下的编码器结构, 并利用Gumbel重采样技巧和相应的预训练搜索策略进一步改善性能。在三个不同场景下的中英文数据集上进行了实验, 对比多种不同结构的基线编码器, 结果表明SAE可以有效降低错误率。SAE可以有效地针对特定声学场景, 设计出高性能的声学编码器。

    SAE首先基于ASR任务的领域先验知识设计了一套新颖的搜索空间, 该空间为语音识别任务提供了丰富的候选编码器结构; 之后引入并改良一种可微分搜索算法, 根据目标场景从搜索空间中挑选出合适的编码器结构。获得编码器结构后, SAE会对该编码器进行重训练以完成最终的识别任务。

    目前主流的端到端ASR框架有三种: CTC、AED和RNN-T。图1展示了这三种框架的具体结构, 除端到端ASR系统必需的特征预处理模块外, 三种框架都需要利用一个声学编码器从t帧输入语音特征{x1, …, xt}中提取高维表征信息henc, 再分别送入各自的下游单元来获取对第u个输出文本ˆyu的预测, 并进一步完成识别解码的任务。CTC框架使用CTC分类器对henc进行处理, 利用softmax函数给出对输出标签的预测ˆyu; AED框架采用自回归解码器[19]同时接收henc和历史文本{y1, …, yu-1}来预测当前的输出; RNN-T使用专门的预测网络来处理{y1,…, yu−1}并得到当前第u个输出的文本预测信息pu, 最后通过联合网络综合hencpu中的信息给出对当前输出的预测[11]

    图  1  三种端到端语音识别框架 (a) CTC框架; (b) AED框架; (c) RNN-T框架

    不同于已有的手工设计编码器结构的策略, SAE为端到端ASR框架中的编码器专门设计了一个搜索空间, 图2给出了整个SAE编码器搜索空间的示意图。

    图  2  (a) SAE编码器完整的框架图; (b) 可搜索的SAE模块的具体结果; (c) Aishell-1数据集上的一个搜索样例

    图2(a)所示, SAE编码器由N层可搜索SAE模块构成, 每个SAE模块中提供了多种不同的候选操作。通过对SAE模块逐层搜索并组合, 整个搜索空间可提供丰富的候选编码器结构, 以满足不同场景下的需求。对于每个可搜索模块, SAE充分考虑了ASR任务本身的特点, 分别设置了功能各异的多头自注意力模组(MHSA)、卷积神经网络模组(CNN)和前馈神经网络模组(FFN)来构建声学编码器。如图2(b)所示, 三种不同的模组共同构成一个SAE模块。

    其中MHSA模组可利用其特有的自注意力机制对输入序列的全局上下文进行处理, 并从中捕获深层声学特征[19-20]; CNN模组则通过卷积运算对声学信号的局部互相关关系进行建模, 进一步挖掘语音信号中的隐藏信息[21]; 最终FFN负责将当前信号序列映射到更高维的隐层维度进行非线性激活, 从而增加模型非线性拟合能力[22]图2(b)展示了可搜索SAE模块的具体构成, 该模块包含上述三种不同的功能模组, 整体结构被抽象成一个有向无环图, 图中每个节点x(i)表示前一个模组x(i−1)的输出结果, 相邻节点之间的线条表示当前功能模组提供的相应候选操作。此外, 残差连接也被引入到SAE模块中, 此前已证明残差连接可有效提高模型的泛化性能[23]

    基于三种不同的功能模组, SAE进一步根据组自身的结构特点提供了多种不同的候选操作, 图2(b)OM, OC, OF分别表示每个模组对应的候选操作数目。SAE为MHSA候选操作提供了灵活的注意力头数目设置, 比如4, 8, 16, 分别记为MHSA4, MHSA8, MHSA16。对于CNN模组, SAE提供了多种有着不同卷积核尺寸的候选操作用以处理不同范围的声学特征, 比如卷积核7、卷积核15、卷积核31, 分别记为CNN7, CNN15, CNN31, 以及一个额外的Skip候选操作。针对FFN模组, SAE提供了不同尺寸的隐层维度, 如256, 512, 1024, 分别记为FFN256, FFN512, FFN1024, 以探究FFN隐层维度对于声学编码器性能的影响。本文将SAE模块的层数N设置为8, 从而可以得到整个搜索空间中可能的候选编码器数目为(3 × 4 × 3)8 ≈ 2.82 × 1012个, 这充分说明了SAE搜索空间相比于手工设计编码器的多样性。

    实际应用中, SAE会利用指定场景数据对N层模块逐层搜索, 从模块每个功能模组的多个候选操作中选出最优的操作, 作为当前模组的搜索结果, 并据此得到完整的声学编码器结构。再结合相应端到端框架的下游单元, 构建完整的端到端ASR系统, 以完成最终的识别任务 。

    在确定搜索空间之后, 需要解决的另一个问题则如何从图2所示的搜索空间中挑选出最佳的SAE编码器结构。考虑到候选编码器结构数目十分巨大, 单纯使用穷举策略或者根据经验进行手工挑选成本过于高昂, 不具备可行性。为了实现对编码器结构的高效搜索, SAE采用了基于梯度回传的可微分搜索算法DARTS, 这种算法最早被Liu等提出用来搜索图像分类任务中的CNN模型结构[16], 相比于其他基于强化学习或进化算法等需要不断采样并训练的搜索算法[17-18], DARTS利用梯度回传来分别学习候选操作的权重, 从而有效改善了搜索效率。

    为了能够对离散的搜索空间进行微分操作并实现梯度回传, DARTS利用softmax函数对整个搜索空间进行连续化松弛:

    {x^{(i + 1)}} = {\overline o^{(i,i + 1)}}({x^{(i)}}) = \sum\limits_{k = 1}^{|O|} {\frac{{\exp ({{\boldsymbol{\alpha}} }_k^{(i,i + 1)})}}{{\displaystyle\sum\limits_{k' = 1}^{|O|} {\exp ({{\boldsymbol{\alpha}} }_{k'}^{(i,i + 1)})} }}} o_k^{(i.i + 1)}({x^{(i)}}) \text{, } (1)

    其中, |O|是(i, i+1)这两个计算节点间的候选操作总数, {\overline o^{(i,i+1)}}({x^{(i)}}) x(i)混合操作之后的计算结果, 即x(i+1), ok(i,i+1)(∙)特指(i, i+1)这两个计算节点间的第k个候选操作, 而 {{\boldsymbol{\alpha}} }_k^{(i,i + 1)} 则是与之相对应的可学习的结构参数。在对结构参数 {{\boldsymbol{\alpha}} } 计算softmax之后, 可赋予每个候选操作相应的权重并对多个候选操作进行加权求和, 使离散的若干候选操作连续化, 从而允许进一步对搜索空间进行微分并实现梯度回传。在搜索过程中, SAE会使用二级优化的策略, 即根据目标场景数据交替优化结构参数 {{\boldsymbol{\alpha}} } 和模型自身参数W, 最终得到一个场景自适应的最优结构参数 {{\boldsymbol{\alpha}} } 。搜索完成后, SAE基于最优结构参数 {{\boldsymbol{\alpha }}} 从搜索空间每个模组的多个候选操作中挑选出对应权重最高的操作以得到声学解码器结构。之后再将该编码器与相应的下游单元结合, 共同进行重训练, 最终得到训练好的端到端ASR系统。

    尽管DARTS有效改善了搜索效率, 然而这种搜索算法本身会产生一定的搜索偏差。搜索过程中SAE对整个搜索空间中的所有候选操作参数统一进行优化, 而搜索完成后用于重训练的搜索结果只是整个搜索空间中的一个子集, 两者的不一致会造成一定的搜索偏差, 从而导致实际搜索得到的编码器结构未必是当前搜索空间中最优的。为了改善上述问题, 使用Gumbel重采样技巧[24]修正式(1)中的连续化方式以尽可能缩小搜索和重训练之间的不一致。首先定义{{\boldsymbol{G}}}_{\text{k}}^{(i + 1)} = - \lg ( - \lg ({{\boldsymbol{U}}}_k^{(i,i + 1)}))为服从Gumbel分布的随机变量, 其中Uk(i,i+1)是服从均匀分布的随机变量。给定松弛温度λ, 基于{{\boldsymbol{G}}}_{\text{k}}^{(i,i + 1)}可以得到以下基于Gumbel采样的搜索空间松弛化策略(Gumbel-softmax):

    {\overline o^{(i,i + 1)}}({x^{(i)}}) = \sum\limits_{k = 1}^{|O|} {\frac{{\exp [({{\boldsymbol{\alpha}} }_k^{(i,i + 1)} + {{\boldsymbol{G}}}_{\text{k}}^{(i,i + 1)})/\lambda ]}}{{\displaystyle\sum\limits_{k' = 1}^{|O|} {\exp [({{\boldsymbol{\alpha}} }_{k'}^{(i,i + 1)} + {{\boldsymbol{G}}}_{{\text{k'}}}^{(i,i + 1)})/\lambda ]} }}} o_k^{(i.i + 1)}({x^{(i)}}) . (2)

    相比基于softmax的松弛策略, Gumbel-softmax一方面引入了松弛温度的概念, 在实际搜索过程中通过降低松弛温度使计算出的权重分布接近“独热编码”, 进而确保搜索过程中优化的参数结构基本与重训练时一致, 极大减小了搜索偏差; 另一方面, 基于Gumbel分布的采样本身在统计意义上依然遵循使用softmax计算得到的权重分布, 这就保证了对结构参数 {\alpha } 的优化依然有效。3.3节对两种搜索策略进行了比较, 验证了使用Gumbel采样技巧的有效性。

    实际的训练过程中, 除SAE编码器中包含的结构参数和模型参数外, 三种端到端框架在下游单元中都有大量的参数需要训练, 如CTC框架的CTC分类器, AED框架的自回归解码器, RNN-T框架的预测网络和联合网络。这为SAE编码器结构搜索带来了额外的困难: 在模型训练的起步阶段, SAE编码器输出对接的下游单元同样处于极度欠拟合状态因而难以给予SAE结构搜索正确的指导, 可能导致SAE结构搜索在起步阶段被错误地优化, 从而影响最终性能。

    为了缓解该问题, 本文提出了一种对端到端框架中下游单元进行预训练初始化的策略。相比于直接对三种框架中相关的下游单元随机初始化, 先对相应的下游单元进行一定的预训练, 并使用经过预训练的下游单元指导SAE编码器结构的搜索任务, 使SAE进行编码器搜索时可获得来自下游单元的更准确的指导, 降低下游单元本身欠拟合带来的性能损失, 从而获得更好的搜索结果。

    基于预训练的SAE结构搜索和重训练的流程概括为: (1) 首先根据选定的框架构建预训练模型, 其中编码器采用手动设计的结构, 如基于MHSA机制的Transformer或Conformer等, 下游单元则由端到端模型框架决定; (2) 基于目标场景数据集对预训练模型进行一定程度的初始化训练, 之后移除手工编码器, 仅保留下游单元相应的模型参数; (3) 使用预训练的下游单元初始化SAE编码器的下游单元, 并对SAE编码器中每个模块的结构逐层搜索; (4) 将基于搜索结果得到的SAE编码器结构与下游单元结合, 构建完整端到端ASR模型, 对该模型重训练直至收敛; (5) 将重训练好的端到端ASR模型与静音检测、特征信号处理等模块联合构建完整的端到端ASR系统, 并在相应的数据集上测试打分, 获得错误率等识别性能指标。

    为验证SAE的有效性, 选取三个常用的中英文数据集Aishell-1[25]、HKUST[26]和SWBD[27]进行相关实验。

    Aishell-1是一个中文普通话综合语音数据集, 包括178 h的语音数据, 并被划分为train, dev, test三个子集, 每条语音仅包括一个说话人。其语音内容包含智能家居、无人驾驶、工业生产等11个不同的任务场景, 并在安静室内环境下使用三种不同的设备(高保真麦克风、Android手机、IOS手机)录制。HKUST是一个由香港科技大学主导录制的中文普通话电话语音数据集, 包括200 h的语音数据, 并被划分为train和test两个子集。每条电话语音包括两个说话人, 内容为日常对话, 囊括了社会、经济、娱乐、体育等多个话题。SWBD是由美国语音数据联盟(LDC)发布的一系列英文电话语音数据集。本文选择300 h的Switchboard-I (LDC97S62)作为训练集, 其包括70多种日常对话话题, 每段对话语音同样有两个说话人。此外, 同属SWBD系列的Hub5’00数据集被用作测试集, 时长约11 h, 由swbd1和callhm两个子数据集组成。

    总的来说, 这三个数据集在内容、话题、语种、说话人等多个维度都有着较大区别, 可以较为全面地验证SAE在不同场景下根据给定场景语音数据自适应设计声学编码器的性能。

    对于两个中文数据集, 选择字错误率(CER)作为评价指标, 字错误率为错误字数与总字数之比; 对于SWBD英文数据集, 选择单词错误率(WER)作为评价指标, 词错误率为错误词数与总词数之比。字错误率或单词错误率越低, 表示系统性能越好。这与目前学术界的主流做法是一致的。

    本文选择Transformer[19]和Conformer[21]两种手工设计的常用声学编码器作为基线与SAE对比。Transformer是目前使用最多的基于MHSA机制的编码器结构, 应用广泛; Conformer在引入了CNN机制后, 是目前在端到端ASR任务上性能最好的一种编码器结构, 本文使用的三个数据集上手工基线的最优性能都是由Conformer编码器得到。手工调节两种基线编码器的结构, 以考察不同结构的手工编码器对系统性能的影响。Transformer编码器中主要的功能模组是MHSA, 因此本文为MHSA提供了多种不同规格的注意力头, 如4, 8, 16, 分别记为H4, H8, H16。Conformer编码器中除MHSA之外, CNN同样对上下文信息的捕捉建模十分重要, 所以本文提供了不同的MHSA注意力头数目和CNN的卷积核尺寸, 并将其记为HxCy, 表示注意力头x与卷积核y的组合。

    在模型具体实现方面, 基于pytorch的开源端到端ASR训练工具ESPnet[28]被用于训练模型, 模型设计和模型训练相关的超参数均遵循ESPnet开发人员提供的最优设置。基线模型和SAE均将注意力维度设置为256, 编码器层数N设置为8。基线模型FFN模组的隐层映射维度固定为1024。Conformer和SAE中使用的CNN模组结构与Gulati等的设计[21]一致。CTC框架中CTC分类器输出维度对齐为数据集输出标签数目, AED采用4层Transformer解码器, RNN-T的预测网络采用1层LSTM, 具体模型参数均遵循ESPnet的提供的最优设置。所有实验均在一台包含一张Nvida Tesla T4 GPU和 32物理核Intel(R) Xeon(R) Gold 6226R CPU的服务器上开展, 其中CPU主频为2.90 GHz。

    本文中SAE默认使用预训练和Gumbel-softmax技巧, Gumbel-softmax中使用的温度因子λ呈指数衰减。同时, 与不使用预训练的SAE和使用sofmax的SAE的结果进行对比。为单独对比搜索算法的有效性, 还与随机搜索算法进行对照。具体的做法是, 从SAE搜索空间中按均匀分布随机采样5个样本模型, 并取其中在开发集上性能最好的一个作为随机搜索的实验结果。每个数据集, 每种端到端框架均独立进行随机搜索。

    表1表3分别给出了在CTC, AED, RNN-T三种框架下的实验结果, 包括中文测试数据集上的CER和英文测试数据集上的WER, 并将各数据集的最优结果加粗, “*”表示该数据集上手工基线所获得的最好结果。

    表  1  SAE编码器与手工编码器在CTC框架下的字错误率CER对比 (%)
    模型结构结构设置Aishell-1HKUSTHub5’00
    参数量devtest参数量test参数量swbd1callhm
    TransformerH48.19 M7.17.78.19 M24.18.19 M13.424.7
    H88.19 M6.87.58.19 M23.78.19 M13.725.2
    H168.19 M6.87.48.19 M23.98.19 M13.625.0
    ConformerH4C79.68 M5.86.49.68 M23.49.68 M11.8*22.1
    H4C159.75 M6.0*6.6*9.75 M22.8*9.75 M12.022.4
    H4C319.92 M6.57.29.92 M23.79.92 M11.8*22.0*
    H8C159.75 M6.0*6.79.75 M22.8*9.75 M12.322.9
    H16C159.75 M6.26.89.75 M23.49.75 M12.222.7
    随机搜索Searched9.96 M6.36.09.13 M23.99.69 M12.523.2
    SAE (无预训练)Searched9.43 M5.96.49.84 M22.89.39 M11.822.0
    SAE (softmax)Searched9.23 M6.16.79.97 M23.49.57 M12.022.3
    SAESearched9.11 M5.66.19.07 M22.19.78 M11.521.5
    下载: 导出CSV 
    | 显示表格
    表  2  SAE编码器与手工编码器在AED框架下的字错误率CER对比 (%)
    模型结构结构设置Aishell-1HKUSTHub5’00
    参数量devtest参数量test参数量swbd1callhm
    TransformerH48.19 M5.76.38.19 M22.88.19 M8.417.6
    H88.19 M6.26.88.19 M22.68.19 M8.517.1
    H168.19 M5.45.98.19 M22.68.19 M8.718.0
    ConformerH4C79.68 M5.35.99.68 M21.59.68 M8.116.0
    H4C159.75 M5.1*5.7*9.75 M21.4*9.75 M8.216.3
    H4C319.92 M5.25.89.92 M21.89.92 M8.0*15.9*
    H8C159.75 M5.25.7*9.75 M21.79.75 M8.116.2
    H16C159.75 M5.1*5.7*9.75 M22.09.75 M8.216.5
    随机搜索Searched9.38 M5.46.19.52 M22.39.09 M8.417.0
    SAE (无预训练)Searched9.46 M5.05.59.93 M21.49.52 M8.016.0
    SAE (softmax)Searched9.77 M5.25.79.29 M21.79.43 M8.216.5
    SAESearched9.05 M4.85.39.11 M21.09.82 M7.715.3
    下载: 导出CSV 
    | 显示表格
    表  3  SAE编码器与手工编码器在RNN-T框架下的字错误率CER对比 (%)
    模型结构结构设置Aishell-1HKUSTHub5’00
    参数量devtest参数量test参数量swbd1callhm
    TransformerH48.19 M6.57.18.19 M27.88.19 M11.320.5
    H88.19 M6.36.88.19 M27.98.19 M11.120.4
    H168.19 M6.37.08.19 M27.68.19 M11.520.9
    ConformerH4C79.68 M6.0*6.89.68 M27.29.68 M10.3*20.3
    H4C159.75 M6.0*6.89.75 M26.6*9.75 M10.519.7
    H4C319.92 M6.16.89.92 M26.89.92 M10.720.1
    H8C159.75 M6.0*6.7*9.75 M27.09.75 M10.719.6*
    H16C159.75 M6.0*6.7*9.75 M27.29.75 M10.420.0
    随机搜索Searched9.71 M6.26.99.84 M27.29.47 M10.920.5
    SAE (无预训练)Searched9.18 M6.06.59.81 M26.49.32 M10.619.9
    SAE (softmax)Searched9.02 M6.06.89.39 M27.19.55 M10.219.4
    SAESearched9.85 M5.66.29.33 M25.99.72 M9.818.8
    下载: 导出CSV 
    | 显示表格

    通过对比三种框架下手工设计的多种不同结构参数的编码器可以发现, 由于不同场景下的语音具备不同的声学特征, 适合某一场景的声学编码器结构未必适合其他场景, 一种固定的编码器结构无法在所有的数据集上都获得最低的字错误率。以AED框架为例, 在所有手工基线中, H16C15结构的Conformer编码器可以在Aishell-1上获得最低字错误率, 但该结构在HKUST和SWBD数据集上的性能却并非最优。这说明了根据目标场景语音设计编码器结构的必要性。进一步可以发现, 通过手工尝试多种不同结构的编码器, 的确可以在目标场景下获得相对更低的字错误率, 即表1表3中“*”处的字错误率明显低于某一种固定结构手工编码器的结果。

    尽管通过手工设计多种不同结构编码器的策略可以在一定程度上改善识别性能, 然而SAE提供了一种更好的根据目标数据集自适应设计声学编码器的方法。SAE的优势体现在两个方面: 一方面, SAE搜索空间中提供的候选编码器数目更加丰富, 保证了SAE可以尝试更多的编码器结构, 从而可以获得更低的字错误率。从表1表3中可以看出, 在三种常用的端到端框架下, SAE获得的字错误率都明显低于手工设计的编码器基线。同时, 由参数量一栏可以看到, SAE搜索得到的编码器结构, 在参数量更小或者增加不大的情况下, 取得了更好的WER效果。在所有数据集上, 相比手工编码器的最优结果(*), SAE的相对字错误率平均降低了5%。另一方面, 通过使用可微分搜索算法, SAE编码器设计成本也远低于手工设计编码器的策略。表4给出了SAE搜索编码器结构和手工设计编码器的时间成本对比, 其中手工基线训练时间是上述8种不同结构的手工基线编码器训练耗时之和。可以看出, 手工设计多种编码器的策略需要逐一训练并评估每个编码器结构的性能, 需要极为高昂的时间成本。而SAE则利用可微分搜索算法, 有效降低了编码器的设计成本。SAE的时间开销由预训练、搜索和重训练三部分组成, 即便是三部分的时间之和也远低于训练多种手工基线的策略。相比手工设计多种不同编码器结构的策略, SAE的时间成本降低了75%以上。总的来说, SAE提供了一种在性能和效率两方面均优于手工方法的场景自适应声学编码器设计方法。

    表  4  SAE编码器与手工编码器训练时间成本对比(单位: h)
    Aishell-1HKUSTSWBD
    CTCAEDRNN-TCTCAEDRNN-TCTCAEDRNN-T
    手工基线训练156.3195.4231.5210.8265.0316.0476.6598.1725.7
    SAE预训练2.12.53.22.83.44.16.27.99.3
    SAE搜索12.515.018.816.420.524.737.246.760.3
    SAE重训练20.625.131.427.434.241.162.177.694.1
    SAE总耗时35.242.653.446.658.169.9105.5132.2163.7
    下载: 导出CSV 
    | 显示表格

    考虑到随机搜索使用的搜索空间与SAE一致, 因此相比随机搜索得到的实验结果, SAE的性能提升完全归功于SAE所使用的搜索算法, 说明了本文使用的可微分搜索算法在挑选编码器结构时的有效性。通过对比不使用端到端预训练的实验结果, SAE展示了全面的性能提升。并且, 相比AED和RNN-T两种框架, CTC框架在不使用预训练时的性能损失最小。这可能是因为CTC在三种框架中有着最少的下游单元参数量, 即需要进行预训练的参数是最少的, 从而预训练对CTC框架的影响最小, 这也符合第2节的分析。

    对比分别使用Gumbel-softmax和softmax连续化松弛策略的实验结果。相比使用Gumbel-softmax, 直接使用softmax导致明显的性能下降, 说明在搜索过程中使用Gumbel-softmax的必要性。图3给出了在Aishell-1上CTC框架使用softmax和Gumbel-softmax进行编码器结构搜索时在训练集和验证集上的损失函数变化曲线, 其中train_loss指训练集误差, validation_loss指验证集误差。使用softmax时, 在训练到一定程度后, 验证集的损失明显偏离训练集的损失, 这是由于使用softmax出现的搜索偏差。Gumbel-softmax很好地缓解了这一现象, 整个搜索过程中验证集始终与训练集的性能一同改善, 这意味着Gumbel-softmax极大地缩小了搜索过程中训练集和验证集之间的偏差, 这也符合1.2节的分析。

    图  3  Aishell-1上的损失函数变化曲线 (a)使用softmax; (b)使用Gumbel-softmax

    除语音内容、语种等因素外, 实际应用中ASR系统接收到的语音数据极有可能混杂进噪声和混响, 这种带噪语音数据在声学特征上和纯净语音有明显区别。本文对Aishell-1的train, dev数据添加混响和噪声, 得到新的带噪数据集Aishell-Noisy。首先对原始纯净语音随机添加1 m, 2 m, 5 m三种距离的混响, 之后再将其与开源的WHAM噪声数据集[29]进行混杂, 信噪比在0~20 dB间均匀随机分布。所得Aishell-Noisy和原始的Aishell-1数据集之间具有相同的说话人信息、语音内容和语种信息, 唯一的区别在于是否含噪。图4给出了数据集中BAC009S0002W0150这条语音信息在加入5 m混响, 添加信噪比为20 dB的噪声前后的语谱图。尽管语音内容完全一致, 添加噪声前后的语谱图呈现出不同的频谱特征。因此, 即使语音内容完全相同, 带噪语音和纯净语音也应被看作属于两种不同的语音场景, 而两种场景下最合适的声学编码器结构可能完全不同。

    图  4  Aishell-1语音添加噪声前后语音频谱特征变化示例 (a) 纯净语音; (b) 添加距离5 m的混响和20 dB的噪声

    为验证上述猜想, 进一步在Aishell-1-Noisy数据集上基于AED模型框架进行实验, 表5给出了多种不同的编码器结构在Aishell-Noisy上训练后的识别性能。可以发现, 面对带噪场景, 相比手工基线, 在纯净语音上搜索得到的编码器结构的确没有获得明显的性能提升, 无法获得比最优手工基线(H4C31)更好的带噪语音识别性能。而直接基于带噪场景语音进行编码器结构搜索则可以十分有效地提升在带噪场景测试集上的识别性能, 无论是与在纯净语音上搜索得到的编码器结构还是最优的手工基线相比, 其CER都提升10%以上。从这个角度来说, 通过将带噪语音看作一种特殊的声学场景, SAE提供了一种实现鲁棒语音识别的新思路, 即SAE可以被用于设计鲁棒性更强、抗噪性能更好的声学编码器以提升ASR系统在带噪环境下的识别性能。

    表  5  不同SAE编码器与手工编码器在Aishell-Noisy上的字错误率CER对比 (%)
    编码器名称结构设置Aishell-Noisy dev
    TransformerH420.1
    TransformerH819.8
    TransformerH1620.2
    ConformerH4C719.1
    ConformerH4C1517.3
    ConformerH4C3117.1*
    ConformerH8C1518.0
    ConformerH16C1517.5
    SAEAishell-1搜索获得17.8
    SAEAishell-Noisy搜索获得15.0
    下载: 导出CSV 
    | 显示表格

    为深入探究SAE搜索空间对性能的影响, 在Aishell-1数据集上针对SAE搜索空间进行一系列消融性实验。具体的做法分为两种: (1) 将三种模组分别固定为某个特定的候选操作, 只对其余两个模组进行搜索, 如SAE-MHSA4, 指将MHSA固定为MHSA4操作, 对CNN和FFN进行搜索; (2) 只搜索一个编码器模块, 然后通过堆叠N层相同模块的方式构建整个编码器。表6给出了消融实验和手工基线的实验结果, 其中Transformer和Conformer提供了相应框架下的最好性能, 即表1表3中“*”处的结果。

    表  6  消融搜索空间与完整搜索空间在Aishell-1上的字错误率CER对比 (%)
    ·CTCAEDRNN-T
    devtestdevtestdevtest
    Transformer (best)6.87.45.45.96.36.8
    Conformer (best)5.86.45.15.76.06.7
    固定MHA为MHSA45.96.65.05.55.96.4
    固定CNN为CNN155.86.35.25.76.16.8
    固定FFN为FFN10245.66.14.85.35.66.2
    堆叠相同模块5.86.35.15.75.96.6
    SAE5.66.14.85.35.66.2
    下载: 导出CSV 
    | 显示表格

    从表中可以看出, 在对搜索空间进行一定的限制后, 如将MHSA、CNN模块固定为某一特定的后续操作数或者直接多层堆叠相同模块, 字错误率都会出现一定程度的上升。这个结果证实了SAE为搜索空间中每个模组提供多个候选操作, 且多层直接独立设计模块结构的必要性。一个特殊情况是, 当FFN层固定为FFN1024时, 性能相比完整搜索空间并不会下降。这一现象与手工设计Transformer和Conformer时的结论是一致的, 即对FFN来说, 激活维度越高, 建模能力越强, 性能越好。

    为根据特定场景中语音的声学特征针对性设计高性能的声学编码器, 提出了一种利用神经网络结构搜索技术的场景自适应声学编码器方法SAE。通过可微分优化方法, SAE可深入分析特定场景下的语音数据, 挖掘其中包含的情感、语种、噪声、信道等多个维度的声学特征, 并基于这些声学特征设计出一个适应目标场景的高性能声学编码器。实验结果表明, SAE在多种不同的声学场景下均有效提升了识别性能, 相比现有方法中的声学编码器可以获得更低的错误率。因此, SAE方法是一种针对特定声学场景设计高性能声学编码器的有效方法。

  • 图  1   三种端到端语音识别框架 (a) CTC框架; (b) AED框架; (c) RNN-T框架

    图  2   (a) SAE编码器完整的框架图; (b) 可搜索的SAE模块的具体结果; (c) Aishell-1数据集上的一个搜索样例

    图  3   Aishell-1上的损失函数变化曲线 (a)使用softmax; (b)使用Gumbel-softmax

    图  4   Aishell-1语音添加噪声前后语音频谱特征变化示例 (a) 纯净语音; (b) 添加距离5 m的混响和20 dB的噪声

    表  1   SAE编码器与手工编码器在CTC框架下的字错误率CER对比 (%)

    模型结构结构设置Aishell-1HKUSTHub5’00
    参数量devtest参数量test参数量swbd1callhm
    TransformerH48.19 M7.17.78.19 M24.18.19 M13.424.7
    H88.19 M6.87.58.19 M23.78.19 M13.725.2
    H168.19 M6.87.48.19 M23.98.19 M13.625.0
    ConformerH4C79.68 M5.86.49.68 M23.49.68 M11.8*22.1
    H4C159.75 M6.0*6.6*9.75 M22.8*9.75 M12.022.4
    H4C319.92 M6.57.29.92 M23.79.92 M11.8*22.0*
    H8C159.75 M6.0*6.79.75 M22.8*9.75 M12.322.9
    H16C159.75 M6.26.89.75 M23.49.75 M12.222.7
    随机搜索Searched9.96 M6.36.09.13 M23.99.69 M12.523.2
    SAE (无预训练)Searched9.43 M5.96.49.84 M22.89.39 M11.822.0
    SAE (softmax)Searched9.23 M6.16.79.97 M23.49.57 M12.022.3
    SAESearched9.11 M5.66.19.07 M22.19.78 M11.521.5
    下载: 导出CSV

    表  2   SAE编码器与手工编码器在AED框架下的字错误率CER对比 (%)

    模型结构结构设置Aishell-1HKUSTHub5’00
    参数量devtest参数量test参数量swbd1callhm
    TransformerH48.19 M5.76.38.19 M22.88.19 M8.417.6
    H88.19 M6.26.88.19 M22.68.19 M8.517.1
    H168.19 M5.45.98.19 M22.68.19 M8.718.0
    ConformerH4C79.68 M5.35.99.68 M21.59.68 M8.116.0
    H4C159.75 M5.1*5.7*9.75 M21.4*9.75 M8.216.3
    H4C319.92 M5.25.89.92 M21.89.92 M8.0*15.9*
    H8C159.75 M5.25.7*9.75 M21.79.75 M8.116.2
    H16C159.75 M5.1*5.7*9.75 M22.09.75 M8.216.5
    随机搜索Searched9.38 M5.46.19.52 M22.39.09 M8.417.0
    SAE (无预训练)Searched9.46 M5.05.59.93 M21.49.52 M8.016.0
    SAE (softmax)Searched9.77 M5.25.79.29 M21.79.43 M8.216.5
    SAESearched9.05 M4.85.39.11 M21.09.82 M7.715.3
    下载: 导出CSV

    表  3   SAE编码器与手工编码器在RNN-T框架下的字错误率CER对比 (%)

    模型结构结构设置Aishell-1HKUSTHub5’00
    参数量devtest参数量test参数量swbd1callhm
    TransformerH48.19 M6.57.18.19 M27.88.19 M11.320.5
    H88.19 M6.36.88.19 M27.98.19 M11.120.4
    H168.19 M6.37.08.19 M27.68.19 M11.520.9
    ConformerH4C79.68 M6.0*6.89.68 M27.29.68 M10.3*20.3
    H4C159.75 M6.0*6.89.75 M26.6*9.75 M10.519.7
    H4C319.92 M6.16.89.92 M26.89.92 M10.720.1
    H8C159.75 M6.0*6.7*9.75 M27.09.75 M10.719.6*
    H16C159.75 M6.0*6.7*9.75 M27.29.75 M10.420.0
    随机搜索Searched9.71 M6.26.99.84 M27.29.47 M10.920.5
    SAE (无预训练)Searched9.18 M6.06.59.81 M26.49.32 M10.619.9
    SAE (softmax)Searched9.02 M6.06.89.39 M27.19.55 M10.219.4
    SAESearched9.85 M5.66.29.33 M25.99.72 M9.818.8
    下载: 导出CSV

    表  4   SAE编码器与手工编码器训练时间成本对比(单位: h)

    Aishell-1HKUSTSWBD
    CTCAEDRNN-TCTCAEDRNN-TCTCAEDRNN-T
    手工基线训练156.3195.4231.5210.8265.0316.0476.6598.1725.7
    SAE预训练2.12.53.22.83.44.16.27.99.3
    SAE搜索12.515.018.816.420.524.737.246.760.3
    SAE重训练20.625.131.427.434.241.162.177.694.1
    SAE总耗时35.242.653.446.658.169.9105.5132.2163.7
    下载: 导出CSV

    表  5   不同SAE编码器与手工编码器在Aishell-Noisy上的字错误率CER对比 (%)

    编码器名称结构设置Aishell-Noisy dev
    TransformerH420.1
    TransformerH819.8
    TransformerH1620.2
    ConformerH4C719.1
    ConformerH4C1517.3
    ConformerH4C3117.1*
    ConformerH8C1518.0
    ConformerH16C1517.5
    SAEAishell-1搜索获得17.8
    SAEAishell-Noisy搜索获得15.0
    下载: 导出CSV

    表  6   消融搜索空间与完整搜索空间在Aishell-1上的字错误率CER对比 (%)

    ·CTCAEDRNN-T
    devtestdevtestdevtest
    Transformer (best)6.87.45.45.96.36.8
    Conformer (best)5.86.45.15.76.06.7
    固定MHA为MHSA45.96.65.05.55.96.4
    固定CNN为CNN155.86.35.25.76.16.8
    固定FFN为FFN10245.66.14.85.35.66.2
    堆叠相同模块5.86.35.15.75.96.6
    SAE5.66.14.85.35.66.2
    下载: 导出CSV
  • [1] 刘加, 陈谐, 单煜翔, 等. 大规模词表连续语音识别引擎紧致动态网络的构建. 清华大学学报(自然科学版), 2012; 52(11): 1530—1534 DOI: 10.16511/j.cnki.qhdxxb.2012.11.012
    [2] 刘加. 汉语大词汇量连续语音识别系统研究进展. 电子学报, 2000; 28(1): 85—91 DOI: 10.3321/j.issn:0372-2112.2000.01.023
    [3]

    Povey D. Discriminative training for large vocabulary speech recognition. Doctoral dissertation, University of Cambridge, 2003

    [4] 倪崇嘉, 刘文举, 徐波. 汉语大词汇量连续语音识别系统研究进展. 中文信息学报, 2009; 23(1): 112—123, 128 DOI: 10.3969/j.issn.1003-0077.2009.01.018
    [5] 刘娟宏, 胡彧, 黄鹤宇. 端到端的深度卷积神经网络语音识别. 计算机应用与软件, 2020; 37(4): 192—196 DOI: 10.3969/j.issn.1000-386x.2020.04.031
    [6] 王子龙, 李俊峰, 张劭韡, 等. 基于递归神经网络的端到端语音识别. 计算机与数字工程, 2019; 47(12): 3099—3106 DOI: 10.3969/j.issn.1672-9722.2019.12.031
    [7] 唐海桃, 薛嘉宾, 韩纪庆. 一种多尺度前向注意力模型的语音识别方法. 电子学报, 2020; 48(7): 1255—1260 DOI: 10.3969/j.issn.0372-2112.2020.07.002
    [8] 郭家兴, 韩纪庆. 一种RNN-T与BERT相结合的端到端语音识别模型. 智能计算机与应用, 2021; 11(2): 169—173 DOI: 10.3969/j.issn.2095-2163.2021.02.037
    [9] 张开生, 赵小芬. 复杂环境下基于自适应深度神经网络的鲁棒语音识别. 计算机工程与科学, 2022; 44(6): 1105—1113 DOI: 10.3969/j.issn.1007-130X.2022.06.019
    [10]

    Vielzeuf V, Antipov G. Are E2E ASR models ready for an industrial usage? arXiv preprint: 2112.12572, 2021

    [11] 杨威, 胡燕. 混合CTC/attention架构端到端带口音普通话识别. 计算机应用研究, 2021; 38(3): 755—759 DOI: 10.19734/j.issn.1001-3695.2020.02.0036
    [12]

    Jain M, Schubert K, Mahadeokar J, et al. RNN-T for latency controlled ASR with improved beam search. arXiv preprint: 1911.01629, 2019

    [13]

    Graves A, Fernández S, Gomez F, et al. Connectionist temporal classification: labelling unsegmented sequence data with recurrent neural networks. 23rd international conference on Machine learning, 2006: 369—376

    [14] 刘晓峰, 宋文爱, 陈小东, 等. 基于多核卷积融合网络的BLSTM-CTC语音识别. 计算机应用与软件, 2021; 38(11): 167—173 DOI: 10.3969/j.issn.1000-386x.2021.11.026
    [15] 沈逸文, 孙俊. 结合Transformer的轻量化中文语音识别. 计算机应用研究, 2023; 40(2): 424—429 DOI: 10.19734/j.issn.1001-3695.2022.06.0340
    [16]

    Liu H, Simonyan K, Yang Y. DARTS: Differentiable architecture search. International Conference on Learning Representations, 2018

    [17]

    So D, Le Q, Liang C. The evolved transformer. International Conference on Machine Learning, PMLR, 2019: 5877—5886

    [18] 姚潇, 史叶伟, 霍冠英, 等. 基于神经网络结构搜索的轻量化网络构建. 模式识别与人工智能, 2021; 34(11): 1038—1048 DOI: 10.16451/j.cnki.issn1003-6059.202111007
    [19]

    Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need. 31st International Conference on Neural Information Processing Systems, 2017: 6000—6010

    [20] 李业良, 张二华, 唐振民. 基于混合式注意力机制的语音识别研究. 计算机应用研究, 2020; 37(1): 131—134 DOI: 10.19734/j.issn.1001-3695.2018.06.0492
    [21]

    Gulati A, Qin J, Chiu C C, et al. Conformer: Convolution-augmented transformer for speech recognition. arXiv preprint: 2005.08100, 2020

    [22]

    Sanger T D. Optimal unsupervised learning in a single-layer linear feedforward neural network. Neural networks, 1989; 2(6): 459—473 DOI: 10.1016/0893-6080(89)90044-0

    [23] 朱学超, 张飞, 高鹭, 等. 基于残差网络和门控卷积网络的语音识别研究. 计算机工程与应用, 2022; 58(7): 185—191 DOI: 10.3778/j.issn.1002-8331.2108-0265
    [24]

    Jang E, Gu S, Poole B. Categorical reparameterization with gumbel-softmax. arXiv preprint: 1611.01144, 2016

    [25]

    Bu H, Du J, Na X, et al. Aishell-1: An open-source Mandarin speech corpus and a speech recognition baseline. 20th Conference of the Oriental Chapter of the International Coordinating Committee on Speech Databases and Speech I/O Systems and Assessment, Seoul, Korea, IEEE, 2017

    [26]

    Liu Y, Fung P, Yang Y, et al. HKUST/MTS: A very large scale mandarin telephone speech corpus. International Symposium on Chinese Spoken Language Processing, Springer, Berlin, Heidelberg, 2006: 724—735

    [27]

    Godfrey J J, Holliman E C, McDaniel J. SWITCHBOARD: Telephone speech corpus for research and development. IEEE International Conference on Acoustics, Speech, and Signal Processing, IEEE Computer Society, San Francisco, CA, USA, 1992: 517—520

    [28]

    Watanabe S, Hori T, Karita S, et al. Espnet: End-to-end speech processing toolkit. arXiv preprint: 1804.00015, 2018

    [29]

    Maciejewski M, Wichern G, McQuinn E, et al. WHAMR!: Noisy and reverberant single-channel speech separation. IEEE International Conference on Acoustics, Speech and Signal Processing, Barcelona, Spain, 2020: 696—700

  • 期刊类型引用(3)

    1. 田三力,黎塔,叶凌轩,吴石松,赵庆卫,张鹏远. 基于离散小波变换及高低频子带解耦的低计算资源占用端到端语音识别. 声学学报. 2025(02): 373-383 . 本站查看
    2. 王雪宝,汤永涛,王青波,唐文龙. 人工智能语音识别技术在国外军事领域的应用分析. 电脑知识与技术. 2024(05): 21-23 . 百度学术
    3. 董胡,夏明霞,李垣陵. 基于DCNN-CTC的中文儿童语音识别研究. 自动化应用. 2024(23): 28-30 . 百度学术

    其他类型引用(1)

图(4)  /  表(6)
计量
  • 文章访问数:  243
  • HTML全文浏览量:  86
  • PDF下载量:  87
  • 被引次数: 4
出版历程
  • 收稿日期:  2022-10-30
  • 修回日期:  2023-01-15
  • 网络出版日期:  2023-11-01
  • 刊出日期:  2023-11-01

目录

/

返回文章
返回