Читать книгу Гений кода. Истории самых впечатляющих ИИ-проектов, которые уже меняют жизнь - Ар'лан ис'Дрекхэм - Страница 9

Часть 2: Рождение титанов. Истории прорывов, изменивших правила игры
Глава 8. WaveNet: Как Google научил машину говорить с человеческими интонациями (Синтез речи)

Оглавление

Крючок: Звонок от мамы

Представь, что тебе звонит мама. Ты снимаешь трубку, слышишь родной голос, интонации, дыхание, может быть, лёгкую хрипотцу. Она говорит: «Привет, сынок, как дела? Ты поел?» Ты отвечаешь, расслабляешься, потому что это свой, родной человек.

А потом выясняется, что это был не человек. Это был робот. Он сгенерировал голос твоей мамы в реальном времени, сымитировал её манеру говорить, её паузы, её дыхание. И ты купился.

Звучит как сценарий фильма ужасов? Возможно. Но именно к этому миру нас привела технология, которая называется WaveNet.

А начиналось всё с простой задачи: сделать так, чтобы роботы перестали звучать как роботы.

Герои: Британские учёные, которым надоел металлический голос

В 2016 году в Лондоне, в офисе DeepMind (той самой компании, которая обыграла Ли Седоля в Го), сидела команда исследователей. Они занимались разными вещами: играми, логикой, планированием. Но была одна проблема, которая раздражала всех: синтез речи.

В то время все голосовые помощники – Siri, Google Now, Алиса (в будущем) – звучали… как роботы. Да, они были понятны. Да, они могли прочитать текст. Но это был мёртвый звук. Он резал слух.

Почему? Потому что все существующие системы синтеза речи работали по одному из двух принципов:

– Компиляция (Concatenative synthesis). Берётся огромная библиотека записей реального диктора, режется на кусочки (фонемы, слоги), а потом эти кусочки склеиваются как конструктор. Звучит дёргано, потому что интонации на стыках не совпадают.

– Параметрический синтез (Parametric synthesis). Компьютер генерирует звук по математическим формулам: частота, амплитуда, длительность. Это звучит как «говорящий калькулятор» – плоско и неестественно.

Команда DeepMind задала вопрос: «А что, если не склеивать и не считать по формулам? Что, если заставить нейросеть научиться говорить, как человек? С нуля, генерируя звук по сэмплу, точка за точкой?».

Конфликт: Почему звук – это сложно

Звук – это не слова. Слова – это просто символы. Звук – это физика. Это колебания воздуха, которые мы измеряем 16 000 или 44 100 раз в секунду (частота дискретизации).

Чтобы сгенерировать 1 секунду речи, нейросеть должна предсказать 16 000 значений (сэмплов). И каждый следующий сэмпл зависит от предыдущих. Это как если бы ты писал бесконечную цепочку, где каждое следующее слово зависит от предыдущих 16 000.

Проблема в том, что существующие нейросети (рекуррентные, LSTM) плохо справлялись с такой длинной зависимостью. Они «забывали» начало предложения к тому моменту, как доходили до конца. А для интонации важна вся фраза целиком.

Кроме того, человеческий голос – это не просто частота. Это:

– Дыхание (вдохи перед фразами).

– Интонация (повышение и понижение тона).

– Акценты (выделение важных слов).

– Эмоции (радость, грусть, сарказм).

– Паузы (заполненные и незаполненные).

Ни одна из существующих систем не умела это моделировать. Они выдавали «мёртвый» текст.

Развязка: Гениальная простота

Команда DeepMind (Аарон ван ден Оорд, Карен Симонян и другие) придумала архитектуру, которую назвали WaveNet.

Идея была обманчиво проста: они взяли свёрточные нейросети (те, что используются для распознавания картинок) и применили их к звуку. Но не просто свёрточные, а дилатированные (dilated) свёртки.

Что это значит?

Обычная свёртка смотрит на соседние пиксели. В звуке – на соседние сэмплы. Но чтобы охватить длинные зависимости (например, интонацию всего предложения), нужно смотреть далеко вперёд и назад.

Дилатированная свёртка – это как если бы ты смотрел на звук не подряд, а с шагом: сначала на каждый сэмпл, потом на каждый второй, потом на каждый четвёртый, шестнадцатый и так далее. Это позволяло сети «видеть» и микро-детали (шёпот, шипение), и макро-структуру (ритм фразы) одновременно.

Они сложили много таких слоёв друг на друга (как слоёный пирог), и сеть научилась предсказывать следующий звук на основе всех предыдущих, даже очень далёких.

Второй гениальный трюк: они не просто генерировали звук. Они генерировали распределение вероятностей для каждого следующего сэмпла.

То есть нейросеть не говорила: «Следующий звук будет такой-то». Она говорила: «С вероятностью 70% это будет звук А, с вероятностью 20% – звук Б, с вероятностью 10% – звук В». А потом они выбирали случайно из этого распределения.

Зачем? Чтобы голос звучал естественно. Если выбирать всегда самый вероятный вариант, голос становится слишком «механическим», как автопилот. Если добавить случайность – появляются те самые живые вариации, которые делают речь человеческой.

Инсайт: Момент, когда робот задышал

В 2016 году DeepMind опубликовала статью и демо-записи. Люди, слушавшие их впервые, не могли поверить своим ушам.

Голоса, сгенерированные WaveNet, звучали лучше, чем записи реальных дикторов в существующих системах. Тесты показали, что люди предпочитают WaveNet и реальным записям (потому что реальные дикторы иногда устают и ошибаются), и уж тем более другим синтезаторам.

Но самое потрясающее было в другом.

WaveNet научилась не просто читать текст. Она научилась:

– Имитировать акценты. Ей давали запись человека с ирландским акцентом, и она говорила с ирландским акцентом.

– Передавать эмоции. Она могла говорить сердито, радостно, грустно – если её обучить на соответствующих записях.

– Генерировать дыхание. В паузах между фразами слышно, как диктор делает вдох. Это то, что ни одна система раньше не делала.

А ещё WaveNet научилась генерировать музыку и звуки. Если её обучить на фортепианных записях, она могла сочинять новые мелодии в том же стиле. Если обучить на звуках дождя – она генерировала бесконечный дождь, который звучал как настоящий.

Проблема: Гениальное нельзя запустить

У WaveNet была одна огромная проблема, которая делала её коммерчески непригодной в 2016 году.

Скорость.

Чтобы сгенерировать 1 секунду звука, WaveNet требовалось несколько минут вычислений на мощном процессоре. Потому что она генерировала сэмпл за сэмплом, последовательно, и каждый сэмпл проходил через огромную нейросеть.

Это было как если бы ты хотел послушать аудиокнигу, а тебе приходилось ждать неделю, пока компьютер её наговорит. Для реального использования (Google Assistant, озвучка видео) это было невозможно.

DeepMind пришлось искать компромиссы. Они создали упрощённую версию (Parallel WaveNet), которая использовала вторую нейросеть для «дистилляции» знаний и могла генерировать звук параллельно, в реальном времени.

Наследие: Революция в голосе

WaveNet изменила всё. После неё:

– Google Assistant заговорил новым, живым голосом. Теперь его стало сложно отличить от человека по коротким фразам.

– Амазонка и Apple бросились догонять. Началась гонка голосов.

– Появились коммерческие сервисы синтеза речи (Murf.ai, ElevenLabs), которые делают голоса, неотличимые от человеческих.

– Началась эра дипфейков голоса. Технология, созданная для удобства, быстро стала инструментом мошенников. Сегодня аферисты могут позвонить вам голосом вашего начальника и попросить перевести деньги.

Темная сторона: Когда голос крадут

Самое страшное применение WaveNet и её последователей – это синтез голоса конкретного человека.

Достаточно 3—5 минут записи чужого голоса (из видео, интервью, случайного разговора), чтобы нейросеть научилась говорить так же. Мошенники звонят родственникам и паническим голосом просят выкуп. Журналистов дискредитируют фейковыми высказываниями. Бизнесменов обманывают, имитируя голос партнёров.

WaveNet открыла ящик Пандоры. Мы вступили в эру, где голосу больше нельзя доверять. Если ты не видишь человека своими глазами – ты не можешь быть уверен, что это он.

Твой ход: Четыре урока от WaveNet

– Гениальность в деталях. WaveNet победила не потому, что придумала что-то космическое, а потому что научилась учитывать все детали: дыхание, паузы, интонации. В твоей работе тоже: успех часто в мелочах, которые другие игнорируют.

– Скорость имеет значение. Самая гениальная технология бесполезна, если её нельзя применить в реальной жизни. Всегда думай о том, как твоё решение будет работать «в поле».

– Технология нейтральна. WaveNet создавали, чтобы помочь слепым людям «читать» тексты или чтобы Алиса звучала приятнее. А теперь ею пользуются мошенники. Помни: любой инструмент можно использовать во благо и во зло.

– Проверяй реальность. Если тебе позвонили с неожиданной просьбой о деньгах – перезвони сам, напиши в мессенджер, спроси то, что знаете только вы двое. Доверие к голосу умерло.

P.S.

Знаешь, что сказал один из создателей WaveNet, когда его спросили про мошенников?

«Мы создавали технологию, чтобы помогать людям. То, как её используют другие, – это вопрос образования и законодательства. Но остановить прогресс нельзя. Мы можем только научиться жить в новом мире».

Гений кода. Истории самых впечатляющих ИИ-проектов, которые уже меняют жизнь

Подняться наверх