Структура и обучение простейшего персептрона

МЕНЮ


Искусственный интеллект
Поиск
Регистрация на сайте
Помощь проекту
Архив новостей

ТЕМЫ


Новости ИИРазработка ИИВнедрение ИИРабота разума и сознаниеМодель мозгаРобототехника, БПЛАТрансгуманизмОбработка текстаТеория эволюцииДополненная реальностьЖелезоКиберугрозыНаучный мирИТ индустрияРазработка ПОТеория информацииМатематикаЦифровая экономика

Авторизация



RSS


RSS новости


Структура и обучение простейшего персептрона

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

Персептрон

Входные сигналы модели (дендриты) tex: u_i(n), i in (0..N) size: 2
, весовые коэффициенты tex: w_i, i in (0..N) size: 2
, выходной сигнал модели (аксон) tex: x(n) size: 2, выходной сигнал после преобразования функцией активации tex: y(n) size: 2, эталонный выходной сигнал tex: d(n) size: 2, невязка выходного сигнала tex: varepsilon(n) size: 2, tex: n = 1,2... size: 2 - дискретное время. Функция активации и ее производная имеют следующий вид:

tex:  eqalign{ f(x) = frac{1}{1 + e^{- eta x}}, f'(x) = eta cdot frac{e^{- eta x}}{ left( 1 + e^{- eta x} 
ight)^2 } = eta cdot f(x) cdot left( 1 - f(x) 
ight). } size: 2

Исходя из схемы персептрона, очевидны следующие соотношения:

tex:  eqalign{ & varepsilon(n) = d(n) - y(n), cr & y(n) = f(x(n)), cr & x(n) = sum_{i = 0}^N w_i cdot u_i(n). } size: 2

где tex: u_0(n) = 1 size: 2 и tex: w_0 = v size: 2 по сути моделируют сдвиг на постоянную величину.

Построим функционал, который необходимо минимизировать для настройки весов персептрона, однако сначала несколько слов. Необходимо ввести понятие меры, которая бы отвечала за качество настройки. Для этого будем предполагать, что ошибка настройки имеет нормальное распределение и нулевое математическое ожидание tex: E { varepsilon(n) } = 0 size: 2
по ансамблю обучающей выборки. Таким образом, в качестве функционала можно рассматривать дисперсию.

tex:  eqalign{ J(widehat{w}) = E { varepsilon^2(n) } = E left{ left[ d(n) - f left( sum_{i = 0}^N widehat{w}_i cdot u_i(n) 
ight) 
ight] ^2 
ight}, } size: 2

где tex: widehat{w} size: 2 оценка вектора весов.

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

tex:  eqalign{ widehat{w}_{i}^{langle k+1 
angle} = widehat{w}_{i}^{langle k 
angle} - frac{eta}{2} cdot frac{partial J(widehat{w}^{langle k 
angle})}{partial widehat{w}_{i}^{langle k 
angle}}. } size: 2

где tex: k size: 2 - номер итерации, tex: eta size: 2 - коэффициент спуска.

Выведем формулу для производной функционала, упустив индекс итерации, упрощая запись.

tex:  eqalign{ frac{partial J(widehat{w})}{partial widehat{w}_{i}} = 2 cdot E left{ varepsilon(n) cdot frac{partial varepsilon(n)}{partial widehat{w}_{i}} 
ight} = -2 cdot E left{ varepsilon(n) cdot f'(x(n)) cdot frac{partial x(n)}{partial widehat{w}_{i}} 
ight}, } size: 2

таким образом, формула для определения весов примет вид:

tex:  eqalign{ widehat{w}_{i}^{langle k+1 
angle} = widehat{w}_{i}^{langle k 
angle} + eta cdot E left{ varepsilon(n) cdot f'(x(n)) cdot u_i(n) 
ight}. } size: 2

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

1. Берется ансамбль входных tex: u_i(n), i in (0..N), n = 1,2... size: 2
и выходных сигналов tex: d(n), n = 1,2... size: 2
;

2. Выбирается коэффициент спуска tex: eta size: 2;

3. Определяются начальные значения весов tex: widehat{w}_{i}^{langle 0 
angle}, i in (0..N) size: 2
;

4. Последовательно рассчитываются tex: x(n), y(n), f'(x(n)), varepsilon(n) size: 2
для всего ансамбля;

5. Вычисляется математическое ожидание, умножается на коэффициент спуска и складывается с предыдущим значением весов, далее выполняем пункт 4 до тех пор, пока полученное решение не удовлетворит нашим требованиям.


Источник: alexelyukov.ru

Комментарии: