CTC模型

CTC模型(Connectionist temporal classification)接在RNN网络的最后一层用于序列学习所用;对于一段长度为T的序列来说,每个样本点 t 在RNN网络的最后一层都会输出一个softmax向量,表示预测概率;接上CTC模型之后,就可以正确预测出序列的标签;

(一)简介

1.假设一段长为T的序列的每个时间点的label有可能是L个不同的label中的一个,那么这段序列的label总共有L的T次方种可能;

2.在CTC模型中,一般为把L个label扩展到L+1个label,多加一个空白字符的label,表示序列中的空白之处;

3.我们把L的T次方种可能的每一种可能称为一条“PATH”,其条件概率如下:


4.由于在学习的过程中一般使用滑动窗口,并且序列之间有空白隔开,那么可以将每条路经中重复的地方以及空白预测去除,比如:


以上两种的预测都是aab;因此预测标签的条件概率可以表示为相应PATH的条件概率之和:


(二)条件概率的计算(前后向计算)


(三)模型训练

1.损失函数


2.梯度下降法优化

(四)解码


ps:该博文只简单记录该算法的构思,具体细节可以查看以下论文:

Offline Arabic Handwriting Recognition with Multidimensional Neural Networks

Supervised Sequence Labelling with Recurrent Neural Networks

©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页