Пример: Транспортная логистика
Я ищу:
На главную  |  Добавить в избранное  

Кибернетика /

Создание простейшей нейросети

←предыдущая  следующая→
1 2 



Скачать реферат


Элементарная теория процесса обучения нейросетей

Аннотация

Задача представимости функции многих переменных в виде суперпозиции нескольких функций меньшего числа переменных поставленная еще Гильбертом получила новую жизнь благодаря теореме Хехт-Нильсена “об аппроксимации функции многих переменных двухслойной однородной нейросетью”. Нейросети на сегодняшний день являются важным инструментом при решении многих прикладных задач, а потому представляет большой интерес процесс обучения сетей. В работе сделана попытка анализировать этот процесс и представить его максимально просто и наглядно.

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

Формализованный нейрон – это математическая модель естественного нейрона человека. Он включает в себя невырожденные линейные преобразования, а также некоторую нелинейную функцию, называемую функцией активации, как правило, сигмоидального типа:

 =1/(1+ ехр(-)) , (1)

где  - непрерывная, всюду дифференцируемая возрастающая ограниченная функция. Графически формализованный нейрон (далее просто нейрон) показан на рис.1:

Рис.1 Схема формализованного нейрона. Х1, Х2,…, Хn - координаты входного

вектора – исходная информация. Числа 1, 2,…, n – так называемые веса синапсов (входов нейрона) или сила связи данного входа с нейроном, b – дополнительный вход, называемый сдвигом, его значения, как правило, +1, 0. Знак  означает операцию линейных преобразований. Каждый вход умножается на соответствующий ему вес и все суммируется, далее полученная величина рассматривается как аргумент функции (1), значение значение которой является выходом нейрона.

Искусственная нейросеть представляет из себя группу связанных определенным образом нейронов. Простейший случай – это однослойная нейросеть. Аналитически ее можно записать следующим образом:

У= (ХW), (2)

где Х, Y – вектор-строки.

Активационная функция многослойной сети должна быть нелинейной. Если эта функция будет линейной, легко показать, что любую многослойную сеть можно свести к однослойной.

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

Процесс обучения можно сравнить с настройкой.

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

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

, (3)

где yj,p – реальная, а tj,p – ожидаемая j-тая координата выхода, при подаче на вход р-го образа. А уменьшают ее, напрявляя данные по сети в обратном порядке, работа проходит через определенные этапы следующим образом:

1. Подача на вход сети один из возможных образов и в режиме обычного функционирования нейросети, когда сигнал распространяется от входа к выходу, рассчет значения последнего.

2. Рассчет ошибок N и N слоя N.

3. Рассчет ошибок n и n для всех остальных слоев, n=N-1,…,1.

4. Корректировка всех весов в сети.

5. Проверка ошибки сети и переход на шаг 1 или в конец.

Сети на шаге 1 попеременно в случайном порядке предъявляются все образы из обучающего множества, чтобы сеть не “забывала” одни по мере “запоминания” других.

Этот алгоритм, после предварительной подготовки, может быть представлен более наглядно и интерпретирован геометрически.

Пусть Еn – n-мерное евклидово пространство. Множества Х, Y, Т – области пространства Еn – множества векторов. Причем, такие что  Х  соответствующий ему вектор T. Y такое что

= G , (4)

где G принадлежит пространству непрерывных операторов. Пусть W - пространство матриц nn dim=2, где W рассматривается как совокупность вектор-строк, составляющих матрицу :

(11 12 …1n)

(21 22 …2n) (5)

………

(n1 n2 …nn)

Это делается для геометрической представимости.

Определим вид оператора G G: XY. Этот оператор есть ни что иное как суперпозиция двух операторов G = S. Рассмотрим подробнее каждый из составляющих операторов:

1. Первый оператор:

S = х (6)

Оператор линейных преобразований, где W, x – вектор-столбец из X,

S – результат умножения – вектор-строка.

В развернутом виде матричное умножение выглядит следующим образом:

(11 12 … 1n) х1

(21 22 …2n)  х2 =||(11x1+…+1nxn)…(n1x1+…+nnxn)|| =S (7)

……… :

(n1 n2 …nn) хn

Т.е.

, i=1,…,n. (8)

2. Второй оператор - нелинейная функция.

Функция  (см. формулу (1)) называется также сжимающей.

Для последующих операций нормализуем вектора множества Х:

х = х/|х|, где |х| = , х - нормализованный вектор. Аналогичную операцию произведем над множеством Т. Поскольку W совокупность вектор-строк, нормализуем и эти вектора:

i : i = (i1 i2 … in ), i = i /|i|.

После нормализации векторов х и i, вектор S изменит свой вид:

= ij  xj = ij /|i| * хj/|х| = ij хj * 1/ |i||x|, где

1/ |i||x| = ki =Const. Таким образом, нормализация векторов х и i лишь сжимает вектор S, но не меняет его направления.

Для простоты обозначений, заменим вновь полученные вектора х, t, i и S* соответственно на х, t,  и S. В результате всех преобразований будем иметь радиус-векторы единичной n-мерной сферы. Пусть для наглядности n =2, тогда весь процесс можно представить геометрически.

Т т s

1 1

х х

2 2

a. b.

Рис.2 Радиус-векторы единичной n-мерной сферы, полученные после нормализации векторов из множеств X, W, T (a). Векторы S и Y, полученные после всех преобразований (b).

Х и t – взаимнооднозначная пара векторов из множеств Х и Т соответственно, эта пара называется обучающей. Кроме того, вектору х соответствует также вектор уY, полученный “экспериментально”, путем применения изложенных выше преобразований. Задача обучения состоит в том, чтобы преобразования

←предыдущая  следующая→
1 2 



Copyright © 2005—2007 «Mark5»