Temporal Classification是给定输入序列 X = [ x 1 , x 2 , … , x T ] X=\left[x_{1}, x_{2}, \ldots, x_{T}\right] X=[x1,x2,…,xT]以及对应的标签数据 Y = [ y 1 , y 2 , … , y U ] Y=\left[y_{1}, y_{2}, \ldots, y_{U}\right] Y=[y1,y2,…,yU] ,例如语音识别中的音频文件和文本文件,我们的工作是找到 X X X到 Y Y Y的一个映射,这种对时序数据进行分类的算法叫做Temporal Classification。
CTC(connectionist temporal classification)是计算一种损失值,即最大化多种可能路径的概率和(最小化其负对数)。主要的优点是可以对没有对齐的数据进行自动对齐,主要用在没有事先对齐的序列化数据训练上。比如语音识别、ocr识别等等。
理解CTC可以分为两个阶段,首先是正向计算阶段(即给定 X X X和 Y Y Y如何计算对齐概率的含参表达式),其次是反向传播阶段(即训练过程的优化推导)。