CTC方案
p引言
语音识别/手写识别等,需要确定输入与输出序列的对齐信息。
p问题分析
在现实情况下,往往存在如下问题导致难以实现输入和输出序列对齐
•X和Y在长度上总是变化的;
•X和Y并没有固定的长度比率;
•有些数据本身难以对齐。
p传统对齐方案
如:通过重复填充的方式,为每个输入分配一个字符。
•某些对应填充是无意义的,如静音位置
•输出结果无法处理重复字符(hello => helo)。
pCTC对齐方案
CTC在输出中引入blank token来对齐输入序列,该token不对应任何输入,在输出中可以直接删除
•连续相同元素合并
•blank token删除
•blank token间隔的连续相同元素保留
p对齐与训练
为了得到给定输入的输出的概率,CTC计算两者之间所有可能对齐的概率之和。
p推理阶段
从输入到输出的最佳路径/概率最大的路径
p搜索路径
n最佳路径
在每一个time-step上都选择最优/概率最大输出。这种方法容易错过最佳输出路径。
nprefix search decoding
由于输出中包含blank,因此在合并计算路径概率时对beam search有所改动。
RNN transducer(RNN-T)
pCTC存在的问题
•假设给定输入,每个输出都独立于其他输出
•缺乏语言模型建模能力,不能整合语言模型进行联合优化
p改进方案:RNN-T
p对齐方案
与CTC有一定差异,每一帧之后有一个blank
Attention
pSelf-Attention
pMulti-head Self-Attention
multi-head拼接
Transformer
Conformer
Swish activation
relative positional
测试集里的样本长度远大于训练集中的普遍长度时,得到的位置编码是网络没见过的,因此网络会得到不鲁棒的结果
Ponintwise/Depthwise convolution
Separable Convolution核心思想是将卷积分成Depthwise Convolution与Pointwise Convolution。
Depthwise Convolution:卷积完全是在二维平面内进行,且Filter的数量与上一层的Depth相同
Pointwise Convolution:运算与常规卷积运算非常相似,不同之处在于卷积核的尺寸为 1×1×M,M为上一层的depth
参考文献:
3. arxiv.org/pdf/1710.05941.pdf
4. arxiv.org/pdf/1801.00841.pdf
5. arxiv.org/pdf/1803.02155.pdf
6. arxiv.org/pdf/1901.02860.pdf
7. arxiv.org/pdf/2005.08100.pdf
8. blog.csdn.net/daydayup858/article/details/130673330
9. blog.csdn.net/qq_37541097/article/details/117691873
10.distill.pub/2017/ctc/
11.mediatum.ub.tum.de/doc/1292048/document.pdf
12.cc.gatech.edu/classes/AY2021/cs7643_spring/assets/L24_rnnt_asr_tutorial_gt.pdf
13.youtube.com/watch?v=5SSVra6IJY4&t=3s&ab_channel=Hung-yiLee
14.youtube.com/watch?v=CGuLuBaLIeI&list=PLJV_el3uVTsO07RpBYFsXg-bN5Lu0nhdG&index=4&ab_channel=Hung-yiLee
15.youtube.com/watch?v=nzqlFIcCSWQ&t=1s&ab_channel=MuLi
16.youtube.com/watch?v=ugWDIIOHtPA&t=2472s&ab_channel=Hung-yiLee
17.yinguobing.com/separable-convolution/
18.zhuanlan.zhihu.com/p/521855604
19.zhuanlan.zhihu.com/p/630197707