ASR filtering: 90k часов weak labels лучше чистить не слишком жестко
Статья полезна как практический рецепт для больших weakly supervised ASR-корпусов: не выбрасывать шумные данные эвристически до обучения, а сначала обучить CTC-модель на всем массиве, затем использовать ее же расшифровки для оценки качества weak labels. Главный результат не в новой архитектуре, а в data pipeline: фильтрация по CER и последующий выбор акустически похожих примеров улучшают японский ASR даже при повторном использовании уже виденных 90 000 часов.
Метод
Pipeline состоит из трех шагов. Сначала encoder-only CTC ASR обучается на всем weakly supervised Japanese dataset. Затем эта модель транскрибирует те же данные, а для каждого примера считается CER между предсказанием и исходной weak label; примеры с CER выше порога отбрасываются, после чего продолжается pretraining. На третьем шаге, если target-domain train set недоступен, авторы выбирают из отфильтрованного массива 500k акустически похожих samples по cosine similarity SSL-эмбеддингов и fine-tune-ят модель под домен.
Ключевая инженерная идея — CER здесь не считается абсолютной истиной. Он хорошо ловит вставки/удаления из-за misaligned timestamps и неозвученного текста, но может ошибочно штрафовать трудные, но корректно размеченные записи. Поэтому слишком жесткий порог вреден: модель теряет разнообразие и начинает учиться на “легкой” речи.
Результаты
- Эксперименты идут на 90 000 часах weakly supervised Japanese speech и трех public evaluation datasets.
- Filtering + continued pretraining дает до 6.4% relative CER reduction.
- Оптимальный filtering threshold лежит примерно в диапазоне CER 20-40; при r≤10 улучшение ограничено, потому что данные становятся слишком узкими.
- На Noisy-KU selection по acoustic similarity дает CER 35.3±0.1 при r=30 против 36.7±0.3 у random selection и 37.0 без fine-tuning.
Ограничения
Работа проверена на японском и на CTC-based setup, поэтому перенос на multilingual/transducer/encoder-decoder ASR потребует отдельной проверки. Метод также предполагает, что первая модель достаточно сильна, чтобы не путать domain difficulty с плохой разметкой. Для малых корпусов логика может работать хуже: там модель легче memorizes noisy labels и CER перестает быть надежным proxy.
Фишка из статьи. Самый важный отрицательный результат — “самые чистые” данные не дают лучший ASR. Порог r≤10 выглядит привлекательно как способ оставить только high-confidence labels, но в статье лучше работает более мягкий фильтр, который сохраняет акустическое и языковое разнообразие.
| Настройка Noisy-KU | CER | Что это значит |
|---|---|---|
| Без Step 3 fine-tuning | 37.0 | Continued pretraining помогает, но домен еще не подстроен. |
| Random 500k, r=30 | 36.7±0.3 | Случайная выборка почти не использует доменную близость. |
| Similarity 500k, r=20 | 35.7±0.3 | Акустическая близость уже дает заметный выигрыш. |
| Similarity 500k, r=30 | 35.3±0.1 | Лучший режим: фильтр достаточно мягкий, но labels уже чище. |
Как это читать: для production ASR датасетов полезно строить не бинарную “чисто/грязно” политику, а staged curriculum. Сначала убрать явные label/time alignment провалы, затем выбирать данные под target acoustics, не уничтожая diversity.