354_Сркмва_Крлн

advertisement
Международная научно-техническая конференция «Информационные системы и технологии»
ИСТ-2014
СЕКЦИЯ 5.3 ТЕХНИЧЕСКАЯ КИБЕРНЕТИКА
(ИНФОРМАЦИОННОЕ МОДЕЛИРОВАНИЕ КОГНИТИВНЫХ ПРОЦЕССОВ)
КОРЕЛИН О.Н. (к.т.н, доцент), СОРОКОУМОВА Д.А. (магистрант)
(Нижегородский государственный технический университет им. Р.Е.Алексеева)
НЕЙРОСЕТЕВОЙ ПОДХОД К РЕШЕНИЮ ЗАДАЧИ РАСПОЗНАВАНИЯ РЕЧИ
Разработка и совершенствование алгоритмов распознавания речи является одной из наиболее
актуальных задач современной науки. Это связано, прежде всего, с тем, что ввод данных в
информационные системы естественным путем наиболее удобен для пользователя.
Большинство современных систем распознавания речи, например, предоставляемая
компанией Google, работают на основе клиент-серверной архитектуры, то есть звуковые данные
передаются по каналу связи на выделенный сервер, где происходит обработка и распознавание
сигнала. Как правило, эти алгоритмы являются закрытой информацией. Поэтому проблема
остаётся насущной. Реализация алгоритмов в мобильных устройствах наиболее эффективна на
сигнальных процессорах.
Для работы с распознаванием речи нами было выбрана отладочная плата USB Stick
eZDspc5515, содержащая сигнальный процессор серии 5000 компании Texas Instruments.
Преимуществом использования данной платы является наличие аудио-кодека AIC3204, который
позволяет получать качественный оцифрованный звуковой сигнал, не требующий последующей
обработки. Также, данный сигнальный процессор имеет аппаратную поддержку специальных
математических функций, таких как преобразования Фурье, используемых в цифровой обработке
сигналов.
В решении задачи распознавания речи можно выделить два основных этапа – это
предварительная обработка и непосредственно распознавание сигнала. Предварительная
обработка сигнала предназначена для выделения из исходного сигнала характерных черт речевого
фрагмента, которые являются входными данными для алгоритма распознавания. Наиболее
распространенными методами анализа сигнала на этапе предварительной обработки являются:
спектральный анализ (вычисление преобразования Фурье), вычисление коэффициентов линейного
предсказания, вейвлет-анализ, вычисление мэл-кепстральнх коэффициентов.
Существующие алгоритмы распознавания речи можно разделить на следующие подклассы:
динамическое программирование (алгоритм динамического выравнивания времени и его
модификации), методы, основанные на Байесовской дискриминации, скрытые Марковские модели
(вероятностное описание человеческой речи) и нейронные сети.
Одним из фундаментальных алгоритмов распознавания речи является алгоритм
динамического выравнивания времени (dynamic time warping). Суть данного алгоритма
заключается в последовательном вычислении расстояний между входным и эталонным сигналами
и дальнейшем вычислении показателя схожести. После сравнения входных и эталонных речевых
сигналов среди полученных оценок схожести выбирается минимальная оценка, и индекс
соответствующего ей шаблона подается на выход системы. Данный алгоритм является
сравнительно простым в реализации и имеет полиномиальную сложность
, где n – длина
последовательности, а v - количество слов в словаре. Для улучшения успешности распознавания
необходимо увеличение словаря, что приводит к пропорциональному росту трудоемкости. Таким
образом, алгоритм динамического выравнивания времени является наиболее полезным для
распознавания отдельных слов в ограниченном словаре.
Нейросетевой подход принципиально отличается от алгоритма динамического выравнивания
времени, описанного выше. Основу нейронной сети составляют однотипные элементы,
имитирующие работу биологического нейрона – искусственные нейроны. Каждый из нейронов в
текущий момент времени находится в определенном состоянии. Нейрон имеет группу
однонаправленных входных связей - синапсов, идущих от входа в сеть или от других нейронов.
Кроме того он имеет одну однонаправленную выходную связь - аксон. Синаптические связи
характеризуются весами
(от i-го к j-му нейрону, соответственно), а состояние нейрона
определяется суммой значений сигналов поступающих на его вход, домноженных на
соответствующие веса связей, то есть, взвешенной суммой сигналов S.
Для получения выходного значения нейрона к взвешенной сумме S необходимо применить
активационную функцию F. В качестве активационных функций используются пороговая 354
Международная научно-техническая конференция «Информационные системы и технологии»
ИСТ-2014
СЕКЦИЯ 5.3 ТЕХНИЧЕСКАЯ КИБЕРНЕТИКА
(ИНФОРМАЦИОННОЕ МОДЕЛИРОВАНИЕ КОГНИТИВНЫХ ПРОЦЕССОВ)
функция, функция единичного скачка, гиперболический тангенс и сигмоидальная функция. Самой
распространенной функцией активации при решении задач распознавания является
экспоненциальная сигмоида – гладкая монотонная функция, значения которой лежат в диапазоне
от 0 до 1. Варьирование параметра показателя экспоненциальной сигмоиды α позволяет изменять
скорость обучения путем изменения крутизны кривой, что обеспечивает дополнительную
гибкость процесса обучения нейронной сети.
Отличительная особенность нейронных сетей заключается в том, что они не
программируются традиционными способами – к нейронным сетям применим термин «обучение».
Обучение подразумевает здесь подстроку весов синапсов таким образом, чтобы выходное
значение нейронной сети соответствовало ожидаемому значению. Различают два вида обучения –
обучение с учителем и без учителя. При решении задачи распознавания речи наиболее часто
применяется обучение с учителем: в таком случае нейронной сети подается как входной сигнал
(вектор характеристик речевого фрагмента), так и ожидаемое выходное значение. В случае
несовпадения ожидаемого выходного значения нейронной сети и значения, предоставленного
учителем, вычисляется ошибка распознавания (для каждого нейрона выходного слоя). Полученная
ошибка распространяется от выходного слоя нейронов до входного с учетом весов синаптических
связей, в результате чего вычисляются значения ошибки для каждого нейрона сети. После этого
производится корректировка весов нейронной сети на основании ошибки нейрона и веса
корректируемой синаптической связи. Данный алгоритм получил название «метод обратного
распространения ошибки» и является наиболее используемым при обучении нейронных сетей с
учителем в настоящее время.
Обучение нейронной сети останавливается либо в случае достижения ошибки
распознавания значения, меньшего заданного, либо после выполнения определенного числа
шагов. При определенных условиях может наступить паралич нейронной сети, при котором
нейронная сеть выдает одно и то же выходное значение, не зависящее от входного вектора. Данная
ситуация можно разрешить при помощи изменения шага и скорости обучения. Также возможна
ситуация, когда на проверочных данных ошибка распознавания уменьшается, но на тестовых
данных ошибка распознавания начинает увеличиваться. В таком случае нейронная сеть
«запоминает» обучающие данные, не выполняя обобщение. Это явление называется
переобучением сети. Решением проблемы с переобучением также является изменение структуры
нейронной сети, ввод дополнительных параметров контроля процесса обучения, что приводит к
усложнению структуры нейронной сети.
Решение задачи распознавания с помощью нейронных сетей обладает значительным
преимуществом перед алгоритмами, основанными на вычислении метрик – вычислительные
затраты не зависят от количества слов в словаре. При увеличении длины словаря увеличивается
лишь размер обучающей выборки, то есть нейронной сети требуется затратить больше времени на
процесс обучения, но трудоемкость процесса распознавания не изменяется. Такая особенность
позволяет оперировать с достаточно большим количеством слов в словарях. Недостатком
нейросетевого подхода является отсутствие возможности добавления новых слов в словарь после
окончания процесса обучения. Для разрешения этой проблемы может быть применена теория
адаптивного резонанса. Нейронные сети, постренные в рамках теории адаптивного резонанса
сохраняют пластичность при запоминании новых образов, и, в то же время, предотвращают
модификацию старой памяти.
Нейронные сети являются одним из наиболее перспективных методов распознавания речи.
Данный метод позволяет подобрать топологию нейронной сети под решение конкретной задачи и
позволяет оперировать с большим количеством слов в словаре без повышения трудоемкости
процесса распознавания. Нейронные сети имеют гибкий аппарат обучения, позволяющий
настроить сеть наилучшим образом для решения требуемой задачи.
E-mail: d.sorokoumova@gmail.com
355
Download