1.RNA
RNA提出的时间要比RNN-T晚,但是实际上是介于CTC和RNN-T之间的一种结构,在CTC中,有一个假设是输出之间相互独立的,但是这种假设其实不是很好,因为有时候下一阶段的输出和上一阶段的输出之间还是有较大的关系。因此,RNA在输出的过程中加了一个循环神经网络,使得上一时间段的输出做为决定下一时间段输出的一部分。
2.RNN-T
前面的模型都是看到一个输入就有一个输出,假设我们遇到了一个状况就是:有时候一个发音要同时对应一串token而不是一个token,有什么办法解决这个问题?RNN-T就可以解决这类问题。

2.1 RNN-T的运作方式

在training的时候,RNN-T和CTC一样,有一个alignment问题。比如:有4个acoustic feature,标签为:“好棒”。那么要把4个acoustic feature读完就需要产生4个

2.2 在原始的基础上加了一个recurrent network

2.3 加上recurrent network的原因

(1)为了训练而设计,在后面介绍时会理解他的巧妙之处。 (2)
可以看成一个languang model。
3.RNN-T 的训练
3.1 LAS产生label的计算

3.2 CTC和RNN-T的计算
CTC和RNN-T都需要alignment,所以不能像LAS那样直接计算。

image.png
- 怎么计算所有可能的alignment
- 怎么将所有可能的alignment加起来
- 怎么训练
3.2.1 所有的alignment

-
HMM
一个token可以重复次,但是所有token重复次数的和要等于acoustic features的长度T,即图中灰色部分所描述的公式。表中横轴代表acoustic features,纵轴代表token。从左上角开始一直走到右下角,中间每一步只能有两个方向:向右走或者是向右下走。但是终点一定要是右下角才算是合法的路径。从起点开始一直走到终点的所有合法路径就是所有可能的alignment。下图就是一个非法路径
-
CTC
CTC在最后合并token的规则是:(1)首先合并重复项(2)去掉token.例如:a ar
r
s s s
s,经过第一步的结果是:a
r
r
s
s,经过第二步的结果是a r r s s 。下面的合法路径的选择都是基于这个规则下。
CTC中的可以插在任何地方,开头,token之间或者结尾。但是
的个数加上token的个数要等于acoustic features的个数。其中
的个数可以为0,但是每一个token的个数不能为0。
1234
CTC和HMM不同,在CTC进行的过程中,纵轴是在开头,结尾和每一个token之间都插入一个,其合法路径的规则有3个要求
(1)其初始的起点可以有两个,即处的状态可以使
或者是第一个token,这里是C;
(2)其最后的终点也有两个状态,即处的状态可以是
或者是最后一个token,这里是t
(3)当中间状态是token时,且下一个token与之不重复时,其下一步的状态可以有3个,向右走--下一步还是当前的token,向右下方走--下一步就是,跨越
向右下方走(走马步)--下一步就是下一个token,【见图3】
(4) 当中间状态为时,下一步只能有2种情况,向右走或者向右下方走。【见图2、图3】
(5) 当中间状态是token时,且下一个token与之重复时,其下一步的状态只能是2个,向右走--下一步还是当前的token,向右下方走--下一步就是【见图4】,如果走马步,就会在合并的时候丢失掉一个token,所以不能跨越
。
下图举例列出了两条合法路径:

- RNN-T
在RNN-T的过程中,最后一个token后至少有一个,因为他是作为一个acoustic feature和另一个acoustic feature的间隔,当一个单词说完,它肯定要出现
,不然下一段acoustic features没办法进来。而在token之间则可以有也可以没有。
向右走表示,插入,可以理解为当前的acoustic feature没有任何东西,什么都没有输出的,我先插入一个
,你再给我下一个acoustic feature。向下走就表示输出一个token,理解为当前的acoustic feature输出一个token。由于最后一个必须是
,所以终点在右下角还右边一格。
RNN-T一个acoustic feature可以识别出很多token(参见上面的RNN-T的介绍),所以可能第一个acoustic features就把想要的东西全部都输出了,后面全部插入即可。下图显示了一条非法路径
3.2.2 HMM、CTC、RNN-T的路径方式比较

HMM的合法路径只能是复制自己和到达下一个token,CTC的合法路径是复制自己或者到










