Нейрокомпьютерные системы

Автор работы: Пользователь скрыл имя, 10 Февраля 2013 в 11:56, курсовая работа

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

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

Содержание

Введение
1. Основы нейрокомпьютерных систем
1.1 Основы искусственных нейронных сетей
1.2 Алгоритм обратного распространения
1.3 Нейронные сети Хопфилда и Хэмминга
2. Современные направления развития нейрокомпьютерных технологий в России и зарубежом
2.1 Применение искусственных нейронных сетей в системах управления
2.2 Теория нейронных сетей
2.3 Нейроматематика
2.4 Прикладная нейроматематика
2.5 Нейрочипы и нейрокомпьютеры
2.6 Обзор зарубежных достижений нейрокомпьютерных систем
Заключение
Глоссарий
Список использованных источников

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

Нейрокомпьютернаые системы.docx

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

 

Рис.17 Структурная  схема сети Хопфилда

 

В общем случае, любой сигнал может быть описан вектором , n - число нейронов в сети и размерность входных и выходных векторов. Каждый элемент xj равен либо +1, либо - 1. Обозначим вектор, описывающий k-ый образец, через Хк, а его компоненты, соответственно, - х> k=0. m-l, m - число образцов. Когда сеть распознает (или "вспомнит") какой-либо образец на основе предъявленных ей данных, ее выходы будут содержать именно его, то есть Y = Хк, где Y - вектор выходных значений сети: . В противном случае, выходной вектор не совпадет ни с одним образцовым.

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

На стадии инициализации сети весовые коэффициенты синапсов устанавливаются следующим  образом:

 

(19)

 

Здесь i и j - индексы, соответственно, предсинаптического и постсинаптического нейронов;

- i-ый и j-ый элементы вектора k-ого образца.

Алгоритм  функционирования сети следующий (р - номер итерации):

  1. На входы сети подается неизвестный сигнал. Фактически его ввод осуществляется непосредственной установкой значений аксонов:

 

 

 

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

Ноль в  скобке справа от yi, означает нулевую итерацию в цикле работы сети.

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

 

(20)

 

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

 

(21)

 

где f - активационная функция в виде скачка, приведенная на рис.18а.

 

Рис.18. Активные функции

 

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

Как говорилось выше, иногда сеть не может  провести распознавание и выдает на выходе несуществующий образ. Это  связано с проблемой ограниченности возможностей сети. Для сети Хопфилда число запоминаемых образов m не должно превышать величины, примерно равной 0.15*n. Кроме того, если два образа А и Б сильно похожи, они, возможно, будут вызывать у сети перекрестные ассоциации, то есть предъявление на входы сети вектора А приведет к появлению на ее выходах вектора Б и наоборот11. Когда нет необходимости, чтобы сеть в явном виде выдавала образец, то есть достаточно, скажем, получать номер образца, ассоциативную память успешно реализует сеть Хэмминга.

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

 

Рис. 19. Структурная  схема сети Хэмминга

 

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

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

На стадии инициализации весовым коэффициентам  первого слоя и порогу активационной  функции присваиваются следующие  значения:

 

(22), (23)

 

Здесь - i-й элемент к-ого образца. Весовые коэффициенты тормозящих синапсов во втором слое берут равными некоторой величине . Синапс нейрона, связанный с его же аксоном имеет вес +1.

Алгоритм  функционирования сети Хэмминга следующий:

На входы  сети подается неизвестный вектор исходя из которого рассчитываются состояния нейронов первого слоя (верхний индекс в скобках указывает номер слоя):

 

(24)

 

После этого  полученными значениями инициализируются значения аксонов второго слоя:

 

(25)

 

2 Вычислить новые состояния нейронов второго слоя:

 

(26)

 

И значение аксионов

 

(27)

 

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

  1. Проверить, изменились ли выходы нейронов второго слоя за последнюю итерацию. Если да - перейди к шагу 2. Иначе - конец.

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

Программная модель сети Хэмминга строится на основе набора специальных классов NeuronHN, LayerHN и NetHN - производных от классов, рассмотренных в предыдущих статьях цикла. Описания классов приведены в листинге 1. Реализации всех функций находятся в файле NEURO_HN (листинг 2). Классы NeuronHN и LayerHN наследуют большинство методов от базовых классов.

В классе NetHN определены следующие элементы:

Nin и Nout - соответственно размерность входного вектора с данными и число образцов;

dx и dy - размеры входного образа по двум координатам (для случая трехмерных образов необходимо добавить переменную dz), dx*dy должно быть равно Nin, эти переменные используются функцией загрузки данных из файла LoadNextPattern;

DX и DY - размеры выходного слоя (влияют только на отображение выходого слоя с помощью функции Show); обе пары размеров устанавливаются функцией SetDxDy;

Class - массив с данными об образцах, заполняется функцией SetClasses, эта функция выполняет общую инициализацию сети, сводящуюся к запоминанию образцовых данных.

Метод Initialize проводит дополнительную инициализацию на уровне тестируемых данных (шаг 1 алгоритма). Метод Cycle реализует шаг 2, а метод IsConverged проверят, застабилизировались ли состояния нейронов (шаг 3).

Из глобальных функций - SetSigmoidAlfaHN позволяет установить параметр F активационной функции, a SetLimitHN задает коэффициент, лежащий в пределах от нуля до единицы и определяющий долю величины 1/т, образующую с.

На листинге 3 приведена тестовая программа для  проверки сети. Здесь конструируется сеть со вторым слоем из пяти нейронов, выполняющая распознавание пяти входных образов, которые представляют собой схематичные изображения  букв размером 5 на 6 точек (рис. 20а). Обучение сети фактически сводится к загрузке и запоминанию идеальных изображений, записанных в файле "charh. img", приведенном на листинге 4. Затем на ее вход поочередно подаются зашумленные на 8/30 образы (рис. 20б) из файла "charhh. img" с листинга 5, которые она успешно различает.

 

Рис.20 Образцовые и тестовые образцы

 

Рис.21 Структурная  схема ДАП

 

R проект кроме файлов NEURO_HN и NEUROHAM входят также SUBFUN и NEURO_FF. Программа тестировалась в среде Borland С++ 3.1.

Предложенные  классы позволяют моделировать и  более крупные сети Хэмминга. Увеличение числа и сложности распознаваемых образов ограничивается фактически только объемом ОЗУ. Следует отметить, что обучение сети Хэмминга представляет самый простой алгоритм из всех рассмотренных  до настоящего времени алгоритмов в  этом цикле статей. Обсуждение сетей, реализующих ассоциативную память, было бы неполным без хотя бы краткого упоминания о двунаправленной ассоциативной  памяти (ДАП). Она является логичным развитием парадигмы сети Хопфилда, к которой для этого достаточно добавить второй слой. Структура ДАП представлена на рис.18. Сеть способна запоминать пары ассоциированных друг с другом образов. Пусть пары образов записываются в виде векторов и , где r - число пар. Подача на вход первого слоя некоторого вектора вызывает образование на входе второго слоя некоего другого вектора , который затем снова поступает на вход первого слоя. При каждом таком цикле вектора на выходах обоих слоев приближаются к парс образцовых векторов, первый из которых - X - наиболее походит на Р, который был подан на вход сети в самом начале, а второй - Y - ассоциирован с ним. Ассоциации между векторами кодируются в весовой матрице W (l) первого слоя. Весовая матрица второго слоя W (2) равна транспонированной первой (W (1)) T. Процесс обучения, также как и в случае сети Хопфилда, заключается в предварительном расчете элементов матрицы W (и соответственно WT) по формуле:

 

(28)

 

Эта формула  является развернутой записью матричного уравнения

 

(29)

 

для частного случая, когда образы записаны в виде векторов, при этом произведение двух матриц размером соответственно [n*1] и [1*n] приводит к (11). В заключении можно сделать следующее обобщение. Сети Хопфилда, Хэмминга и ДАП позволяют просто и эффективно разрешить задачу воссоздания образов по неполной и искаженной информации. Невысокая емкость сетей (число запоминаемых образов) объясняется тем, что, сети не просто запоминают образы, а позволяют проводить их обобщение, например, с помощью сети Хэмминга возможна классификация по критерию максимального правдоподобия. Вместе с тем, легкость построения программных и аппаратных моделей делают эти сети привлекательными для многих применений12.

 

2. Современные направления развития нейрокомпьютерных технологий в России и зарубежом

2.1 Применение  искусственных нейронных сетей  в системах управления

 

В историческом плане можно утверждать, что разработка систем управления (СУ) всегда происходит поэтапно. В качестве таких этапов можно выделить:

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

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

Необходимым этапом решения задач управления нелинейными динамическими системами  является получение их адекватных математических моделей, базирующееся, как правило, на теоретическом и экспериментальном  анализе свойств этих систем. Теоретический  анализ процессов, происходящих в системе, позволяет получить математическое описание в виде, например, дифференциальных уравнений. При экспериментальном  анализе на основе наблюдений входных  и выходных сигналов системы получают либо ее параметрическую, либо непараметрическую  модель. Наиболее широкое распространение  получили параметрические модели, требующие  решения задач структурной и  параметрической идентификации  и использующие ограниченное число  параметров. Несмотря на огромное количество работ, многообразие видов нелинейностей  не позволяет создать единую теорию идентификации нелинейных систем. Применяемый  чаще всего классический подход основан  на аппроксимации нелинейностей, например рядами Вольтера, Гаммерштейна, Винера, полиномами Колмогорова-Габора и др. Однако область применения таких моделей ограничена. Кроме того, дополнительные трудности получения адекватного математического описания обусловлено наличием в реальных сигналах помех14.

Одной из классических моделей СУ является модель с обратной связью с регулируемыми в реальном масштабе времени коэффициентами, например самонастраивающийся регулятор  Астрома. Коэффициенты такого контроллера регулируются в течение каждого цикла управления в соответствии с оценкой параметров системы. Блок-схема управления с обратной связью и регулируемыми в реальном масштабе времени коэффициентами приведена на рис.22.

 

Рис.22 Блок-схема  управления с обратной связью и регулируемыми  коэффициентами

 

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

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

 

Рис.23 Блок-схема  адаптивного управления с эталонной  моделью

 

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

Одним из первых используемых методов построения нейросетевых СУ был метод, основанный на "копированиии" существующего контроллера. Применив этот метод в 1964 Уидроу назвал его методом построения экспертной системы за счет получения знаний от уже существующего эксперта. Архитектура такой СУ представлена на рис.21.

 

Рис.24 Нейросетевая СУ, основанная на "копировании" существующего контролера

 

Глядя на этот рисунок 24 можно усомниться в полезности этого метода. Зачем нужно использовать еще один управляющий контроллер (в виде НС), если один уже существует. Однако, во-первых, существующий контроллер может быть неудобен при использовании (например, в роли такого контроллера  может выступать человек), а во-вторых, для выработки эффективного управления НС может использовать отличную, от существующего контроллера, по способу  представления (легче измерить, формализовать  и т.д.) информацию о состоянии  объекта управления.

Информация о работе Нейрокомпьютерные системы