Теоретический материал к лабораторной работе №4 |
||
РАСПОЗНАВАНИЕ ПЕЧАТНЫХ И РУКОПИСНЫХ БУКВ |
||
На рис. 1 представлена схема персептрона, предназначенного для рас- |
||
познавания букв русского алфавита. Персептрон имеет 33 выходных нейро- |
||
на: каждой букве алфавита соответствует свой выходной нейрон. Полагается, |
||
что сигнал первого выходного нейрона y1 |
должен быть равен единице, если |
|
персептрону предъявлена буква «А», и нулю для всех остальных букв. Выход |
||
второго нейрона y2 должен быть равен единице, если персептрону предъяв- |
||
лена буква «Б», и нулю во всех остальных случаях. И так далее до буквы «Я». |
||
|
1 |
(А) |
1=0 |
|
(Б) |
2=1 |
2 |
|
|
|
|
=1 |
|
|
11=1 |
|
|
12=0 |
33 (Я) |
|
|
||
Рис. 1. Персептрон, предназначенный для распознавания букв русского алфавита |
При выполнении предыдущей лабораторной работы мы убедились, что персептрон научился распознавать не только буквы, на которых его обучали, но и буквы, которых в обучающем множестве не было, если они не слишком отличались от букв обучающего множества. Свойство распознавать новые образы, которые персептрон никогда «не видел», мы назвали свойством
обобщения.
Дальнейшее развитие идеи персептрона было связано с попытками расширить круг его применения и усовершенствовать алгоритм обучения. Существенное развитие персептрона было сделано американскими учеными
Б.Уидроу и М.Е.Хоффом, которые вместо изученной на первой лабораторной работе ступенчатой активационной функции ввели непрерывную нелиней- ную функцию активации
y = |
1 |
, |
(1) |
|
1 + e−S |
||||
|
|
|
график которой изображен на рис. 2.
Эту функцию назвали сигмоидой,
гист ическая функция.
1 |
Рис. 2. Сигмоидная активационная функция y = fσ(S)
Подобно обычной пороговой функции активации, сигмоида отобража- ет точки области определения (−∞, +∞) в значения из интервала (0, +1).
Практически сигмоида обеспечивает непрерывную аппроксимацию класси- ческой пороговой функции.
Для сигмоиды приняли обозначение y = fσ(S) . Персептроны с сигмо- идными активационными функциями с одним выходом назвали адалайн, с несколькими выходами – мадалайн (от английских слов ADAptive LInear NEuron и Many ADALINE).
Появление персептронов с непрерывными активационными функциями обусловило появление новых подходов к их обучению. Б.Уидроу и М.Е.Хофф предложили минимизировать квадратичную ошибку, определяе- мую формулой:
ε = 1 ∑I (di − yi )2 , |
(2) |
2 i =1 |
|
в которой di – требуемый (желаемый) выход i |
– тот, кото- |
рый получился в результате вычислений персептрона. |
|
Рассмотрим алгоритм коррекции весовых коэффициентов персептрона, имеющего J входов и I выходов (рис. 3).
1
2
1
2
1
2
Рис. 3. Персептрон с J входами и I выходами
Квадратичная ошибка обучения персептрона ε зависит от того, каки- ми являются весовые коэффициенты wij . Другими словами ε является функ-
цией от весовых коэффициентов wij : ε = ε(wij ). В школьных курсах обычно изучаются функции только от одного аргумента: y = y(x) , которые на коор- динатной плоскости x , y изображаются, как известно, в виде кривых линий. Если функция z зависит от двух аргументов: z = z(x, y), то она изображается в трехмерной системе координат x , y , z в виде поверхности. Функция- ошибка персептрона ε = ε(wij ) зависит от большого количества аргументов wij , поэтому для ее графического представления требуется многомерная сис-
тема координат, которую мы в нашем трехмерном мире представить себе не можем. В этой многомерной системе координат функция ε = ε(wij ) изобра-
жается в виде многомерной поверхности, называемой гиперповерхностью. Чтобы хоть
что все аргументы wij имеют постоянные значения за исключением двух, на- пример w11 и w12 , которые являются переменными. Тогда в трехмерной сис- теме координат w11 , w12 , ε гиперповерхность будет иметь вид фигуры, напо- минающей параболоид, которую назовем псевдопарабалоидом (рис. 4). Про- цесс обучения персептрона теперь можно представить как отыскание такого сочетания весовых коэффициентов wij , которому соответствует самая ниж- няя точка гиперпсевдопараболоида. Задачи подобного рода называются оп-
тимизационными. Говорят, что оптимизационная задача состоит в миними- зации функции ε =ε(wij ) в многомерном пространстве параметров wij .
ε
12( +1) |
|
|
12( ) |
( +1) |
|
11 |
||
12 |
11 |
( ) |
|
|
|
|
|
11 |
Рис. 4. Графическое изображение
Таким образом, если раньше говорили, что персептрон обучают мето- дом «поощрения – наказания», то теперь стали говорить, что задача обучения персептрона – это задача оптимизации (минимизации) персептронной ошиб- ки (погрешности).
Существует множество методов решения оптимизационных задач. Наиболее простым методом является перебор весовых коэффициентов wij с
последующими вычислениями и сравнениями между собой соответствующих этим коэффициентам значений функции ε. Более эффективен метод гради- ент ного спуска, согласно которому изменение (коррекция) каждого весового коэффициента ∆wij производится в сторону, противоположную градиенту
функции ε. Градиент функции является очень важным математическим по- нятием, которое обычно проходят на первых курсах вузов. Здесь мы не будем на нем останавливаться, а только укажем, что градиент функции ε =ε(wij )
представляет собой вектор, проекциями которого на оси координат являются производные от функции ε по этим координатам (их обозначают ∂ε/∂wij ), и
что градиент функции всегда направлен в сторону ее наибольшего возраста- ния. Поскольку наша задача состоит в отыскании минимума функции ε =ε(wij ) , то нам надо опускаться по поверхности ошибок, что обеспечивает-
ся движением в сторону, противоположную градиенту этой функции. Отсюда и упомянутое выше название – метод градиентного спуска.
Движение в сторону, противоположную градиенту (т.е. противополож- ную направлению возрастания функции), будет осуществляться, если на ка- ждой итерации к координатам текущей точки wij мы будем добавлять вели-
чину, прямо пропорциональную производной по координате wij , взятую с противоположным знаком:
∆w = −η |
∂ε |
, |
(3) |
ij ∂wij
где η – некоторый коэффициент, обычно задаваемый в пределах от 0,05 до 1,
и называемый, как и раньше, коэффициент ом скорост и обучения.
Обратите внимание, что согласно формуле (3) мы движемся не только в сторону убывания функции, но и со скоростью, прямо пропорциональной скорости убывания (крутизне) функции, т.к. делаем шаг ∆wij , пропорцио-
нальный производной, взятой со знаком минус.
Квадратичная ошибка ε является сложной функцией, зависящей от вы- ходных сигналов персептрона yi , которые, в свою оч ередь, зависят от wij ,
т.е. ε = ε(yi (wij )) . По правилу дифференцирования сложной функции
∂ε |
= |
∂ε |
|
∂yi |
. |
(4) |
|
∂w |
|
∂y |
i |
|
∂w |
|
|
ij |
|
|
|
ij |
|
Выходные сигналы нейронов yi вычисляются с помощью сигмоидных активационных функций yi = fσ(Si ) , аргументом которых являются суммы
Si = ∑J wij x j . Следовательно,
j=1
∂yi |
= |
∂fσ(Si ) |
∂Si |
= fσ′(Si )xj . |
(5) |
∂wij |
|
||||
|
∂Si ∂wij |
|
Кроме того, если продифференцировать (2) по yn , где n∈[1, I], то по-
лучится |
∂ε |
= −(dn − yn ), значит |
|
||
|
∂yn |
∂ε |
= −(di − yi ) . |
(6) |
|
||
∂yi |
|
Подставив (5) и (6) в (4) и затем полученное выражение в (3), оконча- тельно будем иметь
∆wij = −η(−(di − yi ) fσ′(Si )xj )= η(di − yi ) fσ′(Si )xj . |
(7) |
Это выражение получено для нейронов с активационными функциями |
|
любого вида. Если fσ(Si ) – сигмоида, заданная формулой (1), то |
|
fσ′(Si ) =((1+e−Si )−1 )′ = fσ(Si )(1− f (Si )) . |
(8) |
Подставив это выражение в (7), получим: |
|
∆wij = η(di − yi ) fσ(Si )(1− f (Si ))x j = η(di − yi )yi (1− yi )x j . |
(9) |
Итак, мы получили ит ерационную формулудля обучения персептрона |
|
wij (t +1) = wij (t) + ∆wij , |
(10) |
где |
|
∆wij =ηδi x j , |
(11) |
δi = yi (1− yi )(di − yi ) . |
(12) |
Введенную здесь с помощью формулы (12) величину δi в дальнейшем
будем называть нейронной ошибкой. Алгоритм
Итак, ведение сигмоидной функции активации вместо функции- ступеньки и появление нового алгоритма обучения – обобщенного дельта- правила, расширило область применения персептрона. Теперь он может опе- рировать не только с бинарными (типа «ноль» и «единица»), но и с непр е- рывными (аналоговыми) выходными сигналами.