До наступления эры глубокого обучения (DL) для распознавания речи HMM и GMM были двумя технологиями, которые необходимо изучить для распознавания речи. Сейчас существуют гибридные системы, сочетающие HMM с глубоким обучением, а есть системы, не содержащие HMM. Теперь у нас есть больше вариантов дизайна. Однако для многих генеративных моделей HMM остается важным. Но независимо от статуса, распознавание речи помогает нам лучше понять применение HMM и GMM в контексте машинного обучения. Так что прекратите длинное лицо и давайте иногда тратим на это деньги.

Автоматическое распознавание речи (ASR)

Давайте сначала сделаем общий обзор. На диаграмме ниже представлена ​​высокоуровневая архитектура для распознавания речи, которая связывает HMM (скрытую марковскую модель) с распознаванием речи.

Начиная с аудиоклипа, мы сдвигаем окна шириной 25 мс и интервалом 10 мс, чтобы извлечь особенности MFCC. Для каждой оконной рамы будет извлечено 39 параметров MFCC. Основная цель распознавания речи - построить статистическую модель для вывода текстовых последовательностей W (скажем, кошка сидит на циновке) из последовательности векторов признаков X.

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

Эта модель зависит от построения языковой модели P (W), модели лексикона произношения и акустической модели P (X | W) (генеративная модель), как показано ниже.

Модель произношения может использовать таблицы для преобразования слов в телефоны, или корпус уже расшифрован с фонемами. Акустическая модель представляет собой моделирование последовательности векторов признаков с учетом последовательности телефонов вместо слов. Но мы продолжим использовать обозначение p (X | W) для акустической модели. Просто имейте в виду.

В языковой модели речь идет о вероятности последовательности слов. Например, «Я смотрю фильм» будет более вероятным, чем «Я смотрю фильм» или «Я смотрю яблоко». Он предсказывает следующее слово с учетом предыдущих слов. Если мы аппроксимируем его цепью Маркова первого порядка, следующее слово будет зависеть только от текущего слова. Мы можем оценить это, посчитав количество пар слов в корпусе.

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

Такой подход звучит косвенно, а поиск выглядит неэффективным или невозможным. Но p (X | W) намного проще смоделировать при распознавании речи. Распределение функций для телефона можно смоделировать с помощью модели смеси Гаусса (GMM). Мы узнаем это с помощью обучающих данных. Переход между телефонами и соответствующей наблюдаемой можно смоделировать с помощью скрытой марковской модели (HMM). Так что, если мы сможем найти оптимальный способ эффективного поиска телефонной последовательности, в конце концов, это может звучать неплохо.

Модель HMM состоит из скрытых переменных и наблюдаемых. Верхние узлы ниже представляют телефоны, а нижние узлы представляют соответствующие наблюдаемые (функции звука). Горизонтальные стрелки показывают переход в телефонной последовательности к истинному ярлыку «она просто…».

При распознавании речи наблюдаемое может быть представлено 39 функциями MFCC, извлеченными из соответствующего аудиокадра. Хорошая новость заключается в том, что с этой моделью HMM нам не нужно искать телефонную последовательность один за другим. В противном случае сложность растет в геометрической прогрессии с увеличением количества телефонов. С помощью алгоритма Витерби или других методов HMM мы можем найти оптимальную последовательность за полиномиальное время. Мы вернемся к этому позже.

На диаграмме ниже представлена ​​возможная реализация автоматического распознавания речи (ASR). Комбинируя информацию о лексике, акустической модели и языковой модели, мы можем найти оптимальную телефонную последовательность с помощью декодера Витерби.

Подведем итоги: мы можем смоделировать акустическую модель P (X | W) с помощью HMM. Стрелки на модели HMM будут представлять телефонные переходы или ссылки на наблюдаемые объекты. Чтобы смоделировать наблюдаемые нами звуковые функции, мы изучаем модель GMM на основе данных обучения. Итак, давайте сначала разберемся с HMM и GMM в общем контексте.

Скрытая марковская модель (HMM)

Цепь Маркова содержит все возможные состояния системы и вероятность перехода из одного состояния в другое.

Цепь Маркова первого порядка предполагает, что следующее состояние зависит только от текущего состояния. Для простоты мы часто называем это цепью Маркова.

С этой моделью будет намного проще обращаться. Однако во многих системах машинного обучения не все состояния наблюдаемы, и мы называем эти состояния скрытыми или внутренними состояниями. Некоторые могут рассматривать их как скрытые факторы входных данных. Например, может быть нелегко узнать, счастлив я или грустен. Мое внутреннее состояние будет {H или S}. Но мы можем получить некоторые подсказки из того, что наблюдаем. Например, когда я счастлив, у меня есть шанс 0,2, что я посмотрю фильм, но когда мне грустно, этот шанс увеличивается до 0,4. Вероятность наблюдения наблюдаемого с учетом внутреннего состояния называется вероятностью излучения. Вероятность перехода из одного внутреннего состояния в другое называется вероятностью перехода.

Для распознавания речи наблюдаемым является содержимое каждого аудиокадра. Мы можем использовать параметры MFCC для его представления. Посмотрим, что мы можем сделать с HMM.

Вероятность с прямым алгоритмом

HMM моделируется переходом и вероятностью излучения.

Если модель HMM изучена, мы можем использовать прямой алгоритм для расчета вероятности наших наблюдений. Наша цель - суммировать вероятности наблюдений для всех возможных последовательностей состояний:

Но мы должны делать это с умом. Мы не можем суммировать все возможные последовательности состояний по очереди. У него экспоненциальная сложность.

Наша стратегия будет использовать принцип «разделяй и властвуй». Если мы можем выражать вычисления рекурсивно, мы можем разбить проблему на промежуточные этапы. В HMM мы решаем проблему в момент времени t, используя результат времени t-1 и / или t + 1. Круг ниже представляет скрытое состояние HMM j в момент времени t. Таким образом, даже количество последовательностей состояний увеличивается экспоненциально со временем, мы можем решить это линейно, если сможем выразить вычисление рекурсивно со временем.

Это идея динамического программирования, которая разрушает экспоненциальное проклятие. В момент времени t вероятность наших наблюдений до времени t равна:

Давайте переименуем термин, подчеркнутый красным, как α t (j) (прямая вероятность) и проверим, можем ли мы выразить его рекурсивно. Поскольку текущее наблюдение зависит только от текущего состояния, α можно выразить как:

Таким образом, у него есть рекурсивные отношения. Ниже приведены шаги по вычислению вероятности наблюдений с учетом модели λ с использованием рекурсии. Вместо того, чтобы суммировать каждую последовательность состояний независимо, мы вычисляем α от первого временного шага до конца (время T). Если есть k внутренних состояний, сложность будет только O (k²T), а не экспоненциально.

Вот пример, который мы начинаем с начального распределения состояний слева. Затем мы перемещаем значение α вправо. Мы вычисляем α для каждого состояния и повторяем его для каждого временного шага.

Затем, учитывая модель HMM, как мы можем найти внутренние состояния с учетом последовательности наблюдений. Этот процесс называется декодированием. Это особенно интересно для распознавания речи. Если у нас есть аудиоклип, внутренние состояния представляют телефоны. Распознавание речи можно рассматривать как нахождение этих внутренних состояний в аудиоклипах.

Расшифровка (поиск внутренних состояний - алгоритм Витерби)

Опять же, мы хотим выразить наши компоненты рекурсивно. Учитывая, что состояние равно j в момент времени t, vt (j) - это совместная вероятность последовательности наблюдений с оптимальной последовательностью состояний.

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

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

В этом алгоритме мы также записываем максимальный путь, который ведет к каждому узлу в момент времени t (красная стрелка вверху), т.е. мы отслеживаем оптимальный путь для каждого узла. Например, мы переходим из счастливого состояния H в t = 1 в счастливое состояние H в t = 2.

Обучение (алгоритм Баума – Велча / алгоритм вперед-назад)

Теперь самое сложное. Как мы можем изучить модель HMM? Это можно сделать с помощью алгоритма Баума – Велча (алгоритм вперед-назад), чтобы узнать переход и вероятность излучения. Эта задача кажется невыполнимой, поскольку в наших расчетах обе вероятности сильно запутаны. Но с некоторой точки зрения, если мы знаем вероятность занятия состояния (распределение состояний в момент времени t) ,, мы можем получить вероятность излучения и вероятность перехода. Если нам известны эти две вероятности, мы можем получить распределение состояний в момент времени t. Это проблема курицы и яйца, которую мы обсуждали в алгоритме EM. Алгоритм EM решает задачу поэтапно. На каждом этапе мы оптимизируем одну скрытую переменную, исправляя другие. Представьте, что каждая итерация улучшает решение. Даже для непрерывного пространства мы работаем с ограниченной точностью, поэтому есть конечные состояния, которые нужно исследовать и улучшать. Итак, если мы сохраним итерации, решение сойдется.

Поэтому неудивительно, что алгоритм Баума – Велча является частным случаем алгоритма EM.

Познакомимся со следующими новыми обозначениями.

Мы уже знакомы с α (прямая вероятность) в прямом алгоритме. β (обратная вероятность) - его ближайший родственник в обратном направлении (вероятность увидеть все предстоящие наблюдения с учетом состояния i в момент времени t ). Мы можем выразить это рекурсивно, аналогично α, но в обратном направлении (также известный как обратный алгоритм).

Чтобы изучить модель HMM, нам нужно знать, в каких состояниях мы находимся, чтобы лучше всего объяснить наблюдения. Это будет вероятность занятия состояния γ - вероятность состояния i в момент времени t с учетом всех наблюдений.

При фиксированных параметрах модели HMM мы можем применить прямой и обратный алгоритм для вычисления α и β из наблюдений. γ можно вычислить, просто умножив α на β, а затем перенормируя его.

ξ - это вероятность перехода из состояния i в j по истечении времени t с учетом всех наблюдений. Его можно вычислить с помощью α и β аналогичным образом.

Интуитивно, используя фиксированную модель HMM, мы уточняем вероятность заполнения состояния (γ) и переход (ξ) с данными наблюдениями.

Вот и курица и яйцо. После уточнения распределения γ и ξ (θ₂) мы можем выполнить точечную оценку того, что будет наилучшей вероятностью перехода и излучения. (θ₁: a, b).

Мы фиксируем один набор параметров, чтобы улучшить другие, и продолжаем итерацию, пока решение не сойдется.

Алгоритм EM обычно определяется как:

Здесь шаг E устанавливает p (γ, ξ | x, a, b). Затем M-шаг находит a, b, которые примерно максимизируют цель, указанную ниже.

Вот краткое изложение алгоритма:

Таким образом, учитывая все наблюдения в обучающих данных, алгоритм Баума – Велча может изучить модель HMM. Однако не забывайте сохранять непредвзятость. В распознавании речи проблема гораздо сложнее, и многие решения иногда плохо масштабируются.

Акустическая модель

В ASR мы можем использовать таблицу произношения для создания телефонов для текстовой последовательности Y. Далее нам нужно создать акустическую модель для этих телефонов.

В области фонетики проводились десятилетия исследований. Эксперты могут определить гласные и согласные, прочитав спектрограммы напрямую.

Но опять же нам нужно гораздо более плотное представление акустической модели, чтобы мы могли определить вероятность вектора звуковых характеристик X для телефона P (X | телефон).

С MFCC мы извлекаем 39 функций из звукового кадра. Давайте упростим картинку и предположим, что у каждого кадра есть только одна функция. Для состояния sh (телефон) значение этой функции можно смоделировать с помощью нормального распределения.

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

Вот определение многомерного нормального распределения.

где Σ - это ковариационная матрица, которая измеряет корреляции между переменными. Параметры MFCC имеют приятное свойство. Есть относительно независимые друг от друга. Следовательно, недиагональный элемент Σ можно просто установить равным нулю.

Но слишком сложно мыслить многомерно. Поэтому для иллюстрации мы будем придерживаться одномерного примера. Вероятность p (x | q) наблюдаемого признака x будет рассчитана как расстояние от пика нормального распределения q:

Учитывая разные телефоны, мы можем вычислить соответствующие значения плотности вероятности и классифицировать его как телефон с наивысшим значением. Чтобы узнать это распределение Гаусса, мы можем просто оценить по точке обучающих данных xᵢ.

Эти уравнения можно проверить, максимизируя вероятность обучающих данных.

Таким образом, эту гауссовскую модель легко изучить на основе данных обучения, и она дает нам хорошую модель правдоподобия на P (x | μ, σ²). В контексте распознавания речи мы можем изучить модель Гаусса (μ, σ²) для каждого телефона. Это служит вероятностью правдоподобия. Это также действует как вероятность выброса в HMM.

К сожалению, эта концепция наивна, даже если мы используем многомерное распределение Гаусса. Если это правда, выучить иностранный разговорный язык будет намного проще. Вероятность более сложна, чем колоколообразная кривая с одним пиком. Чтобы решить эту проблему, мы переключаемся на модель гауссовой смеси (GMM). Это позволяет распределению быть мультимодальным, т.е. мы позволяем функции иметь несколько возможных значений. Это обеспечивает гибкость вариантов речи.

Например, GMM справа объединяет три гауссовых распределения с разными весами, чтобы сформировать новую плотность вероятности (3-компонентную GMM). Модель все еще довольно плотная, 6 гауссовых параметров плюс 3 веса.

Интуитивно понятно, что значение функции конкретного телефона можно увидеть рядом с одним из режимов m. Но некоторые значения могут быть более вероятными, чем другие. Поэтому мы вводим веса, чтобы указать, какие из них более вероятны. При внутреннем состоянии HMM j вероятность наблюдаемого вектора признаков равна:

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

Да, мы будем использовать алгоритм EM для итерации решения, пока оно не сойдется. В EM мы используем мягкое назначение, а не жесткое. Для жесткого задания мы назначаем конкретный кластер, к которому принадлежит каждая выборка данных (точечная оценка). В мягком назначении это будет распределение вероятностей. Таким образом, это вероятность того, что образец будет принадлежать кластеру. Затем мы повторно вычисляем параметры кластера в соответствии с этим мягким назначением. Поскольку мы освещали это несколько раз, мы не будем подробно останавливаться на том, как это тренировать дальше.

Напомним, имея телефон, мы можем узнать вектор характеристик наблюдаемого с помощью GMM. Это распределение вероятностей позволяет нам вычислить вероятность нашего речевого сегмента для телефона P (x | s) - это также вероятность излучения при внутреннем состоянии в HMM.

Векторное квантование

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

С этим индексом мы можем начать использовать его для обучения HMM. После обучения модели мы можем использовать ее также для декодирования аудиоклипов. Этот метод называется Векторное квантование и используется в ранних исследованиях. Но он менее популярен по сравнению с GMM. Поэтому мы просто хотим, чтобы вы знали об этом.

Мысли

GMM моделирует наблюдаемое распределение вероятностей вектора признаков для данного телефона. Он обеспечивает принципиальный метод измерения «расстояния» между телефоном и наблюдаемым звуковым кадром.

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

где h - скрытое состояние (телефон). Вероятность наличия функций данного телефона можно смоделировать с помощью GMM.

Следующий

Мы готовы применить свои знания в области HMM и GMM при разработке базовых компонентов для распознавания речи.



Источники и ссылки

Автоматическое распознавание речи

"Распознавание речи"

Обработка разговорной речи

Сквозные модели обработки речи

Основные понятия распознавания речи

Телефоны и фонемы

Клип-арт кредиты

Волновой файл