コネクショニストの時間的分類(CTC)は、トレーニング中にシーケンスを正しく認識する確率を最大化することにより、エンドツーエンドのシーケンス学習を可能にします。 CTCトレーニング済みモデルの出力は、スパイク問題として知られている、強く予測されたブランクによって分離された一連のスパイクを形成する傾向があります。その理由を理解するために、CTCトレーニングプロセスを、フレーム単位のクロスエントロピー損失に基づく反復近似タスクとして再解釈します。これは、反復ごとにターゲット確率をモデル出力と比較する直感的な方法を提供し、モデル出力が徐々にスパイク状になる方法を説明します。これに触発されて、CTCトレーニングを変更する2つの方法を提案しました。実験は、私たちの方法がスパイク問題をうまく解決でき、さらに、さまざまなトレーニング設定での収束が速くなることを示しています。これに加えて、まったく新しい視点としてのCTCの再解釈は、他の状況で潜在的に役立つ可能性があります。コードはhttps://github.com/hzli-ucas/caffe/tree/ctcで公開されています。
The connectionist temporal classification (CTC) enables end-to-end sequence learning by maximizing the probability of correctly recognizing sequences during training. The outputs of a CTC-trained model tend to form a series of spikes separated by strongly predicted blanks, know as the spiky problem. To figure out the reason for it, we reinterpret the CTC training process as an iterative fitting task that is based on frame-wise cross-entropy loss. It offers us an intuitive way to compare target probabilities with model outputs for each iteration, and explain how the model outputs gradually turns spiky. Inspired by it, we put forward two ways to modify the CTC training. The experiments demonstrate that our method can well solve the spiky problem and moreover, lead to faster convergence over various training settings. Beside this, the reinterpretation of CTC, as a brand new perspective, may be potentially useful in other situations. The code is publicly available at https://github.com/hzli-ucas/caffe/tree/ctc.