Курсовая: Создание простейшей нейросети
Элементарная теория процесса обучения нейросетей
Аннотация
Задача представимости функции многих переменных в виде суперпозиции
нескольких функций меньшего числа переменных поставленная еще Гильбертом
получила новую жизнь благодаря теореме Хехт-Нильсена Уоб аппроксимации
функции многих переменных двухслойной однородной нейросетьюФ. Нейросети на
сегодняшний день являются важным инструментом при решении многих прикладных
задач, а потому представляет большой интерес процесс обучения сетей. В
работе сделана попытка анализировать этот процесс и представить его
максимально просто и наглядно.
Искусственные (формализованные) нейросети построены по схеме близкой к
естественной нервной системе человека, т.е. достаточно простые структурные
единицы, объединяясь в определенной последовательности, образуют сложную
систему, способную решать огромные классы задач.
Формализованный нейрон Ц это математическая модель естественного нейрона
человека. Он включает в себя невырожденные линейные преобразования, а также
некоторую нелинейную функцию, называемую функцией активации, как правило,
сигмоидального типа:
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