多任务语音识别中的梯度补救

论文链接: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 函数的理解与使用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值