https://cloud.tencent.com/developer/article/1390255
论文地址:
http://people.idsia.ch/~santiago/papers/icml2006.pdf
摘要
许多现实世界中的序列学习任务需要从嘈杂、不分段输入数据标签序列的预测。在语音识别,例如,声信号转录成文字。递归神经网络(RNNs)是功能强大的序列的学习模型,似乎非常适合这样的任务。然而,由于它们需要预分割的训练数据和后处理将其输出转换为标签序列,因此它们的适用性迄今受到限制。本文提出了一种训练RNNs直接的不分段的序列标签新方法,从而解决该问题。TIMIT语料库上显示了它的优越性超过基线HMM和混合hmm-rnn。
介绍
标签不分段的序列数据是一个普遍存在的问题,在现实世界中的序列学习。在感知任务(例如手写识别、语音识别、手势识别)中尤其常见,在嘈杂的、实值的输入流中用离散的标签串来标注,例如字母或单词。
目前,图模型,如隐藏马尔可夫模型、条件随机域和它们的变体,是序列标签的主要框架。虽然这些方法已被证明是成功的许多问题,他们有几个缺点:(1)他们通常需要特定任务的知识很多,例如为HMM状态模型的设计,或为CRFs选择输入功能;(2)他们需要明确的(而且往往是不明确的)依赖的假设使得推理容易处理,例如,假设观测模型是独立的;(3)标准的HMM模型,训练是生成的,即使序列标签判别。
另一方面,递归神经网络(RNNs)不需要对数据的任何先验知识,不需要在输入和输出形式的选择。他们可以有区别的训练,其内部状态提供了一个强大的对时间序列建模的一般机制。此外,它们往往对时间和空间噪声有很强的鲁棒性。
到目前为止,然而,它已不可能采用直接序列标签型。问题是,标准的神经网络目标函数分别定义为在训练序列中的每个点;换句话说,它只能被训练做一系列独立的标签分类。这意味着训练数据必须预先分段,并且网络输出必须经过后期处理才能给出最终的标签序列。
目前,RNNs序列标签最有效的利用就是把他们与隐马尔可夫模型结合而成的所谓的混合方法。混合方法使用HMM模型的远程数据序列结构,与神经网提供本地化的分类。HMM组件能够在训练过程中自动分割序列,并将网络分类转换为标签序列。然而,继承了HMM模型的上述缺点,混合方法不能发挥序列建模RNNs的全部潜力。
本文提出了一种RNNs无需预先分割训练数据、无需处理后的输出序列数据、无需在一个单一的网络体系结构模型的标记的新方法。基本思想是把网络输出解释为所有可能的标签序列的概率分布。鉴于这种分布,目标函数可以直接得到最大化的标签正确的概率。由于目标函数是可微的,因此可以通过反向传播来训练网络。
接下来,我们称标签不分段的数据序列的任务为“时间分类”,我们称为此使用的RNNs“联结时间分类模型(CTC)”。我们将输入序列的每一个时间步长或帧的独立标记称为“帧分类”。
下一节提供了时间分类的数学形式,并定义了本文中所使用的错误度量。第3节描述了RNNs时间分类模型。第4节解释了CTC网络是如何训练的。5节比较CTC混合和HMM在TIMIT语料库系统。第6节讨论了CTC与其他时间分类器之间的一些关键区别,为今后的工作指明方向,并在第7节做总结。
时间分类器
这节主要就是在描述时间分类器的功能与评价方法,数据SSS每个样本是(x,z)(x,z)(x,z)对。这里以语音识别为例,则xxx是语音特征,zzz为识别后的文字。
评价方法为:
其中hhh为模型,S′S′S'为测试集,ZZZ为测试集的大小,EDEDED在计算的是h(x)h(x)h(x)和zzz的编辑距离。
连接时间分类
本节描述允许递归神经网络用于CTC的输出表示。关键步骤是将网络输出转换为标签序列上的条件概率分布。然后,网络可以通过为给定的输入序列选择最可能的标记来分类。