18637

Нейронные сети. Распознавание образов

Курсовая

Информатика, кибернетика и программирование

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

Русский

2014-03-24

542 KB

55 чел.

Московский авиационный институт

(государственный технический университет)

_________________________________________

Курсовая работа

по курсу «Искусственный интеллект»

«Нейронные сети. Распознавание образов»

Студентка: Никонова И. А.

Преподаватели: Морозов П.Г.

Сошников Д.В.

 Москва, 2010

Содержание

  1.  Введение……………………………………………………………………...
  2.  Биологический прототип и искусственный нейрон……………………….
  3.  Сети Хопфилда………………………………………………………………
  4.  Распознавание цифр с помощью сетей Хопфилда………………………..
  5.  Заключение………………………………………………………………….
  6.  Литература…………………………………………………………………...

Введение

   Исследования в области нейронных сетей начались в 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.  На входы сети подается неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений аксонов:

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

  1.  Рассчитывается новое состояние нейронов:

и новые значения аксонов

где f — активационная функция в виде скачка.

  1.  Проверка, изменились ли выходные значения аксонов за последнюю итерацию. Если да — переход к пункту 2, иначе (если выходы стабилизировались) — конец процедуры. При этом выходной вектор представляет собой образец, наилучшим образом сочетающийся с входными данными.

Распознавание цифр с помощью сетей Хопфилда

  В первоначальной реализации сети Хопфилда, распознающей цифры, решено было задать в качестве эталона цифры от 1 до 9. Они представлялись векторами размерности 81, содержащими 1 или -1. Эта размерность векторов была выбрана не случайно, так как сеть Хопфилда способна распознать примерно 0,15*N образов, здесь N – число нейронов в сети и соответственно размерность вектора образа. Алгоритм обучения был несколько модифицирован по сравнению с описанным в предыдущей части работы: если сеть в конечном состоянии имеет на выходе вектор, не являющийся точной копией одного из эталонных, но очень похожий на некоторый эталонный образ, то программа «узнает» его. То есть на выходе сеть может иметь вектор, который не в точности является одним из эталонных, а в каком-то приближении. Конечная реализация распознает только цифры от 1 до 5, чтобы оставить наименее похожие друг на друга эталонные образы.

Рис. 6. Распознавание цифр сетью Хопфилда.

 

 А вот наименее удачные попытки распознавания:

Рис. 7. Неудачный пример работы сети Хопфилда.

 

Заключение

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

Литература

1.  Медведев В.С., Потемкин В.Г. «Нейронные сети. MATLAB 6», «ДИЛОГ-МИФИ», 2002 г. 496 с.

2. Лекции «Основы теории нейронных сетей» Яхъяева Г.Э. (intuit.ru)


 

А также другие работы, которые могут Вас заинтересовать

78789. Голос рідної природи серцем слухати навчись (інтегрований урок) 371.5 KB
  Мета: вдосконалювати навички виразного читання, навички чітко і повно відповідати на запитання, збагачувати словниковий запас образними висловами, розвивати усне мовлення учнів; розширювати уявлення про поняття птахи, ознайомити учнів із зимуючими птахами своєї місцевості...
78790. Скарб над скарбами. Казки народів світу. Пагінець місячного дерева (Японська народна казка) 3.93 MB
  Завдання проекту. Розширити і поглибити знання про народні казки світу. Розвивати вміння оцінювати вчинки персонажів і визначати мотиви їхньої поведінки. Учити здійснювати проектну діяльність на основі відбору інформації з довідкової літератури.
78791. Мова – дивний скарб 63.5 KB
  Мета: формування ключових компетентностей: вміння вчитися – самоорганізовуватися до навчальної діяльності у взаємодії; загальнокультурної – дотримуватися норм мовленнєвої культури, зв’язно висловлюватися в контексті змісту; соціальної – здатність працювати в групі, в парі, з усіма в колективі...
78792. Скарби бабусиної скрині 77.5 KB
  Ліна: Ну а я що можу зробити? Візьми он книжку яку почитай. Марія: Та ти що з дуба впала, яка книжка, я ж покоління ХХІ століття - часу інтернету, - ми книжок не читаємо. Ліна: Тобі ж гірше. Не хочеш читати - візьми в хаті поприбирай. Подвійна користь буде: себе займеш і бабусі допоможеш.
78793. Как нечисть Любовь украла 45 KB
  На сцене стоит избушка старушки - сказочницы. Ставни открываются - в избушке сидит старушка. Во время её слов перебежками вокруг дома бегает нечистая сила. Старушка: Это было… иль не было Иль приснилось мне опять. Раз - окошки отворила - Сказку буду начинать! Сказку эту иль неправду...
78794. Скелет и мышцы 198 KB
  Цель: Знакомить учащихся со строением человека. Формировать интерес к познанию самого себя. Проверить усвоение материала по теме «Кожа». Расширить кругозор учащихся. Оборудование: индивидуальные карточки, плакаты, справочник, пособие «Скелет человека».
78795. З бабусиної скрині 61.5 KB
  Учень: Україно Україно Краю милий Краю золотавий Поля твої широкополі Пісні дзвінкоголосі Міста наші рідні Сади пишноцвітні Пшениці ряснії Городи багатії. Учень: Українська земле Де є краща Де миліша Як не на Вкраїні Тут городи і сади Тут яблука й гарбузи. Учень:...
78796. Сценарій тематичного вечора «Її величність Скрипка» 70.5 KB
  Скрипка народилася приблизно у 16-му столітті у руках одного з ломбардських майстрів Італії. Віола мала ніжний і м’який голос Але не було у неї високих блискучих звуків що мала скрипка. Говорять що Леонардо да Вінчі подарував їй завиток прикрасив її голівку – і народилась скрипка що має характер...
78797. СЛАБКА ЛАНКА 68 KB
  Мета: Закріпити і повторити матеріал з історії України та всесвітньої історії, виявити недоліки в знаннях, розвивати логічне мислення, допитливість, кмітливість, викликати життєвий інтерес до історії.