Шрифт:
Интервал:
Закладка:
Авторы также пытались расширить выходной слой сети, чтобы поручить ей выполнение дополнительных вторичных задач (например, предсказание центральных частот формант F1—F4) в надежде, что это улучшит внутренние представления, выучиваемые сетью, что, в свою очередь, положительно повлияет на точность решения основной задачи. Однако здесь авторам не удалось добиться статистически значимых улучшений[2380]. Вообще, публикация исследователями из Эдинбурга отрицательных результатов наряду с положительными, на мой взгляд, свидетельствует об их исключительной добросовестности.
В том же 2015 г. в Японии на Первом международном симпозиуме по машинному обучению в области обработки устной речи (First International Workshop on Machine Learning in Spoken Language Processing, MLSLP) Хейга Дзэн представил обзор прогресса в области систем статистического параметрического синтеза (от скрытых марковских моделей до LSTM-сетей). Обзор завершался следующим выводом: «Одной из основных причин, по которой HMM стали доминирующей акустической моделью в SPSS, является наличие программного обеспечения с открытым исходным кодом для создания полностью функциональных, „сквозных“ систем. Поскольку существует ряд пакетов программного обеспечения с открытым исходным кодом для глубокого обучения, автор ожидает, что искусственные нейронные сети станут следующей доминирующей акустической моделью в ближайшем будущем»[2381] (сквозная, end-to-end система — система, которая реализует весь функционал от начала до конца; в данном случае система, которая преобразовывала бы текстовое представление в звуковой сигнал).
В 2016 г. совместная британо-японская группа исследователей из Эдинбургского университета и Национального института информатики Японии продемонстрировала превосходство глубоких моделей над скрытыми марковскими моделями как в традиционном статистическом параметрическом синтезе, так и в «гибридном синтезе» (этот термин авторы использовали для обозначения модели, в которой выбор элементов речевого сигнала производится при помощи модели статистического параметрического синтеза, но сами элементы могут не только извлекаться из базы данных, но и генерироваться при помощи вокодера)[2382].
Как видно, авторы всех данных работ постепенно улучшали глубокие модели, используя разнообразные подходы. Нейросети всё более успешно справлялись с задачей синтеза речи, постепенно обходя скрытые марковские модели, но результаты этих двух подходов были всё ещё близки друг к другу.
О том, что стало решающим шагом вперёд, мы поговорим в следующей подглаве.
6.4.7 Появление модели WaveNet и новые проблемы
Прорывом в области параметрического синтеза речи стало появление в 2016 г. получившей название WaveNet модели, созданной Хейгой Дзэном совместно с группой исследователей из DeepMind. WaveNet стал первым нейросетевым вокодером, способным преобразовывать последовательность лингвистических признаков (это могут быть фреймы (временные фрагменты), содержащие значения F0 и наборы мел-кепстральных коэффициентов, либо фреймы линейной или мел-спектрограммы) в последовательность амплитуд речевого сигнала.
WaveNet — авторегрессионная модель, то есть модель, в которой каждый следующий элемент последовательности зависит от предыдущих. Она является наследницей модели под названием PixelCNN, предназначенной для генерации изображений (мы подробнее поговорим о ней в разделе, посвящённом генеративным моделям). Каждая следующая амплитуда речевого сигнала сильно зависит от предыдущих, и эти зависимости могут связывать амплитуды, находящиеся друг от друга на достаточно большом расстоянии. Обычно человеческое ухо способно различать частоты не ниже 20 Гц. При частоте дискретизации 48 кГц длина периода колебаний частотой 20 Гц составляет 48000 / 20 = 2400 шагов. Таким образом, качественной авторегрессионной модели для речевого сигнала нужно довольно большое рецептивное поле (часть входной последовательности, передаваемой на вход модели). Для рекуррентных сетей это слишком большие дистанции, а «наивные» нерекуррентные архитектуры, такие как полносвязные и даже свёрточные сети, содержат слишком большое количество параметров. Проблема такой сети заключается в том, что она должна выполняться каждый раз при вычислении очередной амплитуды. 48 000 выполнений сети на одну секунду аудиосигнала — весьма дорогое удовольствие. Если для вычисления каждой следующей амплитуды нужно знать значение предыдущей, сделать такие расчёты параллельными довольно затруднительно.
Трюк, использованный создателями WaveNet, называется расширенной или растянутой свёрткой [dilated convolution] или даже «свёрткой с дырками» [à trous]. Расширенная свёртка — это свёртка, в которой фильтр (ядро свёртки) применяется к области, превышающей его собственную длину, путём пропуска входных значений с определённым шагом. Математически это эквивалентно свёртке с более крупным фильтром, полученным из исходного путём разбавления его значений нулями, но с вычислительной точки зрения куда более эффективно. Расширенная свёртка позволяет сети эффективно обрабатывать данные, обладающие большей размерностью, чем в случае обычной свёртки. Расширенная свёртка с коэффициентом расширения [dilation], равным 1, является стандартной свёрткой.
Рис. 140. Последовательные расширенные свёртки в WaveNet с коэффициентами расширения (снизу вверх): 1, 2, 4 и 8
Авторы WaveNet не были изобретателями расширенной свёртки, она применялась с конца 1980-х гг. в различных контекстах, например в обработке сигналов[2383], [2384] или для сегментации изображений[2385], [2386]. Однако создатели WaveNet подобрали оптимальное количество слоёв, их коэффициенты расширения, а также снабдили сеть перепрыгивающими соединениями. Каждый блок WaveNet включает девять последовательных слоёв расширенной свёртки с коэффициентами 1, 2, 4, 8, 16, 32, 64, 128, 256, 512. Несколько блоков WaveNet могут быть соединены друг с другом с целью расширения рецептивного поля сети.
Размер рецептивного поля WaveNet в экспериментах, упомянутых авторами модели, составлял 0,24–0,3 секунды. Если модель при генерации сигнала ориентируется лишь на предшествующие амплитуды, то начинает подражать особенностям корпуса, на котором производилось обучение модели. Если используется речевой корпус, то модель начинает генерировать последовательности, фонетически напоминающие речь на языке корпуса. Конечно, это не осмысленная речь, а глоссолалия, то есть речь, состоящая из бессмысленных слов, имеющая некоторые признаки настоящей речи. В одном из забавных экспериментов создатели WaveNet использовали корпус, состоящий из записей фортепианных концертов. Обученная на таком корпусе модель сочиняла своеобразные музыкальные импровизации.
Для того чтобы добиться от модели генерации звука с требуемыми характеристиками, авторы снабдили WaveNet механизмами локального и глобального «обусловливания» (conditioning). Для этого к каждой амплитуде добавляется вектор, называемый обусловливающим. В случае глобального обусловливания этот вектор одинаков для всей последовательности (это может быть, например, вектор эмбеддинга голоса, если в обучении использовался многоголосый корпус, а от модели требуется генерировать речь одним из этих голосов). В случае локального обусловливания этот вектор может принимать