Reinterpreting CTC training as iterative fitting. (September 2020) - Li, Hongzhu
Highlights: We rewrite the CTC objective function as the frame-wise cross-entropy, and reinterpret CTC training as a heuristic algorithm. This is a brand new perspective and a more intuitive way to understand and modify CTC. From the new perspective, we modify CTC training in two ways. (1) Specify the proportion of non-blank labels to solve the spiky problem of CTC. (2) Reweight the frames within each sequence to speed up convergence. We provide a tool that simulates and visualizes the training process of CTC, on which we can perform modification and peek its effects on CTC training. This enables us to exclude some useless modifications in advance, which saves lots of time. Abstract: 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.