CTC Algorithm Explained Part 1:Training the Network(CTC算法详解之训练篇)
转载本文请注明出处:https://xiaodu.io/ctc-explained作者:yudonglee 现实应用中许多问题可以抽象为序列学习(sequence learning)问题,比如词性标注(POS Tagging)、语音识别(Speech Recognition)、手写字识别(Handwriting Recognition)、机器翻译(Machine Translation)等应用,其核心问题都是训练模型把一个领域的(输入)序列转成另一个领域的(输出)序列。近年来基于RNN的序列到序列模型(sequence-to-sequence models)在序列学习任务中取得了显著的效果提升,本文介绍一种RNN(Recurrent Neural Networks)的端到端训练方法——CTC(Connectionist Temporal Classification)算法,它可以让RNN直接对序列数据进行学习,而无需事先标注好训练数据中输入序列和输出序列的映射关系,打破了RNN应用于语音识别、手写字识别等领域的数据依赖约束,使得RNN模型在序列学习任务中取得更好的应用效果。 本文总共分为五部分来全面阐述CTC算法(本篇为Part 1):Part 1:Training the Network(训练算法篇),介绍CTC理论原理,包括问题定义、公式推导、算法过程等。Part 1链接。Part 2:Decoding the Network(解码算法篇),介绍CTC Decoding的几种常用算法。Part 2链接。Part 3:CTC Demo by Speech Recognition(CTC语音识别实战篇),基于TensorFlow实现的语音识别代码,包含详细的代码实战讲解。Part…