ЖАНРЫ

Охота на электроовец. Большая книга искусственного интеллекта
Шрифт:

Именно этот метод, получивший название «метод выбора элементов» [unit selection], в середине 2010-х гг. был наиболее популярным для синтеза речи на европейских языках. Он обеспечивал наилучшее качество синтетической речи, хотя в массовых тестах заметно уступал предзаписанным образцам реальной человеческой речи. Поэтому довольно широкое распространение получили также специализированные системы синтеза, предназначенные для тех или иных узкоспецифических задач. Например, если вам нужно продиктовать человеку набор цифр, то можно просто использовать предзаписанные названия цифр, нормализованные по темпу, громкости и фундаментальной частоте (F0). Конечно, интонации такой системы будут не слишком естественными, однако результат будет разборчивым и в произношении не будет дефектов. Можно также использовать предзаписанные названия аэропортов и железнодорожных станций для систем синтеза речи, используемых на транспорте. Диалоговые системы, работающие по несложным сценариям, могут быть полностью выстроены на предзаписанных образцах реплик. В целом создатели прикладных голосовых систем хорошо выучили один из главных законов инженерного искусства: не следует забивать гвозди микроскопом, особенно если под руками есть молоток.

6.4.5 Развитие параметрического синтеза речи

Впрочем, системы параметрического синтеза также не стояли на месте. В середине 2010-х гг. их наиболее продвинутой версией стали системы статистического параметрического синтеза (Statistic Parametric Speech Synthesis, SPSS), основанные на скрытых марковских моделях (Hidden Markov Models, HMM).

Сам метод SPSS был предложен в работе [2369] Такаёси Ёсимуры, увидевшей свет в 1999 г., и впоследствии подвергнут ряду доработок и усовершенствований в работах других исследователей. Идея заключается в том, что речь может быть представлена в виде фрагментов, каждый из которых описывается следующим набором параметров: длительность, величина F0, а также набор мел-кепстральных коэффициентов, описывающих спектральные характеристики голоса (форманты, помимо F0). Используя эти параметры, можно сгенерировать последовательность амплитуд звукового сигнала. Собственно, алгоритм, преобразующий звуковой сигнал в подобный набор параметров, а затем способный восстановить из них сигнал, близкий по форме к исходному, называется, как вы уже, наверное, догадались, вокодером. Ёсимура и его коллеги использовали в качестве вокодера алгоритм под названием MLSA (Mel Log Spectrum Approximation, Мел-логспектральная аппроксимация) [2370] . Существенно сократив за счёт применения вокодера число параметров, необходимых для описания звукового сигнала, Ёсимура с коллегами использовали комбинацию деревьев решений и скрытой марковской модели для того, чтобы предсказывать изменение этих параметров во времени в зависимости от последовательности фонем, поступающих на вход модели.

2369

Yoshimura T., Tokuda K., Masukoy T., Kobayashiy T., Kitamura T. (1999). Simultaneous modeling of spectrum, pitch and duration in HMM-based speech synthesis // http://www.sp.nitech.ac.jp/~zen/yossie/mypapers/euro_hungary99.pdf

2370

Imai S., Sumita K., Furuichi C. (1983). Mel Log Spectrum Approximation (MLSA) Filter for Speech Synthesis / Electronics and Communications in Japan, Vol. 66-A, No. 2, 1983 // https://doi.org/10.1002/ecja.4400660203

Здесь самое время сделать небольшое отступление и рассказать об этих моделях.

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

Рис. 139. Пример дерева решений

С марковскими моделями дело обстоит несколько сложнее. Для начала представим себе некоторый случайный процесс, то есть некоторый набор пронумерованных случайных величин. Например, процесс последовательного подбрасывания игрового кубика можно рассматривать как случайный: каждый бросок приводит к выпадению некоторого числа (случайной величины), при этом все броски можно пронумеровать (первый бросок, второй бросок и т. д.). Напомним, что закономерность, описывающая область возможных значений случайной величины и вероятности появления этих значений, называется распределением вероятностей случайной величины. Для идеального и честного (не шулерского) игрального кубика с шестью гранями результат броска (будем считать, что кубик не может задержаться на ребре, углу или зависнуть в воздухе) — это дискретная случайная величина (т. е. такая случайная величина, множество возможных значений которой конечно или хотя бы счётно; в нашем случае оно конечно — у кубика всего шесть граней) с равномерным распределением (все варианты выпадения равновероятны, и вероятность каждого составляет ровно 1/6). Роль игрального кубика мог бы выполнять любой другой генератор случайных чисел, при этом случайные величины, производимые на свет таким генератором, вовсе не обязаны быть дискретными или распределёнными равномерно, но мы для простоты иллюстрации будем использовать игральные кубики.

Немного усложним наш процесс и представим себе, что у нас на самом деле имеется не один, а некоторое конечное (или хотя бы счётное) количество игральных кубиков, уложенных в шкатулку. Среди них есть кубики с разным числом граней (например, с 4, 6, 8, 12, 20), на гранях этих кубиков написаны разные числа (необязательно от единицы до числа граней, а например: 1, 1, 2, 4 на кубике с четырьмя гранями и т. п.), некоторые кубики мошеннические (вероятность выпадения каких-то из их граней больше). После каждого броска мы возвращаем кубик в шкатулку и для следующего броска берём оттуда другой. Следовательно, распределение случайной величины во время броска под номером t будет зависеть от того, какой кубик будет в этот момент у нас в руках. Номер этого кубика i мы будем называть текущим состоянием процесса. Таким образом, наш процесс на каждом шаге t находится в некотором состоянии i и генерирует некоторую случайную величину, распределение которой зависит только от i.

Теперь обратим внимание на ещё одну важную деталь нашего процесса, а именно на принцип выбора следующего кубика в шкатулке. Если этот принцип зависит только от того, какой кубик находится у нас в руках сейчас, и того, какое число выпадет в результате его броска, то наш процесс будет называться марковским процессом, то есть случайным процессом, эволюция которого после любого заданного значения временного параметра t не зависит от эволюции, предшествовавшей t, при условии что значение процесса в этот момент фиксировано (т. е. «будущее» процесса не зависит от «прошлого» при известном «настоящем», или, иными словами, «будущее» процесса зависит от «прошлого» лишь через «настоящее»).

В марковских процессах ни время, ни случайные величины, ни состояния процесса вовсе не обязаны быть дискретными, однако эту разновидность особой уличной магии мы оставим авторам специализированных курсов по математической статистике. Частным случаем марковского процесса, если все эти параметры дискретны, является так называемая марковская цепь нулевого порядка. Помимо цепей нулевого порядка, существуют ещё и марковские цепи высших (первого, второго и т. д.) порядков, в которых следующее состояние зависит не только от текущего, но и от одного, двух и так далее предыдущих значений. Когда мы используем термин «скрытая марковская модель», мы обычно предполагаем, что анализируемая нами последовательность является продуктом последовательных случайных событий, генерируемых некоторой марковской цепью, однако мы не знаем, в каком именно состоянии находилась цепь на каждом из шагов. Для прогнозирования значений мы пытаемся выявить структуру порождающей модели при помощи статистических методов. Со времени своего появления марковские модели активно использовались, в частности для анализа закономерностей появления символов в текстах. Модели, основанные на n– граммах, а также конечные автоматы являются наследниками марковских моделей. В некотором роде анализ марковских цепей и процессов стал важным элементом математического фундамента, на котором затем было возведено здание машинного обучения.

Марковские процессы получили своё название в честь русского математика Андрея Маркова (старшего), который сформулировал их определяющее свойство в первую декаду XX в.

Академик Андрей Андреевич Марков был весьма примечательной личностью для своего времени. Он был не только радикальным новатором в науке (его вклад в теорию чисел, математический анализ и прежде всего в математическую статистику и теорию вероятностей весьма существенно повлиял на дальнейшее развитие науки в этих направлениях), но и человеком весьма радикальных рационалистических взглядов. Чего стоит хотя бы его «самоотлучение» от Русской православной церкви. В феврале 1912 г. он направил в Святейший синод письмо, в котором попросил об отлучении. Академик писал: «Я не усматриваю существенной разницы между иконами и мощами, с одной стороны, и идолами, которые, конечно, не боги, а их изображения, с другой, и не сочувствую всем религиям, которые, подобно православию, поддерживаются огнём и мечом и сами служат им». Синод рассмотрел письмо и поручил митрополиту Петербургскому организовать «преподание просителю пасторских увещеваний и вразумления», что тот поручил сделать священнику Философу Орнатскому. Однако Марков отказался от встречи с ним, заявив, что она только приведёт к напрасной трате времени и взаимному раздражению. В итоге митрополит направил рапорт в Синод, где предложил, что «г. Маркова следует считать отпавшим от Церкви и подлежащим исключению из списков лиц православных», Синод поручил Санкт-Петербургскому епархиальному начальству принять решение по Маркову, и Санкт-Петербургская духовная консистория утвердила предложение митрополита считать Маркова отпавшим от церкви. Синод постановил известить о происшедшем петербургского градоначальника, Министерство народного просвещения и непосредственное руководство Маркова [2371] .

2371

Отрадных Ф. П. (1953). Эпизод из жизни академика А. А. Маркова // Историко-математические исследования. № 6. С. 495—508 // http://pyrkov-professor.ru/default.aspx?tabid=195&ArticleId=44

Марков был довольно сильным шахматистом, много и с успехом играл по переписке, занимался шахматной композицией, был другом и партнёром в игре по переписке сильнейшего российского шахматиста того времени — Михаила Чигорина.

Системы, основанные на скрытых марковских моделях (применявшихся как в статистическом параметрическом синтезе, так и в конкатенативных системах), а также на вокодерах, использующих «донейронные» схемы аппроксимации, позволили получить весьма реалистичную и разборчивую синтетическую речь, обладающую лишь незначительным числом дефектов, выдающих её ненатуральность. С начала нового тысячелетия эти системы постепенно совершенствовались, главным образом за счёт работы над наборами данных (увеличения их размеров и улучшения качества). И всё же, несмотря на все старания инженеров, от «синтетического оттенка» искусственной речи избавиться до конца не удавалось. Увеличение затрат на подготовку данных не приводило к пропорциональному росту качества синтеза речи, что свидетельствовало в пользу того, что существующие технологии синтеза приблизились к пределу своих возможностей.

В условиях, когда методы глубокого обучения завоёвывали всё новые и новые области обработки данных, появление их в синтезе речи было лишь вопросом времени.

6.4.6 Первые применения нейронных сетей для синтеза речи

Попытки применения нейронных сетей к задаче синтеза речи предпринимались ещё до «революции глубокого обучения». Например, в 1998 г. тайваньские исследователи Сын-Хорн Чэнь, Шау-Хва Хван и И-Ру Ван использовали четырёхслойную рекуррентную нейронную сеть Элмана для генерации параметров произношения каждого из слогов (так называемой просодической информации) в системе синтеза речи для путунхуа (mandarin) — официального стандарта китайского языка. Однако это исследование [2372] осталось практически незамеченным — сети Элмана, в отличие от LSTM-сетей, обладали рядом существенных недостатков, и добиться значительного преимущества по сравнению с классическими методами в тот момент не удалось. Кроме того, использование тонового китайского языка в качестве модельного затрудняло оценку работы со стороны западных исследователей. В общем, революция глубокого обучения в области синтеза речи началась лишь в первой половине 2010-х.

2372

Chen S.-H., Hwang S.-H., Wang Y.-R. (1998). An RNN-based prosodic information synthesizer for Mandarin text-to-speech / IEEE Transactions on Speech and Audio Processing, Vol. 6, No. 3, pp. 226—239 // https://doi.org/10.1109/89.668817

В 2012 г. в журнале IEEE Signal Processing Magazine появилась статья, подписанная 11 авторами из IBM, Google, Microsoft и Университета Торонто (последний был представлен уже знакомым нам Джеффри Хинтоном и его аспирантами). Статья называлась «Глубокие нейронные сети для акустического моделирования в распознавании речи: общие взгляды четырёх исследовательских групп» (Deep Neural Networks for Acoustic Modeling in Speech Recognition: The Shared Views of Four Research Groups). Даже беглое чтение этой работы приводило к очевидной мысли: век скрытых марковских моделей в акустическом моделировании закончился. Если это произошло в области распознавания речи, значит, скорее всего, произойдёт и в области синтеза. И действительно, с 2013 г. начинается лавинообразный рост числа публикаций, в которых авторы пробуют применять глубокие нейронные сети в системах как параметрического, так и конкатенативного синтеза.

Поделиться с друзьями: