Курсовая: Создание простейшей нейросети

Элементарная теория процесса обучения нейросетей
Аннотация
Задача представимости функции многих переменных в виде суперпозиции
нескольких функций меньшего числа переменных  поставленная  еще Гильбертом
получила новую жизнь благодаря теореме Хехт-Нильсена Уоб аппроксимации
функции многих переменных двухслойной однородной нейросетьюФ. Нейросети на
сегодняшний день являются важным инструментом при решении многих прикладных
задач, а потому представляет большой интерес процесс обучения  сетей. В
работе сделана попытка анализировать этот процесс и представить его
максимально просто и наглядно.
Искусственные (формализованные) нейросети построены по схеме близкой к
естественной нервной системе человека, т.е. достаточно простые структурные
единицы, объединяясь в определенной последовательности, образуют сложную
систему, способную решать огромные классы  задач.
Формализованный нейрон Ц это математическая модель естественного нейрона
человека. Он включает в себя невырожденные линейные преобразования, а также
некоторую нелинейную функцию, называемую функцией активации, как правило,
сигмоидального типа:
     s =1/(1+ ехр(-a)) ,                                    (1)
где  s - непрерывная, всюду дифференцируемая возрастающая ограниченная
функция. Графически формализованный нейрон (далее просто нейрон) показан на
рис.1:
Рис.1        Схема     формализованного   нейрона.   Х1, Х2,., 
Хn - координаты входного
вектора Ц исходная информация. Числа w1, w2,., wn Ц так
называемые веса синапсов (входов нейрона) или сила связи данного входа с
нейроном, b Ц дополнительный вход, называемый сдвигом, его значения,
как правило, +1, 0. Знак S означает операцию линейных
преобразований. Каждый вход умножается на соответствующий ему вес и все
суммируется, далее полученная величина рассматривается как аргумент функции
(1), значение значение которой является выходом нейрона.
Искусственная нейросеть представляет из себя группу связанных определенным
образом нейронов. Простейший случай Ц это однослойная нейросеть.
Аналитически ее можно записать следующим образом:
     У=  s(ХW),                                                          (2)
где Х, Y Ц вектор-строки.
Активационная функция многослойной сети должна быть нелинейной. Если эта
функция будет линейной, легко показать, что любую многослойную сеть можно
свести к однослойной.
В однородной нейросети все нейроны по отдельности выполняют одинаковые
функции. Основным существенным отличием их друг от друга являются веса
синапсов, которые и играют главную роль в работе нейросетей. От правильного
подбора весовых коэффициентов зависит,  корректность  работы сети. Процесс их
подбора и называется обучением.
Процесс обучения можно сравнить с  настройкой.
Известно 2 класса обучающих методов: детерминистские и стохастические.
Детерминистский метод состоит в том, что шаг за шагом осуществляется
процедура коррекции весов сети, основанная на использовании их текущих
значений, а также величин входов и выходов (фактических и ожидаемых).
Стохастические методы по определению предполагают выполнение псевдослучайных
изменений, которые ведут к улучшению результата.
Наиболее распространенным алгоритмом обучения нейросетей является алгоритм
обратного распространения ошибки, основанный на методе градиентного спуска.
Обучение при этом проходит в два этапа. Вначале сеть работает в обычном
режиме, т.е. прямым потоком: на вход подаются начальные данные, и вычисляется
вектор выхода. Затем находят функцию ошибки:
     ,                                        (3)
где yj,p Ц реальная, а tj,p Ц ожидаемая j-тая координата выхода,
при подаче на вход р-го образа. А уменьшают ее, напрявляя данные по сети в
обратном порядке, работа проходит через определенные этапы следующим образом:
1.     Подача на вход сети один из возможных образов и в режиме обычного
функционирования нейросети, когда сигнал распространяется от входа к выходу,
рассчет значения последнего.
2.     Рассчет ошибок dN и DwN слоя N.
3.     Рассчет ошибок  dn и Dwn   для всех остальных слоев, n=N-1,.,1.
4.     Корректировка всех весов в сети.
5.     Проверка ошибки сети и переход на шаг 1 или в конец.
Сети на шаге 1 попеременно в случайном порядке предъявляются все образы из
обучающего множества, чтобы сеть не УзабывалаФ одни по мере УзапоминанияФ
других.
Этот алгоритм, после предварительной подготовки, может быть представлен более
наглядно и интерпретирован геометрически.
Пусть Еn Ц n-мерное евклидово пространство. Множества Х, Y, 
Т Ц области пространства Еn Ц множества векторов. Причем, такие что " 
ÎХ $!  соответствующий ему вектор 
ÎT. Y такое что
     = G,                                                                   (4)
где G принадлежит пространству непрерывных операторов. Пусть W -
пространство матриц n´n dim=2, где wÎW 
рассматривается как совокупность вектор-строк, составляющих матрицу w:
                                                                    (w11 w12 .w1n)
(w21 w22 .w2n)                                                       (5)
...
(wn1 wn2 .wnn)
Это делается для геометрической представимости.
Определим вид оператора G½ G: XоY. Этот
оператор есть ни что иное как суперпозиция двух операторов G = S