РЕЗЮМЕ
Тема курсовой работы
«Моделирование примитивных условных рефлексов на основе нейронной сети»
Работа содержит 14 страниц, 11 изображений.
Ключевые слова: нейронная сеть, моделирование, биология, примитивные рефлексы, поощрение и наказание, алгоритм обратного распространения ошибки, обучение нейронной сети.
Цель курсовой работы: создать модель образования простых условных рефлексов на основе искусственной нейронной сети, при обучении пользуясь лишь механизмом поощрения и наказания.
СОДЕРЖАНИЕ
Алгоритм обратного распространения ошибки 6
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 14
ВВЕДЕНИЕ
Основной формой деятельности нервной системы является рефлекс. Рефлекс – это стереотипная реакция живого организма на раздражитель, проходящая с участием нервной системы. В свою очередь, нервная система состоит из биологических нейронных сетей, которые были взяты за основу искусственных нейронных сетей. Поэтому вполне обоснованно возникает желание смоделировать условный рефлекс при помощи искусственной нейронной сети или, говоря другими словами, сделать шаг в сторону моделирования и понимания психики.
ОПИСАНИЕ МОДЕЛИ
Модель представляет из себя двумерное поле с исследуемым объектом – Примитивом, представленным в виде круга с сенсорами (на картинке черные точки) на его окружности (Рисунок1).
Сенсоры способные воспринимать три сигнала: отрицательную зону (-1), положительную зону (1) и их отсутствие (0) (Рисунок2).
Положительная зона благоприятна для Примитива, в реальности ее можно было бы сравнить с областью богатой питательной средой или другими хорошими условиям. Например: теплый камень для ящерки. И чем больше площадь пересечения Примитива и зоны, тем сильнее она на него воздействует. В свою очередь притив обладает возможностью перемещаться в зависимости от текущего восприятия.
ОДНОМЕРНЫЙ СЛУЧАЙ
Для начала я разобрал простой одномерный случай, в котором Примитив мог перемещаться либо вправо, либо влево. В этом случае нейронная сеть, занимающаяся выработкой реакции, состояла из: 16 входных нейронов (сенсоров), принимающие значения из множества {-1, 0, 1}; 8 нейронов скрытого слоя и 1 нейрона выходного слоя, который выдавал значение из отрезка [-1;1]. Оно трактовалось так: -1 – идти влево со всей скоростью, 1 – идти вправо, 0 –стоять на месте.
Обучение нейронной сети происходит модифицированным алгоритмом обратного распространения ошибки. Однако для того, чтобы понять отличие, кратко приведем стандартный алгоритм.
Алгоритм обратного распространения ошибки
Обучения проводится на эталоне входного вектора х и нужного результата d. Для этого выбирается функция ошибки
Где y – вектор результат, который сеть выдала с входным вектором х.
Суть метода обратного распространения ошибки заключается в том, чтобы представить функцию ошибки как сложную функцию, зависящую от параметров сети. А затем последовательно рассчитывать частные производные для каждого параметра по формуле для сложной функции. Зная производные для каждого параметра, изменим их в противоположную возрастанию сторону. Т.е., по сути, мы применяем метод наискорейшего спуска.
Для удобства приведем схему формального нейрона (Рисунок 3)
Где l – индекс слоя в нейронной сети, j – индекс нейрона, i – индекс входа.
Напомню формулы расчета выхода нейрона:
И для следующего слоя:
Таким образом, для расчета компонентных градиентов можно записать следующие формулы:
Аналогичный расчет для пороговых параметров.
Из формулы (1) следует что
Видно, что
Для выходного:
Для остальных:
Итак, мы видим, что на не последние слои информация об ошибке приходит от последующего слоя. Поэтому сконцентрируем свое внимание на последнем слое.
Модификация алгоритма
Как я упоминал в самом начале курсовой работы, при обучении используется метод поощрения и наказания, и мы не можем передавать дополнительную информацию о том, куда лучше идти или не идти. Примитив должен основываться лишь на своем опыте, а мы поощряем, если его поведение верное, и наказываем, если нет.
В данной модели поведение Примитива считается верным, если после его действия воздействие положительной зоны возросло или уменьшилось воздействие отрицательной.
Таким образом, сформировался следующий алгоритм:
1.Запоминается сила воздействия зоны
2.Текущий вектор сенсоров (х) подается на нейронную сеть и вычисляется вектор решения (у) для действия
3.Примитив двигается согласно вектору у
4.Вычисляется изменение силы воздействия зон (е)
5.Сеть обучается с параметрами х, у, е
Итак, мы знаем: вектор восприятия, вектор своих действий и субъективную оценку результата хорошо\плохо. Если оценка «хорошо», то поощряем данные поведение при таком векторе восприятия, иначе наказываем, т.е. поощряем противоположенное поведение. Другими словами, если мы поощряем Примитив, то параметры сети идут по градиенту вниз, иначе вверх. Таким образом поощрение выполняет роль функции ошибки.
И формула производной для последнего слоя из (3) становится следующего вида:
Где e – величина поощрение. Если e<0 – то можно назвать ее величиной наказания.
Результат
В самом начале, когда параметры сети заданы случайно, поведение Примитива так же случайно. Однако, соприкасаясь с какой-либо из зон, он оценивает свои действия, и сеть переобучается соответственно. Чтобы Примитив не мог просто остановиться и изучал новые реакции, были добавлены случайные действия, если длительное время нет новых раздражителей. Это можно назвать любопытством, что в итоге приводит к дальнейшей развитии сети и не дает деградировать.
ДВУМЕРНЫЙ СЛУЧАЙ
Однако предложенный в предыдущей главе алгоритм не будет действенным в двумерном пространстве, потому как вектор, сформированный начальными параметрами нейронной сети, при обучении, не изменит своей коллинеарности (Рисунок 4).
Поэтому, чтобы преодолеть эту трудность была введена «ошибка обучения»: На последнем слое, при обучении параметры нейрона увеличиваются не на полный шаг, на случайное число от 0 до величины шага. Таким образом при обучении вектор изменяется не коллинеарно, а случайно в пределах прямоугольника (Рисунок 5).
Однако даже с таким небольшим люфтом, данное решение будет стремится к оптимальному либо к около-оптимальному положению. Давайте разберем несколько ситуаций (Рисунки 6 – 10). Зеленым указано оптимальное направление вектора.
1.В Положении 6 никаких проблем нет случайный прямоугольник обучения полностью лежит в оптимальной зоне.
2.В положении 7 вектор лежит в оптимальной зоне, однако при обучении может выйти за его предел. Однако площадь случайного прямоугольника обучения в большей степени лежит в оптимальной зоне, поэтому можно судить что с большей вероятностью в положении 7 вектор останется в оптимальном положении. Если же нет, то он перейдет в положение 8
3.В положении 8 вектор лежит не в оптимально зоне, но рядом с ней. Поэтому к вектору применяется обучение с наказанием. По мере уменьшения вектора, вероятность вновь зайти в оптимальную зону увеличивается и стать в положение 7. Так же он может выйти из около-оптимальной зоны войти в положение 9.
4.Положение 9 это совсем не оптимальное направление. поэтому так или иначе великовероятно он, через некоторое время, войдёт в положение 10.
5.В положение 10 вероятность изменить свою коллинеарность велики. потому как вероятностный прямоугольник включает в себя центр круга Примитива. И из этого положение великовероятно он в войдет в одной из самых оптимальных положений.
РЕЗУЛЬТАТ
В итоге действия Примитива не являются самыми оптимальными, однако их совокупность, так или иначе, приводит к оптимальным результатам. К примеру с положительной зоной: обученный Примитив, при контакте с положительной зоной, в итоге, заходит в нее, однако его траектория может быть вовсе не прямой (Рисунок 11)
В данной работе описан самый простой вариант возникновения условных рефлексов на основе искусственной нейронной сети. Более сложные структуры и модели, вполне могут стать чем-то больше. Нужно сказать, что данная нейронная сеть не способна запоминать последовательность событий. И если представить себе ситуацию, когда, сначала, Примитиву пришлось бы пережить небольшое наказание, а в итоге это привело бы к хорошему поощрению, то такая модель не сможет сделать подобные выводы. Поэтому необходимы дальнейшие исследования в данной области.
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ
Учебное пособие к курсу "Нейронные сети" / И. В. Заенцев Воронеж 1999
скачать в красивой pdf'ке
No comments:
Post a Comment