Часть 1. Состояние дел в области синтеза речи на конец 2021 года

МЕНЮ


Главная страница
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


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

Текст публикуется в переводе, автор статьи – Патрик Мейер.

Вы читаете презентацию состояния дел на переднем крае синтеза речи в конце мая 2021-го года, с упором на технологии глубокого обучения. Я представлю синтез 71 научной публикации и объяснения, необходимые для понимания основных концепций.

Введение

Голос – это самый естественный доступный нам способ общения. Поэтому естественно, что эволюция "говорящих помощников" движется именно к этому способу общения. Эти "виртуальные голосовые помощники" можно разместить, например в центрах поддержки по телефону, чтобы помочь предварительно классифицировать запрос звонящего, учитывая простейшие виды запросов (например, назначить встречу). Они также предоставляют звуковое представление текстов на экране и описание сцен для людей с проблемами зрения. Оператор может влезть в машину, чтобы починить ее, получая инструкции голосом, а также взаимодействовать с голосовым помощником, имея свободные руки – то есть, без необходимости управлять с помощью клавиатуры или мыши. Уже несколько лет системы GPS прокладывают маршруты, управляясь при этом голосом.

В этой статье мы обсудим передовое состояние методов синтеза речи на данный момент. Я представлю методы, используемые для автоматической генерации звуковых сигналов на основе текстовых предложений. После этой краткой презентации я представлю проблемы, возникающие при синтезе речи, затем типовые последовательности обработки текста. Я кратко объясню, что такое мел-спектрограммы, глубокие генеративные модели, комплексные системы, кто является основными исследователями на сегодняшний день, и какие наборы данных позволяют проводить обучение. Я объясню, как измеряется качество, и на каких конференциях представляются основные труды. Наконец, мы поговорим о задачах, которые еще не решены.

Краткое содержание

Голосовые помощники достигли почти человеческого уровня распознавания речи и "простой" (монотонной) генерации речи. Генерация речи – это сложный процесс, состоящий из генерации нескольких тысяч значений, представляющих сигнал, из простого предложения. Нейронные сети заменили традиционные объединительные (конкатенативные) методы генерации, обеспечивая лучшее качество сигнала, более простую подготовку данных для обучения и сокращенное время генерации (современные модели генерируют речь в несколько сотен раз быстрее человека).

Генерация сигнала обычно проводится в два этапа: на первом генерируется частотное представление предложения (мел-спектрограмма), а на втором из этого представления формируется звуковая волна. На первом этапе текст преобразуется в символы или фонемы, которые затем векторизуются. Затем нейронная сеть с архитектурой "энкодер-декодер" преобразует эти входные элементы в сжатое внутреннее представление (энкодер) и обратно преобразует в частотное представление (декодер). На этом этапе чаще всего используются сверточные нейронные сети с механизмами внимания, чтобы повысить уровень соответствия между входом и выходом. Это соответствие часто усиливается механизмами предсказания длительности, громкости и тона. На втором этапе так называемый вокодер преобразует трехмерное представление звука (время, частота и сила) в звуковой сигнал. Одни из самых эффективных архитектур – архитектуры GAN (генеративные состязательные сети), в которых генератор генерирует сигналы, которые будет классифицировать дискриминатор.

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

Виртуальные голосовые помощники

Больше трех лет назад (в мае 2018-го) исполнительный директор Google Сандар Пичаи (Sundar Pichai) на семинаре по Google I/O представил телефонную запись разговора голосового помощника (Google Duplex) с работником парикмахерского салона. Этот голосовой помощник отвечал за запись клиентов на стрижку и укладку. Самым удивительным на то время было превосходное качество звонка – практически точная мимикрия служащего, назначающего визит, включая "Мммм..." в процессе разговора. Течение разговора было настолько идеальным, что я до сих пор думаю – а может, это был какой-нибудь трюк? Эта презентация предваряла наступающую революцию в области автоматизации общения с человеком посредством голоса.

Мечта или реальность, но даже теперь, три года спустя, функция резервации мест в ресторане или парикмахерской передается виртуальному голосовому помощнику только в Соединенных Штатах. Эта служба работает и в других странах, но только для улучшения надежности движков Google Search и Maps: помощник автоматически вызывает реального сотрудника для проверки. Эта инновационная компания демонстрирует нам свою способность создавать инструменты, способные помогать людям делать некоторые вещи с превосходным уровнем качества. По крайней мере, качество было достаточно хорошим, чтобы Google решила предоставлять эти инструменты.

Для реализации диалогового голосового помощника необходимо иметь конвейер обработки, в котором первый компонент трансформирует голос пользователя в текст (Речь-в-Текст). Второй компонент (Бот) анализирует текст пользователя и генерирует ответ. Третий и последний компонент переводит ответ Бота в речь (Текст-в-Речь). Результат проигрывается пользователю через динамики компьютера или через телефонную линию.

Символическое представление диалогового голосового помощника (диаграмма автора)

Синтез речи, также называемый Текст-в-Речь (Text-to-Speed, TTS), долго время реализовывался в виде серии трансформаций, в большей или меньшей степени продиктованных набором запрограммированных правил, и выдавал более-менее удовлетворительный результат. Вклад глубоких генеративных моделей в последние годы позволил создавать намного более автономные системы, способные генерировать тысячи различных голосов с качеством, близким к человеческому. Теперь системы стали настолько эффективными, что они могут клонировать человеческий голос по нескольким секундам записи этого голоса.

Проблема "один-ко-многим"

Чтобы сгенерировать аудиосигнал, система синтеза следует набору более или менее сложных шагов. Одна из основных проблем, которые должен решить синтез голоса – это моделирование "один-ко-многим", то есть способность преобразовать небольшое количество информации (предложение, которое нужно вокализовать) в данные формы сигнала, содержащие несколько тысяч значений. Более того, этот звуковой сигнал может иметь множество различных характеристик: громкость, выделение определенного слова, скорость произношения, управление концовкой произношения, добавление эмоций, тона... Проблема для архитектора системы заключается в реализации этой сложной обработки, разбивая генерацию звука на шаги, которые можно обучать глобально либо индивидуально.

Различные стадии генерации сигнала (диаграмма автора)

Конвейеры обработки

Первые системы генерации голоса использовали воздух напрямую для создания звуков, затем кибернетика создала системы, которые могли использовать правила генерации с параметрами, чтобы быстро разработать генерацию предложений путем конкатенации дифонов из более-менее постоянной базы данных звуков (в английском языке более 1700 дифонов, а во французском – 1200, и все их нужно продублировать для каждого голоса, начала/конца предложения, каждой интонации...)

Традиционные системы синтеза речи часто делятся на две категории: системы конкатенации и генеративные параметрические системы. Объединение дифонов попадает в категорию конкатенационных систем синтеза речи. Существует две разные схемы конкатенационного синтеза: первая основана на коэффициентах линейного предсказания (Linear Prediction Coefficients, LPC), а вторая – на Синхронном Перекрытии и Сложении Речи (Pitch Synchronous Overlap and Add, PSOLA). Результат часто получается ровным, монотонным и "роботским", то есть ему не хватает реальных характеристик, хотя его и можно модулировать. Под характеристиками мы имеем в виду интонацию, мелодичность, паузы, ритм, подачу, акцент... Этот метод был усовершенствован, когда появились генеративные акустические модели, основанные на скрытых марковских моделях (Hidden Markov Models, HMM), реализация контекстуальных деревьев решений. Сейчас стандартом стали глубокие генеративные системы, сбросив с трона старые системы, которые теперь считаются устаревшими.

Следуя принципу "один-ко-многим", система, которую нужно построить, состоит из трансформации текста во внутреннее состояние, а затем из трансформации этого внутреннего состояния в аудиосигнал. Большинство систем статистического параметрического синтеза речи (Statistical Parametric Speech Synthesis, SPSS) генерируют не выходной сигнал, а его частотное представление. Затем второй компонент, называемый вокодером, заканчивает генерацию на основе этого представления. Принципы генеративных нейронных сетей за последние годы стали стандартом в синтезе речи, включая сверточные нейронные сети, затем рекуррентные, вариационные автоэнкодеры (2013), механизмы внимания (2014), генеративные состязательные сети (2014) и другие.

Следующая диаграмма описывает различные компоненты архитектуры конвейера машинного обучения, используемого для генерации речи.

Стандартная операционная диаграмма систем синтеза речи (диаграмма автора)

Как и любая система, основанная на обучении, генерация в основном состоит из двух фаз: фаза обучения и фаза генерации (вывода). Иногда добавляется "промежуточная" фаза для тонкой настройки акустической модели на основе других данных.

Внешний вид конвейера зависит от фазы:

  • На фазе обучения конвейер обеспечивает генерацию моделей. Предложения являются входами энкодера/декодера, и с этими предложениями ассоциируются голосовые файлы. Иногда к этому добавляется идентификатор говорящего человека. Во многих системах генерируется мел-спектрограмма, и вокодер переводит это представление в форму сигнала. Входы вокодера – это акустические параметры (обычно мел-спектрограмма) и голос, ассоциируемый с параметрами. Этот набор параметров, извлеченный из двух модулей анализа синтеза, известен как "лингвистические признаки" (Акустический Признак).
  • На фазе генерации этот конвейер отвечает за выполнение вывода (также называемого синтезом или генерацией). Входом является предложение, которое нужно трансформировать, иногда также идентификатор говорящего для выбора речевых признаков, которые будут соответствовать сгенерированному голосу. Выходом является мел-спектрограмма. Роль вокодера заключается в генерации финальной формы сигнала по сжатому представлению аудио, которое нужно сгенерировать.

В деталях используемый для обучения (тренировки) конвейер включает в себя:

  • Модуль Анализа Текста, выполняющий операции нормализации текста, преобразующий числа в текст, разбивающий предложение на части (части речи), трансформирующий графемы (написанный текст) в фонемы, добавляет элементы характеристик и так далее. Некоторые системы обрабатывают прямо символы текста, другие используют только фонемы. Во время обучения и синтеза этот модуль часто применяется "как есть".
  • Модуль Акустического Анализа получает в качестве входа акустические характеристики, ассоциированные с текстом. Этот модуль также может получать идентификатор говорящего при обучении со множеством разных голосов. Этот модуль будет анализировать разницу между теоретическими признаками и данными, сгенерированными в процессе обучения. Акустические признаки можно сгенерировать из обрацов голоса, используя "классические" алгоритмы обработки сигналов вроде Быстрого Преобразования Фурье (БПФ). Этот модуль также может генерировать модели, чтобы предсказать длительность сигнала (связь между фонемой и количеством сэмплов на мел-спектрограмме) и его положение в тексте. Новейшие системы идут еще дальше и добавляют предсказание тона. В конце 2020-го Эва Шекели из школы EECS в Стокгольме добавила изучение дыхания, что сократило расстояние между человеческой и машинной речью.
  • Акустические модели фазы обучения представляют скрытые состояния, извлеченные из вектора представления предложения (embedding), вектора говорящего и акустических признаков. Кроме этого, существуют модели предсказания для ударений и других признаков.
  • Модуль Анализа Речи используется для извлечения различных параметров из исходных голосовых записей. В некоторых системах, особенно комплексных, удаляется молчание в начале и конце записей. Извлечение признаков, которое сильно различается от системы к системе, может включать извлечение из исходных речевых сигналов тона, энергии, ударения, длительности звучания фонем, фундаментальной частоты (1-й гармонической частоты или F0), и так далее. Эти входные голосовые файлы могут принадлежать одному и тому же говорящему или нескольким. Если модель тренируется на нескольких разных голосах, ко входным данным добавляется вектор говорящего.

Конвейер, используемый для синтеза (вывода), включает в себя:

  • Основываясь на выводе модуля анализа текста и акустической модели (или моделей), модуль Предсказания Признаков генерирует сжатые представления, необходимые для завершения генерации. Эти выводы могут включать в себя одно или несколько из следующих представлений: мел-спектрограмма сигнала (MelS), кепстральные коэффициенты по шкале Барка (Cep), спектрограммы линейной шкалы логарифмической магнитуды (MagS), фундаментальная частота (F0), пакет спектра, параметры апериодичности, длительность фонем, высота тона...
  • Входными данными вокодера может быть одно или большее количество представлений, упомянутых выше. Существует множество версий этого модуля, и обычно он реализуется в виде отдельного модуля, что исключает его применение в комплексных системах. Среди самых популярных вокодеров – Griffin-Lim, WORLD, WaveNet, SampleRNN, GAN-TTS, MelGAN, WaveGlow и HiFi-GAN, которые генерируют сигналы, очень близкие к человеческой речи.
Ранние архитектуры, основанные на нейронных сетях, полагались на традиционные параметрические конвейеры TTS – например, Deep Voice 1 и Deep Voice 2. DeepVoice 3, Tacotron, Tacotron 2, Char2wav и ParaNet используют архитектуру seq2sec, основанную на внимании (Вашвани и пр., 2017). Сегодня системы синтеза речи, основанные на глубоких нейронных сетях (DNN) превосходят так называемые классические системы синтеза речи – такие, как системы конкатенационного синтеза выбранных элементов и HMM, которые уже практически не исследуют.

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

Различные сети и связи между их архитектурами (диаграмма автора)

Знакомимся с мел-спектрограммами

Вход вокодеров обычно составляют мел-спектрограммы, особый вид представлений звукового сигнала. Эта спектрограмма создается путем применения нескольких преобразований к звуковому сигналу (время/амплитуда).

Первое преобразование заключается в Оконном Быстром Преобразовании Фурье (Short-Term Fast Fourier Transform, STFFT). Это преобразование разбирает сигнал на компоненты, улавливая различные частоты, которые его составляют, а также амплитуду каждой частоты. Из-за того, что сигнал со временем меняется, он разбивается на оконные сегменты (обычно между 20 и 50 мс), которые частично перекрываются.

Изображение от Aquegg, в открытом доступе (https://commons.wikimedia.org/w/index.php?curid=5544473)

Горизонтальная ось соответствует временной шкале, вертикальная – частоте, а цвет пикселя соответствует уровню сигнала в децибелах (dB). Чем ярче цвет, тем мощнее сигнал на этой частоте. Затем частотная шкала переводится в логарифмическую частотную.

Поскольку человеческое ухо воспринимает разницу в частотах для высоких и низких частот по-разному, Стевенс, Волкманн и Ньюманн в 1937-м году предложили шкалу, названную мел-шкалой, при которой одинаковая разница между звуками в мел-единицах кажется слушателю постоянной на любых частотах. Спектрограмма, преобразованная в соответствии с мел-шкалой, и называется мел-спектрограммой.

Глубокие генеративные модели

Проблема, стоящая перед системами генерации голоса – это выдача большого количества данных на основе маленького количества входной информации, или даже вообще без входной информации. Предложение, состоящее из 30 слов, записанное на протяжении 10 сек с частотой 22 КГц, потребует создания последовательности 440.000 байтов (16 бит), а это отношение 1 к 14.666.

Автоматическое генеративное моделирование – это очень широкая область, имеющая почти бесконечное множество применений. Очевидные приложения – это генерация изображений и генерация текста, популяризированная GPT-2 и GPT-3. В нашем случае мы рассчитываем реализовать с их помощью генерацию голоса. Популярные вначале так называемые "классические" сети (такие, как сверточные нейронные сети, CNN) были заменены более сложными рекуррентными сетями (RNN), которые ввели понятие предыдущего контекста, важного для последовательной речи. Сегодня эта генерация обычно реализуется глубокими сетевыми архитектурами вроде расширенных причинно-следственных сверточных сетей (Dilated Causal Convolution Networks, DCCN), "учитель-ученик", вариационные автоэнкодеры (Variational Auto-Encoders, VAE), генеративные состязательные сети (Generative Adversarial Networks, GAN), модели точного подобия, такие, как PixelCNN/RNN, Image Transformer'ы, Generative Flow и так далее.

Самые популярные архитектуры включают:

  • Авторегрессивная модель – модель, основанная на регрессии для временных рядов, при которой будущие значения определяются только прошлыми значениями, а не какими-либо другими данными. Если говорить о генерации речи, большинство ранних моделей, основанных на нейронных сетях, были авторегрессивными, а это означало, что будущие паттерны речи полностью определяются прошлыми паттернами, на основе которых рассчитываются долговременные зависимости. Такие модели довольно легко создавать и обучать, но их недостаток в том, что они распространяют и даже усиливают ошибки. Время генерации при этом пропорционально длине генерируемой последовательности. Будучи последовательными, эти модели имеют крупный недостаток: они не могут использовать возможность параллелизма, заложенную в новейшие процессоры GPU и TPU. Это усложняет их применение в системах реального времени, в которых необходимо отвечать пользователю в течение определенного времени. Не-авторегрессивные системы, введенные с появлением WaveNet и ClariNet, позволяют генерировать сэмплы голоса, не полагаясь на результаты предыдущей генерации, что допускает полную параллелизацию, ограниченную только памятью процессоров. Такие системы сложнее реализовать, обучать, и они не настолько точные (поскольку исчезли внутренние зависимости), но могут сгенерировать все сэмплы за миллисекунды.
Уравнение авторегрессии
  • Введенные в 2016 компанией Google и ее популярной WaveNet расширенные причинно-следственные сверточные сети (Dilated Causal Convolution Network, DCCN) – это сверточные сети, в которых фильтр применяется к области, большей своей длины, пропуская входные значения с определенным шагом. Это расширение позволяет сети обрабатывать очень большие входные массивы, имея всего лишь несколько слоев. Впоследствии многие архитектуры интегрировали эту модель в свои конвейеры генерации.
Расширенная причинно-следственная сверточная сеть (DCCN)
  • Потоковые архитектуры (Flow) состоят из серии обратимых трансформаций (Динх и пр., 2014 – Резенде и Мохаммед, 2015). Термин "поток" означает, что простые обратимые трансформации можно комбинировать для создания сложных обратимых трансформаций. Модель Нелинейной Независимой Оценки Компонентов (Nonlinear Independent Component Estimation, NICE) и модель Real Non-Volume Preserving (RealNVP) представляют два популярных вида обратимых трансформаций. В 2018-м NVIDIA использовала этот метод, интегрировав методику Glow (термин, означающий Generative-Flow) в WaveGlow для генерации голосовых файлов на основе мел-спектрограммы.
Потоковая архитектура
  • В модели Учитель-Ученик используются две модели: предобученная авторегрессивная модель (Учитель) используется для того, чтобы не-авторегрессивная модель (Ученик) усвоила правильные акценты и ударения. Учитель будет учитывать выходы параллельной системы прямого прохода (Студента). Этот механизм также называется Дистилляцией Знаний (Knowledge Distillation). Критерии обучения Студента имеют отношение к обратным авторегрессивным потокам и прочим потоковым моделям, введенным с появлением WaveGlow. Крупнейшая проблема таких моделей параллельного синтеза – они могут работать только с обратимыми трансформациями, что ограничивает возможности модели.
Модель Учитель-Ученик
  • Вариационные автоэнкодеры (Variational Auto-Encoders, VAE) – это адаптация автоэнкодеров. Автоэнкодер состоит из двух нейронных сетей, взаимодействующих друг с другом. Первая сеть переводит входные данные в последовательное сжатое внутреннее представление z, которое можно интерполировать. Вторая нейронная сеть отвечает за восстановление входа из внутреннего представления, сокращая потери вывода. Для сокращения эффектов переобучения, обучение регуляризируется по среднему значению и ковариации. В случае генерации голоса энкодер преобразует текст во внутренее состояние в соответствии с акустическими признаками, а декодер преобразует это состояние в звуковой сигнал. Модель энкодер/декодер многое заимствует у генерации изображений, поскольку в их основе лежит идея генерация изображения (спектрограммы). Таким образом, PixelCNN, Glow и BigGAN послужили источниками идей для сетей TTS.
Вариационный автоэнкодер
  • Генеративные состязательные сети (Generative Adversarial Networks – GAN, Гудфеллоу и пр.) появились в 2014-м, чтобы помочь в генерации изображений. Они основаны на парадигме "соревнования" генератора с дискриминатором. Генератор обучается генерировать изображения на основе входных данных, а дискриминатор обучается отличать истинные изображения от сгенерированных. Команда из Сан-Диего (Донахью и пр., 2018) применяет этот метод для генерации аудиосигналов (WaveGAN и SpecGAN). Многие вокодеры также используют эту методику как основу для генерации. GAN – один из лучших методов генерации звуковых файлов.
Генеративная состязательная сеть

Существуют и другие системы, но они не так популярны – например, Диффузионная Вероятностная Модель, состоящая из модификации сигналов последовательностью Марковских переходов вроде добавления Гауссовского шума, IAF...

Появление механизма внимания радикально улучшило сети seq2seq, убрав необходимость рекуррентности, но предсказать правильную синхронизацию между входом и выходом, по-прежнему сложно. Ранние сети использовали механизм внимания, основанный на содержании, но получали ошибки в синхронизации. Чтобы справиться с этой проблемой, были предложены и протестированы несколько других механизмов внимания: механизм Гауссовской Смешанной Модели внимания (Gaussian Mixture Model, GMM), механизм Гибридного Внимания, Чувствительного к Локации (Hybrid Location-Sensitive Attention) и метод синхронизации с Монотонным Вниманием.

Эта таблица перечисляет различные архитектуры основных нейронных сетей, построенных за последние годы.


Источник: m.vk.com

Комментарии: