на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Использование нейросетей для построения системы распознавания речи
p align="left"> 5. Описание системы

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

5.1 Ввод звука

Ввод звука осуществляется в реальном времени через звуковую карту или через файлы формата Microsoft Wave в кодировке PCM (разрядность 16 бит, частота дискретизации 22050 Гц). Работа с файлами предпочтительней, так как позволяет многократно повторять процессы их обработки нейросетью, что особенно важно при обучении.

Для того, чтобы звук можно было подать на вход нейросети, необходимо осуществить над ним некоторые преобразования. Очевидно, что представление звука во временной форме неэффективно. Оно не отражает характерных особенностей звукового сигнала. Гораздо более информативно спектральное представление речи. Для получения спектра используется набор полосовых фильтров, настроенных на выделение различных частот, или дискретное преобразование Фурье. Затем полученный спектр подвергается различным преобразованиям, например, логарифмическому изменению масштаба (как в пространстве амплитуд, так и в пространстве частот). Это позволяет учесть некоторые особенности речевого сигнала - понижение информативности высокочастотных участков спектра, логарифмическую чувствительность человеческого уха, и т.д.

Как правило, полное описание речевого сигнал только его спектром невозможно. Наряду со спектральной информацией, необходима ещё и информация о динамике речи. Для её получения используются дельта-параметры, представляющие собой производные по времени от основных параметров.

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

Процесс ввода звуковой информации изображен на рис. 1:

Рис 1. Ввод звука

При обработке файла по нему перемещается окно ввода, размер которого равен размеру окна дискретного преобразования Фурье (ДПФ). Смещение окна относительно предыдущего положения можно регулировать. В каждом положении окна оно заполняется данными (система работает только со звуком, в котором каждый отсчет кодируется 16 битами). При вводе звука в реальном режиме времени он записывается блоками такого же размера.

После ввода данных в окно перед вычислением ДПФ на него накладывается окно сглаживания Хэмминга:

, (1)

N - размер окна ДПФ

Наложение окна Хэмминга немного понижает контрастность спектра, но позволяет убрать боковые лепестки резких частот (рис 2), при этом особенно хорошо проявляется гармонический состав речи.

без окна сглаживания с окном сглаживания Хэмминга

Рис 2. Действие окна сглаживания Хэмминга (логарифмический масштаб)

После этого вычисляется дискретное преобразование Фурье по алгоритму быстрого преобразования Фурье ([ХХ]). В результате в реальных и мнимых коэффициентах получается амплитудный спектр и информация о фазе. Информация о фазе отбрасывается и вычисляется энергетический спектр:

(2)

Так как обрабатываемые данные не содержат мнимой части, то по свойству ДПФ результат получается симметричным, т.е. E[i] = E[N-i]. Таким образом, размер информативной части спектра NS равен N/2.

Все вычисления в нейросети производятся над числами с плавающей точкой и большинство сигналов ограничены диапазоном [0.0,1.0], поэтому полученный спектр нормируется на 1.00. Для этого каждый компонент вектора делится на его длину:

, (3)

(4)

Информативность различных частей спектра неодинакова: в низкочастотной области содержится больше информации, чем в высокочастотной. Поэтому для предотвращения излишнего расходования входов нейросети необходимо уменьшить число элементов, получающих информацию с высокочастотной области, или, что тоже самое, сжать высокочастотную область спектра в пространстве частот. Наиболее распространенный метод (благодаря его простоте) - логарифмическое сжатие (см. [3], “ Non-linear frequency scales”):

, (5)

f - частота в спектре, Гц,

m - частота в новом сжатом частотном пространстве

5.2 Наложение первичных признаков на вход нейросети

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

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

Как показало дальнейшее исследование этой проблемы, для распознавания уже достаточно только информации о формантной структуре. Фактически, человек одинаково распознает нормальную голосовую речь и шепот, хотя в последнем отсутствует голосовой источник. Голосовой источник дает дополнительную информацию в виде интонации (изменением высоты тона на протяжении высказывания), и эта информация очень важна на высших уровнях обработки речи. Но в первом приближении можно ограничиться только получением формантной структуры, и для этого с учетом сжатия неинформативной части спектра достаточное число входов выбрано в пределах 50~100.

5.3 Модель нейросети

Нейросеть имеет довольно простую структуру и состоит из трех уровней: входной слой, символьный слой и эффекторный слой (рис. 4). Каждый нейрон последующего слоя связан со всеми нейронами предыдущего слоя. Функция передачи во всех слоя линейная, во входном слое моделируется конкуренция.

Рис. 4 Архитектура нейросети

1. Входной слой - этот слой получает сигналы непосредственно от входов нейросети (входы не осуществляют обработку сигнала, а только распределяют его дальше в нейросеть). Он представляет собой один из вариантов самоорганизующейся карты Кохонена, обучающейся без учителя. Основной задачей входного уровня является формирование нейронных ансамблей для каждого класса входных векторов, которые представляют соответствующие им сигналы на дальнейших уровнях обработки. Фактически, именно этот слой определяет эффективность дальнейшей обработки сигнала, и моделирование этого слоя представляет наибольшую трудность.

Нейроны этого слоя функционируют по принципу конкуренции, т.е. в результате определенного количества итераций активным остается один нейрон или нейронный ансамбль (группа нейронов, которые срабатывают одновременно). Этот механизм осуществляется за счет латеральных связей и называется латеральным торможением. Он подробно рассмотрен во многих источниках ([1], [6]). Так как отработка этого механизма требует значительных вычислительных ресурсов, в моей модели он моделируется искусственно, т.е. находится нейрон с максимальной активностью, его активность устанавливается в 1, остальных в 0.

Обучение сети производится по правилу (7):

wн = wс + ? (x - wс)a, (6)

wн - новое значение веса,

wс - старое значение,

? - скорость обучения, ? <1

x - нормированный входной вектор,

a - активность нейрона.

Геометрически это правило иллюстрирует рисунок 5:

Рис. 5. Коррекция весов нейрона Кохонена

Входной вектор x перед подачей на вход нейросети нормируется, т.е. располагается на гиперсфере единичного радиуса в пространстве весов. При коррекции весов по правилу (6) происходит поворот вектора весов в сторону входного вектора. Постепенное уменьшение скорости поворота ? позволяет произвести статистическое усреднение входных векторов, на которые реагирует данный нейрон.

Проблемы, которые возникают при обучении слоя Кохонена, описаны ниже (см. 5.5)

2. Символьный слой - нейроны этого слоя ассоциированы с символами алфавита (это не обязательно должен быть обычный буквенный алфавит, но любой, например, алфавит фонем). Этот слой осуществляет генерацию символов при распознавании и ввод символов при синтезе. Он представляет собой слой Гроссберга, обучающийся с учителем. Нейрон этого слоя функционирует обычным образом: вычисляет суммарный взвешенный сигнал на своих входах и при помощи линейной функции передает его на выход. Модификация весов связей при обучении происходит по следующему правилу:

wijн = wijс + ? (yj - wijс)xi, (7)

wijн, wijс - веса связей до и после модификации

? - скорость обучения, ? <1

yj - выход нейрона

xi - вход нейрона

По этому правилу вектор весов связей стремится к выходному вектору, но только если активен вход, т.е. модифицироваться будут связи только от активных в данный момент нейронов слоя Кохонена. Выходы же у символьного слоя бинарные, т.е. нейрон может быть активен (yj = 1) или нет (yj = 0), что соответствует включению определенного символа. Входной слой совместно с символьным слоем позволяют сопоставить каждому классу входных сигналов определенный символ алфавита.

3. Эффекторный слой - этот слой получает сигналы от символьного слоя и также является слоем Гроссберга. Выходом слоя является вектор эффекторов - элементов, активность которых управляет заданными параметрами в модели синтеза. Связь эффекторов с параметрами модели синтеза осуществляется через карту эффекторов. Этот слой позволяет сопоставить каждому нейрону символьного слоя (а следовательно, и каждому символу алфавита) некоторый вектор эффекторов (а следовательно, и определенный синтезируемый звук). Обучение этого слоя аналогично символьному слою.

5.4 Обучение нейросети

Обучение нейросети состоит из трех этапов. Сначала системе предъявляется только образцы звуков, при этом во входном слое формируются нейронные ансамбли, ядрами которых являются предъявляемые образцы. Затем предъявляются звуки и соответствующие им символы алфавита. При этом происходит ассоциация нейронов входного уровня с нейронами символьного слоя. На последнем этапе система обучается синтезу. При этом системе не предъявляются никакие образцы, а используется накопленная на предыдущих этапах информация. Используется механизм стохастического обучения: нейроны эффекторного слоя подвергаются случайным изменениям, затем генерируется звук, он распознается и результат сравнивается с тем символом, для которого был сгенерирован звук. При совпадении изменения фиксируются. Этот процесс повторяется до тех пор, пока не будет достигнута правильная генерация всех звуков.

Выбор скоростей обучения

Зачем в правиле обучения слоя Кохонена (6) присутствует коэффициент ? ? Если бы он был равен 1, то для каждого входного вектора вектор связей активного нейрона приравнивался бы к нему. Как правило, для каждого нейрона существует множество входных сигналов, которые могли бы его активировать, и его вектор связей постоянно менялся бы. Если же ? <1, на каждый входной сигнал вектор связей реагирует незначительно. Уменьшая ? в процессе обучения, мы в конце обучения получим статистическое усреднение схожих входных сигналов. С этой же целью вводятся скорости обучения во всех остальных обучающих правилах.

Чем определяется скорость обучения? Здесь главную роль играет порядок предъявления образцов. Допустим, имеется большая обучающая выборка, последовательным предъявлением элементов которой обучается нейросеть. Если скорость обучения велика, то уже на середине этой выборки нейросеть «забудет» предыдущие элементы. А если каждый образец предъявляется подряд много раз, то уже на следующем образце нейросеть забудет предыдущий. Таким образом, главный критерий выбора скоростей обучения - незначительное изменение связей в пределах ВСЕЙ обучающей выборки. Но не следует забывать, что время обучения обратно пропорционально скорости обучения. Так что здесь необходимо искать компромисс.

Запоминание редко встречающихся элементов

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

Проблемы, возникающие при обучении слоя Кохонена

Для исследования динамики обучения и свойств слоя Кохонена был создан инструмент «Модель нейросети», в котором моделируется слой Кохонена в двумерном сигнальном пространстве (Рис 6).

1. Начальные значения весов 2. Веса после обучения

Рис.6. Моделирование слоя Кохонена

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

1. выбор начальных значений весов.

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

2. использование всех нейронов.

Если весовой вектор окажется далеко от области входных сигналов, он никогда не даст наилучшего соответствия, всегда будет иметь нулевой выход, следовательно, не будет корректироваться и окажется бесполезным. Оставшихся же нейронов может не хватить для разделения входного пространства сигналов на классы. Для решения этой проблемы предлагается много алгоритмов ([1],[8]). в моей работе применяется правило «желания работать»: если какой либо нейрон долго не находится в активном состоянии, он повышает веса связей до тех пор, пока не станет активным и не начнет подвергаться обучению. Этот метод позволяет также решить проблему тонкой классификации: если образуется группа входных сигналов, расположенных близко друг к другу, с этой группой ассоциируется и большое число нейронов Кохонена, которые разбивают её на классы (рис. 6.2). Правило «желания работать» записывается в следующей форме:

wн=wc + wс? 1 (1 - a), (8)

где wн - новое значение веса,

wс - старое значение,

? 1 - скорость модификации,

a - активность нейрона.

Чем меньше активность нейрона, тем больше увеличиваются веса связей.

Выбор коэффициента ? 1 определяется следующими соображениями: постоянный рост весов нейронов по правилу (8) компенсируется правилом (6) (активные нейроны стремятся снова вернуться на гиперсферу единичного радиуса), причем за одну итерацию нейросети увеличат свой вес практически все нейроны, а уменьшит только один активный нейрон или нейронный ансамбль. В связи с этим коэффициент ? 1 в (8) необходимо выбирать значительно меньше коэффициента ? в (6), учитывая при этом число нейронов в слое.

3. неоднородное распределение входных векторов в пространстве сигналов и дефицит нейронов.

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

Для решения этой проблемы можно использовать правило «нахождения центра масс», т.е. небольшое стремление ВСЕХ весовых векторов на начальном этапе обучения к входным векторам. В результате в местах с большой плотностью входного сигнала окажется и много весовых векторов. Это правило записывается так:

wн = wс + ? 2(x - wс). (9)

где wн - новое значение веса,

wс - старое значение,

? 2 - скорость модификации,

x - входной вектор

Это правило хорошо работает, если нейроны сгруппированы в одном месте. Если же существует несколько групп нейронов, то это правило не дает нужного результата.

Ещё одно решение - использовать «отжиг» весовых векторов. В нашем случае он может быть реализован как добавление небольшого шума при модификации весов, что позволит им перемещаться по поверхности гиперсферы. При обучении уровень шума постепенно понижается, и весовые вектора собираются в местах наибольшей плотности сигнала.

Недостаток этого правила - очень медленное обучение. Если в двумерном пространстве нейроны «находили» входные вектора более-менее успешно, то в многомерном пространстве вероятность этого события существенно снижается.

Самым эффективным решением оказалось более точное моделирование механизма латерального торможения. Как и раньше, находится нейрон с максимальной активностью. Затем искусственно при помощи латеральных связей устанавливается активность окружающих его нейронов по правилу (10):

(10)

aj - активность нейрона

i - выигравший нейрон

j - индекс нейрона

- определяет радиус действия латеральных связей, уменьшается в процессе обучения

При этом предполагается, что все нейроны имеют определенную позицию по отношению к другим нейронам. Это топологическое отношение одномерно и линейно, позиция каждого нейрона определяется его индексом. Правило (10) говорит о том, что возбуждается не один нейрон, а группа топологически близких нейронов. В результате обучения образуется упорядоченная одномерная карта признаков. Упорядоченность означает, что ближайшие два нейрона в ней соответствуют двум ближайшим векторам в пространстве сигнала, но не наоборот (так как невозможно непрерывно отобразить многомерное пространство на одномерное). Сначала радиус действия латеральных связей достаточно большой, и в обучении участвуют практически все нейроны. При этом они находят «центр масс» всей обучающей выборки. В процессе обучения коэффициент уменьшается, нейроны разделяются на группы, соответствующие локальным центрам масс. В конце концов радиус латеральных связей снижается настолько, что нейроны функционируют независимо друг от друга и могут разделять очень близкие вектора.

6. Применение

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

Список использованных источников

1. Ф. Уоссермен «Нейрокомпьютерная техника: Теория и практика». Перевод на русский язык Ю. А. Зуев, В. А. Точенов, 1992.

2. Винцюк Т.К. «Анализ, распознавание и интерпретация речевых сигналов.» -Киев: Наук. думка, 1987. -262 с.

3. Speech Analysis FAQ - http://svr-www.eng.cam.ac.uk/~ajr/SA95/SpeechAnalysis.html

4. Л.В. Бондарко «Звуковой строй современного русского языка» -М.: Просвещение, 1997. -175 с.

5. Э.М.Куссуль «Ассоциативные нейроподобные структуры» -Киев, Наукова думка, 1990

6. Н.М. Амосов и др. «Нейрокомпьютеры и интеллектуальные роботы» -Киев: Наукова думка, 1991

7. Г. Нуссбаумер «Быстрое преобразование Фурье и алгоритмы вычисления сверток». Перевод с англ. - М.: Радио и связь, 1985. -248 с.

8. А.А. Ежов, С.А. Шумский “НЕЙРОКОМПЬЮТИНГ и его приложения в экономике”, - МИФИ, 1998

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.