Нейронные сети

Автор работы: Пользователь скрыл имя, 09 Декабря 2012 в 17:47, статья

Описание работы

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

Файлы: 1 файл

Применение нейронных сетей для решения задачи распознавания речи.docx

— 32.23 Кб (Скачать файл)

ПРИМЕНЕНИЕ НЕЙРОННЫХ  СЕТЕЙ ДЛЯ РЕШЕНИЯ ЗАДАЧ РАСПОЗНАВАНИЯ  РЕЧИ

 

Кострикина Наталия Викторовна, 

специальность «Прикладная  информатика в экономике», 4 курс 

Научный руководитель: Трембач В.М.

 

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

Нервная система человека состоит из нейронов, которые в свою очередь соединены между собой нитеобразными отростками-дендритами. Согласно современным данным, человеческий мозг содержит 1011 нейронов. Нейроны соединены между собой в гигантскую сеть, причем общее количество связей между нейронами достигает 1015. [1]

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

Основу нейронной сети, имитирующей работу человеческого мозга, составляют, как правило, однотипные элементы, имитирующие работу биологического нейрона, и называемые обычно так же. Каждый из нейронов в каждый момент времени находится, как и биологический нейрон, в некотором текущем состоянии. Он имеет группу однонаправленных входных связей-синапсов, идущих от входа в сеть или от других нейронов. Кроме того он имеет одну однонаправленную выходную связь-аксон. [3]

Простейшей моделью нейронной  сети является однослойный персептрон. Однослойность означает, что входной сигнал входов (x1,x2,…xn) подается на одну группу нейронов, именуемых слоем нейронной сети, а выходные сигналы этих нейронов поступают сразу на выход сети. Для двуслойной сети выходные сигналы подавались бы не на выход сети, а на вторую группу-слой нейронов, а оттуда на вход. Понятно, что трехслойный нейрон имеет уже три группы-слоя, N-слойный – N групп-слоев и т.д.

Синаптические связи характеризуются весами wi. Текущее состояние S нейрона равно взвешенной сумме входов:

n

 

S =∑ Xiwi

     i=1


            В векторном виде это можно записать как S=XW, то есть вектор S есть произведение вектора входных значений X на матрицу весов W, где строки соответствуют слоям, а столбцы – нейронам внутри каждого слоя. [2]

Рис1. Пример однослойной нейронной сети

 

Можно считать, что на вход первого слоя подаются сигналы со всех входов сети, просто веса некоторых  синапсов равны нулю. Аналогично можно  считать, что на входы всех слоев  кроме первого подаются сигналы  с выходов всех нейронов предыдущего  слоя.

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

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

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

 

                    n n

 

T=∑( ∑ xiw1,j,i) w2,j,i

       i=1i=1


 Таким образом, способности к распознаванию у многослойных сетей значительно превосходят те же способности у однослойного персептрона. Зато несколько усложняется процесс обучения этой сети. Под обучением сети понимается процесс настройки весов синапсов, так чтобы выход сети был ожидаемым.[2]

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

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

Многослойные нейронные сети могут  решать более сложные задачи, нежели однослойные.

 

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

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

Человеческий слуховой аппарат  при распознавании звука ориентируется  на частотный домен звукового  сигнала, при этом, как уже упоминалось  ранее, для него практически не имеет  значения фаза сигнала. Существенным является лишь абсолютные значения амплитуд частот сигналов, точнее некие соотношения и сочетания абсолютных значений частот. [1]

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

Демонстрационная система  для дикторо-независимого речевого управления встроенным калькулятором Windows (Российская компания Нейропроект) способна распознавать 36 команд, сказанных в стандартный микрофон. Для классификации слов используется двухкаскадная иерархическая нейронная сеть, где первый каскад состоит из одного персептрона (1000 входов, 24 нейрона в скрытом слое, 6 выходов), а второй каскад – из 6 персептронов с различными параметрами слоев. При этом первый персептрон осуществляет грубое распознавание слова, относя его к одному из 6 классов; роль второго каскада – точно классифицировать команду внутри класса. Для построения данной нейронной сети используется библиотека NeuroWindows, а также специальный алгоритм иерархического обучения. В обучении сети принимали участие 19 дикторов. [3]

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

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

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

Звуки сплошной речи содержат постоянно изменяющийся спектр гармонических  частот, а также шум. Громкость  и темп речи также постоянно изменяются. Более того, одна и та же фраза, сказанная разными людьми, или даже одним человеком, находящимся в разных психических состояниях, может иметь разную спектрально-временную окраску. Это сильно затрудняет создание универсальных систем распознавания, «понимающих» речь разных людей.

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

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

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

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

 

[1] Синтез и распознавание речи. Современные решения  А.В. Фролов, Г.В. Фролов

[2] Нейронные сети: на пороге будущего

Даниил Кальченко

[3] Аналитические технологии для прогнозирования и анализа данных. НейроПроект

http://www.neuroproject.ru/neuro.php


Информация о работе Нейронные сети