Смекни!
smekni.com

Использование нейросетей для построения системы распознавания речи (стр. 1 из 4)

Содержание

Введение

1. Распознавание речи – ключевые моменты

2. Возможность использования нейросетей для построения системы распознавания речи

3. Самообучающиеся автономные системы

4. Система распознавания речи как самообучающаяся система

5. Описание системы

5.1 Ввод звука

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

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

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

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

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


Введение

Я думаю, нет смысла рассказывать о том, зачем нужно исследование искусственных нейронных сетей, чем они привлекают исследователей и какие новые возможности они открывают перед разработчиками систем обработки информации - если Вы сейчас читаете эту статью, то Вам итак все ясно. Если же Вы новичок в области нейрокомпьютинга и всего, что с ним связано, то существует огромное количество статей, научных публикаций, учебной литературы, посвященной нейросетям ([1],[5],[6],[8]); написано множество программ, создано множество работающих образцов (от простых исследовательских моделей до полнофункциональных промышленных систем), в которых используются нейросети. В общем, теоретическое исследование нейросетевых алгоритмов ведется уже давно, и на данный момент они уже широко применяются для решения практических задач. В связи с очевидной конкурентоспособностью этого способа обработки информации по сравнению с существующими на сегодняшний момент традиционными способами особый интерес представляет проблема определения круга задач, для которых было бы эффективным применение нейросетевых алгоритмов. Распознавание образов – это одна из задач, успешно решаемых нейросетями. Одним из приложений теории распознавания образов является распознавание речи. Проблема распознавания речи как одно из составляющих искусственного интеллекта давно привлекала исследователей, и на сегодняшний день хоть и достигнуты определенные успехи, она остается открытой. Объединенная с проблемой синтеза речи, она представляет очень интересное поле для исследований.

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


1. Распознавание речи – ключевые моменты

Что понимается под распознаванием речи? Это может быть преобразование речи в текст, распознавание и выполнение определенных команд, выделение из речи каких либо характеристик (например, идентификация диктора, определение его эмоционального состояния, пола, возраста, и т.д.) – все это в разных источниках может попасть под это определение. В моей работе под распознаванием речи понимается отнесение звуков речи или их последовательности (фонем, букв, слов) к какому-либо классу. Затем этому классу могут быть сопоставлены символы алфавита – получим систему преобразования речи в текст, или определенные действия – получим систему выполнения речевых команд. Вообще этот способ обработки речевой информации может использоваться на первом уровне какой-либо системы с гораздо более сложной структурой. И от эффективности этого классификатора будет зависеть эффективность работы системы в целом.

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

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

Ещё одна проблема – это скорость поиска в базе данных. Чем больше её размер, тем медленнее будет производиться поиск – это утверждение верно, но только для обычных последовательных вычислительных машин. А какие же ещё машины смогут решить все вышеперечисленные проблемы? – спросите Вы. Совершенно верно, это нейросети.


2. Возможность использования нейросетей для построения системы распознавания речи

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

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

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

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


3. Самообучающиеся автономные системы

Чем отличается работа, которую выполняют роботы и которую может выполнить человек? Роботы могут обладать качествами, намного превосходящими возможности людей: высокая точностью, сила, реакция, отсутствие усталости. Но вместе с тем они остаются просто инструментами в руках человека. Существует работа, которая может быть выполнена только человеком и которая не может быть выполнена роботами (или необходимо создавать неоправданно сложных роботов). Главное отличие человека от робота – это способность адаптироваться к изменению обстановки. Конечно, практически у всех роботов существует способность работать в нескольких режимах, обрабатывать исключительные ситуации, но все это изначально закладывается в него человеком. Таким образом, главный недостаток роботов – это отсутствие автономности (требуется контроль человека) и отсутствие адаптации к изменению условий (все возможные ситуации закладываются в него в процессе создания). В связи с этим актуальна проблема создания систем, обладающих такими свойствами.

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

Попытки создания таких систем предпринимались многими исследователями, в том числе и с использованием нейросетей. Один из примеров – созданный в Киевском Институте кибернетики еще в 70-х годах макет транспортного автономного интегрального робота (ТАИР) (см. [6]). Этот робот обучался находить дорогу на некоторой местности и затем мог использоваться как транспортное средство.

Вот какими свойствами, по моему мнению, должны обладать такие системы:

Разработка системы заключается только в построении её архитектуры.

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