🎄Эхоподавление у Алисы — как оно устроено и как улучшилось за год
Представим ситуацию. Яндекс Станция играет музыку, пока вы готовите новогодний стол. Очередное блюдо отправляется в духовку, и вам нужно узнать, на какое время ставить таймер. Вы спокойно спрашиваете у Алисы, а она отвечает даже несмотря на шум, который сама производит. Но как это работает? Ведь колонка небольшая, динамики находятся рядом с микрофонами. К просьбе от человека примешивается музыка, а сам звук постоянно отражается как от стен помещения, так и внутри самой колонки. Как же Станция поняла ваш запрос?
Всё дело в эхоподавлении (Acoustic Echo Cancellation, AEC). Небольшая модель внутри станции разделяет входящие аудиосигналы на фрагменты, а затем отфильтровывает их с помощью фильтра Калмана. Если во фрагменте есть активационная фраза, то Алиса войдет в режим ожидания команды. Здесь помогает и шумоподавление. Оно нужно, чтобы «отрезать» от активационной фразы посторонние шумы — например, голоса родни или стенания Ипполита из «Иронии судьбы» из телевизора.
В 2024 году AEC улучшилась. О том, что добавилось, и сопутствующих трудностях нашему каналу рассказал разработчик из команды улучшения качества звука Антон Порфирьев.
Во-первых, у Алисы появились быстрые команды. Благодаря им не нужно обращаться к ассистенту по имени, чтобы переключить или выключить песню. Внедрение этой возможности потребовало перебора параметров AEС, ведь нужно было сделать так, чтобы Алиса реагировала не только на своё имя, но и на обособленные команды вроде «тише» или «следующая». Работа над быстрыми командами помогла сделать систему эхоподавления в целом более эффективной.
Второе улучшение коснулось не только эхо, но и шумоподавления — AEC применяется как отдельно, так и после него. Раньше для обеих операций использовались одни и те же гиперпараметры, теперь — разные. Конфигурации подаются на отдельные каналы, и такое изменение дало прирост в качестве.
Ещё одно интересное нововведение — бета-датасет. Раньше у Яндекса был доступ только к «лабораторным» данным, записанным в специальной студии. Они не отражали реальную ситуацию полностью, ведь эхо и реверберация звука в лабораториях всегда примерно одни и те же. Новый датасет даёт модели возможность учиться на реальных случаях во всём их многообразии.
Датасет начали разрабатывать ещё в прошлом году, но внедрили в 2024-м. Этот набор собран из данных, полученных от бета-тестеров, у которых Станция логирует всё, что происходит за несколько секунд до фразы активации. Эти секунды отрезаются от записи и складываются с чистыми активациями, записанными в лабораторных условиях. Так получаются синтетические данные, которых легко можно получить очень много.
При этом здесь активационная фраза не так важна, ведь первостепенное значение играет именно эхо. Поэтому для разных записей бета-тестеров можно использовать одну и ту же запись активации из лаборатории. Разница в объёмах датасетов значительная: если лабораторный состоит из примерно 5 тысяч записей, то бета-датасет — из порядка 50 тысяч. На получившемся наборе и перебирали гиперпараметры модели, что дало значительный прирост качества.
Вот так работает эхоподавление в Яндекс Станции. Напоследок, поздравляем вас с наступающим Новым годом! А команда ML Underhood уходит на каникулы, чтобы в январе вернуться с новыми интересными историями из мира машинного обучения.
ML Underhood
2024-12-27 11:42 UTC
2 731 просмотров · 47 реакций
Открыть в Telegram · К списку постов · Ссылка на этот пост