1. 引言
现实生活当中,序列标注任务随手可见,比如语音识别、图像文本识别、手势识别等,这些任务有一个共同的特点,就是输出是变长的,如果利用传统的RNN来进行预测,那么会遇到一个问题,就是需要将RNN的输出与真实标签进行一一对齐,这样一来,就会导致数据集的构造特别麻烦,需要耗费大量的人力和时间,因此,CTC方法的提出就是为了解决这个问题,该方法可以不用要求对输出的标签进行对齐,直接利用RNN的输出进行预测并训练。原始论文链接如下:
下面将对该方法进行展开具体介绍。
2. CTC方法原理
2.1 CTC方法介绍
记是从一个固定分布
抽样出来的训练集,
为所有输入序列的向量表示,每个输入序列的维度为m,
表示所有输出字符类别的集合,在
中的每一个样本都包含一对配对的序列
,其中,目标序列
的长度不能超过输入序列
的长度,即
。因此,序列标注任务的目的其实就是利用
训练一个时序分类器
,使得其错误率尽可能低。那么,如何评估
的错误率呢,作者介绍了一个LER(label error rate)的评估指标,其计算公式如下:
其中,表示两个序列p和q之间的编辑距离,即p转换成q需要的插入、替换、移除字符的操作次数,
表示与
不相交的测试集。
定义一个RNN网络,该RNN网络的输入维度为m,输出维度为n,记其权重矩阵为变换
,令