Нейронные сети. Распознавание образов
Биологический прототип и искусственный нейрон. Распознавание цифр с помощью сетей Хопфилда. Алгоритм функционирования сети. Классификация входного образа. Развитие искусственных нейронных сетей. Исследование возможностей нейронных сетей и их развития.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.01.2014 |
Размер файла | 628,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Московский авиационный институт
Курсовая работа
по курсу «Искусственный интеллект»
«Нейронные сети. Распознавание образов»
Студентка: Никонова И.А
Преподаватели: Морозов П.Г
Сошников Д.В.
Москва, 2010
Введение
Исследования в области нейронных сетей начались в 40-е годы XX века. Первое систематическое изучение искусственных нейронных сетей было предпринято Маккалокком и Питтсом в 1943 г. Позднее они исследовали сетевые парадигмы для распознавания изображений, подвергаемых сдвигам и поворотам.
Основные задачи, которые ставятся перед нейронными сетями, относятся к задачам распознавания образов. Они заключаются в том, чтобы классифицировать входной образ, то есть отнести его к какому-либо известному сети классу. Изначально сети даются эталонные образы - такие образы, принадлежность которых к определенному классу известна. Затем на вход сети подается некоторый неизвестный образ, и сеть пытается по определенному алгоритму соотнести его с каким-либо эталонный образом. Можно сказать, что нейросети проводят кластеризацию образов. Так как кластерный анализ применяется исследователями рынка ценных бумаг, то нейронные сети могут быть использованы и для прогнозирования стоимости акций, что является актуальной задачей, к тому же строго неразрешимой на данный момент.
Так же нейронный сети могут применяться в криминалистике (анализ отпечатков пальцев) или же для облегчения работы правоохранительных органов в поимке преступников, потому что сейчас уже созданы такие программы, которые распознают лица.
Все вышеприведенное говорит о том, что проблемы исследования возможностей нейронных сетей и их развития является актуальной на данный момент времени.
Биологический прототип и искусственный нейрон
Развитие искусственных нейронных сетей вдохновляется биологией. То есть, рассматривая сетевые конфигурации и алгоритмы, исследователи применяют термины, заимствованные из принципов организации мозговой деятельности. Но на этом аналогия заканчивается. Наши знания о работе мозга столь ограничены, что мало бы нашлось точно доказанных закономерностей для тех, кто пожелал бы руководствоваться ими. Поэтому разработчикам сетей приходится выходить за пределы современных биологических знаний в поисках структур, способных выполнять полезные функции. Во многих случаях это приводит к необходимости отказа от биологического правдоподобия, мозг становится просто метафорой, и создаются сети, невозможные в живой материи или требующие неправдоподобно больших допущений об анатомии и функционировании мозга.
Несмотря на то, что связь с биологией слаба и зачастую несущественна, искусственные нейронные сети продолжают сравнивать с мозгом. Их функционирование часто имеет внешнее сходство с человеческим познанием, поэтому трудно избежать этой аналогии. К сожалению, такие сравнения неплодотворны и создают неоправданные ожидания, неизбежно ведущие к разочарованию.
Нервная система человека, построенная из элементов, называемых нейронами, имеет ошеломляющую сложность. Около нейронов участвуют в примерно передающих связях, имеющих длину метр и более. Каждый нейрон обладает многими свойствами, общими с другими органами тела, но ему присущи абсолютно уникальные способности: принимать, обрабатывать и передавать электрохимические сигналы по нервным путям, которые образуют коммуникационную систему мозга.
На рис. 1 показано строение «нейронной сети» человека. Дендриты идут от тела нервной клетки к другим нейронам, где они принимают сигналы в точках соединения, называемых синапсами. Принятые синапсом входные сигналы передаются к телу нейрона. Здесь они суммируются, причем одни входы стремятся возбудить нейрон, другие -- воспрепятствовать его возбуждению.
Когда суммарное возбуждение в теле нейрона превышает некоторый порог, нейрон возбуждается, посылая по аксону сигнал другим нейронам. У этой основной функциональной схемы много усложнений и исключений, тем не менее, большинство искусственных нейронных сетей моделируют лишь эти простые свойства.
Рис. 1. Типичные биологические нейроны
Искусственный нейрон имитирует в первом приближении свойства биологического нейрона. На вход искусственного нейрона поступает некоторое множество сигналов, каждый из которых является выходом другого нейрона. Каждый вход умножается на соответствующий вес, аналогичный синаптической силе, и все произведения суммируются, определяя уровень активации нейрона.
Рис. 2. Искусственный нейрон
На рис. 2 представлена модель, реализующая эту идею. Множество входных сигналов, обозначенных , поступает на искусственный нейрон. Эти входные сигналы, в совокупности обозначаемые вектором , соответствуют сигналам, приходящим в синапсы биологического нейрона. Каждый сигнал умножается на соответствующий вес , и поступает на суммирующий блок, обозначенный . Каждый вес соответствует "силе" одной биологической синаптической связи (множество весов в совокупности обозначается вектором ). Суммирующий блок, соответствующий телу биологического элемента, складывает взвешенные входы алгебраически, создавая выход, который мы будем называть NET. В векторных обозначениях это может быть компактно записано следующим образом:
NET = XW
Сигнал NET далее, как правило, преобразуется активационной функцией F и дает выходной нейронный сигнал OUT. Активационная функция может быть обычной линейной функцией
OUT = F(NET)
где F -- пороговая функция.
OUT =
где T -- некоторая постоянная пороговая величина.
Рис. 3. Функция F
На рис. 2 блок, обозначенный F, принимает сигнал NET и выдает сигнал OUT. Если блок F сужает диапазон изменения величины NET так, что при любых значениях NET значения OUT принадлежат некоторому конечному интервалу, то F называется "сжимающей" функцией. В качестве "сжимающей" функции часто используется логистическая или "сигмоидальная" (S-образная) функция, показанная на рис.3. Эта функция математически выражается как
.
Таким образом
По аналогии с электронными системами активационную функцию можно считать нелинейной усилительной характеристикой искусственного нейрона. Коэффициент усиления вычисляется как отношение приращения величины OUT к вызвавшему его небольшому приращению величины NET. Он выражается наклоном кривой при определенном уровне возбуждения и изменяется от малых значений при больших отрицательных возбуждениях (кривая почти горизонтальна) до максимального значения при нулевом возбуждении и снова уменьшается, когда возбуждение становится большим положительным. С. Гроссберг (1973) обнаружил, что подобная нелинейная характеристика решает поставленную им дилемму шумового насыщения. Каким образом одна и та же сеть может обрабатывать как слабые, так и сильные сигналы? Слабые сигналы нуждаются в большом сетевом усилении, чтобы дать пригодный к использованию выходной сигнал. Однако усилительные каскады с большими коэффициентами усиления могут привести к насыщению выхода шумами усилителей (случайными флуктуациями), которые присутствуют в любой физически реализованной сети. Сильные входные сигналы, в свою очередь, также будут приводить к насыщению усилительных каскадов, исключая возможность полезного использования выхода. Центральная область логистической функции, имеющая большой коэффициент усиления, решает проблему обработки слабых сигналов, в то время как области с падающим усилением на положительном и отрицательном концах подходят для больших возбуждений. Таким образом, нейрон функционирует с большим усилением в широком диапазоне уровня входного сигнала
нейронный сеть хопфилд искусственный
Другой широко используемой активационной функцией является гиперболический тангенс. По форме она сходна с логистической функцией и часто используется биологами в качестве математической модели активации нервной клетки. В качестве активационной функции искусственной нейронной сети она записывается следующим образом
Рис. 4. Функция F
Подобно логистической функции гиперболический тангенс является S-образной функцией, но он симметричен относительно начала координат, и в точке NET = 0 значение выходного сигнала OUT равно нулю (см. рис. 4). В отличие от логистической функции, гиперболический тангенс принимает значения различных знаков, и это его свойство применяется для целого ряда сетей.
Рассмотренная простая модель искусственного нейрона игнорирует многие свойства своего биологического двойника. Например, она не принимает во внимание задержки во времени, которые воздействуют на динамику системы. Входные сигналы сразу же порождают выходной сигнал. И, что более важно, она не учитывает воздействий функции частотной модуляции или синхронизирующей функции биологического нейрона, которые ряд исследователей считают решающими в нервной деятельности естественного мозга.
Несмотря на эти ограничения, сети, построенные из таких нейронов, обнаруживают свойства, сильно напоминающие биологическую систему. Только время и исследования смогут ответить на вопрос, являются ли подобные совпадения случайными или же они есть следствие того, что в модели верно схвачены важнейшие черты биологического нейрона.
Сети Хопфилда
Нейронные сети могут иметь обратные связи (то есть связи от выходов некоторых нейронов ко входам других нейронов), а могут не иметь их. Сети Хопфилда - это нейронные сети с обратными связями, причем выход каждого нейрона связывается со входами всех остальных нейронов. Так как сети с обратными связями имеют пути, передающие сигналы от выходов к входам, то отклик таких сетей является динамическим, т. е. после приложения нового входа вычисляется выход и, передаваясь по сети обратной связи, модифицирует вход. Затем выход повторно вычисляется, и процесс повторяется снова и снова. Для устойчивой сети последовательные итерации приводят к все меньшим изменениям выхода, пока в конце концов выход не становится постоянным. Для многих сетей процесс никогда не заканчивается, такие сети называют неустойчивыми. Неустойчивые сети обладают интересными свойствами и изучались в качестве примера хаотических систем. Никто не мог предсказать, какие из сетей будут устойчивыми, а какие будут находиться в постоянном изменении. Более того, проблема представлялась столь трудной, что многие исследователи были настроены пессимистически относительно возможности ее решения.
К счастью, была получена теорема, описавшая подмножество сетей с обратными связями, выходы которых в конце концов достигают устойчивого состояния. Это замечательное достижение открыло дорогу дальнейшим исследованиям, и сегодня многие ученые занимаются исследованием сложного поведения и возможностей этих систем. Дж. Хопфилд сделал важный вклад как в теорию, так и в применение систем с обратными связями. Поэтому некоторые из конфигураций известны как сети Хопфилда. Остановимся на важном частном случае нейросетевой архитектуры, для которой свойства устойчивости подробно исследованы. На рис. 5. показана сеть с обратными связями, состоящая из двух слоев. Способ представления несколько отличается от использованного в работе Хопфилда и других сходных, но эквивалентен им с функциональной точки зрения. Нулевой слой не выполняет вычислительной функции, а лишь распределяет выходы сети обратно на входы. Каждый нейрон первого слоя вычисляет взвешенную сумму своих входов, давая сигнал NET, который затем с помощью нелинейной функции F преобразуется в сигнал OUT. Эти операции сходны с нейронами других сетей.
Рис. 5. Сеть Хопфилда
Состояние сети -- это просто множество текущих значений сигналов OUT от всех нейронов. В первоначальной сети Хопфилда состояние каждого нейрона менялось в дискретные случайные моменты времени, в последующем - состояния нейронов могли меняться одновременно. Так как выходом бинарного нейрона может быть только ноль или единица (промежуточных уровней нет), то текущее состояние сети является двоичным числом, каждый бит которого является сигналом OUT некоторого нейрона.
Задачи, решаемые данной сетью, как правило, формулируются следующим образом. Известен некоторый набор двоичных сигналов (изображений, оцифровок звука, прочих данных, описывающих некие объекты или характеристики процессов), которые считаются образцовыми. Сеть должна уметь из произвольного неидеального сигнала, поданного на ее вход, выделить ("вспомнить" по частичной информации) соответствующий образец (если такой есть) или "дать заключение" о том, что входные данные не соответствуют ни одному из образцов. В общем случае, любой сигнал может быть описан вектором
n -- число нейронов в сети и размерность входных и выходных векторов. Каждый элемент равен либо 1, либо 0. Обозначим вектор, описывающий k-й образец, через , а его компоненты, соответственно, -- , k = 0…m - 1, m-- число образцов. Когда сеть распознaет (или "вспомнит") какой-либо образец на основе предъявленных ей данных, ее выходы будут содержать именно его, то есть
Y =
где Y - вектор выходных значений сети
.
В противном случае, выходной вектор не совпадет ни с одним образцовым.
Если, например, сигналы представляют собой некие изображения, то, отобразив в графическом виде данные с выхода сети, можно будет увидеть картинку, полностью совпадающую с одной из образцовых (в случае успеха) или же "вольную импровизацию" сети (в случае неудачи).
На стадии инициализации сети весовые коэффициенты синапсов устанавливаются следующим образом
Здесь i и j -- индексы, соответственно, предсинаптического и постсинаптического нейронов; , -- i-й и j-й элементы вектора k-го образца.
Алгоритм функционирования сети следующий (p-- номер итерации):
1. На входы сети подается неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений аксонов:
поэтому обозначение на схеме сети входных синапсов в явном виде носит чисто условный характер. Ноль в скобке справа от означает нулевую итерацию в цикле работы сети.
2. Рассчитывается новое состояние нейронов:
и новые значения аксонов
где f -- активационная функция в виде скачка.
3. Проверка, изменились ли выходные значения аксонов за последнюю итерацию. Если да -- переход к пункту 2, иначе (если выходы стабилизировались) -- конец процедуры. При этом выходной вектор представляет собой образец, наилучшим образом сочетающийся с входными данными.
Распознавание цифр с помощью сетей Хопфилда
В первоначальной реализации сети Хопфилда, распознающей цифры, решено было задать в качестве эталона цифры от 1 до 9. Они представлялись векторами размерности 81, содержащими 1 или -1. Эта размерность векторов была выбрана не случайно, так как сеть Хопфилда способна распознать примерно 0,15*N образов, здесь N - число нейронов в сети и соответственно размерность вектора образа. Алгоритм обучения был несколько модифицирован по сравнению с описанным в предыдущей части работы: если сеть в конечном состоянии имеет на выходе вектор, не являющийся точной копией одного из эталонных, но очень похожий на некоторый эталонный образ, то программа «узнает» его. То есть на выходе сеть может иметь вектор, который не в точности является одним из эталонных, а в каком-то приближении. Конечная реализация распознает только цифры от 1 до 5, чтобы оставить наименее похожие друг на друга эталонные образы.
Рис. 6. Распознавание цифр сетью Хопфилда
А вот наименее удачные попытки распознавания
Рис. 7. Неудачный пример работы сети Хопфилда
Заключение
В настоящее время многие ученые занимаются исследованием нейронных сетей, устойчивости тех или иных конфигураций, однако далеко не все задачи распознавания образов могут быть решены нейронными сетями. А если и могут быть решены, то с какими-либо ограничениями, что подтверждают результаты работы написанной мною программы распознавания цифр. Несмотря на то, что искусственный нейрон является моделью биологического нейрона, он лишь аппроксимирует его свойства, а не в точности их повторяет. Потому машина по-прежнему не в состоянии обучаться, как человек. Однако биологи все больше узнают о функционировании человеческого мозга (например, уже изобретен аппарат, который способен расшифровывать сигналы нервной системы, получаемые визуально, то есть в процессе разглядывания человеком какой-либо картинки на экране, и была написана программа, «угадывающая» на какую из нескольких букв на экране смотрит человек) , поэтому есть надежда на продвижение в области моделирования человеческого мышления.
Литература
1. Медведев В.С., Потемкин В.Г. «Нейронные сети. MATLAB 6», «ДИЛОГ- МИФИ», 2002 г. 496 с.
Размещено на Allbest.ur
...Подобные документы
Принципы и система распознавание образов. Программное средство и пользовательский интерфейс. Теория нейронных сетей. Тривиальный алгоритм распознавания. Нейронные сети высокого порядка. Подготовка и нормализация данных. Самоорганизующиеся сети Кохонена.
курсовая работа [2,6 M], добавлен 29.04.2009Общие сведения о принципах построения нейронных сетей. Искусственные нейронные системы. Математическая модель нейрона. Классификация нейронных сетей. Правила обучения Хэбба, Розенблатта и Видроу-Хоффа. Алгоритм обратного распространения ошибки.
дипломная работа [814,6 K], добавлен 29.09.2014Возможности программ моделирования нейронных сетей. Виды нейросетей: персептроны, сети Кохонена, сети радиальных базисных функций. Генетический алгоритм, его применение для оптимизации нейросетей. Система моделирования нейронных сетей Trajan 2.0.
дипломная работа [2,3 M], добавлен 13.10.2015Сущность и функции искусственных нейронных сетей (ИНС), их классификация. Структурные элементы искусственного нейрона. Различия между ИНС и машинами с архитектурой фон Неймана. Построение и обучение данных сетей, области и перспективы их применения.
презентация [1,4 M], добавлен 14.10.2013Понятие и свойства искусственных нейронных сетей, их функциональное сходство с человеческим мозгом, принцип их работы, области использования. Экспертная система и надежность нейронных сетей. Модель искусственного нейрона с активационной функцией.
реферат [158,2 K], добавлен 16.03.2011Особенности нейронных сетей как параллельных вычислительных структур, ассоциируемых с работой человеческого мозга. История искусственных нейронных сетей как универсального инструмента для решения широкого класса задач. Программное обеспечение их работы.
презентация [582,1 K], добавлен 25.06.2013Понятие искусственного нейрона и искусственных нейронных сетей. Сущность процесса обучения нейронной сети и аппроксимации функции. Смысл алгоритма обучения с учителем. Построение и обучение нейронной сети для аппроксимации функции в среде Matlab.
лабораторная работа [1,1 M], добавлен 05.10.2010Изучение архитектуры искусственных нейронных сетей, способов их графического изображения в виде функциональных и структурных схем и программного представления в виде объектов специального класса network. Неокогнитрон и инвариантное распознавание образов.
курсовая работа [602,6 K], добавлен 12.05.2015Обзор и анализ распространенных искусственных нейронных сетей. Функциональное назначение слоев сети, алгоритмы обучения. Описание функциональных возможностей разработанной программной системы. Анализ исследовательской эксплуатации и возможных применений.
дипломная работа [1,3 M], добавлен 19.05.2011Создание программного средства, осуществляющего распознавание зрительных образов на базе искусственных нейронных сетей. Методы, использующиеся для распознавания образов. Пандемониум Селфриджа. Персептрон Розенблатта. Правило формирования цепного кода.
дипломная работа [554,8 K], добавлен 06.04.2014Рост активности в области теории и технической реализации искусственных нейронных сетей. Основные архитектуры нейронных сетей, их общие и функциональные свойства и наиболее распространенные алгоритмы обучения. Решение проблемы мертвых нейронов.
реферат [347,6 K], добавлен 17.12.2011Базовые архитектуры компьютеров: последовательная обработка символов по заданной программе и параллельное распознавание образов по обучающим примерам. Искусственные нейронные сети. Прототип для создания нейрона. Поведение искусственной нейронной сети.
контрольная работа [229,5 K], добавлен 28.05.2010Рождение искусственного интеллекта. История развития нейронных сетей, эволюционного программирования, нечеткой логики. Генетические алгоритмы, их применение. Искусственный интеллект, нейронные сети, эволюционное программирование и нечеткая логика сейчас.
реферат [78,9 K], добавлен 22.01.2015Искусственные нейронные сети как одна из широко известных и используемых моделей машинного обучения. Знакомство с особенностями разработки системы распознавания изображений на основе аппарата искусственных нейронных сетей. Анализ типов машинного обучения.
дипломная работа [1,8 M], добавлен 08.02.2017История развития, применение искусственных нейронных сетей. Распознавание образов в сети. Сжатие данных и ассоциативная память. Проектирование экспертной системы, позволяющей диагностировать заболевания органов пищеварения. Программная реализация системы.
курсовая работа [744,0 K], добавлен 05.02.2016Применение нейрокомпьютеров на российском финансовом рынке. Прогнозирование временных рядов на основе нейросетевых методов обработки. Определение курсов облигаций и акций предприятий. Применение нейронных сетей к задачам анализа биржевой деятельности.
курсовая работа [527,2 K], добавлен 28.05.2009Искусственные нейронные сети как вид математических моделей, построенных по принципу организации и функционирования сетей нервных клеток мозга. Виды сетей: полносвязные, многослойные. Классификация и аппроксимация. Алгоритм обратного распространения.
реферат [270,4 K], добавлен 07.03.2009Простейшая сеть, состоящая из группы нейронов, образующих слой. Свойства нейрокомпьютеров (компьютеров на основе нейронных сетей), привлекательных с точки зрения их практического использования. Модели нейронных сетей. Персептрон и сеть Кохонена.
реферат [162,9 K], добавлен 30.09.2013Преимущества нейронных сетей. Модели нейронов, представляющих собой единицу обработки информации в нейронной сети. Ее представление с помощью направленных графов. Понятие обратной связи (feedback). Основная задача и значение искусственного интеллекта.
реферат [1,2 M], добавлен 24.05.2015Нейронные сети как средство анализа процесса продаж мобильных телефонов. Автоматизированные решения на основе технологии нейронных сетей. Разработка программы прогнозирования оптово-розничных продаж мобильных телефонов на основе нейронных сетей.
дипломная работа [4,6 M], добавлен 22.09.2011