论文链接:https://ieeexplore.ieee.org/abstract/document/10096615/
简介
将语音增强(SE)用作自动语音识别(ASR)的辅助任务,在反向传播的过程中,二者的梯度可能会方向不一,大小也可能相差较远。若二者梯度在高维空间中形成一个钝角,则SE的梯度会对ASR的梯度传播造成阻碍;若SE的梯度值远大于ASR的梯度,则ASR的梯度值在传播过程中影响微乎其微。
本文在反向传播过程中对SE的方向进行变化,并对其大小进行放缩。如上图,当二者角度成钝角时,变换SE使其为锐角;当SE模远大于ASR时,缩小SE同时放大ASR。文章提出的的实现方式如下图:
实现方式
对SE模块中每一层的梯度进行运算,这些梯度事先被展平为一维长向量,并在补救后重新整形以形成最终梯度。注意,SE的梯度仅在SE模块后的部分存在。
数据集与模型
数据集:RATS、CHiME-4
多任务学习系统由两个模块组成:SE模块和ASR模块。SE模块遵使用3层896个单元的双向长短期存储器(BLSTM)和257个单元的线性层,然后是ReLU激活函数,预测噪声语音特征幅度的掩码,其中包含4370万个参数。然后,我们将最先进的Conformer用于ASR模块,其中其编码器由12个Conformer块组成,解码器包含6个transformer块,嵌入维度/前馈维度/注意力头设置为256/2048/4。我们使用1000字节对编码(BPE)令牌来对ASR输出进行建模。
该系统由Adam算法进行优化,其中学习率在前25000步中线性上升至0.002,然后与训练步的平方根倒数成比例下降。论文实验在RATS数据集上为实验训练了50个时期,在CHiME-4数据集上训练了100个时期。加权参数λASR设置为0.7,阈值K设置为5,批量大小设置为64。另外在训练文本上构建了一个2层650单元的RNNLM,用于推理过程中的重新搜索。所有超参数都在验证集上进行了调整。
方法对比实验
将本文所用的方法与其他几种典型的多任务学习架构和方法相比较,结果如图:
关键参数验证实验
论文对部分关键参数进行了实验,包括theta 角的大小,阈值 K 以及放缩尺度 r 。实验证明,1、灵活的 theta 角比30、36、45、60、90等固定角度效果更好;2、调节不同大小的 K、r 值,实验结果如图:
几个思考
此方法在变换的过程中对SE梯度的方向进行了变换,为什么会有效?因为ASR的梯度比SE的梯度更为重要。
在反向传播的过程中,应该求出每层的SE梯度,进行变换后再传向上一层,还是先进行了所有层的传播,再进行变换?个人感觉后者应该更好。
如何使得SE的梯度传到SE模块起始处便终止传播?涉及到 backward 函数的理解与使用。