Презентация "Искусственные нейронные сети"

Подписи к слайдам:
Искусственные нейронные сети Математическая модель нейрона

Была предложена в 1943 году Урнером Мак-Каллоком и Уолтером Питтсом как пороговое устройство с несколькими входами и одним (бинарным) выходом.

Искусственные нейронные сети Активационные функции

1

2

Искусственные нейронные сети Активационные функции

3

4

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

Многослойный персептрон

МП - нейронные сети прямого распространения. Входной сигнал в таких сетях распространяется в прямом направлении, от слоя к слою. Многослойный персептрон в общем представлении состоит из следующих элементов:

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

Многослойный персептрон

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

Свойства:

    • Каждый нейрон сети имеет гладкую нелинейную функцию активации
    • Несколько скрытых слоев
    • Высокая связность
Искусственные нейронные сети

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

Обучение алгоритмом обратного распространения ошибки предполагает два прохода по всем слоям сети: прямого и обратного.

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

Во время прямого прохода все синаптические веса сети фиксированы. В

о время обратного прохода все синаптические веса настраиваются в соответствии с правилом коррекции ошибок

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

Сигнал е – это взвешенная сумма входных сигналов

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

Чтобы обучить нейронную сеть нужно подготовить обучающий тестовый наборы данных.  В нашем случае, каждый пример тренировочные иди проверочных данных состоят из входных сигналов (х1 и х2) и желаемого результата z. 

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

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

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

Вычисляется значения выходного вектора Y=[y1,y2,y3] для первого скрытого слоя

Символы W(xm)n представляют вес связи между сетевым входом xm и нейрона n во входном слое.

Символы yn представляют выходной сигнал нейрона n.

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

Вычисляется значения выходного вектора Y=[y4,y5] для второго скрытого слоя

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

Рассчитывается выходное значение y для все сети

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

На следующем шаге алгоритма, выходной сигнала сети y сравнивается с желаемым выходным сигналом z, который хранится в тренировочных данных.

Разница между этими двумя сигналами называется ошибкой d выходного слоя сети.

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

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

Только в середине восьмидесятых годов был разработан алгоритм обратного распространения ошибки.

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

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

Когда вычислена величина ошибки сигнала для каждого нейрона – можно скорректировать весовые коэффициенты.

Этот процесс повторяется для всех слоёв сети. Если ошибка пришла от нескольких нейронов — она суммируются:

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

При вычисление изменений для весовых коэффициентов необходимо вычислить производную df(e)/de от функции активации нейрона (чьи весовые коэффициенты корректируются).

Для активационной функции типа сигмоида

 

производная выражается через саму функцию:

 что позволяет существенно сократить вычислительную сложность метода обратного распространения ошибки.

            1 S(x) = -----------         1 + exp(-x)

S'(x) = S(x)*(1 - S(x))

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

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

Алгоритм обучения многослойной нейронной сети методом обратного распространения ошибки

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

Обучение “с учителем” и “без учителя”

По принципу обучения нейронных сетей различаю два принципиально разных вида обучения: “с учителем” и “без учителя”

В первом случае помимо набора входных данных есть соответствующий набор правильных “ответов”, на основании вычисления разница между желаемым ответом и ответом сети и с последующей коррекцией весов построены методы обучения “с учителем”

Во втором случае, есть только набор данных на основании которых сеть должна сделать какие-либо “выводы” (обобщение или кластеризацию)

Метод обратного распространения ошибки в Многослойных персептронах – типичный пример обучения с учителм.

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

Ограничение на количество синаптических связей

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

Для однородный МНС с сигмоидальной активационной функцией существует формула для оценки количества Lw синаптических весов:

mN .

1+log2N

<=

Lw

<=

(N/m+1)(m+n+1)+m

Где n - размерность входного сигнала, m – размерность выходного, N – размерность обучающей выборки. Что для персептрона с одним скрытым слоем даст нейронов. Известны и другие формулы для оценки:

L=

Lw .

n+m

2(n+L+m)<=N<=10(n+L+m) или N/10-n-m<=L<=N/2-n-m

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

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