Статья

Как умная колонка слышит своё имя в шумной комнате — и почему включается сама

Как умная колонка слышит своё имя в шумной комнате — и почему включается сама

Все про ИИ и РоботовВсе про ИИ и Роботов·4 ч назад·
1
··1·
Если коротко: умная колонка действительно слушает комнату всё время, но не так, как кажется. Внутри неё работает крошечная нейросеть, которая умеет ровно одно — ставить оценку «насколько этот кусочек звука похож на слово „Алиса“». Звук держится в коротком буфере и тут же затирается следующим. Наружу, на сервер, запись уходит только тогда, когда оценка перевалила за порог. А сама по себе колонка включается потому, что порог — это компромисс: сделать её одновременно чуткой к вам и глухой ко всему похожему физически невозможно.
Это канал «Всё про ИИ и Роботов». В подсказках Яндекса рядом живут два запроса: «алиса подслушивает разговоры правда ли» и «почему алиса включается сама по себе ночью». Обычно их задают разные люди, хотя ответ у них общий. Если понять, как колонка вылавливает своё имя из шума, обе загадки решаются сами — и становится понятно, где реальный риск, а где страшилка.

Колонка не понимает речь — она ждёт одно слово

Главное, что стоит запомнить: в режиме ожидания колонка не превращает ваши разговоры в текст. Распознавание речи — тяжёлая работа, она идёт на серверах (как это устроено, мы подробно разбирали в статье про распознавание речи). Колонке в покое такая мощность не нужна и не по карману — ни по железу, ни по электричеству.
Вместо этого на устройстве крутится детектор ключевого слова (по-английски wake word или keyword spotting). Это маленькая нейросеть, обученная на тысячах записей одного-единственного слова, произнесённого разными людьми, в разных комнатах и с разного расстояния. На вход ей подают звук, на выходе одно число — уверенность, что прозвучало имя.
Насколько маленькая? Apple в своём техническом журнале открыто описала, как устроен детектор «Hey Siri»: первый проход идёт на экономичном сопроцессоре, нейросетью из пяти слоёв по 32 нейрона, и смотрит она на окно примерно в 0,2 секунды звука. Если оценка выше порога, просыпается основной процессор и перепроверяет тот же фрагмент сетью покрупнее — пять слоёв по 192 нейрона. Для сравнения: языковые модели, которые отвечают на вопросы, состоят из миллиардов параметров. Детектор слова — это не «уши ИИ», а скорее сторожевой датчик.
Яндекс внутреннее устройство детектора Алисы в таких подробностях не раскрывает, но принцип в справке формулирует прямо: Станция передаёт запросы на серверы Яндекса только после активации. У Google то же самое названо «режимом ожидания»: устройство обрабатывает короткие фрагменты звука, чтобы заметить активацию, и в этом режиме ничего из сказанного на серверы не отправляет.

Как колонка выделяет голос из шума, музыки и телевизора

Детектор — последнее звено цепочки. Прежде чем звук до него дойдёт, его несколько раз чистят, и именно эта чистка позволяет колонке услышать вас через полкомнаты, пока по телевизору идёт футбол.

Массив микрофонов и «луч» на говорящего

У колонки обычно не один микрофон, а несколько, разнесённых по корпусу. Звук от вас доходит до них с крошечной разницей во времени — доли миллисекунды. Зная эти задержки, процессор может сложить сигналы так, что звук с одного направления усиливается, а с остальных частично гасится. Это и есть beamforming — формирование «луча» слышимости. Колонка как бы поворачивает ухо к говорящему, не поворачиваясь сама. Если в комнате говорят двое, система может держать несколько таких лучей и выбирать тот, в котором детектор слышит имя увереннее.

Эхоподавление: колонка слышит саму себя

Самая неочевидная задача — услышать имя, когда колонка сама играет музыку. Её динамик стоит в паре сантиметров от микрофонов, и собственный звук в них оглушительно громкий. Apple, описывая обработку на HomePod, приводит цифру: эхо от музыки может быть на 30–40 дБ громче голоса человека в другом конце комнаты — без обработки имя в такой записи просто не различить.
Выручает то, что колонка точно знает, что играет. Адаптивный фильтр моделирует, как звук из динамика доходит до каждого микрофона, и вычитает эту копию из записи. Идеально не получается — корпус дребезжит, комната отражает звук, — поэтому остатки эха добивает ещё одна нейросеть. Тот же принцип «знаю сигнал — вычитаю его» работает в наушниках с шумоподавлением, только там антизвук идёт в ухо, а здесь вычитание идёт внутри цифровой записи.
Важная деталь из того же описания HomePod: эхоподавление, подавление реверберации и шумоподавление работают непрерывно, до детектора слова. То есть «колонка постоянно обрабатывает звук» — правда. Но обработка эта нужна, чтобы подготовить сигнал для сторожевого датчика, а не чтобы его куда-то отправить.
Путь звука внутри колонки: всё до детектора слова происходит на устройстве, в облако уходит только то, что прошло порог

Короткий буфер: память, которая всё время стирает себя

Чтобы детектор мог оценить слово целиком, ему нужен небольшой запас звука. Для этого используется кольцевой буфер — участок оперативной памяти фиксированного размера. Новый звук записывается поверх самого старого, по кругу, как на кольцевой магнитофонной ленте. Через мгновение то, что вы сказали, физически перестаёт существовать в устройстве.
Amazon в описании приватности Echo формулирует принцип так: Alexa начинает слушать ваш запрос только после того, как устройство распознало слово-активатор, а само распознавание построено так, чтобы не «слышать» разговоры. В справке Amazon есть и честная оговорка: в отправленную запись попадает доля секунды звука до слова-активатора. Это тоже следствие буфера — колонке нужно начало слова, чтобы сервер мог перепроверить, действительно ли вы его сказали.
Кстати, про перепроверку. У Apple сервер повторно прогоняет фрагмент через большой распознаватель, и если там оказалось не «Hey Siri», а, по их же примеру, «Hey Seriously», устройству приходит команда отмены и оно засыпает обратно. Это вторая линия обороны от ложных пробуждений — но обратите внимание, она срабатывает уже после того, как звук ушёл на сервер.

Почему колонка включается сама: порог и неизбежный компромисс

Вот здесь главный «ага»-момент. Детектор не отвечает «да» или «нет». Он выдаёт число — например, от нуля до единицы. Настоящее «Алиса», сказанное чётко и рядом, получает высокие оценки. Посторонняя речь, телевизор, звон посуды — низкие. Но эти две группы оценок не разделены пропастью: они перекрываются. Слово «Алисия» из сериала, «а лиса» в детской сказке, «Алис, скажи» в разговоре — всё это ложится где-то посередине.
Производитель должен где-то провести черту — порог. Опустит его — колонка будет откликаться даже на сонное «Алиса…» с другого конца квартиры, но чаще просыпаться от телевизора. Поднимет — ложных пробуждений станет меньше, зато вам придётся повторять имя дважды. Убрать обе ошибки разом нельзя, можно только выбрать, какая из них менее раздражает. Инженеры так и меряют качество детектора: число ложных срабатываний в час против доли пропущенных обращений — это две стороны одной кривой.
Apple даже описывает хитрость, которая смягчает компромисс: второй, более низкий порог. Если оценка не дотянула до основного, но была близко, система на несколько секунд становится чуточку чувствительнее — и повторное «Hey Siri» срабатывает легче. Отсюда знакомый многим эффект: со второго раза колонка «слышит» лучше, чем с первого.
Google прямо разрешает двигать этот регулятор самому: в настройках можно изменить чувствительность к фразе активации под свою комнату. По сути это и есть сдвиг порога.

Почему именно ночью

Запрос «алиса включается сама по себе ночью» в подсказках встречается чаще дневного. Объяснение, скорее всего, прозаическое: днём ложное пробуждение тонет в обычном шуме, и его никто не замечает. Ночью в тихой комнате загоревшееся кольцо и короткое «М?» бросаются в глаза. Добавьте телевизор, под который засыпают, разговор во сне, звук из соседней комнаты — и получите ровно те сценарии, где оценки детектора чаще всего подбираются к порогу.

Миф: «колонка записывает и отправляет все разговоры»

Проверить это можно не верой, а измерением: сетевой трафик колонки виден снаружи, его нельзя спрятать от исследователя с роутером. Именно так поступили учёные Северо-Восточного университета (США) и Имперского колледжа Лондона. Они поставили несколько популярных колонок — Google Home Mini, Apple HomePod, Echo Dot двух поколений, Harman Kardon Invoke с Cortana — рядом с экраном и прокрутили им два раунда по 134 часа сериалов с Netflix. Камера ловила момент, когда загорается индикатор, а трафик показывал, что уходит в сеть.
Результат, опубликованный в 2020 году на симпозиуме по технологиям приватности (PETS), развенчивает миф, но и не даёт расслабиться:
Постоянной записи не нашли. Авторы прямо пишут, что их данные не подтверждают версию о колонках, которые пишут всё подряд. Устройства просыпаются часто, но обычно ненадолго. Ложных пробуждений много. В худшем случае — до 0,95 в час, в среднем по всем устройствам — 1,43 на каждые 10 000 произнесённых в сериалах слов. Некоторые записи длинные. У части колонок 10% ошибочных активаций длились 10 секунд и дольше, рекорд — 43 секунды. Это уже не обрывок, а кусок разговора. Будили их обычные фразы. Среди примеров — «I’m sorry», «take a break», «head coach», «comparisons». Ничего похожего на имя для человеческого уха.
Оговорка честности: в исследовании не было Алисы, и проверялись английские слова-активаторы. Переносить цифры на Яндекс Станцию напрямую нельзя. Но механика у всех одинаковая — детектор плюс порог, — значит, и класс проблемы один: не тотальная прослушка, а регулярные случайные фрагменты, которые всё-таки уезжают на сервер.
Колонка не подслушивает всё подряд — она регулярно ошибается и отправляет на сервер случайные куски разговора. Это разные риски, и бороться с ними нужно по-разному.
Порог срабатывания — компромисс между ложными пробуждениями и пропущенными обращениями. Справа — замеры исследования Northeastern и Imperial College (2020)

Что из этого следует на практике

Когда механизм понятен, советы выводятся сами — без паранойи и без самоуспокоения.
Индикатор — честный сигнал. Пока кольцо не загорелось, звук живёт только в буфере. Загорелось без вашей команды — значит, случилось ложное срабатывание, и этот фрагмент ушёл на сервер. Это повод заглянуть в историю запросов. История запросов — место, где видны ошибки. Ложные пробуждения в ней обычно выглядят как обрывки фраз, которые вы не говорили колонке. Там же их можно удалить, а в настройках Станции — запретить использовать ваши запросы для обучения Алисы. Кнопка отключения микрофонов работает на уровне железа. По справке Яндекса, после неё колонка перестаёт распознавать любые звуки, включая своё имя, и горит красным. Программно «подслушать» обесточенный микрофон нельзя — поэтому кнопка надёжнее любых обещаний. Место важнее настроек. Телевизор рядом с колонкой — главный поставщик ложных срабатываний: часы непрерывной речи, музыки и имён. Отодвиньте её хотя бы в другой угол — массив микрофонов и «луч» начнут работать на вас. Если колонка просыпается сама постоянно — ищите источник речи: телевизор, радио, подкаст в соседней комнате, человека по имени Алиса в семье. Иногда помогает смена слова-активатора на «Яндекс», если ваша модель это поддерживает.
Пошаговая настройка, где найти историю и как включить детский режим, собрана в нашей инструкции по умной колонке — здесь повторять её не будем.

Коротко

Колонка слушает всегда, но понимает только одно слово. Маленькая нейросеть на устройстве ставит оценку каждому кусочку звука, а сам звук живёт в кольцевом буфере и тут же затирается. Шумную комнату побеждает обработка. Несколько микрофонов формируют «луч» на говорящего, эхоподавление вычитает собственную музыку колонки, и только потом звук попадает к детектору. Самопроизвольные включения неизбежны. Порог — компромисс между ложными пробуждениями и пропущенными обращениями; убрать обе ошибки разом нельзя. Миф о тотальной записи измерения не подтверждают, но ложные активации реальны: в лаборатории — до одной в час, иногда длиной в десятки секунд, и эти фрагменты уходят на сервер. Защита — практичная: следить за индикатором, чистить историю запросов, держать колонку подальше от телевизора и пользоваться аппаратной кнопкой выключения микрофонов.
1

Пока нет комментариев

Подслушивает ли Алиса разговоры и почему включается сама