DNSMOS-C: contrastive loss делает компактный MOS-предиктор устойчивее
DNSMOS-C — аккуратное улучшение DNSMOS Pro: вместо того чтобы тащить большой SSL encoder или обучать quality embedding отдельной стадией, авторы добавляют MOS-guided triplet contrastive loss прямо в компактную end-to-end модель. Получается тот же дешевый inference, но latent space лучше упорядочен по воспринимаемому качеству речи.
Что меняется относительно DNSMOS Pro
Архитектура остается маленькой: log-magnitude spectrogram на входе, четыре convolutional layers, global max-pooling и 64-dimensional embedding, после чего head предсказывает Gaussian posterior для MOS: среднее как оценку качества и variance как uncertainty. Базовый GNLL-loss отвечает за регрессию MOS, а новый contrastive loss заставляет embeddings с похожим MOS быть ближе, а с разным MOS — дальше.
Это полезно именно для продакшена. Speech quality model часто используется как автоматический фильтр после enhancement, TTS, denoise, codec или post-processing. Если модель хорошо предсказывает только абсолютное значение MOS, но плохо держит rank-order между похожими samples, она будет нестабильно выбирать “лучший” вариант среди нескольких кандидатов.
Данные и результаты
- Модель сравнивают с DNSMOS Pro на BVCC, Tencent и NISQA, по 10 независимых запусков для оценки стабильности.
- На BVCC LCC растет с 0.791 до 0.803, SRCC — с 0.788 до 0.801.
- На Tencent LCC растет с 0.917 до 0.921, SRCC — с 0.920 до 0.925, при меньшем MSE: 0.259 против 0.282.
- На NISQA in-domain прирост меньше, но стабильный: SRCC 0.868 против 0.864 у DNSMOS Pro.
- На unseen NISQA_TEST_FOR DNSMOS-C заметно лучше по корреляциям: LCC 0.787 против 0.763, SRCC 0.784 против 0.758.
Интерпретация
Интересная часть — latent space analysis. У DNSMOS-C в embedding space появляется более выраженный low-dimensional quality ordering: модель не просто угадывает MOS на выходе, а внутренне раскладывает samples по шкале качества. На TCD-VoIP при обучении на NISQA correlation R повышается с 0.40 до 0.51, что как раз показывает более осмысленную геометрию признаков.
Практический вывод
Это не революция в speech quality assessment, а инженерно приятный апгрейд: добавить contrastive регуляризацию, сохранить end-to-end простоту DNSMOS Pro и получить лучшее ранжирование, generalization и меньшую дисперсию между запусками. Для сервиса распознавания/синтеза это кандидат на автоматическую метрику регрессий после изменений в denoise, нормализации громкости, codec path или TTS post-processing.
Фишка из статьи. DNSMOS-C интересен не тем, что добавляет еще один большой энкодер, а наоборот: авторы оставляют компактную DNSMOS Pro-подобную архитектуру и учат ее латентное пространство через MOS-guided contrastive loss. Иными словами, промежуточный 64-мерный эмбеддинг заставляют раскладывать пары/тройки аудио по воспринимаемому качеству, а на инференсе это ничего не добавляет к стоимости модели.
| Проверка | DNSMOS Pro | DNSMOS-C | Что меняется |
|---|---|---|---|
| BVCC, LCC / SRCC | 0.791 / 0.788 | 0.803 / 0.801 | лучше согласование с MOS |
| NISQA SIM, LCC / SRCC | 0.866 / 0.864 | 0.868 / 0.868 | небольшой, но стабильный прирост |
| Tencent, LCC / SRCC | 0.917 / 0.920 | 0.921 / 0.925 | сильный датасет почти не насыщает метод |
| NISQA TEST FOR, LCC / SRCC | 0.763 / 0.758 | 0.787 / 0.784 | лучше перенос на другой набор |
| NISQA TEST P501, LCC / SRCC | 0.820 / 0.853 | 0.825 / 0.859 | прирост без смены архитектуры |
Отдельно авторы показывают, что латентное пространство стало более осмысленным: корреляция с качеством на TCD-VoIP растет, например, с 0.19 до 0.36 при обучении на BVCC и с 0.40 до 0.51 при обучении на NISQA. Это полезная деталь для практики: модель не просто чуть лучше предсказывает MOS, а начинает хранить более упорядоченное представление деградаций.