CTC NAR Edit Flow
ASR decoding

CTC-Seeded Edit Flow: non-autoregressive ASR исправляет CTC двумя шагами

WER 2.0/4.7

Эта статья интересна тем, что меняет постановку non-autoregressive ASR: вместо генерации текста из masked/random состояния модель стартует с дешевой CTC-гипотезы и параллельно редактирует ее. Edit Flow decoder предсказывает insert/delete/substitute операции, поэтому декодер тратит вычисления не на восстановление уже правильных токенов, а на исправление конкретных ошибок CTC. Практический вывод сильный: два шага refinement дают крупное снижение WER без авторегрессивного декодирования.

Метод

Сначала CTC encoder строит greedy hypothesis. Затем acoustic-conditioned Edit Flow decoder работает с переменной длиной последовательности и предсказывает edit operations в параллельном режиме. Обучение совмещает CTC objective и continuous-time discrete diffusion loss для edit trajectory. Авторы добавляют text-only edit-aware pretraining, CTC confidence guidance и audio classifier-free guidance, чтобы декодер не правил уверенные CTC-токены без нужды.

Важная деталь — confidence schedule: на первом edit step используется confidence из greedy CTC alignment, а на следующем forced-alignment confidence. Это снижает риск, что refinement разрушит корректные фрагменты transcript.

Результаты

  • На LibriSpeech dev-large model basic Edit Flow снижает WER с CTC 3.6/8.3 до 3.4/7.9 на dev-clean/dev-other.
  • С edit-aware pretraining и CTC confidence два шага дают 2.7/6.8, а четыре шага уже хуже: 2.8/7.0.
  • Audio CFG scale 0.3 лучший в ablation: ESPNet encoder 2.3/5.5, Whisper Base encoder 2.1/4.8 на dev sets.
  • На LibriSpeech test с Whisper Medium encoder WER падает с CTC 2.6/6.1 до Edit Flow 2.0/4.7.
  • С ESPNet encoder тестовый WER падает с 3.5/7.9 до 2.6/5.8 при pretraining.

Ограничения

Пока результаты показаны в основном на LibriSpeech; multilingual, noisy, conversational и streaming сценарии остаются открытыми. Метод добавляет отдельный decoder и несколько refinement passes, поэтому latency ниже autoregressive decoding, но не равна pure greedy CTC. Также полезность CTC confidence зависит от качества first-pass alignment: для очень слабого CTC seed refinement может стартовать из плохого состояния.

Фишка из статьи. Самая конкретная находка — больше итераций не значит лучше. Модель достигает оптимума на двух edit steps, а четыре шага начинают ухудшать результат: это хороший сигнал для deployment, где каждый дополнительный refinement pass стоит latency.

Настройкаdev-cleandev-otherИнтерпретация
CTC seed, 0 steps3.68.3Базовая greedy CTC гипотеза.
1 edit step3.17.3Один pass исправляет большую часть очевидных ошибок.
2 edit steps2.76.8Лучший баланс качества и вычислений.
4 edit steps2.87.0Дополнительные правки начинают вредить.

Как это читать: для low-latency ASR стоит рассматривать CTC как fast draft, а не как финальный decoder. Но refinement должен быть коротким и confidence-aware, иначе модель начинает “переписывать” уже правильные участки.

Оригинальная статья на arXiv