Автор: Пользователь скрыл имя, 18 Марта 2012 в 11:30, реферат
Искусственные нейронные сети (ИНС) строятся по принципам организации и функционирования их биологических аналогов. Они способны решать широкий круг задач распознавания образов, идентификации, прогнозирования, оптимизации, управления сложными объектами. Дальнейшее повышение производительности компьютеров все в большой мере связывают с ИНС, в частности, с нейрокомпьютерами (НК), основу которых составляет искусственная нейронная сеть.
Рассмотрим общий алгоритм работы сети:
1. На стадии инициализации сети весовые коэффициенты синапсов (связей, по которым выходные сигналы одних нейронов поступают на входы других) устанавливаются следующим образом:
Где i и j ()–индексы,соответст
2. На входы сети подаётся неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений:
yj(0) = xj , j = 0...n-1,
где yj — аксон (т.е. выход) j-го нейрона. Поэтому обозначение на схеме сети входных синапсов в явном виде носит чисто условный характер. Ноль в скобке справа от yj означает нулевую итерацию в цикле работы сети.
3. Рассчитывается новое состояние нейронов и новые значения аксонов:
,
где j=0...n-1, p – номер (конкретный шаг) итерации, - новое состояние нейрона;
,
где f – активационная функция в виде скачка, приведённая на рис. 2б.
Рис. 2: а) жёсткая пороговая (передаточная)функция сети Хопфилда;
б) активационная функция сети Хопфилда.
4. Проверка: изменились ли выходные значения аксонов за последнюю итерацию. Если да – переход к пункту 2, иначе (если выходы застабилизировались) – конец. При этом выходной вектор представляет собой образец, наилучшим образом сочетающийся с входными данными.
5. Области применения сети
Сеть Хопфилда может быть использована как ассоциативная память, для решения некоторых задач оптимизации, а также как фильтр (задачи распознавания образов).
Чтобы организовать устойчивую автоассоциативную память с помощью данной сети с обратными связями, веса должны выбираться так, чтобы образовывать энергетические минимумы в нужных вершинах единичного гиперкуба.
На каждом итерации алгоритма функционирования сети понижается значение энергии нейронной сети. Это позволяет решатькомбинаторные задачи оптимизации, если они могут быть сформулированы как задачи минимизации энергии.
Рассмотрим пример восстановления повреждённого изображения.
Если во время обучения сформировать матрицу весовых коэффициентов на основании эталонных бинарных векторов, то нейронная сеть в процессе работы будет менять состояния нейронов до тех пор, пока не перейдет к одному из устойчивых состояний.
Пусть имеется нейронная сеть размерностью N=100 , в матрицу связей записан набор чёрно-белых картинок (-1 — чёрный цвет, +1 — белый), среди которых есть изображение собачки (рис. 3б). Если установить начальное состояние сети близким к этому вектору (рис. 3а), то в ходе динамики нейронная сеть восстановит исходное изображение (рис. 3б). В этом смысле можно говорить о том, что сеть Хопфилда решает задачу распознавания образов (хотя строго говоря, полученное эталонное изображение ещё нужно превратить в номер класса, что в некоторых случаях может быть весьма вычислительно ёмкой задачей).
а)
Рис. 3: а) начальное состояние для сети Хопфилда; б) восстановленное изображение.
4. Достоинства, недостатки и модификации Сети хопфилда
Достоинством сети Хопфилда является то, что она имеет огромное историческое значение. С этой модели началось возрождение интереса к нейронным сетям в середине 80-х годов. Также имеющиеся модификации применимы к решению современных задач области применения данной сети.
К сожалению, у нейронной сети Хопфилда есть ряд недостатков:
1. Относительно небольшой объём памяти, величину которого можно оценить выражением:
Попытка записи большего числа образов приводит к тому, что нейронная сеть перестаёт их распознавать.
2. Достижение устойчивого состояния не гарантирует правильный ответ сети. Это происходит из-за того, что сеть может сойтись к так называемым ложным аттракторам, иногда называемым "химерой" (как правило, химеры склеены из фрагментов различных образов).
3. При использовании коррелированных векторов-образцов возможно зацикливание сети в процессе функционирования.
4. Наряду с запомненными образами в сети хранятся и их негативы.
У сети Хопфилда существуют модификации. Одна из них предназначена для решения задач оптимизации, в частности задачи распределения работ между исполнителями.
Существует модель сети Хопфилда с бинарными входными сигналами.
Для увеличения ёмкости сети и повышения качества распознавания образов используют мультипликативные нейроны. Сети, состоящие из таких нейронов, называются сетями высших порядков.
Разработаны к настоящему моменту многослойные сети Хопфилда, которые обладают определёнными преимуществами по сравнению с первоначальной моделью.
Когда нет необходимости, чтобы сеть в явном виде выдавала образец, то есть достаточно, скажем, получать номер образца, ассоциативную память успешно реализует сеть Хэмминга. Данная сеть характеризуется, по сравнению с сетью Хопфилда, меньшими затратами на память и объемом вычислений, что становится очевидным из ее структуры (Рис. 3).
1. Общие сведения
Искусственная нейронная сеть Хэмминга представляет собой сеть с двумя обрабатывающими слоями: первый слой - слой Хэмминга, второй слой - немного изменённая сеть Хопфилда (рис 1). Сеть Хемминга реализует классификатор, базирующийся на наименьшей погрешности для векторов двоичных входов, где погрешность определяется расстоянием Хэмминга. Идея работы сети состоит в нахождении расстояния Хэмминга от тестируемого образа до всех образцов. Расстоянием Хэмминга называется число отличающихся битов в двух бинарных векторах. Сеть должна выбрать образец с минимальным расстоянием Хэмминга до неизвестного входного сигнала, в результате чего будет активизирован только один выход сети, соответствующий этому образцу.
-расстояние0
–расстояние2
– расстояние 5
2. Структура сети
Рис. 1. Структурная схема сети Хэмминга.
Сеть состоит из двух слоев. Первый и второй слои имеют по m нейронов, где m – число образцов. Нейроны первого слоя имеют по n синапсов, соединенных с входами сети (образующими фиктивный нулевой слой).
Первый слой имеет однонаправленное распространение сигналов от входа к выходу и фиксированные значения весов.
Нейроны второго слоя связаны между собой ингибиторными (отрицательными обратными) синаптическими связями. Единственный синапс с положительной обратной связью для каждого нейрона соединен с его же аксоном. Таким образом, второй слой состоит из нейронов, связанных обратными связями по принципу "каждый с каждым", при этом в каждом нейроне слоя существует автосвязь (связь входа нейрона со своим собственным выходом). Разные нейроны в слое связаны отрицательной (тормозящей) обратной связью с весом , при этом величина обычно обратно пропорциональна количеству образов. С собственным входом нейрон связан положительной (возбуждающей) обратной связью с весом, равным +1. Пороговые веса нейронов приняты равными нулю. Нейроны этого слоя функционируют в режиме, при котором в каждой фиксированной ситуации активизируется только один нейрон, а остальные пребывают в состоянии покоя.
Выходной однонаправленный слой формирует выходной вектор, соответствующий входному вектору.
Тип входных сигналов: бинарные векторы.
Тип выходных сигналов: целые числа.
Размерности входа и выхода ограничены при программной реализации только возможностями вычислительной системы, на которой моделируется нейронная сеть, при аппаратной реализации - технологическими возможностями. Размерности входных и выходных сигналов могут не совпадать.
Тип передаточной функции: линейная с насыщением.
Число синапсов в сети: (N*M).
3.Алгоритм работы
Инициализация весовых коэффициентов первого слоя.
,
где Х – запоминаемые образы, i – соответствующий компонент вектора X, j – номер образа, n – размерность вектора X, m – количество запоминаемых образов.
На входы сети подается неизвестный вектор Х{хi:i=0…n-1}, исходя из которого рассчитываются состояния нейронов первого слоя(верхний индекс в скобках указывает номер слоя)
1. Расчет состояния нейронов первого слоя.
,
где X – неизвестный образ, T = n/2 – порог активационной функции
После этого полученными значениями инициализируются значения аксонов второго слоя:
yj(2)=yj(1), j=0…m-1
1. Вычислить новые состояния нейронов второго слоя.
,
где p – номер итерации, 0 < < 1/m
,
где f – пороговая активационная функция.
,
где F – порог активационной функции. Обычно F выбирается достаточно большим, так, чтобы при любом допустимом значении входа не наступало насыщение. На практике F обычно берется равным количеству примеров.
2. Проверка условия выхода.
Если выходы не стабилизировались, т.е. изменялись за последнюю итерацию, то переход на шаг 3, иначе конец.
Роль первого слоя весьма условна: воспользовавшись один раз на шаге 1 значениями его весовых коэффициентов, сеть больше не обращается к нему, поэтому первый слой может быть вообще исключен из сети (заменен на матрицу весовых коэффициентов).
Заключение
Распознавание образов, классификация, ассоциативная память, надежная передача сигналов в условиях помех.
Задача оптического распознавания символов (OСR). Действительно, так оно и есть. При решении этой задачи сети Хэмминга активно используются. Но это, так сказать, лежит на поверхности. На практике они используются для восстановления зашумленного исходного сигнала, задачах оптимизации и во многих других случаях.
Нечеткий поиск.
На входе словарь, необходимо найти искомое слово в этом словаре, даже если оно было набрано с ошибкой. Для этого нужно сначала придумать систему кодирования символьной информации в вектора. Зададим для каждого символа его битовую маску.
А – 00001
Б – 10001
В – 10010
…
При кодировании желательно учитывать источник получения информации. Например, если для ввода информации используется клавиатура, то лучше всего было бы задавать коды символов таким образом, чтобы у символов, расположенных рядом на клавиатуре, были бы и близкие по Хэммингу коды. Если же источником является OCR программа, то близкие коды должны быть у схожих по написанию символов. После кодирования таким образом подаем полученные вектора на вход нейросети.
Тут необходимо учитывать одну особенность сетей Хэмминга. Если при написании была опечатка или даже две, то алгоритм работает хорошо, но если был пропущен символ или добавлен лишний, то Хэмингово расстояние может оказаться слишком большим. Для того, чтобы сгладить этот недостаток, мы будем подавать на вход как само искомое слово, так и это же слово, исключая по очереди по одному символу в каждой позиции и добавляя по одной букве в каждую позицию. Такой подход позволит найти практически все случаи ошибок – опечатка, пропуск символа, лишний символ.
Преимущества
Сеть работает предельно просто и быстро. В модели использован один из самых простых алгоритмов формирования синаптических весов и смещений сети. В отличие от сети Хопфилда, емкость сети Хемминга не зависит от размерности входного сигнала, она в точности равна количеству нейронов (M). Сеть Хопфилда с входным сигналом размерностью 100 может запомнить 10 образцов, при этом у нее будет 10000 синапсов. У сети Хемминга с такой же емкостью будет всего лишь 1000 синапсов.
Достоинством сети Хэмминга считается небольшое количество взвешенных связей между нейронами. Многочисленные эксперименты доказали, что сеть Хэмминга дает лучшие результаты, чем сеть Хопфилда. Единственная проблема, связанная с сетью Хемминга, проявляется в случае, когда зашумленные образы находятся на одинаковом (в смысле Хемминга) расстоянии от двух или более эталонов. В этом случае выбор сетью Хемминга одного из эталонов становится случайным.
Сеть Хемминга имеет ряд преимуществ над сетью Хопфилда. Она способна найти минимальную погрешность, если погрешности входных бит являются случайными и независимыми. Для функционирования сети Хемминга нужно меньшее количество нейронов, поскольку средний слой требует лишь один нейрон на класс, вместо нейрона на каждый входной узел. Сеть Хемминга не страдает от неправильных классификаций, которые могут случиться в сети Хопфилда. В целом, сеть Хемминга быстрее и точнее, чем сеть Хопфилда.