SR-CEM: оценка уверенности ASR по данным beam search
SR-CEM решает практичную проблему: как получить надежную уверенность распознавания речи, если менять модель нельзя, а есть только результат beam search. Вместо того чтобы доверять softmax-вероятностям, авторы используют ранги и накопленные оценки альтернативных гипотез. Получается маленький модуль, который улучшает калибровку на уровне токенов и слов и переносится между CTC, RNN-T и encoder-decoder системами.
Метод. Модуль Score-Rank Confidence Estimation Module получает признаки из поиска по лучу. Для токена используются восемь признаков: score текущего токена, его ранг, суммы score до и после, признаки top-K и похожие сигналы конкуренции. Для слова берутся пять признаков, включая score слова, максимальный ранг токенов, соседние word-score и число токенов. Сверху стоит очень небольшой двухслойный классификатор с hidden size 64: около 0.6 тыс. параметров для токенного уровня и 0.4 тыс. для словного.
Результаты. При обучении на LibriSpeech train-clean-100 и проверке на LibriSpeech test-clean токенная MCE падает с 20.04% у softmax до 4.50% у SR-CEM, ECE с 1.75% до 0.30%, а NCE растет с 0.301 до 0.383. При переносе на Common Voice калибровка тоже улучшается: ECE снижается с 15.99% до 9.54%, MCE с 34.77% до 19.59%. На словном уровне LibriSpeech MCE падает с 17.91% до 8.17%, а на Common Voice с 47.21% до 32.78%. Инженерная стоимость мала: менее 5 КБ параметров, около 12 КБ признаков для 150 токенов и меньше 0.1 мс на высказывание.
Ограничения. Метод требует beam search и размеченных данных для обучения уверенности, то есть это не полностью безнадзорная калибровка. Он оценивает гипотезу, уже выбранную декодером, а не исправляет распознавание. На доменном переносе калибровка все равно заметно ухудшается: Common Voice остается сложнее LibriSpeech. Словный вариант не использует все top-K признаки, поэтому часть информации теряется при агрегации токенов.
Фишка из статьи. В абляции хорошо видно, что для слов важен не только score слова, а длина в токенах. Это инженерно полезно: ошибка уверенности часто возникает не от "плохого слова" как целого, а от того, как оно собрано из нескольких неравномерно надежных токенов.
| Словный вариант на LibriSpeech | NCE | ECE | MCE |
|---|---|---|---|
| Полный SR-CEM | 0.465 | 0.35% | 8.17% |
| Без числа токенов | 0.429 | 1.07% | 17.21% |
| Без последующего score | 0.444 | 0.60% | 11.87% |
| Без предыдущего score | 0.442 | 0.56% | 10.44% |
| Без score слова | 0.455 | 0.45% | 9.48% |
Как это читать: удаление числа токенов почти удваивает MCE, с 8.17% до 17.21%. Это редкий случай, где простая структурная характеристика декодирования оказывается важнее, чем еще один крупный confidence head внутри самой модели.