H - MachineLearning.ru

advertisement
МАТЕМАТИЧЕСКИЕ
ОСНОВЫ ТЕОРИИ
ПРОГНОЗИРОВАНИЯ
Лектор
Сенько Олег Валентинович
Лекция 6
Нейросетевые методы распознавания
• В основе нейросетевых методов лежит попытка компьютерного
моделирования
процессов
обучения,
используемых
в
живых
организмах. Когнитивные способности живых существ связаны с
функционированием сетей связанных между собой биологических
нейронов
–
биологических
клеток
нервной
нейросетей
нейронов, Можно выделить
системы.
используются
Для
моделирования
сети
искусственных
три типа искусственных нейронов:
нейроны-рецепторы, внутренние нейроны и реагирующие нейроны.
Модель искусственного нейрона
Каждый внутренний или реагирующий нейрон имеет множество
входных связей, по которым поступают сигналы от рецепторов или
других нейронов. Предположим, что нейрон имеет r внешних связей,
по которым поступают сигналы
(u1 , , u r ) .
Поступившие сигналы суммируются с весами
( w1 , , wr ) . На выходе нейрона вырабатывается сигнал  ( z ), где
r
z   wi u i  w0 ,
i 1
форма записи
равен 1.
w0 - параметр сдвига.
r
Может быть использована также
z   wi u i , где фиктивный «сигнал» u 0 тождественно
i0
Модель искусственного нейрона
Функцию  ( ) обычно называют, активационной функцией.
Модель внутреннего или реагирующего нейрона быть
схематично изображена на рисунке 1.
Модель искусственного нейрона
Могут использоваться различные виды активационных функций.
Например,
Пороговая функция
 a u при   b
 ( )  
 a l при   b
Сигмоидная функция
 ( )  1 / [1  exp(  a )]
Гиперболический тангенс
Тождественное преобразование
 ( )  th ( )
 ( )  
Перцептрон Розенблатта
• Первой нейросетевой моделью стал перцептрон Розенблатта,
предложенный в 1957 году. В данной модели используется
единственный реагирующий нейрон. Модель, реализующая
линейную разделяющую функцию в пространстве входных
сигналов, может быть использована для решении задач
распознавания с двумя классами, помеченными метками 1
или -1. В качестве активационной функции используется
1 при   0
пороговая функция  ( )  
.
  1 при   0
Перцептрон Розенблатта
Особенностью модели Розенблатта является очень простая, но вместе с
тем эффективная, процедура обучения, вычисляющая значения
весовых коэффициентов ( w0 , , wn ) Сигналы, поступающие на вход
перцептрона интерпретируются как входные признаки ( X 1 , , X n )
На первом этапе производится преобразование векторов сигналов
(признаковых описаний) для объектов обучающей выборки. В набор
исходных признаков добавляется тождественно равная 1 нулевая
компонента. Затем вектора описаний из класса K 2 умножаются на
-1. Вектора описаний из класса K 1 не изменяются.
Перцептрон Розенблатта
Процедура обучения перцептрона. . Нулевое приближение вектора
(0)
(0)
(0)
весовых коэффициентов w  ( w0 , , wn )
выбирается случайным образом
Преобразованные описания объектов обучающей выборки
последовательно подаются на вход перцептрона. В случае если
описание x ( k ), поданное на k-ом шаге классифицируется
неправильно, то происходит коррекция по правилу w ( k )  w ( k 1)  x. ( k )
В случае правильной классификации w ( k )  w ( k 1)
Перцептрон Розенблатта
Отметим, что правильной классификации всегда соответствует
( k 1)
(k )
(
w
,
x
)0
выполнение равенства
( k 1)
(k )
, а неправильной ( w , x )  0. Процедура повторяется до тех пор,
пока не будет выполнено одно из следующих условий:
- достигается полное разделение объектов из классов K 1 и K 2 ;
- повторение подряд заранее заданного числа итераций не приводит к
улучшению разделения;
- - оказывается исчерпанным заранее заданный лимит итераций.
-
Перцептрон Розенблатта
Справедлива следующая
Теорема. В случае, если описания объектов обучающей выборки
линейно разделимы в пространстве признаковых описаний, то
Процедура
обучения
перцептрона
построит
линейную
гиперплоскость разделяющую объекты двух классов за
конечное число шагов.
Многослойный перцептрон
Отсутствие линейной разделимости двух классов приводит к
бесконечному зацикливанию Процедуры обучения
перцептрона.
Существенно более высокой аппроксимирующей способностью
обладают нейросетевые методы распознавания, задаваемые
комбинациями связанных между собой нейронов. Таким
методом является Многослойный перцептрон.
Многослойный перцептрон
В методе Многослойный перцептрон сеть формируется из
нескольких слоёв нейронов.
В их число входит слой входных рецепторов, подающих сигналы
на нейроны из внутренних слоёв. Слои внутренних нейронов.
Слой реагирующих нейронов производит окончательную
классификацию
объектов
на
основании
сигналов,
поступающих от нейронов, принадлежащих внутренним слоям.
Многослойный перцептрон
Структура Многослойного перцептрона
Многослойный перцептрон
Обычно соблюдаются следующие правила формирования
структуры сети.
Допускаются связи между только между нейронами,
находящимися в соседних слоях.
Связи между нейронами внутри одного слоя отсутствуют.
Активационные функции для всех внутренних нейронов
идентичны.
Распознавание с помощью
многослойного перцептрона
Для решения задач распознавания с L классами K 1 , , K L
используется конфигурация с L реагирующими нейронами.
При этом сигналы g 1 , , g L , вычисляемые на выходе
реагирующих нейронов, интерпретируются как оценки за
классы. Предполагается, что конфигурация нейронной сети
задана. То есть заданы:
число слоев, равное H+2 (входной, реагирующий и H
внутренних);
Распознавание с помощью
многослойного перцептрона
Заданы также количества нейронов в каждом слое:
n – число входных нейронов-рецепторов;
rh
- число нейронов в h-ом внутреннем слое.
На первом этапе вектор рецепторы трансформируют вектор
входных переменных (признаков) X 1 , , X n
.
u10 , , u n0
в сигналы
Распознавание с помощью
многослойного перцептрона
Предположим, что i-го нейрона 1-го внутреннего слоя связь с рецепторами
осуществляется с помощью весовых коэффициентов w1i 0 , , wn.i 0
Сумматор i-го нейрона первого внутреннего слоя вычисляет
i1
взвешенную сумму  
n
i0 0
w
 t ut . Сигнал на
t 0
выходе i-го нейрона первого внутреннего слоя вычисляется по формуле
.
u i1   ( i1 )
Аналогичным образом вычисляются сигналы на выходе нейронов второго
внутреннего слоя.
.
Распознавание с помощью
многослойного перцептрона
Сигналы
g 1 , , g L
рассчитываются с помощью той же самой
процедуры, которая используется при вычислении сигналов на выходе
нейронов из внутренних слоёв. То есть при вычислении
g i на первом шаге соответствующий сумматор вычисляет
rH
взвешенную сумму  ir   wtiH u tH , где w1iH , , wriHH
- весовые
t 0
коэффициенты, характеризующие связь i –го реагирующего нейрона
с нейронами последнего H-го внутреннего слоя.
u1H , , u rHH - сигналы на выходе H-го внутреннего слоя.
Распознавание с помощью
многослойного перцептрона
Сигнал на выходе i-го реагирующего нейрона вычисляется по формуле
g i   ( ir )
Очевидно, что вектор выходных сигналов ( g 1 , , g L )
является функцией вектора входных признаков x и матрицы
весовых коэффициентов, связывающих нейроны
из разных слоёв - w .
Аппроксимирующие способности
Многослойных перцептронов
Один реагирующий нейрон позволяет аппроксимировать области,
являющиеся полупространствами, ограниченными гиперплоскостями.
Нейронная сеть с одним внутренним слоем позволяет аппроксимировать произвольную выпуклую область в многомерном
признаковом пространстве (открытую или закрытую).
Было доказано также, что МП с двумя внутренними слоями позволяет
аппроксимировать произвольные области многомерного
признакового пространства
Аппроксимирующие способности
Многослойных перцептронов
Метод обратного распространения
ошибки
Наиболее распространённым способом обучения нейросетевых
алгоритмов является метод обратного распространения ошибки.
Пусть на выходе i-го реагирующего нейрона
за класс
Ki
gi
вычисляется оценка
, принадлежащая отрезку [0,1] Обозначим через
α *  ( *1 , ,  * L )
вектор индикаторных функций классов K 1 , , K L на объекте
есть  *i  1, если s*  K i
 *i  0, если s*  K i
s* . То
Метод обратного распространения
ошибки
Качество аппроксимации на обучающей выборке
S  {(α , x ), , (α , x )} оценивается с помощью функционала
t
1
1
m
m
m
L
E ( St , w )    [ jt  g t ( x j , w )]2
j 1 t 1
Где w - множество весовых коэффициентов связей меду нейронами .
Обучение заключается в поиске значений коэффициентов из w . ,
при которых достигает минимума функционал E ( S , w ).
t
Метод обратного распространения
ошибки
В основе обучения лежит метод градиентного спуска. Метод
градиентного спуска является итерационным методом оптимизации
произвольного функционала F , зависящего от параметров 1 , , n
и дифференцируемого по каждому из параметров в произвольной
точке R n . Новые значения вектора параметров на k-ой итерации θ ( k )
вычисляется через вектор θ ( k 1) , полученный на предыдущей
(k )
( k 1)
   grad ( F ) , где   0 итерации по формуле, θ  θ
вещественный параметр, задающий размер каждого шага.
Метод обратного распространения
ошибки
• На предварительном этапе обучения весовым коэффициентам из w
случайным образом присваиваются исходные значения. На обучение
подаётся некоторый объект обучающей выборки s j  (α j , x j )
, по описанию которого вычисляются входные и
выходные сигналы внутренних нейронов сети, а также выходные
сигналы реагирующих нейронов g 1 ( x j , w ), , g L ( x j , w )
Проведём коррекцию весовых коэффициентов связей i-го
реагирующего нейрона с нейронами предшествующего внутреннего
iH
iH
(
w
,

,
w
слоя: 0
r ( H ) ). Для упрощения формул далее
g 1 ( x j , w ) будем обозначать g 1 ( x j )
Метод обратного распространения
ошибки
От весовых коэффициентов
( w0tH , , wrtHH )
[ ji  g i ( x j )]2
компонента
зависит только
ошибки прогнозирования для
L
объекта s j -
E ( s j , w )   [ ji  g i ( x j )]2
i 1
Поэтому
Однако
 E ( s j , w )
w
tH
i
g i ( x j )
 wtiH

 E ( s j , w )  g t ( x j )
g t ( x j )
w
tH
i
  2[ jt  g t ( x j )]
rH
 g i ( x j )   iH
iH
iH H


w
,
где


t ut
iH
iH

 wt
t 0
u tH - сигнал на выходе t-го нейрона слоя H.
g t ( x j )
 with
Метод обратного распространения
ошибки
iH
g

Предположим, что i является сигмоидной функцией от
. Тогда
g i ( x j )
 wtiH
где 
iH
.
 [1  g i ( x j )] g i ( x j )u . Таким образом
H
t

 E ( s j , w )

iH
 E ( s j , w )
 wtiH
  iH u tH
  2[  ij  g i ( x j )] [1  g i ( x j ) ] g i ( x j )
Воспользовавшись методом градиентного спуска, запишем новые
значения весовых коэффициентов wtiH ( k ) , вычисляемые на
k-ой итерации в виде
.
iH H
(
1)
wtiH ( k )  w iH
k



ut
t
Метод обратного распространения
ошибки
Рассмотрим теперь коррекцию весовых коэффициентов связей t-го
нейрона из слоя H с нейронами предшествующего внутреннего
t ( H 1)
t ( H 1)
(
w
,

,
w
слоя (H-1) –
0
r( H 1) )
Вклад этих коэффициентов в величину ошибки осуществляется
H
только через сигнал u t на выходе . Поэтому
 E ( s j , w )
 wit ( H 1)

 E ( s j , w )
 u tH
 u tH . Однако
 wit ( H 1)
 E ( s j , w )
 u tH
 E ( s j , w )   lH

lH
H



u
l 1
t
L
.
Метод обратного распространения
ошибки
 E ( s j , w )
Принимая во внимание, что
  lH
lH
w

t
H
ut
  lH
 E ( s j , w )
получаем
 u tH
В итоге
Где
 wit ( H 1)
 t ( H 1) 
L
 (   lH wtlH )
l 1
Исходя из предположения
Нетрудно показать также, что
 E ( s j , w )
  lH
 u iH
H
H
H 1
(1
)

u

u
u
t
t
i
 wit ( H 1)
L
 (   lH wtlH )u tH (1  u tH )u iH 1   t ( H 1) u iH 1
l 1
 E ( s j , w )
  t ( H 1)
L
 (   lH wtlH )u tH (1  u tH )
l 1
Метод обратного распространения
ошибки
Воспользовавшись методом градиентного спуска, запишем новые
значения весовых коэффициентов
wti ( H 1) ( k, )вычисляемые на k-ой
итерации в форме
w i ( H 1) ( k )  w i ( H 1) ( k  1)   i ( H 1) u tH 1
В общем виде для весовых коэффициентов
 E ( s j , w )
 wit ( H  h )
 E ( s j , w )  u tH  h 1

 u tH  h 1  wit ( H  h )
( w0t ( H  h ) , , wrt((HH1) h ) ), h  2
Метод обратного распространения
ошибки
Однако
 E ( s j , w )
 u tH  h 1

rH  h 1

l 1
 E ( s j , w )   l ( H  h 1)

( H  h 1)
l ( H  h 1)

ut
rH  h 1

l 1
 l ( H  h 1) wtl ( H  h 1)
 u iH  h 1
H  h 1
H  h 1
H h
(1
)

u

u
u
t
t
i
t ( H 1)
 wi
 E ( s j , w )
t ( H h) H h
В итоге получаем


u i , где
t ( H h)
 wi
 t ( H h )  (
rH  h 1

l 1
 l ( H  h 1) wtl ( H  h 1) )u tH  h 1 (1  u tH  h 1 )
Метод обратного распространения
ошибки
и коррекция согласно процедуре градиентного спуска производится по
формуле:
w i ( H  h ) ( k )  w i ( H  h ) ( k  1)   i ( H  h 1) u H  h
(1)
Таким образом может быть представлен общая схема метода
обратного распространения ошибки для многослойного перцептрона.
На предварительном этапе выбирается архитектура сети:
задаётся число внутренних слоёв и количества нейронов в каждом
слое.
Метод обратного распространения
ошибки
Случайным образом задаются исходные весовые коэффициенты На вход
многослойного перцептрона поочерёдно подаются векторные
описания объектов обучающей выборки. С использованием
описанного выше способа производится коррекция весовых
коэффициентов. С использованием новых скорректированных
весовых коэффициентов
w
вычисляется значение функционала
E ( St , w )
Обучение заканчивается при выполнении одного из заранее заданных
условий.
Метод обратного распространения
ошибки
а) Величина функционала ошибки оказывается меньше
порогового значения E ( St , w )   ;
б) общее число шагов (коррекций) превышает N s;
г) Изменения функционала ошибки на протяжений нескольких
последних итераций оказывается меньшим некоторого
порогового значения.
Download