Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw

Abstract

  • 许多现实世界的序列学习任务都需要从有噪声的、未分段的输入数据中预测标签序列。例如,在语音识别中,声音信号被转录成单词或子单词单元。递归神经网络(rnns)是一种功能强大的序列学习器,似乎非常适合这类任务。然而,由于它们需要预先分割的训练数据,以及将其输出转换为标签序列的后处理,因此它们的适用性受到了限制。本文提出了一种新的训练神经网络直接标记未分段序列的方法,从而解决了这两个问题。在TIMIT语音语料库上的实验表明,该算法比基线HMM和混合HMM-RNN算法都具有优越性。

Introduction

  • 在实际序列学习中,标记未分段序列数据是一个普遍存在的问题。这在感知任务(例如手写识别、语音识别、手势识别)中尤其常见,在这些任务中,噪声、实值输入流用一串离散标签(例如字母或单词)进行注释。目前,诸如隐马尔可夫模型(hmms;rabiner,1989)、条件随机域(crfs;la fferty等人,2001)及其变体等图形模型是序列标记的主要框架。虽然这些方法在许多问题上已经被证明是成功的,但它们有几个缺点:(1)它们通常需要大量的任务专用知识,例如为hmm设计状态模型,或为crf选择输入特征;(2)它们需要明确的(通常是有疑问的)依赖性假设,以使推理变得可处理,例如,假设观察结果独立于hmm;(3)对于标准hmm,训练是生成的,即使序列标签是有区别的。
  • 另一方面,递归神经网络(rnns)不需要对数据的先验知识,除了输入和输出表示的选择。它们可以被区别地训练,它们的内部状态为时间序列建模提供了一个强大的通用机制。此外,它们往往对时间和空间噪声具有鲁棒性。
  • 然而,到目前为止,还不可能将rnns直接应用于序列标记。问题是,标准神经网络目标函数是为训练序列中的每个点分别定义的;换言之,RNN只能训练成一系列独立的标签分类。这意味着必须对训练数据进行预分割,并且必须对网络输出进行后处理,以给出最终的标签序列。
  • 目前,RNN最有效的应用是在所谓的混合方法中将它们与HMM结合起来(Bourlard&Morgan,1994;Bengio,1999)。混合系统使用hmms对数据的长期序列结构进行建模,并使用神经网络提供局部分类。HMM组件能够在训练期间自动分割序列,并将网络分类转换为标签序列。然而,除了继承了hmms的上述缺点外,混合系统并没有充分发挥rnns在序列建模方面的潜力。
  • 本文提出了一种用rnns标记序列数据的新方法,该方法消除了对训练数据和后处理输出的需求,并在单一网络结构中对序列的各个方面进行建模。基本思想是将网络输出解释为所有可能的标签序列上的概率分布,条件是给定的输入序列。给定这个分布,就可以导出一个目标函数,直接使正确标记的概率最大化。由于目标函数是不同的,网络可以通过时间的标准反向传播进行训练(Werbos,1990)。
  • 在下文中,我们将未分段数据序列标记为时间分类的任务(kadous,2002)以及为此目的使用RNNs作为连接主义时间分类(CTC)。相比之下,我们将输入序列的每个时间步或帧的独立标记称为帧级分类。
  • 下一节提供时间分类的数学形式,并定义本文中使用的误差测量。第3节描述了允许RNN用作时间分类的输出表示。第4节解释了反恐委员会网络的运作方式。第五节在timit语音语料库上比较了ctohybrid和hmm系统。第6节讨论了CTC与其他时间分类之间的一些关键区别,为未来的工作指明了方向,论文最后以第7节结束。

Temporal Classification

  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第1张图片
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第2张图片
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第3张图片

Connectionist Temporal Classification

  • 本节描述了一种输出表示法,它允许一个递归神经网络用于CTC。关键的一步是将网络输出转化为标签序列上的条件概率分布。然后,通过为给定的输入序列选择最可能的标签,可以使用该网络进行分类。
  • CTC网络有一个SoftMax输出层(Bridle,1990),比L中的标签多一个单元。第一个“L”单位的激活被解释为在特定时间观察相应标签的概率。额外单元的激活是观察到“空白”或“无标签”的概率。总之,这些输出定义了所有可能的方式将所有可能的标签序列与输入序列对齐的概率。任何一个标签序列的总概率可以通过求其不同排列的概率之和得到。
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第4张图片
  • 隐含在(2)中的假设是,给定网络的内部状态,网络在不同时间的输出是有条件独立的。这是通过要求不存在从输出层到自身或网络的反馈连接来确保的。
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第5张图片
  • 鉴于上述公式,分类器的输出应为输入序列的最可能标记:
  • 使用HMMs的术语,我们将查找这个标签的任务称为解码。不幸的是,我们不知道一个通用的,可处理的解码算法为我们的系统。但以下两种近似方法在实际应用中取得了较好的效果。第一种方法(最佳路径解码)基于最可能路径将对应于最可能标签的假设:
  • 最佳路径解码计算起来很简单,因为π*只是每个时间步上最活跃输出的串联。然而,它不能保证找到最可能的标签。第二种方法(pre-fix search decoding)依赖于这样一个事实:通过修改第4.1节中的前向-后向算法,我们可以高效地计算标记前缀连续扩展的概率(图2)。
  • 给定足够的时间,前缀搜索解码总是找到最可能的标签。但是,它必须扩展的最大前缀数随输入序列长度呈指数增长。如果产出分布在该模式附近达到很高的峰值,它将在合理的时间内完成。但对于本文的实验,还需要进一步的启发才能使其应用成为可能。
  • 观察到经过训练的CTC网络的输出往往会形成一系列由强预测空白隔开的尖峰(图1),我们将输出序列分成很可能以空白开头和结尾的部分。我们通过选择观察空白标签的概率高于某个阈值的边界点来实现这一点。然后,我们分别计算每个部分的最可能标签,并将它们连接起来,得到最终分类。
  • 在实践中,前缀搜索与这种启发式算法很好地结合在一起,并且通常优于最佳路径解码。然而,在某些情况下,例如,如果在截面边界的两侧弱地预测同一个标签,则它确实失败。
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第6张图片

Training the Network

  • 到目前为止,我们已经描述了一个输出表示,它允许RNN用于CTC。我们现在导出了训练具有梯度下降的CTC网络的目标函数。目标函数由极大似然原理导出。也就是说,最小化它可以最大化目标标签的对数相似性。注意,这与标准神经网络目标函数的原理相同(Bishop,1995)。给定目标函数及其对网络输出的导数,可以通过标准的时间反向传播计算权值梯度。然后,可以使用目前用于神经网络的任何基于梯度的优化算法对网络进行训练(Lecun等人,1998;Schraudolph,2002)。我们从最大似然函数所需的算法开始。
  • 我们需要一种计算单个标签的条件概率p(l x)的有效方法。乍一看(3)这将是有问题的:总和是对给定标签的总体路径响应,通常有很多这样的情况。幸运的是,这个问题可以用动态规划算法来解决,类似于hmms的前向后退算法(rabiner,1989)。关键思想是,对应于标签的路径上的和可以分解为对应于该标签的前缀的路径上的迭代和。然后可以用递归的前向和后向变量高效地计算迭代。
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第7张图片
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第8张图片
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第9张图片
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第10张图片
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第11张图片
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第12张图片
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第13张图片
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第14张图片
  • Connectionist Temporal Classification: Labelling Unsegmented Sequence Data with Recurrent Neural Netw_第15张图片

Discussion and Future Work

  • CTC与其他时间分类之间的一个关键区别是,CTC没有显式地分割其输入序列。这有几个好处,例如不需要定位固有的模糊标签边界(例如,在语音或手写中),并且允许在证明有用时将标签预测组合在一起(例如,如果几个标签通常一起出现)。在这种情况下,如果只需要标签序列,确定分割是对建模效果的浪费。
  • 对于需要分段的任务(例如蛋白质二级结构预测),使用CTC似乎有问题。 但是,从图1可以看出,CTC自然倾向于将每个标签预测与序列的相应部分进行比对。 这应该使其适合诸如关键字发现之类的任务,在这些任务中近似细分是足够的。
  • CTC的另一个显着特征是它没有显式地建模标签间依赖关系。 这与图形模型相反,在图形模型中,通常假定标签形成第k级马尔可夫链。 尽管如此,CTC隐式地模拟了标签间的依赖关系,例如 通过预测通常以双尖峰形式同时出现的标记(请参见图1)。
  • 处理结构化数据的一种非常通用的方法是时间分类器的层次结构,其中一个级别的标签(例如字母)成为下一个标签(例如单词)的输入。 分层CTC的初步实验令人鼓舞,我们打算进一步朝这个方向发展。
  • 良好的概括性总是很难通过最大可能训练来实现,但是对于CTC而言尤其如此。 将来,我们将继续探索减少过度拟合的方法,例如重量衰减,提升和保证金最大化。

 

你可能感兴趣的:(论文大全)