主流的 ASR 模型包括 CTC [1]、transducer [2] 和混合系统 CTC/AED [3]。CTC 是其中最为简单,最便于部署的方法,但由于它的性能通常明显落后于 transducer 和 CTC/AED,限制了它的实际应用。
为了解决此问题,新一代 Kaldi 团队提出了 Consistency-Regularized CTC (CR-CTC),可以让你的纯 CTC 模型的识别性能比肩 Transducer 和 CTC/AED。
例如,在 LibriSpeech 数据集上训练 Zipformer-L,不结合外部语言模型时,普通 CTC 的 WER 为2.5/5.72,CTC/AED 的 WER 为2.09/4.59, pruned transducer 的 WER 为2.00/4.38,而 CR-CTC 的 WER 为2.02/4.35;CTC/AED 和 pruned transducer 挂上 CR-CTC 联合训练后,WER 可分别进一步降低到1.96/4.08和1.88/3.95。
详情请阅读论文和代码:



方法解释和消融实验验证
我们现在从三个不同的角度来解释 CR-CTC 的本质行为:1)self-distillation;2)masked prediction;3)peak suppression。
Self-distillation
当我们在训练中使用 dropout [5] 和 stochastic depth [6] 等模型正则技术,可以看作我们正在隐式地训练随机采样的不同 sub-model,这些 sub-model 最终被集成为一个 ensemble 用于推理。与 R-Drop [7] 和 cosub [8] 类似,CR-CTC 在进行对不同 sub-model 之间的 self-distillation,监督信号为对方提供的帧级别的 token 分布。另外,CR-CTC 使用了不同的 augmented views (以及更大程度的 time-masking),让这些 sub-model 接触输入数据的不同角度的信息,加强他们预测的多样性,这样有利于更丰富、更完备的知识蒸馏。

Masked prediction
在 CR-CTC 中,那些覆盖在 time masking 区域的帧,被要求着基于其他没有被 masked 的区域,去预测对方提供的 token 分布。这个过程类似于 masked-based 自监督模型 [9,10,11],鼓励模型去学习非 mask 部分的上下文表征信息,并发掘模型隐式的语言建模能力。我们在 CR-CTC 中使用不同的 augmented views,减少两边同时被覆盖在 time masking 区域的帧的出现,提高这些被 masked 位置所接收的 token 分布的质量。另外,使用更大程度的 time masking 可以加强 masked prediction 的行为,进而增强模型对上下文表征信息的学习。
如 Table 5 所示,如果没有使用更大程度的 time masking,或者没有使用不同的 augmented views,都会导致性能下降,而使用更大程度的 frequence masking 并不能提升效果。在 CTC baseline 上使用更大程度的 time masking 反而会导致性能下降。在

Peak suppression
众所周知,CTC 通常会学习到非常尖的概率分布。如 Figure 2 (left) 所示,non-blank token 只占 1 帧,其他的都是 blank,它们的概率都非常高。这种现象表明模型有可能已经过拟合了,泛化能力不强。
CR-CTC 的 consistency regularization 引导着模型学习两边分布的平均,这导致模型学习到的 CTC 分布会更加平滑。这个 peak suppression 行为减少了在训练数据上的过度置信,从而增强模型的泛化能力。如 Figure 2 (right) 所示,CR-CTC 学习到的分布更加平滑,概率更低,伴随着更多 non-blank 的 repeat 出现,具体的量化指标见 Table 6。



主要实验结果
我们使用 Zipformer [12] 作为 speech encoder 进行实验验证。由于 CR-CTC 训练时需要进行两次 forward,我们对 CR-CTC 模型的 batch size 和 epoch 数都设置为标准 CTC 模型的一半,来确保两者训练代价可比较。具体使用的 GPU 数量和 epoch 数在论文附录中。在前面的消融实验中,对于 CTC 系统我们使用 greedy search decoding;在与 SOTA 方法比较时,我们使用 prefix search decoding。两种解码方法的结果比较同样提供在论文附录中。
与挂一个 auxiliary head 联合训练相比较
想要提升 CTC 系统的性能,一个最直接的方法便是挂一个 AED head 或者一个 transducer head 联合训练。如 Table 7 所示,CR-CTC 的性能明显超过这两个方法,参数还更少。

与 SOTA 相比较
Table 1、2、3 分别展示了不同模型在 LibriSpeech、Aishell-1、GigaSpeech 三个数据集上的表现(不依赖外部语言模型)。总的来说,CR-CTC 的性能显著超越标准 CTC,并且和 CTC/AED 与 Transducer 模型效果相当。在这三个数据集上,我们取得了新的 SOTA。



参考
[1] Graves, A., Fernández, S., Gomez, F., & Schmidhuber, J. (2006, June). Connectionist temporal classification: labelling unsegmented sequence data with recurrent neural networks. In Proceedings of the 23rd international conference on Machine learning (pp. 369-376).
[2] Graves, A. (2012). Sequence transduction with recurrent neural networks. arXiv preprint arXiv:1211.3711.
[3] Watanabe, S., Hori, T., Kim, S., Hershey, J. R., & Hayashi, T. (2017). Hybrid CTC/attention architecture for end-to-end speech recognition. IEEE Journal of Selected Topics in Signal Processing, 11(8), 1240-1253.
[4] Park, D. S., Chan, W., Zhang, Y., Chiu, C. C., Zoph, B., Cubuk, E. D., & Le, Q. V. (2019). Specaugment: A simple data augmentation method for automatic speech recognition. arXiv preprint arXiv:1904.08779.
[5] Srivastava, N., Hinton, G., Krizhevsky, A., Sutskever, I., & Salakhutdinov, R. (2014). Dropout: a simple way to prevent neural networks from overfitting. The journal of machine learning research, 15(1), 1929-1958.
[6] Huang, G., Sun, Y., Liu, Z., Sedra, D., & Weinberger, K. Q. (2016). Deep networks with stochastic depth. In Computer Vision–ECCV 2016: 14th European Conference, Amsterdam, The Netherlands, October 11–14, 2016, Proceedings, Part IV 14 (pp. 646-661). Springer International Publishing.
[7] Wu, L., Li, J., Wang, Y., Meng, Q., Qin, T., Chen, W., ... & Liu, T. Y. (2021). R-drop: Regularized dropout for neural networks. Advances in Neural Information Processing Systems, 34, 10890-10905.
[8] Touvron, H., Cord, M., Oquab, M., Bojanowski, P., Verbeek, J., & Jégou, H. (2023). Co-training 2L submodels for visual recognition. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 11701-11710).
[9] Devlin, J. (2018). Bert: Pre-training of deep bidirectional transformers for language understanding. arXiv preprint arXiv:1810.04805.
[10] Baevski, A., Zhou, Y., Mohamed, A., & Auli, M. (2020). wav2vec 2.0: A framework for self-supervised learning of speech representations. Advances in neural information processing systems, 33, 12449-12460.
[11] Hsu, W. N., Bolte, B., Tsai, Y. H. H., Lakhotia, K., Salakhutdinov, R., & Mohamed, A. (2021). Hubert: Self-supervised speech representation learning by masked prediction of hidden units. IEEE/ACM transactions on audio, speech, and language processing, 29, 3451-3460.
[12] Yao, Z., Guo, L., Yang, X., Kang, W., Kuang, F., Yang, Y., ... & Povey, D. (2023, October). Zipformer: A faster and better encoder for automatic speech recognition. In The Twelfth International Conference on Learning Representations.
