Выбор оптимального алфавита марковских моделей для распознавания речи (отчет)
Материал из MachineLearning.
(Новая: '''Введение в проект''' == Описание проекта == === Цель проекта === Цель проекта ― выбор оптимального набор...) |
|||
Строка 4: | Строка 4: | ||
=== Цель проекта === | === Цель проекта === | ||
- | Цель проекта | + | Цель проекта -- выбор оптимального набора марковских моделей для распознавания речи. |
=== Обоснование проекта === | === Обоснование проекта === | ||
Строка 26: | Строка 26: | ||
== Постановка задачи == | == Постановка задачи == | ||
- | + | '''Вход: ''' | |
- | == | + | Обучающая выборка <tex>X</tex>, элементы которой <tex>x_i = \{ M, C \}</tex>, где <tex>M</tex> последовательность 12 мел-кепстральных векторов соответствует звуковой реализации фонемы, а <tex>C = \{c_{left}, c_{center}, c_{right} \}</tex> - правый, левый контекст аллофона и центральный элемент. |
- | + | Список бинарных вопросов <tex>Q</tex> адресованных к центральному элементу аллофона. Служит множеством элементарных предикатов при построении бинарного дерева. | |
- | === Математическое описание === | + | '''Выход:''' |
+ | |||
+ | Бинарное дерево скрытых марковских моделей (СММ) аллофонов <tex>T</tex>. | ||
+ | |||
+ | '''Функционал качества:''' | ||
+ | |||
+ | Логарифм правдоподобия выборки <tex>\{X\}_1^n</tex> относительно модели <tex>\lambda</tex> есть <tex>LL = \sum_{i=1}^n \log P(M_i|\lambda)</tex> | ||
+ | |||
+ | '''Критерии останова: ''' | ||
+ | |||
+ | Приращение <tex>\Delta LL</tex> меньше порога, или число элементов выборки в вершине меньше порогового. | ||
+ | |||
+ | |||
+ | == Базовые предположения или гипотезы, лежащие в основе алгоритма == | ||
+ | |||
+ | Мы вводим понятие обобщённого (типичного) аллофона, т.е. | ||
+ | В настоящей работе для моделирования спектральной динамики гласных используется скрытая марковская модель СММ, которая позволяет представить звук в виде последовательных состояний, соотносимых счленением звука на сегменты (субаллофоны). Внашем случае гласный разделяется на три отрезка одинаковой длины (начальный и конечный формантные переходы плюс вокалическое ядро). Поэтому СММ имеет три состояния <tex>Q = 3</tex> и лево-правую матрицу переходных вероятностей <tex>A = \{a_{ij}\}</tex>. | ||
+ | |||
+ | ==Математическое описание алогритмов== | ||
+ | |||
+ | ===Обучение скрытой марковской модели (СММ)=== | ||
+ | |||
+ | '''Составляющие СММ:''' | ||
+ | |||
+ | 1. <tex>Q</tex> — общее количество состояний в модели. В нашей задаче <tex>Q = 3</tex> Мы обозначим совокупность состояний модели множеством <tex>S = \left\{ S_1, S_2, \ldots S_N \right\}</tex>, а текущее состояние в момент времени <tex>t</tex> как <tex>q_t</tex>. | ||
+ | |||
+ | 2. Матрица вероятностей переходов <tex>A = \left\{ a_{ij} \right\}</tex>, где | ||
+ | |||
+ | <tex>a_{ij} = P \left[ q_{t+1} = S_j | q_t =S_i \right],:: 1 \le i, j \le N,</tex> | ||
+ | |||
+ | то есть это вероятность того, что система, находящаяся в состоянии <tex>S_i</tex>, перейдет в состояние <tex>S_j</tex>. В контексте нашей задачи используется лево-правая матрица переходов. То есть <tex>a_{ii} > 0</tex> и <tex>a_{i,i+1} > 0</tex> для <tex>1 \le i \le N-1</tex>. В остальных состояниях вероятность перехода <tex>a_{ii} = 0</tex>. | ||
+ | |||
+ | 3. <tex>b_i(O) = \sum_{m=1}^M c_{jm} N(O, \mu_{jm}, \Sigma_{jm}),:: 1 \le i, j \le N</tex>, | ||
+ | |||
+ | где <tex>\vec{O}</tex> - моделируемый вектор наблюдений, <tex>c_{jm}</tex> - весовой коэффициент <tex>m</tex>-й компоненты в состоянии <tex>j</tex>. | ||
+ | <tex>N(O, \mu_{jm}, \Sigma_{jm})</tex> - гауссова плотность вероятности с вектором средних значений <tex>\mu_{jm}</tex> и ковариационной матрицей <tex>\Sigma_{jm}</tex>. | ||
+ | У нас используется <tex>M = 6</tex> компонет смеси. | ||
+ | |||
+ | 4. Распределение вероятностей начального состояния <tex>\pi = \left\{ \pi_i \right\}</tex>, где | ||
+ | <tex>\pi_i = P[q_1 = S_i], 1 \le i \le N, </tex> | ||
+ | то есть вероятность того, что <tex>S_i</tex> это начальное состояние модели. | ||
+ | В нашем случае всегда начинаем с 1-го состояния т.е. <tex>\pi_1 = 1</tex> | ||
+ | |||
+ | Совокупность значений <tex>Q,A,B</tex> и <tex>\pi</tex> - это скрытая марковская модель, которая может сгенерировать наблюдаемую последовательность. | ||
+ | |||
+ | Для решения задачи обучения СММ требуется подобрать параметры модели <tex>\lambda = (A,B,\pi)</tex> таким образом, чтобы максимизировать <tex>P(O | \lambda)</tex>. | ||
+ | В этой работе используется метод Баума-Уэлча, EM-метод переоценки параметров СММ. Формулы повторного оценивания для коэффициентов <tex>c_{jm}</tex>, <tex>\mu_{jm}</tex> и <tex>\Sigma_{jm}</tex>, составляющих плотности имеют вид. | ||
+ | |||
+ | ::<tex>\vec{c}_{jk} = \frac{\sum_{t=1}^T \gamma_t(j,k)}{\sum_{t=1}^T \sum_{k=1}^M \gamma_t(j,k)}</tex> | ||
+ | |||
+ | |||
+ | ::<tex>\vec{\mu}_{jk} = \frac{\sum_{t=1}^T \gamma_t(j,k) O_t}{\sum_{t=1}^T \gamma_t(j,k)}</tex> | ||
+ | |||
+ | |||
+ | ::<tex>\vec{\Sigma}_{jk} = \frac{\sum_{t=1}^T \gamma_t(j,k) (O_t - \mu_{jk})(O_t - \mu_{jk})\prime}{\sum_{t=1}^T \gamma_t(j,k)}</tex>, | ||
+ | |||
+ | где штрих означает транспонирование вектора, а <tex>\gamma_t(j,k)</tex> - вероятность того,что (при заданной последовательности наблюдений) в момент времени <tex>t</tex> модель находиться в состоянии <tex>j</tex>, причём наблюдаемый в этот момент вектор <tex>O_t</tex> порождён <tex>k</tex>-й компонентой смеси плотности, т.е. | ||
+ | |||
+ | ::<tex>\gamma_t(j,k) = \left( \frac{\alpha_t(j) \beta_t(j)}{\sum_{j=1}^N \alpha_t(j) \beta_t(j)} \right) \left( \frac{c_{jk} N(O, \mu_{jm}, \Sigma_{jm})}{\sum_{m=1}^M c_{jm} N(O, \mu_{jm}, \Sigma_{jm})} \right)</tex>, | ||
+ | |||
+ | где <tex>\alpha_t(i) = P(O_1 O_2 \ldots O_t, q_t = S_i|\lambda)</tex> - прямая переменная, а <tex>\beta_t(i) = P(O_{t+1} O_{t+2} \ldots O_t, q_t = S_i|\lambda)</tex> - обратная переменная. | ||
+ | |||
+ | ===Алгоритм построения решающего дерева ID3=== | ||
+ | |||
+ | В качетсве основного алгоритма использовался рекурсивный алгоритм синтеза бинарного решающего дерева ID3. Идея заключается в последовательном дроблении выборки на две части до тех пор, пока дальнейшее расщепление не перестанет давать достаточное приращение информативности. | ||
+ | |||
+ | Процедура LearnID3 выглядит следующим образом | ||
+ | |||
+ | '''Вход:''' | ||
+ | |||
+ | <tex>U</tex> - выборка из последовательностей мел-кепстральных векторов соответсвующих фонеме; | ||
+ | |||
+ | <tex>Q</tex> - множество вопросов к контесту фонемы, ращепляющих выборку на 2 класса. | ||
+ | |||
+ | '''Выход:''' | ||
+ | |||
+ | возвращает корневую вершину дерева | ||
+ | |||
+ | # | ||
+ | # найти предикат с максимальной информативностью: <tex>q = \arg\max_{q\in Q} I(q,U)</tex> | ||
+ | # разбить выборку на две части <tex>U = U_0 \cup U_1</tex> по предикату <tex>q</tex>; | ||
+ | # eсли (<tex>U_0 = 0 <tex> или <tex>U_1 = 0 <tex>) или <tex>I(q,U)</tex> \leq <tex>I_0</tex> то | ||
+ | # ::создать новый лист <tex>v</tex>. | ||
+ | # иначе | ||
+ | #:: создать новую вершину <tex>v</tex>; | ||
+ | #:: <tex>L_v = LearnID3(U_0)</tex>; (построить левое поддерево) | ||
+ | #:: <tex>L_r = LearnID3(U_1)</tex>; (построить правое поддерево) | ||
+ | # вернуть <tex>(v)</tex> | ||
+ | |||
+ | Для построения полного дерева рекурсивная процедура LearnID3 применяется ко всей выборке. | ||
+ | В качаестве критерия ветвления используется максимум приращения логарифма правдоподобия <tex>\Delta LL = (LL_l + LL_r) - LL_p</tex>, где <tex>LL_p</tex> - логарифм правдоподобия родительской вершины, а <tex>LL_l</tex> и <tex>LL_r</tex> - логарифм правдоподобия левой и правой дочерней вершин соответственно. Логарифм правдоподобия выборки <tex>\{X\}_1^n</tex> относительно СММ <tex>\lambda</tex> есть <tex>LL = \sum_{i=1}^n \log P(M_i|\lambda)</tex> считается алгоритмом прямого-обратного хода. | ||
+ | |||
+ | Множество вопросов к контексту фонемы (элементарных предикатов) <tex>Q</tex> задается шаблоном: | ||
+ | left-center+right, | ||
+ | где left и right - левый и правый контекст, а center - сама фонема. Например вопрос выделяющий все гласные: | ||
+ | *-ALL_VOWELS+*. | ||
+ | |||
+ | Предредукция или критерий раннего останова досрочно прекращает ветвление, если максимальное приращение информативности <tex>I(q,U)</tex> меньше порогового <tex>I_0</tex>. | ||
=== Варианты или модификации === | === Варианты или модификации === |
Версия 18:58, 22 февраля 2010
Введение в проект
Описание проекта
Цель проекта
Цель проекта -- выбор оптимального набора марковских моделей для распознавания речи.
Обоснование проекта
Полученные данные могут быть использованы в качестве словаря аллофонов в масштабных дикторонезависимых системах распознавания слитной русской речи.
Описание данных
В качестве речевого материала используется обучающая выборка базы данных TeCoRus, предназначенная для приложений, использующих телефонный канал связи. Обучающая выборка представляет собой шестичасовую запись чтения 6 дикторами и состоит из 510 отдельных предложений, отсегментированных и размеченных вручную
Критерии качества
Критерием качества служит логарифм правдоподобия контрольной выборки относительно модели.
Требования к проекту
Логарифм правдоподобия для нашего дерева должн быть больше логарифма правдоподобия для базового. В качестве базового выбран набор марковских моделей соответсвующих фонемам русского языка.
Выполнимость проекта
Сложность распознавания ухудшается высокой вариативностю произношения одних и тех же звуков, а так же различными артикулярными характеристиками речевого аппарата у разных дикторов. Так же в данных присутсвует фоновый шум.
Используемые методы
В данной работе для статистического моделирования спектральной динамики гласных и согласных звуков применяется скрытая марковская модель (СММ) из 3-х последовательных состояний. Классификация аллофонов осуществляется с помощью бинарных деревьев. Для построения бинарного дерева решений разработан набор вопросов, зависящих от контекста и адресованных к центральному элементу аллофона.
Постановка задачи
Вход:
Обучающая выборка , элементы которой
, где
последовательность 12 мел-кепстральных векторов соответствует звуковой реализации фонемы, а
- правый, левый контекст аллофона и центральный элемент.
Список бинарных вопросов адресованных к центральному элементу аллофона. Служит множеством элементарных предикатов при построении бинарного дерева.
Выход:
Бинарное дерево скрытых марковских моделей (СММ) аллофонов .
Функционал качества:
Логарифм правдоподобия выборки относительно модели
есть
Критерии останова:
Приращение меньше порога, или число элементов выборки в вершине меньше порогового.
Базовые предположения или гипотезы, лежащие в основе алгоритма
Мы вводим понятие обобщённого (типичного) аллофона, т.е.
В настоящей работе для моделирования спектральной динамики гласных используется скрытая марковская модель СММ, которая позволяет представить звук в виде последовательных состояний, соотносимых счленением звука на сегменты (субаллофоны). Внашем случае гласный разделяется на три отрезка одинаковой длины (начальный и конечный формантные переходы плюс вокалическое ядро). Поэтому СММ имеет три состояния и лево-правую матрицу переходных вероятностей
.
Математическое описание алогритмов
Обучение скрытой марковской модели (СММ)
Составляющие СММ:
1. — общее количество состояний в модели. В нашей задаче
Мы обозначим совокупность состояний модели множеством
, а текущее состояние в момент времени
как
.
2. Матрица вероятностей переходов , где
то есть это вероятность того, что система, находящаяся в состоянии , перейдет в состояние
. В контексте нашей задачи используется лево-правая матрица переходов. То есть
и
для
. В остальных состояниях вероятность перехода
.
3. ,
где - моделируемый вектор наблюдений,
- весовой коэффициент
-й компоненты в состоянии
.
- гауссова плотность вероятности с вектором средних значений
и ковариационной матрицей
.
У нас используется
компонет смеси.
4. Распределение вероятностей начального состояния , где
то есть вероятность того, что
это начальное состояние модели.
В нашем случае всегда начинаем с 1-го состояния т.е.
Совокупность значений и
- это скрытая марковская модель, которая может сгенерировать наблюдаемую последовательность.
Для решения задачи обучения СММ требуется подобрать параметры модели таким образом, чтобы максимизировать
.
В этой работе используется метод Баума-Уэлча, EM-метод переоценки параметров СММ. Формулы повторного оценивания для коэффициентов
,
и
, составляющих плотности имеют вид.
,
где штрих означает транспонирование вектора, а - вероятность того,что (при заданной последовательности наблюдений) в момент времени
модель находиться в состоянии
, причём наблюдаемый в этот момент вектор
порождён
-й компонентой смеси плотности, т.е.
,
где - прямая переменная, а
- обратная переменная.
Алгоритм построения решающего дерева ID3
В качетсве основного алгоритма использовался рекурсивный алгоритм синтеза бинарного решающего дерева ID3. Идея заключается в последовательном дроблении выборки на две части до тех пор, пока дальнейшее расщепление не перестанет давать достаточное приращение информативности.
Процедура LearnID3 выглядит следующим образом
Вход:
- выборка из последовательностей мел-кепстральных векторов соответсвующих фонеме;
- множество вопросов к контесту фонемы, ращепляющих выборку на 2 класса.
Выход:
возвращает корневую вершину дерева
- найти предикат с максимальной информативностью:
- разбить выборку на две части
по предикату
;
- eсли (
\leq
то
- ::создать новый лист
.
- иначе
- создать новую вершину
;
-
; (построить левое поддерево)
-
; (построить правое поддерево)
- создать новую вершину
- вернуть
Для построения полного дерева рекурсивная процедура LearnID3 применяется ко всей выборке.
В качаестве критерия ветвления используется максимум приращения логарифма правдоподобия , где
- логарифм правдоподобия родительской вершины, а
и
- логарифм правдоподобия левой и правой дочерней вершин соответственно. Логарифм правдоподобия выборки
относительно СММ
есть
считается алгоритмом прямого-обратного хода.
Множество вопросов к контексту фонемы (элементарных предикатов) задается шаблоном:
left-center+right,
где left и right - левый и правый контекст, а center - сама фонема. Например вопрос выделяющий все гласные:
*-ALL_VOWELS+*.
Предредукция или критерий раннего останова досрочно прекращает ветвление, если максимальное приращение информативности меньше порогового
.
Варианты или модификации
Описание системы
- Ссылка на файл system.docs
- Ссылка на файлы системы
Отчет о вычислительных экспериментах
Визуальный анализ работы алгоритма
Анализ качества работы алгоритма
Анализ зависимости работы алгоритма от параметров
Отчет о полученных результатах
Список литературы
![]() | Данная статья является непроверенным учебным заданием.
До указанного срока статья не должна редактироваться другими участниками проекта MachineLearning.ru. По его окончании любой участник вправе исправить данную статью по своему усмотрению и удалить данное предупреждение, выводимое с помощью шаблона {{Задание}}. См. также методические указания по использованию Ресурса MachineLearning.ru в учебном процессе. |