CTC-Seeded Edit Flow: non-autoregressive ASR исправляет CTC двумя шагами
Эта статья интересна тем, что меняет постановку 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-clean | dev-other | Интерпретация |
|---|---|---|---|
| CTC seed, 0 steps | 3.6 | 8.3 | Базовая greedy CTC гипотеза. |
| 1 edit step | 3.1 | 7.3 | Один pass исправляет большую часть очевидных ошибок. |
| 2 edit steps | 2.7 | 6.8 | Лучший баланс качества и вычислений. |
| 4 edit steps | 2.8 | 7.0 | Дополнительные правки начинают вредить. |
Как это читать: для low-latency ASR стоит рассматривать CTC как fast draft, а не как финальный decoder. Но refinement должен быть коротким и confidence-aware, иначе модель начинает “переписывать” уже правильные участки.