[ASR] CTC(Connectionist Temporal Classification)

[ASR] CTC(Connectionist Temporal Classification),第1张

20181109 qzd

附原文: 《Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Networks》

参考书目: 《Supervised Sequence Labelling with Recurrent Neural Networks》 chapter7

CTC全称,Connectionist temporal classification,可以理解为基于神经网络的时序类分类。语音识别中声学模型的训练属于监督学习,需要知道每一帧对应的label才能进行有效的训练,在训练的数据准备阶段必须要对语音进行强制对齐。对于语音的一帧数据,很难给出一个label,但是几十帧数据就容易判断出对应的发音label。 CTC的引入可以放宽了这种逐一对应的要求,只需要一个输入序列和一个输出序列即可以训练。 CTC解决这一问题的方法是,在标注符号集中加一个空白符号blank,然后利用 RNN 进行标注,最后把blank符号和预测出的重复符号消除。比如有可能预测除了一个"--a-bb",就对应序列"ab",这样就让RNN可以对长度小于输入序列的标注序列进行预测了。RNN的训练需要用到前向后向算法(Forward-backward algorithm),大概思路是:对于给定预测序列,比如“ab”,在各个字符间插入空白符号,建立起篱笆网络(Trellis),然后对将所有可能映射到给定预测的序列都穷举出来求和。

CTC有两点好处:不需要对数据对齐和一一标注;CTC直接输出序列预测的概率,不需要外部的后处理。

在端到端的语音识别中有以下问题:

即长度问题和对齐问题,多个输入帧对应一个输出或者一个输入对多个输出。

连接主义时间分类(CTC)通过允许网络在输入序列中的任何点进行标签预测来实现这一点,只要标签的整个序列是正确的即可。 这消除了对预分段数据的需要,因为标签与输入的对齐不再重要。 此外,CTC直接输出完整标签序列的概率,这意味着不需要外部后处理来将网络用作时间分类器。

关于参考数目的翻译部分可以看这篇博客

系统可以通过双向rnn进行建模。RNN用来训练得到每个时刻不同音素的概率分布。

输入: 按时序输入的每一帧的特征。

输出: 每一个时刻的输出,是一个softmax,表示K+1个类别的不同概率,K表示音素的个数,1表示blank。(分类问题,是某个音素or空白)

对于给定时序长度为T的 输入特征序列 和任意一个 输出标签序列 π={π1,π2,π3,….,πT}。输出为该序列的概率为每个时刻相应标签的概率乘积:

把上式中的pr概率写成y,就变为论文中的原始公式(y表示softmax输出的概率):

因为输出序列和最后的训练标签一般不等长,我们用x表示输入序列,y表示对应的标签,a表示我们之前预测的序列:采用一个many-to-one的对应准则β(去除blank和重复),使上述的输出序列与给定的标签序列对应,比如(a,-,b,c,-,-)和(-,-,a,-,b,c)都映射成标签y(a,b,c)。

β^(-1)表示β的逆过程,即one-to-many,也就是把(a,b,c)映射成有重复和blank的所有可能,所以最终的标签y为给定输入序列x在LSTM模型下各个序列标签的概率之和:

所以给定一个输入序列x和一个标注l*,上式为给定输入x,输出序列为 l 的概率。LSTM的目标函数最大化上述概率值(最小化负对数)。

CTC的损失函数定义如下所示:

其中 p(z|x)代表给定输入x,输出序列 z 的概率,S为训练集。损失函数可以解释为:给定样本后输出正确label的概率的乘积,再取负对数就是损失函数了。取负号之后我们通过最小化损失函数,就可以使输出正确的label的概率达到最大了。

由于上述定义的损失函数是可微的,因此我们可以求出它对每一个权重的导数,然后就可以使用梯度下降、Adam等优化算法来进行求解。

半导体二极管参数符号解释

CT---势垒电容

Cj---结(极间)电容, 表示在二极管两端加规定偏压下,锗检波二极管的总电容

Cjv---偏压结电容

Co---零偏压电容

Cjo---零偏压结电容

Cjo/Cjn---结电容变化

Cs---管壳电容或封装电容

Ct---总电容

CTV---电压温度系数。在测试电流下,稳定电压的相对变化与环境温度的绝对变化之比

CTC---电容温度系数

Cvn---标称电容

IF---正向直流电流(正向测试电流)。锗检波二极管在规定的正向电压VF下,通过极间的电流;硅整流 管、硅堆在规定的使用条件下,在正弦半波中允许连续通过的最大工作电流(平均值),硅开关二极管在额定功率下允许通过的最大正向直流电流;测稳压二极管正向电参数时给定的电流

IF(AV)---正向平均电流

IFM(IM)---正向峰值电流(正向最大电流)。在额定功率下,允许通过二极管的最大正向脉冲电流。发光二极管极限电流。

IH---恒定电流、维持电流。

Ii--- 发光二极管起辉电流

IFRM---正向重复峰值电流

IFSM---正向不重复峰值电流(浪涌电流)

Io---整流电流。在特定线路中规定频率和规定电压条件下所通过的工作电流

IF(ov)---正向过载电流

IL---光电流或稳流二极管极限电流

ID---暗电流

IB2---单结晶体管中的基极调制电流

IEM---发射极峰值电流

IEB10---双基极单结晶体管中发射极与第一基极间反向电流

IEB20---双基极单结晶体管中发射极向电流

ICM---最大输出平均电流

IFMP---正向脉冲电流

IP---峰点电流

IV---谷点电流

IGT---晶闸管控制极触发电流

IGD---晶闸管控制极不触发电流

IGFM---控制极正向峰值电流

IR(AV)---反向平均电流

IR(In)---反向直流电流(反向漏电流)。在测反向特性时,给定的反向电流;硅堆在正弦半波电阻性负载电路中,加反向电压规定值时,所通过的电流;硅开关二极管两端加反向工作电压VR时所通过的电流;稳压二极管在反向电压下,产生的漏电流;整流管在正弦半波最高反向工作电压下的漏电流。

IRM---反向峰值电流

IRR---晶闸管反向重复平均电流

IDR---晶闸管断态平均重复电流

IRRM---反向重复峰值电流

IRSM---反向不重复峰值电流(反向浪涌电流)

Irp---反向恢复电流

Iz---稳定电压电流(反向测试电流)。测试反向电参数时,给定的反向电流

Izk---稳压管膝点电流

IOM---最大正向(整流)电流。在规定条件下,能承受的正向最大瞬时电流;在电阻性负荷的正弦半波整流电路中允许连续通过锗检波二极管的最大工作电流

IZSM---稳压二极管浪涌电流

IZM---最大稳压电流。在最大耗散功率下稳压二极管允许通过的电流

iF---正向总瞬时电流

iR---反向总瞬时电流

ir---反向恢复电流

Iop---工作电流

Is---稳流二极管稳定电流

f---频率

n---电容变化指数;电容比

Q---优值(品质因素)

δvz---稳压管电压漂移

di/dt---通态电流临界上升率

dv/dt---通态电压临界上升率

PB---承受脉冲烧毁功率

PFT(AV)---正向导通平均耗散功率

PFTM---正向峰值耗散功率

PFT---正向导通总瞬时耗散功率

Pd---耗散功率

PG---门极平均功率

PGM---门极峰值功率

PC---控制极平均功率或集电极耗散功率


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/dianzi/9128030.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-25
下一篇2023-04-25

发表评论

登录后才能评论

评论列表(0条)

    保存