(CTC损失)Hybrid CTC/Attention Architecture for End-to-End Speech Recognition阅读笔记

ASR-R

(CTC损失)Hybrid CTC/Attention Architecture for End-to-End Speech Recognition阅读笔记


本文想优化的ASR问题

  • 逐步修正:许多专有模型的处理过程需要先创建一个精确模型。例如,当我们从头开始建立一个声学模型时,我们必须先创建一个HMM模型和GMM模型来得到确定状态的HMM模型在音素级别上的对齐。
  • 语言信息:为了很好的分解声学模型和语言模型,我们需要先建立一个词典模型(利用基于手工设计的发音词典将文字映射到音素)。因为音素是通过语言知识来设计的,因此它们容易受到人工错误的影响,但一个完全数据驱动的模型是可以避免此类问题的。由于一些语言并没有很明显的词语边界,因此需要一个分词模型。(总的来说就是模型集成很复杂?)
  • 条件独立假设:当前ASR系统在分解模型阶段,经常使用以马尔可夫假设为代表的条件独立假设,并利用GMM DNN 和n-gram模型。而现实数据并不需要按照以上假设,此类假设可能导致模型错误。
  • 复杂的解码过程:推理/解码阶段必须集成以上所有模型的结果。尽管目前这种整合方法能通过有限的状态转导有效简化,但是整个结构和实现十分复杂。
  • 优化不连贯:以上模型都是基于不同的目标函数进行优化的,每个模型之间不能够在优化过程中进一步匹配。

阅读核心:CTC部分是如何影响最终排序结果的?

动机

!!所有ASR模型的核心是阐明最终的后验分布p(W |X)(基于输入语音所输出文字序列的概率),并且可以通过p(W)和声学模型的最大似然概率p(X|W)重新结合得到后验分布。

通过使用letter表征代替word表征(因为word表征容易有OOV的问题)

基于注意力的端到端方法,通过编解码结构将ASR问题转化为一种序列映射问题(从语音序列特征映射到文本序列)。解码器网络通常使用注意力机制找到一种对其隐状态和输出序列的每个元素间的对应关系。(解码部分计算每个隐状态特征和编码器的每个输入状态特征相似度)

然而,基本的时间注意机制在某种意义上太灵活了,它允许非常不连续的对齐。在机器翻译领域的倒装句情况下,此类方法被证明有效;但对ASR任务来说,大部分时间的注意力机制都在序列相邻值附近,且ASR的输入根据语速和书写系统的不同,序列长度将会有很大的区别,这使得对齐跟踪更加困难。

注意力的优势是无需任何条件独立假设 并且能够处理开头提及的所有问题。因此本文针对注意力机制的主要弊端引入CTC来实现更严格的对齐约束。

本文将CTC目标函数作为一个正则项,加入到基于注意力的编解码器中。在没有任何启发式搜索技术的情况下,将大大减少不规则对齐话语的数量。 在解码过程中,采用了一种联合解码方法,能够在rescoring/beamsearch算法中将基于注意力的分数和 CTC 分数结合来达到无条件独立假设下的强对齐约束 。
图一

二、本文相关技术

1.多目标函数学习

本文架构采用多目标函数的学习框架。图1阐述了该框架的全局架构,其中CTC部分能够强迫语音和文字序列在训练过程中是单向对称的(不会出现翻译中的间隔过长问题);相比起完全利用数据驱动的注意力机制进行对齐,通过CTC施加约束能够使得对齐过程得到加速。

2.联合解码

纯注意力机制的缺点

基于注意力机制的ASR解码,容易包含删除或者插入错误(因为纯注意力机制容易导致过于灵活的对齐特性);可能会过早的产生EOS(序列结束标签),另一方面可能会过度关注先前的相同部分而导致假设变得很长。

传统解码技术:

解决注意力模型过长过短的方法是添加长度惩罚(length penalty),也可以通过设置最大和最小长度来控制(最大和最小的选择被表示为输入语音长度的固定比率)。以上提及的两点在speechbrain的s2s部分均有采用。

额外采用了在翻译模型中经常使用到的coverage term(覆盖项),通过源端输入帧的注意力权重,判断该源端帧是否已经被转译。但是该方法同样存在过早eos或出现许多删除错误。

联合解码:

不需要length penalty 和coverage min/max就可以得出比较好的假设结果(自己在libri上实验了一下并非如此,penalty和coverage 均有提升)

然而,在beamsearch中将 CTC 和基于注意力的分数结合起来并非易事,因为注意力解码器输出标签同步方式执行它,而 CTC 以帧同步方式执行它(?没太理解,指的可能是CTC每帧都会输出,而注意力机制的输出单位是token级别?)

两种利用CTC概率分布的方法:

1重得分:基于注意力机制的得分重新加入CTC得分,如下:

重新计算分数
在这里插入图片描述

2one-pass decoding:仅仅用一次解码过程完成。
在这里插入图片描述
算法一流程图:先定义长度0的前缀(仅包含sos),针对输出长度最大为Lmax的字符串解码,解码长度为l的子串时,首先从l-1的前缀队列(队列中存在至多beam_size个l-1的前缀)中取出一个标记为g,计算g后增加任意token(标记为c)的所有可能分数,得到新的h=conca(g,c)加入到l的前缀队列中。循环得到最终的beam_size个候选序列。


算法二——CTC标签序列得分计算
在这里插入图片描述
CTC标签序列得分计算:先定义以blank或者noblank结尾的序列的前向概率gamma:

在这里插入图片描述

该概率分别代表h(当前已解码的可能输出字符串)以blank结尾和不以blank结尾的概率。

先将可能序列h分解为前缀g加上最后可能的label-c,如果c是结束标志,那么就返回noblank和blank的概率和;如果c为非结束标志,先针对t=1时刻,赋予noblank和blank初始值,Ψ为X输入下前缀为h的概率。该算法的核心是前缀g的长度永远小于等于h,意味着永远可以从g的概率分布推断至h的概率分布,具体循环细节见原论文算法。具有单向强时序特征的计算方式能够将注意力机制中的不相关对齐结果去除。


总结

在这里插入图片描述
由上图可知,当引入了本文的MOL方法后,相比仅仅通过attention方法进行训练的alignments结果要显著差于attention+CTC的强对齐约束。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值