Как ответить
В распознавании речи можно выделить три поколения архитектур: классические гибридные модели (DNN‑HMM), sequence‑to‑sequence подходы с attention или CTC, и современные Transformer‑энкодеры, часто с самоконтролируемым предобучением. В продакшене сейчас стандарт – RNN‑T и Conformer, а для офлайн‑задач – модели типа Whisper. Из личного опыта: при переходе с гибридной системы на end‑to‑end мы выиграли в точности на 15% по WER на целевых доменах.
- Гибридные DNN‑HMM. Акустическая модель — feed‑forward или простые CNN, поверх HMM для временной динамики. Требуют предварительного выравнивания (через forced alignment). Хороши для маленьких датасетов, но уступают end‑to‑end при объёмных данных.
- Рекуррентные сети (LSTM, GRU) + CTC. DeepSpeech от Baidu — классический пример. CTC даёт пофреймовое предсказание букв/фонем, а рекуррентный слой моделирует контекст. Минус — предположение о независимости выходов, хотя Beam Search помогает.
- Sequence‑to‑sequence с attention (LAS, RNN‑T). Listen Attend and Spell использует энкодер (обычно BiLSTM) и декодер с attention. RNN‑T (RNN Transducer) — стандарт для стриминга: не требует всей фразы, выдаёт гипотезы на каждом входном фрейме. У RNN‑T меньше задержка, чем у LAS.
- Transformer и его вариации. Conformer — сверточно‑трансформерный гибрид, даёт state‑of‑the‑art на LibriSpeech (~1.9% WER). OpenAI Whisper — энкодер‑декодер на основе стандартного transformer, обучен на 680 000 часов. Но он не предназначен для реального времени (весь аудиофайл сразу).
- Самонаблюдаемые модели (Wav2Vec 2.0, HuBERT). Предобучаются на больших объёмах неразмеченных аудио, затем дообучаются на небольшом размеченном корпусе. Очень эффективны, если размеченных данных мало. Пример: Wav2Vec 2.0 Large после fine‑tuning на 13% данных LibriSpeech даёт 1.8% WER.
В индустрии для стриминга всё чаще используют Conformer + RNN‑T гибрид (внутри Google, Amazon). Для асинхронного распознавания — Whisper или собственные версии на базе Conformer. При выборе архитектуры нужно смотреть на латентность (для real‑time — < 300 мс), доступные вычислительные ресурсы и объём размеченных данных.