Рефераты. Структура нейронных сетей

Структура нейронных сетей

Структура нейронных сетей

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

Искусственный нейрон.

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

 Структура нейронных сетей

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

 Структура нейронных сетей (1)

где

n - число входов нейрона

xi – значение i-го входа нейрона

wi – вес i-го синапса

Затем определяется значение аксона нейрона по формуле

Y = f(S) (2)

Где f - некоторая функция ,которая называется активационной. Наиболее часто в качестве активационной функции используется так называемый сигмоид, который имеет следующий вид:

 Структура нейронных сетей (3)

Основное достоинство этой функции в том, что она дифференцируема на всей оси абсцисс и имеет очень простую производную:

 Структура нейронных сетей (4)

При уменьшении параметра сигмоид становится более пологим, вырождаясь в горизонтальную линию на уровне 0,5 при =0. При увеличении  сигмоид все больше приближается к функции единичного скачка.

Нейронные сети обратного распространения.

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

Нейронная сеть обратного распространения состоит из нескольких слоев нейронов, причем каждый нейрон слоя i связан с каждым нейроном слоя i+1, т.е. речь идет о полносвязной НС.

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

 Структура нейронных сетей (5)

где

yj – значение j-го выхода нейросети

dj- целевое значение j-го выхода

p – число нейронов в выходном слое

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

 Структура нейронных сетей (6)

где - параметр определяющий скорость обучения

 Структура нейронных сетей (7)

где

yj- значение выхода j-го нейрона

Sj – взвешенная сумма входных сигналов, определяемая по формуле (1). При этом множитель

 Структура нейронных сетей (8)

где xi – значение i-го входа нейрона

Далее рассмотрим определение первого множителя формулы (7)

 Структура нейронных сетей (9)

где k – число нейронов в слое n+1.

Введем вспомогательную переменную

 Структура нейронных сетей (10)

Тогда мы сможем определит рекурсивную формулу для определения  Структура нейронных сетей n-ного слоя если нам известно  Структура нейронных сетей следующего n+1-го слоя.

 Структура нейронных сетей (11)

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

 Структура нейронных сетей (12)

И наконец запишем формулу (6) в раскрытом виде

 Структура нейронных сетей (13)

Рассмотрим теперь полный алгоритм обучения нейросети

подать на вход НС один из требуемых образов и определить значения выходов нейронов нейросети

рассчитать  Структура нейронных сетей для выходного слоя НС по формуле (12) и рассчитать изменения весов  Структура нейронных сетей выходного слоя N по формуле (13)

Рассчитать по формулам (11) и (13) соответственно  Структура нейронных сетей и  Структура нейронных сетей для остальных слоев НС, n=N-1..1

Скорректировать все веса НС  Структура нейронных сетей (14)

Если ошибка существенна, то перейти на шаг 1

На этапе 2 сети поочередно в случайном порядке предъявляются вектора из обучающей последовательности.

Повышение эффективности обучения НС обратного распространения

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

Простейшим методом усовершенствования градиентного спуска является введение момента  ,когда влияние градиента на изменение весов изменяется со временем. Тогда формула (13) примет вид

 Структура нейронных сетей (13.1)

Дополнительным преимуществом от введения момента является способность алгоритма преодолевать мелкие локальные минимумы.

Представление входных данных

Основное отличие НС в том, что в них все входные и выходные параметры представлены в виде чисел с плавающей точкой обычно в диапазоне [0..1]. В тоже время данные предметной области часто имеют другое кодирование. Так это могут быть числа в произвольном диапазоне, даты, символьные строки. Таким образом данные о проблеме могут быть как количественными так и качественными. Рассмотрим сначала преобразование качественных данных в числовые, а затем рассмотрим способ преобразования входных данных в требуемый диапазон.

Качественные данные мы можем разделить на две группы: упорядоченные (ординальные) и неупорядоченные. Для рассмотрения способов кодирования этих данных мы рассмотрим задачу о прогнозировании успешности лечения какого-либо заболевания. Примером упорядоченных данных могут например являться данные, например, о дополнительных факторах риска при данном заболевании.

Нет


2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.