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

Автор работы: Пользователь скрыл имя, 12 Января 2013 в 03:32, курсовая работа

Краткое описание

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

Содержание

Введение
Принципы распознавания образов…………………………………..4
Нейронные сети……………………………………………………….7
Классификация нейронных сетей………………………………..9
2.1.1 Многослойные нейронные сети…………………………...9
2.1.2 Нейронные сети высокого порядка……………………….10
2.1.3 Нейронные сети Хопфилда………………………………..10
2.1.4 Самоорганизующиеся нейронные сети Кохонена……….11
2.1.5 Когнитрон…………………………………………………...12
Распознование образов………………………………………………..13
3.1Подготовка и нормализация данных……………………………...14
4. Важнейшие свойства биологических нейросетей……………………14
5. Свойства современных искусственных нейросетей…………………15
6. Параллельность обработки и реализуемость нейросетей…………...16
7. Место нейронных сетей среди других методов решения задач…….17
8. Сеть Хопфилда …………………………………………...……...…….18
8.1 Распознавание цифр с помощью сетей Хопфилда……………….22
Заключение
Литература

Прикрепленные файлы: 1 файл

РАСПОЗНАВАНИЕ.docx

— 213.80 Кб (Скачать документ)

Оглавление

Введение

  1. Принципы распознавания образов…………………………………..4
  2. Нейронные сети……………………………………………………….7
    1. Классификация нейронных сетей………………………………..9

       2.1.1 Многослойные нейронные сети…………………………...9

2.1.2 Нейронные сети высокого порядка……………………….10

 2.1.3 Нейронные сети Хопфилда………………………………..10

2.1.4 Самоорганизующиеся нейронные сети Кохонена……….11

2.1.5 Когнитрон…………………………………………………...12

  1. Распознование образов………………………………………………..13

     3.1Подготовка и нормализация данных……………………………...14

4. Важнейшие свойства биологических нейросетей……………………14

5. Свойства современных искусственных нейросетей…………………15

6. Параллельность обработки и реализуемость нейросетей…………...16

7. Место нейронных сетей среди других методов решения задач…….17

8. Сеть Хопфилда …………………………………………...……...…….18

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

Заключение

Литература

 

 

 

 

 

 

 

 

 

 

                                                        Введение

 

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

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

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

 

 

 

 

 

 

 

 

 

 

 

                    1 Принципы распознавания образов

 

Задача распознавания (точнее, классификации) объекта ставится следующим  образом. Имеется некоторый способ кодирования объектов (например, рукописных букв), принадлежащих заранее известному конечному множеству классов C={C,...,Cq}, и некоторое конечное множество объектов (обучающее множество), про каждый из которых известно, какому классу он принадлежит. Нужно построить алгоритм, который по любому входному объекту, не обязательно принадлежащему обучающему множеству, решает, какому классу этот объект принадлежит, и делает это достаточно хорошо. Качество распознавания оценивается как вероятность (т.е.частота) ошибки классификации на другом конечном множестве объектов с заранее известными ответами (тестовом множестве).

Типичная система распознавания  состоит из трех частей: извлечение признаков, распознавание и принятие решения.

Извлечение признаков - это  преобразование входных объектов к  единообразному, компактному и удобному виду с потерей подавляющей части  содержащейся в объекте информации, слабо влияющей на классификацию. Удобным оказывается представление объекта точкой стандартного евклидова пространства Rd, принадлежащей некоторому фиксированному компакту (кубу, шару, сфере, ...). Размерность d должна быть достаточно большой для успешного (в смысле качества) распознавания и достаточно малой для успешного (в смысле скорости) распознавания - реально это порядка нескольких десятков. Способ извлечения признаков зависит от природы и исходной кодировки объектов и подбирается вручную. Например, траекторию мыши или пера, исходно закодированную последовательностью произвольной длины (порядка сотни), состоящей из пар координат точки, удобно кодировать последовательностью фиксированной длины пар коэффициентов аппроксимирующих траекторию полиномов небольшой степени (порядка десятка), свободные члены можно отбросить, как не влияющие на классификацию. Желаемые значения F в точках пространства признаков, соответствующих обучающему множеству, известны, остается только построить в некотором смысле аппроксимирующее отображение. Качество аппроксимации будет проверяться не на всей области определения, а только на тестовом множестве. Интерпретацией вычисленных вероятностей занимается отдельная от распознавания процедура принятия решений, которая строится вручную и не зависит ни от природы входных объектов, ни от пространства признаков, ни от обучающих данных. Она зависит только от того, для чего эта система распознавания предназначена. Например, если она используется как безответственная гадалка, то она просто выдает номер наиболее вероятного класса. Если она используется как ответственная гадалка, то она выдает номер наиболее вероятного класса, если его вероятность существенно больше вероятностей других классов, и отвечает ``не знаю'' в противном случае. Если она используется для генерации гипотез, то она выдает номера нескольких (например, пяти) наиболее вероятных классов и их вероятности.

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

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

Выписывание последовательности Qi1,...,QiL из L характеристических элементов поручим детерминированному конечному автомату с L+1 состояниями с1,...,сL+1 L, состоянии C£, который в каждом l-м, l порождает элемент Qil и переходит в следующее состояние. А для порождения возможных ``небольших возмущений'' последовательности превратим автомат в стохастический: в i-м состоянии он может порождать любой элемент Qс вероятностью bij и с вероятностью aij переходить в близкое к i+1-му j-е состояние. Как правило, aij >  i+2, т.е. кроме перехода в следующее состояние допускаются проскакивание его и задержка в текущем состоянии. Существенно, что a£ j £0 только при i ij=0 при i > j. Такие модели называются LR-моделями (left-right, слева направо). Вероятности bi,ij и ai,i+1 унаследованных от детерминированного автомата действий естественно полагать близкими к 1, а остальные положительные вероятности - близкими к 0, хотя это и не обязательно. Заметим, что каждое состояние детерминированного автомата имело точный смысл (``выписано столько-то элементов такой-то последовательности''), а у стохастического автомата этот точный смысл уже утерян.

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

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

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

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

 

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

 

Теория нейронных сетей  возникла в 40-60-х годах в результате совместных попыток физиологов и  кибернетиков понять и смоделировать  работу мозга. Получилась следующая  модель. Мозг состоит из очень большого числа (порядка 1011) клеток (нейронов), каждая из которых имеет длинный хвост (аксон) и большое число (порядка 104) ответвлений (дендритов), касающихся аксонов других нейронов и/или входных рецепторов(рис.1).Через эти зоны касания (синапсы) может передаваться информация (электрохимический потенциал).

          Рис.1. Биологический нейрон

 

 

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

В совокупности мозг вычисляет  некоторую вектор-функцию: зависимость  потенциалов нейронов (достаточно рассматривать  не все нейроны, а только связанные  своими аксонами с исполнителями) от потенциалов входных рецепторов. А вся нетривиальность работы мозга состоит в том, что пороговые значения (по одному на нейрон, итого порядка 1011) и коэффициенты линейных комбинаций (по одному на дендрит, итого порядка 1015), вообще говоря, различны и могут изменяться со временем. Это изменение коэффициентов называется обучением. Нейронная сеть прямого распространения - это ориентированный ациклический граф с множеством вершин V и ребер E, вершины которого разбиты на слои следующим образом:

- нулевой слой состоит  из вершин-истоков (входных рецепторов) v 0,1,...,v0,d;

- ребра (синапсы), входящие  в вершины (нейроны) (k+1)-го слоя, выходят из вершин (рецепторов  или нейронов) k-го слоя;

- все стоки (выходные  нейроны) vL,1,...,yL,q принадлежат одному и тому же L-му слою.

 

                          2.1 Классификация нейронных сетей

                          2.1.1 Многослойные нейронные сети

 

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

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

 

                       2.1.2 Нейронные сети высокого порядка

 

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

 

                               2.1.3 Нейронные сети Хопфилда

 

НС Хопфилда (НСХ) является однослойной и полносвязной (связи нейронов на самих себя отсутствуют), её выходы связаны со входами. В отличие от МНС, НСХ является релаксационной - т.е. будучи установленной в начальное состояние, функционирует до тех пор, пока не достигнет стабильного состояния, которое и будет являться её выходным значением. НСХ применяются в качестве ассоциативной памяти и для решения оптимизационных задач. В первом случае НСХ обучается без учителя (например, по правилу Хебба), во втором случае веса между нейронами изначально кодируют решаемую задачу. НСХ бывают синхронными, когда одновременно пересчитываются все нейроны и асинхронными, когда пересчитывается случайно выбранный нейрон. Для исследования динамики функционирования НСХ используются методы Ляпунова.

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