Шёпот и эмоции в Алисе: история развития голосового синтеза Яндекса |
||
МЕНЮ Главная страница Поиск Регистрация на сайте Помощь проекту Архив новостей ТЕМЫ Новости ИИ Голосовой помощник Разработка ИИГородские сумасшедшие ИИ в медицине ИИ проекты Искусственные нейросети Искусственный интеллект Слежка за людьми Угроза ИИ ИИ теория Внедрение ИИКомпьютерные науки Машинное обуч. (Ошибки) Машинное обучение Машинный перевод Нейронные сети начинающим Психология ИИ Реализация ИИ Реализация нейросетей Создание беспилотных авто Трезво про ИИ Философия ИИ Big data Работа разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика
Генетические алгоритмы Капсульные нейросети Основы нейронных сетей Распознавание лиц Распознавание образов Распознавание речи Творчество ИИ Техническое зрение Чат-боты Авторизация |
2021-12-16 12:06 алгоритмы распознавания речи, распознавание образов, примеры ии, голосовые помощники Четыре года назад мы запустили Алису. С самого начала она обладала собственным, узнаваемым голосом. Хотя проблемы тоже были: интонации хромали, эмоции скакали от слова к слову, а омонимы и вовсе ставили синтез в тупик. Алиса звучала пусть и не как робот, но ещё и не как человек.
Исследования показывают, что желание общаться с голосовым помощником напрямую зависит от того, насколько точно он имитирует речь людей. Поэтому мы постоянно работаем над «очеловечениванием» голоса Алисы. С тех пор сменилось несколько поколений нашего голосового синтеза. Мы научились расставлять интонации, отличать «замОк» от «зАмка» и многое другое. Сейчас мы переходим на следующий уровень: учим Алису управлять эмоциями и стилем своей речи, распознавать шёпот и отвечать на него шёпотом. Казалось бы, что в этом сложного и почему всё это было невозможно ещё несколько лет назад? Вот об этом я и расскажу сегодня сообществу Хабра. Ранний параметрический синтез: эпоха до Алисы Мы начали заниматься голосовыми технологиями в 2012 году. Через год родился SpeechKit. Ещё через год мы научились синтезировать голос — возможно, вы помните YaC 2014 и экспериментальный проект Яндекс.Диктовка. С тех пор прогресс не останавливается.
Схема параметрического синтеза Это стандартная архитектура для любой ранней параметрики со своими достоинствами и недостатками. Главный плюс — для обучения модели нужно мало данных (нам хватило 5-10 часов записей человеческой речи). Можно синтезировать любой произвольный текст, который даже будет плавно звучать. К сожалению, слишком плавно: недостатком раннего параметрического синтеза было то, что полученный голос звучал неестественно. Он был слишком гладким, лишённым интонаций и эмоций, звенел металлом. Люди так не говорят. Вот как звучал голос при раннем параметрическом синтезе: Причина неестественности синтезированного голоса кроется в самой архитектуре. У акустической модели мало информации о тексте в целом. Даже рекуррентная нейросеть, которая, казалось бы, умеет запоминать предыдущие состояния, очень быстро забывает их и фактически не учитывает полный текст. При этом человек обычно произносит речь, понимая, что только что прозвучало и что будет дальше по тексту. Кроме того, человеческая речь мультимодальна — есть несколько способов произнести текст, каждый из которых описывается сигналом и звучит более-менее нормально. Но среднее между этими способами звучит неестественно. Проблема стандартных регрессионных методов глубокого обучения в том, что они ищут одну моду — «хорошее среднее» — и попадают в такие «провалы неестественности». В результате оказывается, что лучше случайно выбрать один из двух способов, чем попасть в среднее между ними. Впрочем, даже если акустическая модель и смогла бы разобраться в контексте и выдать обогащённое информацией промежуточное состояние, то с ним уже не мог справиться примитивный вокодер. Поэтому мы не остановились и стали искать более совершенные решения. Конкатенативный синтез: рождение Алисы В 2016 году мы решили создать Алису — сразу было понятно, что это более амбициозная задача, чем всё, чем занимались раньше. Дело в том, что в отличие от простых TTS-инструментов, голосовой помощник должен звучать человечно, иначе люди просто не станут с ним (или с ней) общаться. Предыдущая архитектура совершенно не подходила. К счастью, был и другой подход. Точнее, даже два.
Кстати, подобный подход использовался и при создании Siri 2.0, согласно опубликованной в 2017 году статье разработчиков Apple, которую мы нашли после того, как запустили прототип Алисы. Схема конкатенативного синтеза У такого подхода тоже есть плюсы и минусы. Среди достоинств — более естественное звучание голоса, ведь исходный материал не синтезирован, а записан вживую. Правда, есть и обратная сторона: чем меньше данных, тем более грубо будут звучать места склейки фрагментов. Для шаблонных фраз всё более-менее хорошо, но шаг влево или вправо — и вы замечаете склейку. Поэтому нужно очень много исходного материала, а это требует многих часов записи голоса диктора. К примеру, в первые несколько лет работы над Алисой нам пришлось записать несколько десятков часов. Это несколько месяцев непрерывной работы с актрисой Татьяной Шитовой в студии. При этом нужно не просто «прочитать текст по листочку». Чем более нейтрально будет звучать голос, тем лучше. Обычно от актёров ждут эмоциональности, проявления темперамента в своей речи. У нас ровно обратная задача, потому что нужны универсальные «кубики» для создания произвольных фраз. Вот характерный пример работы синтеза: В этом главный недостаток метода unit selection: несмотря на все усилия, фрагменты речи не будут идеально соответствовать друг другу по эмоциям и стилю. Из-за этого сгенерированная речь Алисы постоянно «переключалась» между ними. На коротких фразах это не всегда заметно, но если хотите услышать произвольный ответ длиной хотя бы в пару предложений (например, быстрый ответ из поиска), то недостатки подхода становятся очевидны. В общем, unit selection перестал нас устраивать и нужно было развиваться дальше. Иногда они возвращаются: опять параметрический синтез В результате мы вернулись к архитектуре из двух последовательных блоков: акустическая модель и вокодер. Правда, на более низком уровне обновилось примерно всё. 1. Акустическая модель В отличие от старой параметрики, новую модель мы построили на основе seq2seq-подхода с механизмом внимания. 2. Мел-спектрограмма Параметрическое пространство можно сжать разными способами. Более сжатые представления лучше работают с примитивными акустическими моделями и вокодерами — там меньше возможностей для ошибок. Более полные представления позволяют лучше восстановить wav, но их генерация — сложная задача для акустической модели. Кроме того, восстановление из таких представлений у детерминированных вокодеров не очень качественное из-за их нестабильности. С появлением нейросетевых вокодеров сложность промежуточного пространства стала расти и сейчас в индустрии одним из стандартов стала мел-спектрограмма. Эта шкала не линейная и основана на том, что человеческое ухо по-разному воспринимает звук различной частоты. Вспомните строение улитки в ухе: это просто канал, закрученный по спирали. Высокочастотный звук не может «повернуть» по спирали, поэтому воспринимается достаточно короткой частью слуховых рецепторов. Низкочастотный же звук проходит вглубь. Поэтому люди хорошо различают низкочастотные звуки, но высокочастотные сливаются. Мел-спектрограмма как раз позволяет представить звук, акцентируясь на той части спектра, которая значимо различается слухом. Это полезно, потому что мы генерируем звук именно для человека, а не для машины. Вот как выглядит мел-спектрограмма синтеза текста «Я — Алиса»: У мел-спектрограммы по одному измерению [X на рисунке выше] — время, по другому [Y] — частота, а значение [яркость на рисунке] — мощность сигнала на заданной частоте в определенный момент времени. Проще говоря, эта штуковина показывает, какое распределение по мощностям было у различных частот звука в конкретный момент. Мел-спектрограмма непрерывна, то есть с ней можно работать как с изображением. А так звучит результат синтеза: 3. Новый вокодер Вероятно, вы уже догадались, что мы перешли к использованию нового нейросетевого вокодера. Именно он в реальном времени превращает мел-спектрограмму в голос. Наиболее близкий аналог нашего первого решения на основе нейросетей, которое вышло в 2018 году — модель WaveGlow. Комбинация этих трёх компонентов позволила вернуться к параметрическому синтезу голоса, который звучал плавно и качественно, требовал меньше данных и давал больше возможностей в кастомизации и изменении стиля голоса. Параллельно мы работали над улучшением отдельных элементов синтеза:
Итак, мы научили Алису говорить с правильными интонациями, но это не сделало ее человеком — ведь в нашей речи есть еще стиль и эмоции. Работа продолжалась. С чувством, толком, расстановкой: стили голоса Алисы Один и тот же текст можно произнести десятком разных способов, при этом сам исходный текст, как правило, никаких подсказок не содержит. Если отправить такой текст в акустическую модель без дополнительных меток и обучить её на достаточно богатом различными стилями и интонациями корпусе, то модель сойдёт с ума — либо переусреднит всё к металлическому «голосу робота», либо начнёт генерировать случайный стиль на каждое предложение. Это и произошло с Алисой: в начале она воспроизводила рандомные стили в разговоре. Казалось, что у неё менялось настроение в каждом предложении. Дальше началось самое интересное. Мы взяли образцы синтезированной «мягкой» речи Алисы и фрагменты речи актрисы Татьяны Шитовой, которые относились к более резкому стилю. Затем эти образцы с одним и тем же текстом протестировали вслепую на толокерах. Оказалось, что люди выбирают синтезированный вариант Алисы, несмотря на более плохое качество по сравнению с реальной речью человека. В принципе, этого можно было ожидать: уверен, многие предпочтут более ласковый разговор по телефону (то есть с потерей в качестве) живому, но холодному общению. К примеру, так звучал резкий голос: А так — мягкий: Результаты турниров позволили нам выделить во всем обучающем датасете данные, которые относятся к стилю-победителю, и использовать для обучения только их. Благодаря этому Алиса по умолчанию стала говорить более мягким и дружелюбным голосом. Этот пример показывает, что с точки зрения восприятия важно работать не только над качеством синтеза, но и над стилем речи. После этого оставалось только обогатить Алису новыми эмоциями. Бодрая или спокойная: управляем эмоциями Алисы Когда вы включаете утреннее шоу Алисы или запускаете автоматический перевод лекции на YouTube, то слышите разные голоса — бодрый в первом случае и более флегматичный в другом. Эту разницу сложно описать словами, но она интуитивно понятна — люди хорошо умеют распознавать эмоции и произносить один и тот же текст с разной эмоциональной окраской. Мы обучили этому навыку Алису с помощью той же разметки подсказок, которую применили для стилей. У языка есть интересное свойство — просодия, или набор элементов, которые не выражаются словами. Это особенности произношения, интенсивность, придыхание и так далее. Один текст можно произнести со множеством смыслов. Как и в случае со стилями речи, можно, например, выделить кластеры «веселая Алиса», «злая Алиса» и так далее. Поскольку стилевой механизм отделяет просодию («как говорим») от артикуляции («что говорим»), то новую эмоцию можно получить буквально из пары часов данных. По сути, нейросети нужно только выучить стиль, а информацию о том, как читать сочетания фонем, она возьмёт из остального корпуса. Прямо сейчас доступны три эмоции. Например, часть пользователей утреннего шоу Алисы слышат бодрую эмоцию. Кроме того, её можно услышать, спросив Алису «Кем ты работаешь?» или «Какую музыку ты любишь?». Флегматичная эмоция пригодилась для перевода видео — оказалось, что голос по умолчанию слишком игривый для этой задачи. Наконец, радостная эмоция нужна для ответов Алисы на специфические запросы вроде «Давай дружить» и «Орёл или решка?». Ещё есть негативная эмоция, которую пока не знаем, как использовать — сложно представить ситуацию, когда людям понравится, что на них ругается робот. Затем записанные данные добавили в обучающий корпус акустической модели. Мы решили рассматривать шёпот как еще один «стиль» речи или, в терминах нашего синтеза, «эмоцию». Добавив данные в трейнсет, мы дали акустической модели на вход дополнительную информацию — шёпот или эмоцию она сейчас проигрывает. По этому входу модель научилась по команде пользователя переключаться между генерацией речи и шёпота. Сгенерированный шёпот по качеству не отличался от обычной речи. По нашей метрике PSER (Pronunciation Sentence Error Rate — средняя доля ошибок произношения в предложении) он оказался даже лучше. Оказалось, что ряд ошибок интонации в шёпотной речи были значительно менее ярко выражены. Этот голос будет полезен при общении с Алисой ночью, чтобы не мешать близким. Можно задавать вопросы тихим голосом и Алиса будет отвечать шёпотом. Кроме того, такой стиль ещё и звучит очень приятно — поклонники ASMR оценят. Послушайте, как шепчет Алиса: На этом мы не останавливаемся — в планах дальнейшее развитие голосового синтеза, добавление новых стилей и эмоций. Обязательно продолжим рассказывать о том, как Алиса учится говорить по-человечески. Источник: habr.com Комментарии: |
|