это мой первый вопрос, задающий вопрос, поэтому, если подход не настолько стандартен, я извиняюсь, я понимаю, что на этом есть много вопросов, и я прочитал тон тезисов, вопросов, атак и учебники, но у меня, похоже, проблема, и всегда лучше спросить. Я создаю приложение для распознавания речи, используя непрерывные HMM-уровни обработки фонемы (не изолированные слова), основанные на гауссовских моделях смеси, включая алгоритмы baum welch, forward-backward и viterbi, . Я реализовал очень хорошее извлечение и предварительную обработку признаков (MFCC), векторы объектов также состоят из коэффициентов mfcc, delta и acceleration, и это очень хорошо работает на его стороне, но когда дело доходит до HMM, у меня, похоже, есть «Major Misunderstading» о том, как HMM должны помочь узнайте речь или я упустил здесь немного смысла ... я постарался многое сделать, что на данный момент я не могу сказать, что не так и правильно.Приложение HMM в распознавании речи
Вначале я записал около 50 слов, каждые 6 высказываний и запустил их через правильную программу совместимости и конверсии, которую я написал сам и извлек функции, чтобы их можно было использовать для baum-welch.
Я хочу, чтобы вы сказали мне, где я делаю ошибку в этой процедуре, также я упомянул несколько сомнений, которые у меня есть, чтобы вы могли помочь мне лучше понять весь этот предмет.
вот шаги в моем заявлении в отношении, что связанно с обучением: шагов для начальных параметров HMM модели:
1 - назначить все наблюдения из каждой обучающей выборки каждой модели их соответствующего дискретного состояния (или другими словами, какой вектор функции принадлежит алфавиту).
2 - использовать k-средство для поиска начальных параметров непрерывного излучения, кластеризация выполняется во всех наблюдениях каждого состояния, здесь размер кластера равен 6 (равный количеству смесей для функции плотности вероятности), параметрами будут образцы средства, выборочные ковариации и некоторые веса смеси для каждого кластера.
3 - создать исходные матрицы начальных и переходных вероятностей для каждой модели и индивидуальный учебный образец (в этом случае используется левая правая структура), 0 для предыдущих состояний и 1 для до 1 следующего состояния для переходов и 1 для начальный и 0 для других в начальных инициалах.
4 - рассчитать гауссовую модель смеси функции на основе плотности вероятности для каждого состояния -> это соответствующий кластер -> назначаются всем векторы во всех учебных образцах для каждой модели
5 - Расчет начальных параметров выбросов с помощью PDF и веса смеси для кластеров.
6 - теперь вычислить гамма-переменные с использованием начальных параметров (переходов, выбросов, инициалов) в форвард-обратном и начальном PDF-файлах, используя непрерывную формулу для гамма-квантов.(Гамма = вероятность нахождения в определенном состоянии в определенный момент времени для любого из смесей)
7 - оценить новые государственные инициалы
8 - оценить новое состояние tranisitons
9 - оценка по новым средствам выборки
10 - оценить новых ковариаций образца
11 - оценка по новой PDFs
12 - оценка по новым е миссии, используя новые pdf-файлы
повторите шаги с 6 по 12 с использованием новых оценочных значений на каждой итерации, используйте viterbi, чтобы получить представление о том, как происходит оценка, и когда вероятность больше не меняется, остановите и сохраните.
сейчас мои проблемы: сначала я не знаю, правильна ли вся процедура, которую я выполнил, или нет, или есть лучший способ приблизиться к этому ... для всех, кого я знаю, это то, что конвергенция довольно быстро , до 4-5 итераций, и это уже не меняется, однако, учитывая, что если я прав, то: мне не удастся сесть и предварительно назначить каждый вектор функции его состоянию в начале на шаге 1. . И я не думаю, что это стандартная процедура ... снова я даже не знаю, нужно ли мне это делать обязательно, из всех моих исследований это был лучший метод, который я смог найти, чтобы получить быструю конвергенцию.
Во-вторых, скажите, что весь этот baum welch проделал отличную работу по оценке и поиску локальных максимумов, что поднимает мои сомнения в моей реализации baum welch: как они позже помогут мне распознать речь? Я предполагаю, что оцененные параметры используются в viterbi для нахождения оптимального состояния для каждого произносимого высказывания ... если тогда параметры эмиссии неизвестны, если вы посмотрите внимательно, вы увидите, что конечные параметры излучения в моем алгоритме будут присваивать каждому алфавиту состояние каждой модели ко всем наблюдаемым сигналам в каждой модели, кроме этого ... никакие параметры излучения не могут быть найдены, если сигнал не точно соответствует тем, которые используются при переоценке, и это, очевидно, не будет работать, любая попытка чтобы попытаться сопоставить сигналы и найти выбросы, все цели HMM потеряют свою цель ...
снова я мог бы ошибиться в том, что почти все здесь, я был бы признателен, если вы поможете мне понять, что я делаю неправильно здесь ... если НИЧЕГО не так, сообщите мне, пожалуйста ... спасибо.