Лекции по искусственным нейронным сетям



Pdf просмотр
Дата17.02.2017
Размер0.51 Mb.
Просмотров157
Скачиваний1

Лекции по искусственным нейронным сетям
К. В. Воронцов
21 декабря 2007 г.
Материал находится в стадии разработки, может содержать ошибки и неточности. Автор будет благодарен за любые замечания и предложения, направленные по адресу voron@ccas.ru.
Перепечатка любых фрагментов данного материала без согласия автора является плагиатом.
Содержание
1 Искусственные нейронные сети
2 1.1 Однослойные нейронные сети
2 1.1.1
Естественный нейрон и его формальная модель
2 1.1.2
Методы обучения синаптических весов нейрона
4 1.1.3
Проблема полноты
. . . . . . . . . . . . . . . . . . . . . . . . . . . 10 1.2 Многослойные нейронные сети
. . . . . . . . . . . . . . . . . . . . . . . . 13 1.2.1
Метод обратного распространения ошибок
. . . . . . . . . . . . . 13 1.2.2
Улучшение сходимости и качества градиентного обучения
. . . . 16 1.2.3
Оптимизация структуры сети
. . . . . . . . . . . . . . . . . . . . 20 1.3 Сети Кохонена
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 1.3.1
Модели конкурентного обучения
. . . . . . . . . . . . . . . . . . . 22 1.3.2
Самоорганизующиеся карты Кохонена
. . . . . . . . . . . . . . . 24 1.3.3
Гибридные сети встречного распространения
. . . . . . . . . . . 27

2 1
Искусственные нейронные сети
Человеку и высшим животным буквально на каждом шагу приходится распо- знавать, принимать решения и обучаться. Нейросетевой подход возник из стремле- ния понять, каким образом мозг решает столь сложные задачи, и реализовать эти принципы в автоматических устройствах.
Пока искусственные нейронные сети (artificial neural networks, ANN) являются лишь предельно упрощёнными аналогами естественных нейронных сетей. Нервные системы животных и человека гораздо сложнее тех устройств, которые можно со- здать с помощью современных технологий. Однако для успешного решения многих практических задач оказалось вполне достаточно «подсмотреть» лишь общие прин- ципы функционирования нервной системы. Некоторые разновидности ANN пред- ставляют собой математические модели, имеющие лишь отдалённое сходство с ней- рофизиологией, что отнюдь не препятствует их практическому применению.
§1.1
Однослойные нейронные сети
1.1.1
Естественный нейрон и его формальная модель
Рассмотрим в общих чертах устройство и принципы работы нервной клетки —
естественного нейрона. Клетка имеет множество разветвлённых отростков — дендри- тов
, и одно длинное тонкое волокно — аксон, на конце которого находятся синапсы,
примыкающие к дендритам других нервных клеток. Каждая нервная клетка может находиться в двух состояниях: обычном и возбуждённом. В возбуждённом состоя- нии клетка генерирует электрический импульс величиной около 100 мВ и длительно- стью 1 мс, который проходит по аксону до синапсов. Синапс при приходе импульса выделяет вещество, способствующее проникновению положительных зарядов внутрь соседней клетки. Синапсы имеют разную способность концентрировать это вещество,
причём некоторые даже препятствуют его выделению — они называются тормозя- щими
. Если суммарный заряд, попавший в клетку, превосходит некоторый порог,
клетка возбуждается и генерирует импульс, который распространяется по аксону и доходит до синапсов, что способствует возбуждению следующих клеток. После возбуждения клетки наступает период релаксации — некоторое время она не спо- собна генерировать новые импульсы. Благодаря этому клетки работают по тактам,
наподобие дискретных автоматов, а сеть в целом передаёт направленную волну им- пульсов.
Скорость распространения нервного импульса составляет приблизительно
100 м/с, что в миллион раз меньше скорости распространения электрического сигна- ла в медной проволоке. Тем не менее, сложные задачи распознавания человек реша- ет за десятые доли секунды. Это означает, что нейровычисления требуют порядка
10 2
последовательных тактов и выполняются с большой степенью параллелизма.
Кора головного мозга человека содержит порядка 10 11
нейронов, и каждый нейрон связан с 10 3
–10 4
других нейронов. Это обеспечивает высокую взаимозаменя- емость нервных клеток и надежность нервной системы в целом. Отказ даже суще- ственной доли нейронов не нарушает нормального хода распространения нервного импульса.

3
GFED
@ABC
x
1
GFED
@ABC
x
2
· · ·
GFED
@ABC
x n
θ
?>=<
89:;
a w
1
y y
y y
y
''y y
y y
w
2




--




w n
o o
o o
o
77o o
o o
//
GFED
@ABC
−1
w
0
NN
Рис. 1. Модель МакКаллока–Питтса.
Описанная выше схема сильно упрощена. На сегодняшний день нейрофизио- логами выделено около 50 различных типов нейронов, которые функционируют по- разному и не являются взаимозаменяемыми.
Модель МакКаллока–Питтса.
Пусть X — пространство объектов; Y — множество допустимых ответов; y

: X → Y — целевая зависимость, известная только на объек- тах обучающей выборки X

= (x i
, y i
)

i=1
, y i
= y

(x i
). Требуется построить алгоритм a : X → Y , аппроксимирующий целевую зависимость y

на всём множестве X.
Будем предполагать, что объекты описываются n числовыми признаками f
j
: X → R, j = 1, . . . , n. Вектор f
1
(x), . . . , f n
(x) ∈ R
n называется признаковым описанием объекта x.
В 1943 году МакКаллок и Питтс [
12
] предложили математическую модель ней- рона, Рис.
1
. Это алгоритм, принимающий на входе n-мерный вектор признакового описания x = (x
1
, . . . , x n
). Для простоты будем пока полагать, что все признаки би- нарные. Значения этих признаков будем трактовать как величины импульсов, посту- пающих на вход нейрона через n входных синапсов. Поступающие в нейрон импуль- сы складываются с весами w
1
, . . . , w n
. Если вес положительный, то соответствующий синапс возбуждающий, если отрицательный, то тормозящий. Если суммарный им- пульс превышает заданный порог активации w
0
, то нейрон возбуждается и выдаёт на выходе 1, иначе выдаётся 0. Таким образом, нейрон вычисляет n-арную булеву функцию вида a(x) = ϕ
n j=1
w j
x j
− w
0
,
где ϕ(z) = [z
0] — ступенчатая функция Хэвисайда. В теории нейронных сетей функцию ϕ, преобразующую значение суммарного импульса в выходное значение нейрона, принято называть функцией активации.
Введём дополнительный константный признак x
0
≡ −1 и векторные обозна- чения w = (w
0
, w
1
, . . . , w n
)
т
, x = (x
0
, x
1
, . . . , x n
)
т
. Тогда линейную модель нейрона можно записать более компактно через скалярное произведение:
a(x) = ϕ
n j=0
w j
x j
= ϕ( w, x ).
(1.1)
Итак, модель МакКаллока-Питтса эквивалентна линейному пороговому клас- сификатору.

4
-3.0
-2.5
-2.0
-1.5
-1.0
-0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
-1.5
-1.0
-0.5 0.0 0.5 1.0 1.5
S
T
L
G
Z
θ(z) = [z
0]
ступенчатая функция Хэвисайда;
σ(z) = (1 + e
−z
)

1
сигмоидная функция (S);
th(z) = 2σ(2z) − 1
гиперболический тангенс (T);
ln(z +

z
2
+ 1)
логарифмическая функция (L);
exp(−z
2
/2)
гауссовская функция (G);
z линейная функция (Z);
Рис. 2. Функции активации.
Функции активации.
Позже модель МакКаллока–Питтса была обобщена на случай произвольных вещественных входов и выходов, и произвольных функций активации.
Чаще всего используются функции активации, показанные на Рис.
2 1.1.2
Методы обучения синаптических весов нейрона
Персептрон Розенблатта.
В 1957 году Розенблатт предложил эвристический ал- горитм обучения нейрона, основанный на принципах, «подсмотренных» в нейрофи- зиологии. Экспериментально было обнаружено, что при синхронном возбуждении двух связанных нервных клеток синаптическая связь между ними усиливается. Чем чаще синапс угадывает правильный ответ, тем сильнее становится связь. Своеоб- разная тренировка связи приводит к постепенному запоминанию информации. Ес- ли же синапс начинает часто ошибаться или вообще перестаёт использоваться, связь ослабевает, информация начинается забываться. Таким образом, память реализуется в синапсах. В математической модели нейрона роль памяти играет вектор синапти- ческих весов w.
Данное правило обучения нетрудно формализовать. Как признаки, так и отве- ты будем пока полагать бинарными. Перед началом обучения вектор весов некото- рым способом инициализируется, например, заполняется нулевыми или случайны- ми значениями. Затем обучающие объекты x i
по очереди подаются на вход модели
МакКаллока–Питтса (
1.1
), и выданные ответы сравниваются с правильными.
Если ответ a(x i
) совпадает с y i
, то вектор весов не изменяется.
Если a(x i
) = 0 и y i
= 1, то вектор весов w увеличивается. Увеличивать имеет смысл только те веса w j
, которые соответствуют ненулевым компонентам x j
i
, так как изменение других компонент не повлияет на результат. Поэтому можно положить w := w + ηx i
, где η — некоторая положительная константа, называемая темпом обучения
(learning rate).
Если a(x i
) = 1 и y i
= 0, то вектор весов уменьшается: w := w − ηx i
Поскольку все величины бинарные, эти три случая легко объединить в одну формулу:
w := w − η a(x i
) − y i
x i
(1.2)
Обучающие объекты проходят через это правило многократно, до тех пор, пока веса изменяются, см. Алгоритм
1.1

5
Алгоритм 1.1. Обучение персептрона Розенблатта
Вход:
X

— обучающая выборка;
η — темп обучения;
Выход:
синаптические веса w
0
, w
1
, . . . , w n
;
1:
инициализировать веса w j
;
2:
повторять
3:
для всех i = 1, . . . , ℓ
4:
w := w − η a(x i
) − y i
x i
;
5:
пока веса w изменяются;
Правило Хэбба.
Иногда удобнее полагать, что классы помечены числами −1 и 1,
а нейрон выдаёт знак скалярного произведения:
a(x) = sign( w, x ).
Тогда несовпадение знаков w, x i
и y i
означает, что нейрон ошибается на объекте x i
При этом выражение (
1.2
) преобразуется в следующее правило модификации весов:
если w, x i
y i
< 0 то w := w + ηx i
y i
,
(1.3)
называемое правилом Хэбба. Соответственно, в Алгоритме
1.1
заменяется шаг 4.
Для правила Хэбба докажем теорему сходимости. Она справедлива не только для бинарных, но и для произвольных действительных признаков.
Теорема 1.1 (Новиков, 1962 [
14
]). Пусть X =
R
n+1
,
Y = {−1, 1}, и выборка
X

линейно разделима — существует вектор
˜
w и положительное число δ такие, что
˜
w, x i
y i
> δ для всех i = 1, . . . , ℓ. Тогда Алгоритм
1.1
сходится за конечное число шагов к вектору весов, разделяющему обучающие объекты без ошибок, из любо- го начального положения w
0
, при любом положительном
η, независимо от порядка предъявления объектов. Если w
0
= 0, то достаточное число исправлений вектора весов не превосходит t
max
=
D
δ
2
,
где
D = max x∈X

x .
Доказательство.
Запишем выражение для косинуса угла между вектором ˜
w и вектором весов после t-го исправления w t
, полагая без ограничения общности
˜
w = 1:
cos( ˜
w, w t
) =
˜
w, w t
w t
При t-м исправлении нейрону с вектором весов w t−1
предъявляется обучающий объект x, правильный ответ y, и при этом нейрон совершает ошибку: x, w t−1
y < 0.
Согласно правилу Хэбба (
1.3
) в этом случае происходит модификация весов. В силу условия линейной разделимости, справедлива оценка снизу:
˜
w, w t
= ˜
w, w t−1
+ η ˜
w, x y > ˜
w, w t−1
+ ηδ > ˜
w, w
0
+ tηδ.

6
В силу ограниченности выборки, x < D, справедлива оценка сверху:
w t 2
= w t−1 2
+ η
2
x
2
+ 2η x, w t−1
y < w t−1 2
+ η
2
D
2
< w
0 2
+ tη
2
D
2
Подставим полученные соотношения в выражение для косинуса:
cos( ˜
w, w t
) >
˜
w, w
0
+ tηδ
w
0 2
+ tη
2
D
2
→ ∞ при t → ∞.
Косинус не может превышать единицы. Следовательно, при некотором достаточно большом t не найдётся ни одного x ∈ X

такого, что x, w t
y < 0, то есть выборка окажется поделенной безошибочно.
Если w
0
= 0, то нетрудно оценить сверху достаточное число исправлений.
Из условия cos
1 следует

tδ/D
1, откуда t max
= (D/δ)
2
На практике линейная разделимость выборки является скорее исключением,
чем правилом. Если условия теоремы Новикова не выполнены, то процесс обучения вполне может оказаться расходящимся.
Метод стохастического градиента.
Исходя из принципа минимизации эмпириче- ского риска задача настройки синаптических весов может быть сведена к поиску вектора w, доставляющего минимум функционалу качества:
Q(w) =

i=1
L
a(x i
), y i
→ min w
,
(1.4)
где L (a, y) — заданная функция потерь, характеризующая величину ошибки ответа a при правильном ответе y. Применим для минимизации Q(w) метод градиентного спуска. Запишем правило изменения вектора весов на каждой итерации:
w := w − η
∂Q
∂w
,
где η > 0 — величина шага в направлении антиградиента. Предполагая, что функция потерь L и функция активации ϕ дифференцируемы, распишем градиент:
w := w − η

i=1
L

a a(x i
), y i
ϕ

( w, x i
)x i
Здесь каждый обучающий объект вносит свой аддитивный вклад в изменение вектора w, но вектор w изменяется только после предъявления всех ℓ объектов. Мож- но делать и по-другому — как и в персептроне Розенблатта, брать объекты по одному,
и для каждого обновлять вектор весов. Этот метод называется стохастическим гра- диентом
(stochastic gradient, SG). Объекты перебираются в случайном порядке, для каждого объекта x i
делается градиентный шаг и сразу обновляется вектор весов:
w := w − ηL

a a(x i
), y i
ϕ

( w, x i
)x i
Практика показывает, что такой процесс обучения сходится быстрее обычного градиентного метода. Когда объекты предъявляются в некотором фиксированном порядке, процесс чаще оказывается расходящимся или зацикливается.

7
Алгоритм 1.2. Обучение персептрона методом стохастического градиента.
Вход:
X

— обучающая выборка;
η — темп обучения;
Выход:
Синаптические веса w
0
, w
1
, . . . , w n
;
1:
инициализировать веса:
w j
:= random −
1 2n
,
1 2n
;
2:
инициализировать текущую оценку функционала:
Q :=

i=1
L
a(x i
), y i
;
3:
повторять
4:
выбрать объект x i
из X

случайным образом;
5:
вычислить выходное значение алгоритма a(x i
) и ошибку:
ε
i
:= L a(x i
), y i
;
6:
сделать шаг градиентного спуска:
w := w − ηL

a a(x i
), y i
ϕ

( w, x i
)x i
;
7:
оценить значение функционала:
Q :=
ℓ−1

Q +
1

ε
2
i
;
8:
пока значение Q не стабилизируется;
Пример 1.1 (Адаптивный линейный элемент). Пусть все признаки веществен- ны: X =
R
n
, функция потерь квадратична: L (a, y) = (a − y)
2
, функция активации линейна: ϕ(z) = z. Тогда правило обновления весов в методе стохастического гради- ента в точности совпадает с правилом Розенблатта (
1.2
):
w := w − η a(x i
) − y i
x i
Это правило обучения было предложено Видроу и Хоффом в 1960 году и назы- вается дельта-правилом (delta-rule), а сам линейный нейрон — адаптивным линей- ным элементом или ADALINE [
18
].
В Алгоритме
1.2
показана реализация метода SG при произвольных функци- ях L (a, y) и ϕ(z). Обратим внимание на инициализацию весов и критерий останова.
И то, и другое — не более чем эвристики.
Веса инициализируются небольшими по абсолютной величине случайными зна- чениями, но это лишь один из возможных вариантов, неплохо зарекомендовавший себя на практике. Можно было бы инициализировать веса нулём.
Критерий останова основан на приблизительной оценке значения функциона- ла Q. Вычислять его точно довольно накладно, так как это потребовало бы на каждой итерации пропускать все объекты выборки через алгоритм a(x). Поэтому Q оцени- вается методом экспоненциальной скользящей средней. Когда градиентный метод подходит к окрестности минимума, значение Q стабилизируется, и оценка скользя- щей средней приближается к точному значению функционала.
Преимущества метода SG в том, что он легко реализуется, легко обобщается на нейронные сети более сложных архитектур, позволяет настраивать сети на вы- борках сколь угодно больших объёмов (за счёт того, что случайной подвыборки мо-

8
жет оказаться достаточно для обучения). Метод стохастического градиента считает- ся классическим инструментом настройки нейронных сетей.
Недостаток SG в том, что сходимость в общем случае не гарантируется.
На практике сходимость определяют методом проб и ошибок. Существует довольно обширный набор эвристик и рекомендаций, способствующих улучшению сходимости.
Некоторые из них будут рассмотрены ниже, в разделе
1.2.2
Сигмоидная функция активации
σ(z) =
1 1+e
−z играет особую роль в задачах клас- сификации. Рассмотрим для простоты случай двух классов, Y = {−1, +1}. Если справедливы условия Теоремы ??, стр. ??, то значение на выходе сигмоидной функ- ции совпадает с апостериорной вероятностью класса y для объекта x:
σ w, x y = P{y|x}.
(1.5)
Таким образом, нейрон с сигмоидной функцией активации a(x) = σ w, x вычис- ляет вероятность принадлежности объекта x классу +1. Во многих приложениях оценка этой вероятности необходима для решения «сопутствующих» задач, в част- ности, для оценки рисков, связанных с возможными ошибками классификации.
В то же время, не стоит забывать, что равенство (
1.5
) получено при довольно сильных теоретико-вероятностных предположениях: функции правдоподобия клас- сов должны принадлежать экспонентному семейству распределений, и классы долж- ны иметь схожую форму, точнее, одинаковый параметр разброса. На практике гаран- тировать выполнение этих условий вряд ли возможно. Поэтому трактовать выходы сигмоидных функций активации как вероятности следует с большой осторожностью.
На самом деле они дают лишь оценку удалённости объекта от границы классов, нор- мированную так, чтобы она принимала значения из отрезка [0, 1].
Связь персептрона и логистической регрессии.
Градиентная техника легко рас- пространяется на другие функции активации и другие функционалы качества.
Рассмотрим задачу классификации с двумя классами, Y = {−1, +1}. Введём функционал качества, равный числу ошибок на обучающей выборке X

:
Q(w) =

i=1
w, x i
y i
< 0 → min w
Рассматривая логистическую регрессию в разделе ??, мы заменили этот функ- ционал его гладкой аппроксимацией, Рис.
3
:
Q(w) = −

i=1
ln σ w, x i
y i
→ min w
,
где σ — сигмоидная функция. Оказывается, выражение, стоящее в этой формуле под знаком логарифма, тесно связано с функциями правдоподобия классов p y
(x), y ∈ Y .
Это легко показать, воспользовавшись определением условной вероятности, соотно- шением (
1.5
), а также тем фактом, что априорные вероятности классов P
y и вероят- ности появления объектов p(x) не зависят от весов w:
p y
(x) = P{x|y} = P{y|x} · p(x)/P
y
= σ w, x y · const(w).

9
-2.0
-1.5
-1.0
-0.5 0.0 0.5 1.0 1.5 2.0 0.0 0.5 1.0 1.5 2.0
Рис. 3. Логарифмическая аппроксимация пороговой функции потерь.
Отсюда следует, что, если верно (
1.5
), то минимизация функционала Q(w) эк- вивалентна принципу максимума правдоподобия:
L(X

; w) = ln

i=1
p y
i
(x i
) = −Q(w) + const(w) → max w
Данное обстоятельство служит дополнительным обоснованием для использования функционала Q(w) в качестве критерия настройки линейного классификатора.
Рассмотрим теперь градиентный метод обучения нейрона с сигмоидной функ- цией активации. Распишем градиент функционала Q(w), воспользовавшись выраже- нием для производной сигмоидной функции σ

= σ(1 − σ):
∂Q
∂w
= −

i=1 1 − σ w, x i
y i
y i
x i
Тогда в методе стохастического градиента правило обновления весов при предъяв- лении прецедента x i
, y i
будет иметь вид:
w := w + η 1 − σ w, x i
y i
y i
x i
Сопоставим его с правилом Хэбба:
w := w + η w, x i
y i
< 0 y i
x i
Легко видеть, что логистичекое правило есть ни что иное, как сглаженный ва- риант правила Хэбба. В правиле Хэбба смещение весов происходит только когда на объекте x i
допускается ошибка. В логистическом правиле смещение тем больше,
чем меньше значение w, x i
y i
, т. е. чем серьёзнее ошибка. Даже если ошибки нет,
но объект близок к границе классов, веса модифицируются так, чтобы граница про- шла как можно дальше от объекта. Стратегия увеличения зазора (margin) между объектами обучающей выборки и разделяющей поверхностью способствует повыше- нию качества классификации и увеличению скорости сходимости [
6
,
16
].
В остальном алгоритм обучения повторяет персептрон Розенблатта.
Заметим также, что описанный метод настройки весов существенно проще ме- тода логистической регрессии IRLS, рассмотренного в ??. Различие в том, что здесь применялся метод первого порядка (градиентный спуск), в то время как IRLS ос- нован на методе второго порядка (Ньютона-Рафсона), имеющем лучшие характери- стики сходимости, но требующим обращения матрицы на каждой итерации.

10
GFED
@ABC
x
1
GFED
@ABC
x
2
GFED
@ABC
−1
(x
1
∨ x
2
)
1
v v
v v
&&v v
v v
v
1
//
1/2
r r
r
88r r
r r
//
Рис. 4. Однослойный персептрон, реализующий операцию ИЛИ.
GFED
@ABC
x
1
GFED
@ABC
x
2
GFED
@ABC
−1
GFED
@ABC
−1
(x
1
⊕ x
2
)
1
‚
‚
‚
‚
((
‚
‚
‚
‚
1
l l
66
l l
l l
l l
1
W
W
W
W
W
W
W
W
W
W
W
W
W
W
1
‚
‚
((
‚
‚
‚
‚
‚
‚
1/2
Õ
Õ
Õ
BB
Õ
Õ
Õ
Õ
Õ
Õ
Õ
Õ
Õ
3/2
l l
l
66
l l
l
+1
‚
‚
‚
((
‚
‚
‚

1
l l
l
66
l l
l
1/2
PP
//
Рис. 5. Двухслойная сеть, реализующая опера- цию исключающего ИЛИ.
0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0 0.0 0.5 1.0
Рис. 6. Персептронная реализация элементарных логических функций: И, ИЛИ, исключающее ИЛИ
двумя способами — добавлением признака x
1
x
2
и двухслойной сетью.
1.1.3
Проблема полноты
Итак, отдельно взятый нейрон вида (
1.1
) позволяет реализовать линейный клас- сификатор или линейную регрессию. При решении практических задач линейность оказывается чрезмерно сильным ограничением. На ограниченность персептрона ука- зывали Минский и Пайперт в своей знаменитой книге «Персептроны» [
13
]. Следу- ющий классический контрпример иллюстрирует невозможность нейронной реализа- ции даже очень простых функций.
Проблема «исключающего ИЛИ».
Легко построить нейроны, реализующие ло- гические функции И, ИЛИ, НЕ от бинарных переменных x
1
и x
2
, см. Рис.
4
:
x
1
∨ x
2
= x
1
+ x
2

1 2
> 0 ;
x
1
∧ x
2
= x
1
+ x
2

3 2
> 0 ;
¬x
1
= −x
1
+
1 2
> 0 ;
Однако функцию x
1
⊕ x
2
= [x
1
= x
2
], называемую исключающим ИЛИ, принципи- ально невозможно реализовать одним нейроном с двумя входами x
1
и x
2
, поскольку множества нулей и единиц этой функции линейно неразделимы.
Возможны два пути решения этой проблемы, см. Рис
6
Первый путь — пополнить состав признаков, подавая на вход нейрона нели- нейные преобразования исходных признаков. В частности, если разрешить образо- вывать всевозможные произведения исходных признаков, то нейрон будет строить уже не линейную, а полиномиальную разделяющую поверхность. В случае исклю- чающего ИЛИ достаточно добавить только один вход x
1
x
2
, чтобы в расширенном

11
пространстве множества нулей и единиц оказались линейно разделимыми:
x
1
⊕ x
2
= x
1
+ x
2
− 2x
1
x
2

1 2
> 0 .
Такие расширенные пространства признаков называют спрямляющими. Проблема заключается в том, что подбор нужных нелинейных преобразований является нетри- виальной задачей, которая для общего случая до сих пор остаётся нерешённой.
Второй путь — построить композицию из нескольких нейронов. Например,
исключающее ИЛИ можно реализовать, подав выходы И-нейрона и ИЛИ-нейрона на вход ещё одному ИЛИ-нейрону, Рис
5
:
x
1
⊕ x
2
= (x
1
∨ x
2
) − (x
1
∧ x
2
) −
1 2
> 0 .
Дальнейшее обобщение этой идеи приводит к построению многослойных нейронных сетей, состоящих из огромного количества связанных нейронов и напоминающих естественные нейронные сети.
Многослойные нейронные сети.
Рассмотрим композицию нейронов, представлен- ную на Рис.
7
. Значения всех n признаков одновременно подаются на вход всех H ней- ронов первого слоя. Затем их выходные значения подаются на вход всех M нейронов следующего слоя. В данном случае этот слой является выходным — такая сеть на- зывается двухслойной.
1
В общем случае сеть может содержать произвольное число слоёв. Все слои, за исключением последнего, называются скрытыми (hidden layers).
Вычисление выходных значений сети может осуществляться с высокой степе- нью параллелизма, за число тактов, равное числу слоёв. Существуют эффективные аппаратные реализации нейронных сетей, в которых вычисления действительно про- исходят параллельно. Но пока на практике чаще используются программные реали- зации, выполненные на обычных последовательных компьютерах.
Вычислительные возможности нейронных сетей.
Возникает вопрос: любую ли функцию можно представить (хотя бы приближённо) с помощью нейронной сети?
Следующие факты позволяют ответить на этот вопрос утвердительно.
1. Любая булева функция представима в виде двухслойной сети. Это тривиаль- ное следствие нейронной представимости функций И, ИЛИ, НЕ и представимости произвольной булевой функции в виде дизъюнктивной нормальной формы [
5
].
2. Из простых геометрических соображений вытекает, что двухслойная сеть с пороговыми функциями активации позволяет выделить произвольный выпуклый многогранник в n-мерном пространстве признаков. Трёхслойная сеть позволяет вы- числить любую конечную линейную комбинацию характеристических функций вы- пуклых многогранников, следовательно, аппроксимировать любые области с непре- рывной границей, включая неодносвязные, а также аппроксимировать любые непре- рывные функции.
3. В 1900 году Гильберт предложил список из 23 нерешённых задач, которые,
по его мнению, должны были стать вызовом для математиков XX века. Тринадца- тая проблема заключалась в следующем: возможно ли произвольную непрерывную
1
Существует терминологическая путаница с подсчётом числа слоёв. Иногда такую сеть (видимо,
глядя на картинку) называют трёхслойной, считая входы x
0
, x
1
, . . . , x n
особым, «распределитель- ным» слоем. По делу, в счёт должны идти только слои, состоящие из суммирующих нейронов.

12
функцию n аргументов представить в виде суперпозиции функций меньшего числа аргументов. Ответ был дан А. Н. Колмогоровым в [
2
].
Теорема 1.2 (Колмогоров, 1957). Любая непрерывная функция n аргументов на единичном кубе
[0, 1]
n представима в виде суперпозиции непрерывных функций одного аргумента и операции сложения:
f (x
1
, x
2
, . . . , x n
) =
2n+1
k=1
h k
n i=1
ϕ
ik
(x i
) ,
где h
k
,
ϕ
ik
— непрерывные функции, причём
ϕ
ik не зависят от выбора f .
Нетрудно видеть, что записанное здесь выражение имеет структуру нейронной сети с одним скрытым слоем. Таким образом, двух слоёв уже достаточно, чтобы вы- числять произвольные непрерывные функции, и не приближённо, а точно. К сожале- нию, представление Колмогорова не является персептроном: функции ϕ
ik не линей- ны, а функции h k
зависят от f , и в общем случае не являются дифференцируемыми.
4. Известна классическая теорема Вейерштрасса о том, что любую непрерыв- ную функцию n переменных можно равномерно приблизить полиномом с любой сте- пенью точности. Более общая теорема Стоуна утверждает, что любую непрерывную функцию на произвольном компакте X можно приблизить не только многочленом от исходных переменных, но и многочленом от любого конечного набора функций F ,
разделяющих точки [
17
].
Опр. 1.1. Набор функций F называется разделяющим точки множества X, если для любых различных x, x

∈ X существует функция f ∈ F такая, что f(x) = f(x

).
Теорема 1.3 (Стоун, 1948). Пусть X — компактное пространство, C(X) — ал- гебра непрерывных на
X вещественных функций, F — кольцо в C(X), содержащее константу
(1 ∈ F ) и разделяющее точки множества X. Тогда F плотно в C(X).
На самом деле справедливо ещё более общее утверждение. Оказывается, вместо многочленов (суперпозиции операций сложения и умножения) можно пользоваться суперпозициями сложения и какой-нибудь (практически произвольной) непрерывной нелинейной функции одного аргумента [
3
]. Этот результат имеет прямое отноше- ние к нейронным сетям, поскольку они строятся из операций сложения, умножения и нелинейных функций активации.
Опр. 1.2. Набор функций F ⊆ C(X) называется замкнутым относительно функ- ции
ϕ :
R → R, если для любого f ∈ F выполнено ϕ(f) ∈ F .
Теорема 1.4 (Горбань, 1998). Пусть X — компактное пространство, C(X) — ал- гебра непрерывных на
X вещественных функций, F — линейное подпространство в
C(X), замкнутое относительно нелинейной непрерывной функции ϕ, содержащее константу
(1 ∈ F ) и разделяющее точки множества X. Тогда F плотно в C(X).
Это интерпретируется как утверждение об универсальных аппроксимационных возможностях произвольной нелинейности: с помощью линейных операций и един- ственного нелинейного элемента ϕ можно получить устройство, вычисляющее любую

13
GFED
@ABC
x
1
GFED
@ABC
x j
GFED
@ABC
x n
GFED
@ABC
−1
σ
1
σ
h
σ
H
GFED
@ABC
−1
w
11
//
w
1
h
‚
‚
‚
))
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
w
1
H
i i
i i
""i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i w
j1
l l
l
55
l l
l l
l l
l l
l l
l l
l l
l l
l l
w jh
//
w jH
‚
‚
‚
))
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
w n1
y y
y y
y
<y y
y y
y y
y y
y y
y y
y y
y y
y y
y y
w nh l
l l
55
l l
l l
l l
l l
l l
l l
l l
l l
l l
w nH
//
w
01
FF
w
0
h
AA
w
0
H
::
σ
1
σ
m
σ
M
w
11
//
w
1
m
‚
‚
‚
))
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
w
1
M
i i
i i
""i i
i i
i i
i i
i i
i i
i i
i i
i i
i i
i w
h1
l l
l
55
l l
l l
l l
l l
l l
l l
l l
l l
l l
w hm
//
w hM
‚
‚
‚
))
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
‚
w
H1
y y
y y
<y y
y y
y y
y y
y y
y y
y y
y y
y y
y y
w
Hm l
l l
55
l l
l l
l l
l l
l l
l l
l l
l l
l l
w
HM
//
w
01
FF
w
0
m
AA
w
0
M
::
a
1
a m
a
M
//
//
//
входной слой,
n признаков скрытый слой,
H нейронов выходной слой,
M нейронов
Рис. 7. Многослойная сеть с одним скрытым слоем.
непрерывную функцию с любой желаемой точностью. Однако данная теорема ничего не говорит о количестве слоёв нейронной сети (уровней вложенности суперпозиции)
и о количестве нейронов, необходимых для аппроксимации произвольной функции.
Таким образом, нейронные сети являются универсальными аппроксиматорами функций. Возможности сети возрастают с увеличением числа слоёв и числа нейро- нов в них. Двух-трёх слоёв, как правило, достаточно для решения подавляющего большинства практических задач классификации, регрессии и прогнозирования.
§1.2
Многослойные нейронные сети
Многослойные сети также можно настраивать градиентными методами,
несмотря на огромное количество весовых коэффициентов. В середине 80-х одновре- менно несколькими исследователями был предложен эффективный способ вычисле- ния градиента, при котором каждый градиентный шаг выполняется за число опера- ций, лишь немногим большее, чем при обычном вычислении сети на одном объекте.
Это кажется удивительным — ведь количество операций, необходимых для вычисле- ния градиента, обычно возрастает пропорционально числу весовых коэффициентов.
Здесь этого удаётся избежать благодаря аналитическому дифференцированию су- перпозиции с сохранением необходимых промежуточных величин. Метод получил название обратного распространения ошибок (error back-propagation) [
15
].
1.2.1
Метод обратного распространения ошибок
Рассмотрим многослойную сеть, в который каждый нейрон предыдущего слоя связан со всеми нейронами последующего слоя, Рис.
7
. Для большей общности по- ложим X =
R
n
, Y =
R
M
Введём следующие обозначения. Пусть выходной слой состоит из M нейро- нов с функциями активации σ
m и выходами a m
, m = 1, . . . , M . Перед ним находится скрытый слой из H нейронов с функциями активации σ
h и выходами u h
, h = 1, . . . , H.

14
Веса синаптических связей между h-м нейроном скрытого слоя и m-м нейроном вы- ходного слоя будем обозначать через w hm
. Перед этим слоем может находиться либо распределительный слой, либо ещё один скрытый слой с выходами v j
, j = 1, . . . , J
и синаптическими весами w jh
. В общем случае число слоёв может быть произволь- ным. Если сеть двухслойная, то v j
есть просто j-й признак: v j
(x) ≡ f j
(x) ≡ x j
,
и J = n. Обозначим через w вектор всех синаптических весов сети.
Выходные значения сети на объекте x i
вычисляются как суперпозиция:
a m
(x i
) = σ
m
H
h=0
w hm u
h
(x i
) ;
u h
(x i
) = σ
h
J
j=0
w jh v
j
(x i
) .
(1.6)
Запишем функционал среднеквадратичной ошибки для отдельного объекта x i
:
Q(w) =
1 2
M
m=1
a m
(x i
) − y m
i
2
(1.7)
В дальнейшем нам понадобятся частные производные Q по выходам нейронов.
Выпишем их сначала для выходного слоя:
∂Q(w)
∂a m
= a m
(x i
) − y m
i
= ε
m i
Оказывается, частная производная Q по a m
равна величине ошибки ε
m i
на объекте x i
Теперь выпишем частные производные по выходам скрытого слоя:
∂Q(w)
∂u h
=
M
m=1
a m
(x i
) − y m
i
σ

m w
hm
=
M
m=1
ε
m i
σ

m w
hm
= ε
h i
Эту величину, по аналогии с ε
m i
, будем называть ошибкой сети на скрытом слое и обозначать через ε
h i
. Через σ

m обозначена производная функции активации, вы- численная при том же значении аргумента, что и в (
1.6
). Если используется сигмо- идная функция активации, то для эффективного вычисления производной можно воспользоваться формулой σ

m
= σ
m
(1 − σ
m
).
Заметим, что ε
h i
вычисляется по ε
m i
, если запустить сеть «задом наперёд», подав на выходы нейронов скрытого слоя значения ε
m i
σ

m
, а результат ε
h получив на входе.
При этом входной вектор скалярно умножается на вектор весов w hm
, находящих- ся справа от нейрона, а не слева, как при прямом вычислении (отсюда и название алгоритма — обратное распространение ошибок):
ε
h i
ε
1
i
σ

1
ε
M
i
σ

M
oo tt w
h1
j j
j j
j j
j jj w
hM
„
„
„
„
„
„
„
Имея частные производные по a m
и u h
, легко выписать градиент Q по весам:
∂Q(w)
∂w hm
=
∂Q(w)
∂a m
∂a m
∂w hm
= ε
m i
σ

m u
h
,
m = 1, . . . , M,
h = 0, . . . , H;
(1.8)
∂Q(w)
∂w jh
=
∂Q(w)
∂u h
∂u h
∂w jh
= ε
h i
σ

h v
j
,
h = 1, . . . , H,
j = 0, . . . , J;
(1.9)

15
Алгоритм 1.3. Обучение двухслойной сети методом back-propagation — обратного распространения ошибки
Вход:
X

= (x i
, y i
)

i=1
— обучающая выборка, x i
∈ R
n
, y i
∈ R
M
;
H — число нейронов в скрытом слое;
η — темп обучения;
Выход:
синаптические веса w jh
, w hm
;
1:
инициализировать веса небольшими случайными значениями:
w jh
:= random −
1 2n
,
1 2n
;
w hm
:= random −
1 2H
,
1 2H
;
2:
повторять
3:
выбрать объект x i
случайным образом;
4:
прямой ход:
u h
i
:= σ
h
J
j=0
w jh v
j
(x i
) , для всех h = 1, . . . , H;
a m
i
:= σ
m
H
h=0
w hm u
h
(x i
) , для всех m = 1, . . . , M ;
ε
m i
:= a m
i
− y m
i
, для всех m = 1, . . . , M ;
Q
i
:=
M
m=1

m i
)
2
;
5:
обратный ход:
ε
h i
:=
M
m=1
ε
m i
σ

m w
hm
, для всех h = 1, . . . , H;
6:
градиентный шаг:
w hm
:= w hm
− ηε
m i
σ

m u
h
, для всех h = 0, . . . , H, m = 1, . . . , M ;
w jh
:= w jh
− ηε
h i
σ

h x
j
, для всех j = 0, . . . , n, h = 1, . . . , H;
7:
Q :=
ℓ−1

Q +
1

Q
i
;
8:
пока
Q не стабилизируется;
и так далее для каждого слоя. Если слоёв больше двух, то остальные частные про- изводные вычисляются аналогично — обратным ходом по слоям сети справа налево.
Теперь мы обладаем всем необходимым, чтобы полностью выписать алгоритм обратного распространения, см. Алгоритм
1.3
Достоинства метода обратного распространения.
• Достаточно высокая эффективность. Прямой ход, обратный ход и вычисления градиента требуют порядка O(Hn + HM ) операций.
• Через каждый нейрон проходит информация только о связных с ним нейронах.
Поэтому back-propagation легко реализуется на вычислительных устройствах с параллельной архитектурой.
• Высокая степень общности. Алгоритм легко записать для произвольного числа слоёв, произвольной размерности выходов и выходов, произвольной функции потерь и произвольных функций активации, возможно, различных у разных нейронов. Кроме того, back-propagation не накладывает никаких ограничений на используемый метод оптимизации. Его можно применять вместе с методом скорейшего спуска, сопряженных градиентов, Ньютона-Рафсона и др.

16
Недостатки метода обратного распространения.
• Метод не всегда сходится. Для улучшения сходимости приходится применять большое количество различных эвристических ухищрений.
• Процесс градиентного спуска склонен застревать в многочисленных локальных минимумах функционала Q.
• Приходится заранее фиксировать число нейронов скрытого слоя H. В то же вре- мя, это критичный параметр сложности сети, от которого может существенно зависеть качество обучения и скорость сходимости.
• При чрезмерном увеличении числа весов сеть склонна к переобучению.
• Если применяются функции активации с горизонтальными асимптотами, типа сигмоидной или th, то сеть может попадать в состояние «паралича». Чем боль- ше значения синаптических весов на входе нейрона, тем ближе значение про- изводной σ

к нулю, тем меньше изменение синаптических весов в соответствии с формулами (
1.8
)–(
1.9
). Если нейрон один раз попадает в такую «мёртвую зону», то у него практически не остаётся шансов из неё выбраться. Парализо- ваться могут отдельные связи, нейроны, или вся сеть в целом.
1.2.2
Улучшение сходимости и качества градиентного обучения
В этом разделе рассматриваются эвристические приёмы, позволяющие с б´ольшим или меньшим успехом преодолеть недостатки метода обратного распространения.
Различных тонкостей настолько много, что умение хорошо настроить нейронную сеть по праву считается искусством, см. обзор [
10
].
Нормализация данных.
Процесс настройки сети чувствителен к различиям в мас- штабах измерения признаков. В случае больших различий сеть может оказаться па- рализованной. Поэтому общей практикой при градиентном обучении является пред- варительная нормализация признаков:
x j
:=
x j
− x j
min x
j max
− x j
min
,
либо x j
:=
x j
− x j
ср x
j ско
,
j = 1, . . . , n,
где x j
min
, x j
max
, x j
ср
, x j
ско
— соответственно минимальное, максимальное, среднее зна- чения и среднеквадратичное отклонение признака x j
Выбор функций активации.
Сигмоидная функция σ(z) = (1 + e

z
)

1
часто приме- няется при решении задач классификации. Её преимущества — возможность оценить вероятность принадлежности объекта классу по формуле (
1.5
), эффективность вы- числения производной, ограниченность выходного значения. Применение нечётных функций, таких как th(z) = 2σ(2z) − 1, увеличивает скорость сходимости примерно в полтора раза.
Для предотвращения эффекта паралича имеет смысл добавлять небольшой ли- нейный член: th z + γz. Можно использовать и другие медленно растущие функции.

17
Применение функции активации ln(z +

z
2
+ 1) для решения задач прогнозирования рассмотрено в [
1
].
Ещё одна скрытая опасность связана с применением функционала среднеквад- ратичной невязки (
1.7
) в задачах классификации. Если значения меток классов
{−1, +1} совпадают со значениями горизонтальных асимптот функции активации выходного слоя, то оптимизационный процесс будет стремиться к неограниченному увеличению аргумента функции активации, следовательно, к параличу выходного нейрона. Таким образом, значения меток классов должны находиться внутри области значений функции активации. В работе [
10
] рекомендуется использовать функцию активации 1.7159 th(
2 3
z), у которой в точках {−1, +1} достигается максимум второй производной.
Выбор начального приближения.
Из тех же соображений предотвращения пара- лича синаптические веса должны инициализироваться небольшими по модулю значе- ниями. В Алгоритме
1.3
на шаге 1 веса инициализируются случайными значениями из отрезка −
1 2k
,
1 2k
, где k — число нейронов в том слое, из которого выходит данный синапс. В этом случае (и при условии, что все признаки нормализованы) значения скалярных произведений гарантированно попадают в «рабочую зону» функций ак- тивации, представленных на Рис.
2
Существует и более тонкий способ формирования начального приближения.
Идея заключается в том, чтобы сначала настроить нейроны первого слоя по- отдельности, как H однослойных персептронов. Затем по-отдельности настраивают- ся нейроны второго слоя, которым на вход подаётся вектор выходных значений пер- вого слоя. Чтобы сеть не получилась вырожденной, нейроны первого слоя должны быть существенно различными. Ещё лучше, если они будут хоть как-то приближать целевую зависимость, тогда второму слою останется только усреднить результаты первого слоя, сгладив ошибки некоторых нейронов
2
. Добиться этого совсем неслож- но, если обучать нейроны первого слоя на различных случайных подвыборках, ли- бо подавать им на вход различные случайные подмножества признаков. Отметим,
что при формировании начального приближения не требуется особая точность на- стройки, поэтому отдельные нейроны можно обучать простейшими градиентными методами.
Порядок предъявления объектов.
Кроме стандартной рекомендации использо- вать метод стохастического градиента (т. е. предъявлять объекты в случайном по- рядке), имеются ещё следующие соображения.
1. Наибольшее смещение весов ожидается для того объекта, который наиме- нее похож на объекты, предъявленные до него. В общем случае довольно трудно указать, какой из объектов максимально информативен на данном шаге обучения.
Простая для реализации эвристика заключается в том, чтобы попеременно предъ- являть объекты из разных классов, поскольку объекты одного класса с большей ве-
2
Фактически, такая двуслойная сеть является простейшей алгоритмической композицией. Ней- роны первого скрытого слоя играют роль базовых алгоритмов, нейроны второго слоя реализуют корректирующую операцию
. Обучение первого слоя по случайным подвыборкам с последующим взвешенным усреднением во втором слое в точности соответствует методу бэггинга
(bagging),
см. раздел ??. Композиции общего вида рассматриваются в главе ??.

18
роятностью содержат схожую информацию. Эта техника называется перетасовкой объектов
(shuffling).
2. Ещё одна эвристика состоит в том, чтобы чаще предъявлять те объекты,
на которых была допущена ошибка. Для этого вероятность появления каждого объ- екта вычисляется в соответствии с величиной ошибки сети на данном объекте. Эту эвристику рекомендуется применять только в тех случаях, когда исходные данные не содержат выбросов, иначе процесс обучения может сосредоточиться на шумовых объектах, которые вообще следовало бы исключить из обучающей выборки.
3. Другой вариант предыдущей эвристики отличается простотой реализации и заключается в том, чтобы после прямого хода (шага 4 в Алгоритме
1.3
) сравнить ве- личину ошибки на i-м объекте с некоторым порогом. Если ошибка окажется меньше порога, вектор весов не модифицируется. Иначе выполняется обратный ход, вычис- ляется градиент и изменяются веса (шаги 5 и 6). Логика этой эвристики в точности та же, что у персептрона Розенблатта: если объект уже неплохо классифицируется,
то менять веса не нужно. При этом увеличивается и скорость настройки.
Сокращение весов является частным случаем регуляризации некорректно постав- ленных задач по А. Н. Тихонову [
4
]. Аналогичный приём применяется в линейном дискриминантном анализе и в линейной регрессии. Идея заключается в том, чтобы ограничить возможный рост абсолютных значений весов, добавив к минимизируемо- му функционалу Q(w) штрафное слагаемое:
Q
τ
(w) = Q(w) +
τ
2
w
2
Изменение функционала приводит к появлению аддитивной поправки у градиента:
∂Q
τ
(w)
∂w
=
∂Q(w)
∂w
+ τ w.
При этом правило обновления весов принимает вид w := w(1 − ητ) − η
∂Q(w)
∂w
Таким образом, вся модификация алгоритма сводится к появлению неотрица- тельного множителя (1−ητ), приводящего к постоянному уменьшению весов. Отсюда название метода — сокращение весов (weights decay).
Преимущества метода в том, что он очень просто реализуется, сочетает- ся со многими функционалами и многими градиентными методами оптимизации.
Он предотвращает паралич сети и повышает устойчивость весов в случае мульти- коллинеарности — когда имеются линейно зависимые или сильно коррелированные признаки. В конечном итоге сокращение весов способствует повышению обобщающей способности алгоритма и снижению риска переобучения.
Дополнительный управляющий параметр τ позволяет найти компромисс между точностью настройки на конкретную выборку и устойчивостью весов.
Недостаток метода в том, что параметр τ приходится подбирать в режиме скользящего контроля, что связано с большими затратами времени.
Сокращение весов уменьшает эффективную сложность сети, но количество па- раметров остаётся тем же. Это означает, что ресурс на хранение и вычисление сети

19
расходуется не продуктивно. В некоторых случаях более предпочтительным являет- ся альтернативный метод, в котором избыточные синаптические связи не уменьшают свой вес, а полностью удаляются. Он будет рассмотрен чуть позже.
Выбор величины шага.
1. Известно, что градиентные методы сходятся при определённых условиях,
если величину шага η уменьшать с числом итераций t. Точнее, сходимость гаранти- руется при η
t
→ 0,

t=1
η
t
= ∞,

t=1
η
2
t
< ∞, в частности можно положить η
t
= 1/t.
При настройке нейронных сетей дополнительные условия сходимости могут не вы- полняться, поэтому стратегию постепенного уменьшения шага следует воспринимать скорее как эвристическую рекомендацию.
2. Метод скорейшего градиентного спуска приводит к выбору адаптивного ша- га
η исходя из решения одномерной задачи минимизации Q w − η
∂Q
∂w
→ min
η
. Во мно- гих случаях эту задачу удаётся решить аналитически. В частности, для алгоритма
ADALINE с линейной функцией активации
η =
1 1 +
n j=0
x j
i
2
=
1 1 + x i
2
(1.10)
Формулы вычисления адаптивного шага получены и для более сложных случаев,
в том числе для метода обратного распространения ошибок [
1
].
Выбивание сети из локальных минимумов обязательно должно быть преду- смотрено в любой хоть сколько-нибудь серьёзной реализации back-propagation. Один из простейших способов заключается в том, чтобы при каждой стабилизации функ- ционала ошибки производить случайные модификации вектора весов в довольно большой окрестности текущего значения и запускать процесс градиентного спуска из новых точек. Этот способ называют потряхиванием коэффициентов (jog of weights).
По сути дела, он является симбиозом градиентного метода и случайного локального поиска
(stochastic local search).
Выбор критерия останова.
В Алгоритме
1.3
в качестве критерия останова ис- пользуется условие стабилизации среднеквадратичной ошибки Q. Точное вычисле- ние этой величины потребовало бы пропускать через сеть все обучающие объекты после каждой итерации. Разумеется, это недопустимо из соображений эффективно- сти. Вместо этого функционал Q оценивается приближённо, как экспоненциальное скользящее среднее ошибок Q
i
, допущенных на объектах x i
, при этом больший вес получают объекты, предъявленные последними (шаг 7).
Ранний останов.
Слишком глубокая оптимизация также может привести к переобу- чению. Узкий глобальный минимум функционала Q менее предпочтителен, чем более пологий и устойчивый локальный минимум. Для предотвращения попадания в такие
«расщелины» применяется техника раннего останова (early stopping). По ходу ите- раций вычисляется какой-нибудь внешний критерий (стр. ??), и если он начинает возрастать, процесс настройки прекращается.

20
Выбор градиентного метода оптимизации.
К сожалению, градиентные методы первого порядка сходятся довольно медленно, и потому редко применяются на прак- тике. Ньютоновские методы второго порядка также непрактичны, но по другой при- чине — они требуют вычисления матрицы вторых производных функционала Q(w),
имеющей слишком большой размер. Метод сопряжённых градиентов этого не требу- ет, однако применять его непосредственно нельзя, так как он существенно опирается на предположение неизменности функционал Q(w), а в методе стохастического гра- диента функционал меняется при предъявлении каждого нового объекта. Необходи- мы специальные ухищрения, чтобы приспособить стандартные методы оптимизации для настройки нейронных сетей. В обзоре [
10
] даются следующие рекомендации.
1. Если обучающая выборка имеет большой объём (порядка нескольких сотен объектов и более), или если решается задача классификации, то можно использовать метод стохастического градиента с адаптивным шагом.
2. Диагональный метод Левенберга–Марквардта сходится в несколько раз быст- рее. В этом методе величина шага вычисляется индивидуально для каждого весового коэффициента, при этом используется только один диагональный элемент матрицы вторых производных:
η
jh
=
η

2
Q
∂w
2
jh
+ µ,
где η остаётся глобальным параметром темпа обучения, µ — новый параметр, предот- вращающий обнуление знаменателя, и, соответственно, неограниченное увеличение шага. Отношение η/µ есть темп обучения на ровных участках функционала Q(w),
где вторая производная обращается в нуль. Диагональный элемент матрицы вторых производных вычисляется с помощью специального варианта back-propagation.
3. Если обучающая выборка имеет небольшой объём, или если решается задача регрессии, то лучше использовать адаптированные варианты метода сопряжённых градиентов. Адаптация заключается в том, что объекты предъявляются не по од- ному, а пакетами (batch learning). Состав пакета может формироваться случайным образом. Для каждого пакета минимизируемый функционал остаётся фиксирован- ным, что позволяет применить метод сопряжённых градиентов.
1.2.3
Оптимизация структуры сети
Выбор структуры сети, то есть числа слоёв, числа нейронов и числа связей для каждого нейрона, является, пожалуй, наиболее сложной проблемой. Существу- ют различные стратегии поиска оптимальной структуры сети: постепенное наращи- вание, построение заведомо слишком сложной сети с последующим упрощением, по- очерёдное наращивание и упрощение.
Проблема выбора структуры тесно связана с проблемами недообучения и пе- реобучения. Слишком простые сети не способны адекватно моделировать целевые зависимости в реальных задачах. Слишком сложные сети имеют избыточное чис- ло свободных параметров, которые в процессе обучения настраиваются не только на восстановление целевой зависимости, но и на воспроизведение шума.
Выбор числа слоёв.
Если в конкретной задаче гипотеза о линейной разделимости классов выглядит правдоподобно, то можно ограничиться однослойной сетью. Двух-

21
слойные сети позволяют представлять извилистые нелинейные границы, и в боль- шинстве случаев этого хватает. Трёхслойными сетями имеет смысл пользоваться для представления сложных многосвязных областей. Чем больше слоёв, тем более бога- тый класс функций реализует сеть, но тем хуже сходятся градиентные методы, и тем труднее её обучить.
Выбор числа нейронов в скрытом слое
H
производят различными способами,
но ни один из них не является лучшим.
1. Визуальный способ. Если граница классов (или кривая регрессии) слиш- ком сглажена, значит, сеть переупрощена, и необходимо увеличивать число нейронов в скрытом слое. Если граница классов (или кривая регрессии) испытывает слишком резкие колебания, на тестовых данных наблюдаются большие выбросы, веса сети принимают большие по модулю значения, то сеть переусложнена, и скрытый слой следует сократить. Недостаток этого способа в том, что он подходит только для задач с низкой размерностью пространства (небольшим числом признаков).
2. Оптимизация H по внешнему критерию, например, по критерию скользя- щего контроля или средней ошибки на независимой контрольной выборке Q(X
k
).
Зависимость внешних критериев от параметра сложности, каким является H, обыч- но имеет характерный оптимум. Недостаток этого способа в том, что приходится много раз заново строить сеть при различных значениях параметра H, а в случае скользящего контроля — ещё и при различных разбиениях выборки на обучающую и контрольную части.
Динамическое добавление нейронов.
Сначала сеть обучается при заведомо недо- статочной мощности среднего слоя H ≪ ℓ. Обучение происходит до тех пор, пока ошибка не перестанет убывать. Тогда добавляется один или несколько новых ней- ронов. Веса новых связей инициализируются небольшими случайными числами, ли- бо добавленные нейроны обучаются по-отдельности как однослойные персептроны.
Во втором случае можно рекомендовать обучать новый персептрон на случайной под- выборке, возможно, добавив в неё те объекты, на которых текущая сеть допустила наибольшие ошибки. Веса старых связей не меняются. Затем проводится настройка сети методом обратного распространения.
После добавления новых нейронов ошибка, как правило, сначала резко воз- растает, затем быстро сходится к меньшему значению. Интересно, что общее время обучения обычно оказывается лишь в 1.5–2 раза больше, чем если бы в сети сра- зу было нужное количество нейронов. Это означает, что информация, накопленная в сети, является полезной и не теряется при добавлении новых нейронов.
При постепенном наращивании сети целесообразно наблюдать за динамикой какого-нибудь внешнего критерия. Прохождение значения Q(X
k
) через минимум яв- ляется надёжным критерием останова, так как свидетельствует о переобученности,
вызванной чрезмерным усложнением сети.
Удаление избыточных связей.
Метод оптимального усечения сети (optimal brain damage, OBD) [
11
,
8
] удаляет те связи, к изменению которых функционал Q наименее чувствителен. Уменьшение числа весов снижает склонность сети к переобучению.
Метод OBD основан на предположении, что после стабилизации функционала ошибки Q вектор весов w находится в локальном минимуме, где функционал может

22
быть аппроксимирован квадратичной формой:
Q(w + δ) = Q(w) +
1 2
δ
т
H(w)δ + o( δ
2
),
где H(w) =

2
Q(w)
∂w jh
∂w j′h′
— гессиан, матрица вторых производных. Как и в диагональ- ном методе Левенберга–Марквардта, предполагается, что диагональные элементы доминируют в гессиане, а остальными частными производными можно пренебречь,
положив их равными нулю. Это предположение носит эвристический характер и вво- дится для того, чтобы избежать трудоёмкого вычисления всего гессиана.
Если гессиан H(w) диагонален, то
δ
т
H(w)δ =
J
j=0
H
h=1
δ
2
jh

2
Q(w)
∂w
2
jh
Обнуление веса w jh эквивалентно выполнению условия w jh
+ δ
jh
= 0. Введём величину значимости (salience) синаптической связи, равную изменению функцио- нала Q(w) при обнулении веса: S
jh
= w
2
jh

2
Q(w)
∂w
2
jh
Эвристика OBD заключается в том, чтобы удалить из сети d синапсов, соот- ветствующих наименьшим значениям S
jh
. Здесь d — это ещё один параметр метода настройки. После удаления производится цикл итераций до следующей стабилизации функционала Q. При относительно небольших значениях d градиентный алгоритм довольно быстро находит новый локальный минимум Q. Процесс упрощения сети останавливается, когда внутренний критерий стабилизируется, либо когда задан- ный внешний критерий начинает возрастать.
Обнуление веса w jh между входным и скрытым слоями означает, что h-й нейрон скрытого слоя не будет учитывать j-й признак. Это можно интерпретировать как отбор информативных признаков для h-го нейрона скрытого слоя.
Обнуление веса w hm между скрытым и выходным слоями означает удаление h-го нейрона скрытого слоя.
§1.3
Сети Кохонена
До сих пор мы рассматривали нейронные сети, предназначенные для обучения с учителем, когда для каждого объекта x i
задан соответствующий ему ответ y i
. Сети
Кохонена решают задачи обучения без учителя, когда задаются только сами объек- ты x i
, и требуется выделить обособленные «плотные сгустки» объектов — кластеры,
и научиться относить новые объекты к этим кластерам.
Кластеризация основывается на предположении, что в пространстве X введе- на метрика ρ : X × X → R, адекватно оценивающая степень сходства любой пары объектов.
1.3.1
Модели конкурентного обучения
Пусть X =
R
n
— пространство объектов, Y = {1, . . . , M} — множество кла- стеров, число M фиксировано. Задана обучающая выборка объектов X

= {x i
}

i=1
Требуется выработать правило отнесения объектов к кластерам a : X → Y .

23
Правило жёсткой конкуренции WTA.
Наиболее очевидный подход заключается в том, чтобы ввести векторы w m
, m = 1, . . . , M , описывающие центры кластеров,
и относить произвольный объект x ∈ X к ближайшему кластеру:
a(x) = arg min m∈Y
ρ(x, w m
).
(1.11)
Образно говоря, кластеры соревнуются за право присоединить к себе объект x.
Кластер, ближайший к x, называется кластером-победителем, а выражение (
1.11
) —
правилом WTA
(winner takes all).
Настройка алгоритма кластеризации a(x) сводится к оптимизации расположе- ния центров w m
. Для этого минимизируется функционал качества кластеризации,
равный среднему квадрату расстояния между объектами и центрами кластеров:
Q(w
1
, . . . , w
M
) =
1 2

i=1
ρ
2
(x i
, w a(x i
)
) → min .
Допустим, что метрика евклидова: ρ(x, w) = x−w . Тогда можно выписать градиент функционала Q по вектору w m
:
∂Q
∂w m
=

i=1
(w m
− x i
) a(x i
) = m .
Для поиска центров кластеров w m
можно применить метод стохастического градиента — Алгоритм
1.2
, практически без модификаций. Единственное отличие заключается в том, что теперь правило обновления весов на шаге 6 будет иметь вид w
m
:= w m
+ η(x i
− w m
) a(x i
) = m ,
(1.12)
где x i
∈ X

— случайным образом выбранный обучающий объект, η — градиентный шаг, он же темп обучения. Смысл данного правила очевиден: если объект x i
отно- сится к кластеру m, то центр этого кластера w m
немного сдвигается в направлении объекта x i
, остальные центры не изменяются.
Формальное сходство формулы (
1.12
) с персептронным правилом наводит на мысль, что кластеризация осуществляется алгоритмом, аналогичным нейронной сети. Выражение (
1.11
) и в самом деле представимо в виде двухслойной суперпози- ции, только вместо привычных скалярных произведений x, w m
вычисляются функ- ции расстояния ρ(x, w m
), а на выходе вместо суммирования применяется операция минимума, см. Рис.
8
. При этом центры кластеров w m
взаимно однозначно соответ- ствуют нейронам скрытого стоя, которые называются нейронами Кохонена. Нейрон,
выход которого минимален, называется нейроном-победителем.
Рассмотренная разновидность нейронных сетей называется сетью с конкурент- ным обучением
. Исходно она была предложена как чисто математическая модель.
Позже удалось найти некоторые её аналоги и в нейрофизиологии [
7
].
Альтернативное название — обучающееся векторное квантование (learning vector quantization, LVQ) — связано с тем, что исходная выборка из ℓ объектов x i
порождает M новых объектов w m
, похожих на исходные. Это центры ячеек, по ко- торым распределяются («квантуются») исходные объекты. Как правило, M ≪ ℓ, по- этому замена объектов на ближайшие к ним центры позволяет эффективно сжимать данные при незначительной потере информации. Объём сохраняемой информации регулируется единственным параметром M , что достаточно удобно в приложениях.

24
GFED
@ABC
x
1
· · ·
GFED
@ABC
x n
ρ(x, w
1
)
· · ·
ρ(x, w
M
)
arg min a(x)
w
1 1
//
w
1
M
c c
c
c c
c c
c c
c c
c c
w n
1



??









w n
M
//
&&v v
v v
v v
88r r
r r
r r
//
Рис. 8. Представление алгоритма кла- стеризации (
1.11
) в виде двухслойной нейронной сети.
Правило справедливой конкуренции CWTA.
Недостаток конкурентного обуче- ния по правилу WTA заключается в том, что при случайной инициализации весов нейрон Кохонена может попасть в такую область, где он никогда не станет победи- телем. В результате появится неинформативный пустой кластер.
Для преодоления этого недостатка алгоритм (
1.11
) немного модифицируется.
Вводится «механизм утомления» победителей — правило CWTA (conscience WTA):
a(x) = arg min m∈Y
C
m
ρ(x, w m
),
(1.13)
где C
m
— количество побед m-го нейрона в ходе обучения. Таким образом, кластеры штрафуются за слишком частое присоединение объектов.
Правило мягкой конкуренции WTM.
Другим недостатком правила WTA являет- ся медленная скорость сходимости, связанная с тем, что на каждой итерации моди- фицируется только один нейрон-победитель w m
. Для ускорения сходимости, особен- но на начальных итерациях, можно подстраивать сразу несколько нейронов, близких к объекту x i
. Для этого вводится ядро — неотрицательная монотонно убывающая на
[0, +∞) функция расстояния K(ρ). Иногда накладывается дополнительное требова- ние нормировки K(0) = 1. Часто берут гауссовское ядро K(ρ) = exp(−βρ
2
) при некотором β > 0. Вместо правила жёсткой конкуренции WTA вводится мягкая кон- куренция — правило WTM (winner takes most):
w m
:= w m
+ η(x i
− w m
) K ρ(x i
, w m
) ,
m = 1, . . . , M.
(1.14)
Теперь на каждой итерации центры всех кластеров смещаются в сторону x i
, но чем дальше центр находится от x i
, тем меньше величина смещения. Заметим, что (
1.12
)
является частным случаем (
1.14
), если положить K ρ(x i
, w m
) = [a(x i
) = m].
На начальных итерациях имеет смысл выбрать небольшое значение коэффици- ента β, чтобы все весовые векторы успели переместиться ближе к области входных векторов. Затем β можно увеличивать, делая конкуренцию всё более жёсткой, и по- степенно переходя к коррекции только одного нейрона-победителя.
Благодаря способности к сглаживанию, правило WTM имеет многочисленные применения. Одно из важнейших — самоорганизующиеся карты Кохонена.
1.3.2
Самоорганизующиеся карты Кохонена
Самоорганизующиеся карты Кохонена
(self-organizing maps, SOM) применяют- ся для визуализации многомерных данных. Они дают лишь общую картину, довольно размытую и подверженную искажениям, поскольку спроецировать многомерную вы- борку на плоскость без искажений в общем случае невозможно. Тем не менее, карты

25
Алгоритм 1.4. Обучение карты Кохонена методом стохастического градиента
Вход:
X

— обучающая выборка;
η — темп обучения;
Выход:
Синаптические веса w mn
, m = 1, . . . , M , n = 1, . . . , N ;
1:
инициализировать веса:
w mn
:= random −
1 2M N
,
1 2M N
;
2:
повторять
3:
выбрать объект x i
из X

случайным образом;
4:
WTA: вычислить координаты узла, в который проецируется объект x i
:
(m i
, n i
) := a(x i
) ≡ arg min
(m,n)∈Y
ρ(x i
, w mn
);
5:
для всех
(m, n) ∈ Y
6:
WTM: сделать шаг градиентного спуска:
w mn
:= w mn
+ η(x i
− w mn
) K r((m i
, n i
), (m, n)) ;
7:
пока размещение всех объектов в узлах сетки не стабилизируется;
Кохонена позволяют увидеть ключевые особенности кластерной структуры выбор- ки. Они используются на стадии разведочного анализа данных, скорее для общего понимания задачи, чем для получения каких-либо точных результатов.
Идея заключается в том, чтобы спроецировать все объекты выборки на плоскую карту, точнее, на множество узлов прямоугольной сетки заранее заданного размера
M × N. На практике M и N имеют порядок десятков или сотен. Чтобы карта отра- жала кластерную структуру выборки, близкие объекты должны попадать в близкие узлы сетки.
Каждому узлу сетки приписывается нейрон Кохонена с вектором весов w mn
,
m = 1, . . . , M , n = 1, . . . , N . Таким образом, множество Y совпадает с множеством узлов сетки, Y = {1, . . . , M}×{1, . . . , N}. Алгоритм классификации a(x) выдаёт пару индексов (m, n) ∈ Y , показывающих, в какой узел сетки проецируется объект x.
Обучение нейронов производится методом стохастического градиента, см. Ал- горитм
1.4
. После случайного выбора объекта x i
на шаге 3 определяется нейрон- победитель согласно правилу WTA. Соответствующий ему узел сетки обозначается в алгоритме через (m i
, n i
). Затем, согласно правилу WTM, этот нейрон и нейроны,
расположенные в ближайших узлах сетки, сдвигаются в сторону вектора x i
. Прави- ло обучения, применяемое на шаге 6, схоже с (
1.14
), только вместо метрики ρ(x, x

),
определённой на пространстве объектов, используется евклидова метрика на множе- стве узлов сетки Y :
r (m i
, n i
), (m, n) =
(m − m i
)
2
+ (n − n i
)
2
По прежнему, K(ρ) — заданная сглаживающая функция, например, K(ρ) =
= exp(−βρ
2
). Параметр β задаёт степень сглаженности карты: чем меньше β,
тем мягче конкуренция нейронов, и тем более сглаженными будут выглядеть грани- цы кластеров на карте. Имеет смысл увеличивать значение параметра β от итерации к итерации, чтобы сеть Кохонена сначала обучилась кластерной структуре «в общих чертах», а затем сосредоточилась на деталях.

26
Алгоритм останавливается, когда проекции всех, или хотя бы большинства,
объектов выборки (m i
, n i
) = a(x i
) перестанут меняться от итерации к итерации.
Искусство интерпретации карт Кохонена.
Если через настроенную карту Кохо- нена (алгоритм a(x)) пропустить все объекты обучающей выборки X

, то кластеры исходного пространства отобразятся в сгустки точек на карте. При этом векторы весов в узлах-сгустках должны быть одновременно похожи на все объекты соответ- ствующих кластеров.
Обычно для каждой точки карты вычисляют среднее расстояние до k бли- жайших точек выборки, и полученное распределение расстояний отображают в виде двухцветной полутоновой карты. На ней же отмечают и сами точки обучающей вы- борки. На такой карте хорошо видно, сколько кластеров выделено, и в каких местах карты они расположились.
Следующий шаг — поиск интерпретации кластеров. Для этого строятся ещё
n карт, по одной карте на каждый признак. Теперь цвет узла (m, n) соответству- ет значению j-й компоненты вектора весов w m,n
. Обычно эти карты раскрашивают в геодезические цвета от синего до коричневого. Синие участки карты соответству- ют наименьшим значениям j-го признака, красные — наибольшим. Сравнивая карты признаков с общей картой кластеров, можно найти кластеры, которым свойственны повышенные или пониженные значения отдельных признаков.
Ещё один способ интерпретации — выделение на карте всех узлов, в которые по- падает выбранное подмножество объектов. Если объекты сгруппировались в одном месте, значит мы имеем дело с кластером или его частью. Выделяя различные под- множества объектов, имеющие заведомо известную содержательную интерпретацию,
можно находить интерпретации различных зон на карте.
Недостатки карт Кохонена.
• Субъективность. Не всегда ясно, какие особенности карты обусловлены кла- стерной структурой данных, а какие — свойствами потенциальной функции.
От выбора параметра β существенно зависит сглаженность границ кластеров и степень детализации карты.
• Наличие искажений. Близкие объекты исходного пространства могут перехо- дить в далёкие точки на карте. В частности, объективно существующие класте- ры могут разрываться на фрагменты [
9
]. И наоборот, далёкие объекты могут случайно оказаться на карте рядом, особенно, если они были одинаково дале- ки от всех кластеров. Искажения неизбежны при проецировании многомерной выборки на плоскость. Распределение точек на карте позволяет судить лишь о локальной структуре многомерных данных, и то не всегда.
• Зависимость от инициализации. Начальное распределение весов существенно влияет на процесс обучения и может сказываться не только на расположении кластеров, но даже на их количестве.
Не секрет, что популярность карт Кохонена обусловлена в значительной степе- ни их эстетической привлекательностью и общим впечатлением наукообразия и за- гадочности, которое они производят на неискушённых пользователей. На практике

27
они применяются в основном как вспомогательное средство для предварительного визуального анализа и понимания общей структуры многомерных данных.
1.3.3
Гибридные сети встречного распространения
Ещё одно важное применение нейронов Кохонена с их способностью кластери- зовать исходные векторы — кусочная аппроксимация функций.
Рассмотрим задачу восстановления регрессии, когда на элементах обучающей выборки X

= {x i
}

i=1
заданы вещественные ответы y i
= y

(x i
). Идея заключается в том, чтобы сначала разбить обучающие объекты (и всё пространство X) на кла- стеры, не пользуясь ответами y i
, затем для каждого кластера построить свою ло- кальную аппроксимацию целевой зависимости y

. При использовании правила жёст- кой конкуренции WTA эти аппроксимации никак не «склеиваются», и зависимость a(x) получается кусочно-непрерывной. Правило мягкой конкуренции WTM позволя- ет «склеить» локальные куски и получить сколь угодно гладкую аппроксимацию.
Кусочно-постоянная аппроксимация.
Чтобы алгоритм кластеризации (
1.11
) пре- вратить в алгоритм кусочной аппроксимации, к нему добавляется ещё один нейрон с линейной функцией активации, образующий третий слой с весами v
1
, . . . , v
M
:
a(x) = v m

(x)
=
M
m=1
v m
m

(x) = m ;
(1.15)
m

(x) = arg min m=1,...,M
ρ(x, w m
);
где m

(x) — номер нейрона-победителя на объекте x, вычисляемый по правилу WTA.
При квадратичной функции потерь задача настройки весов v m
легко решается аналитически:
Q(v) =

i=1
a(x i
) − y i
2
→ min v
;
1 2
∂Q
∂v m
=

i=1
a(x i
) − y i
m

(x i
) = m = 0.
Подставляя сюда выражение для a(x i
) из (
1.15
), получаем v
m
=

i=1
y i
m

(x i
) = m

i=1
m

(x i
) = m
Проще говоря, оптимальное значение весового коэффициента v m
есть среднее y i
по всем объектам x i
, попавшим в m-й кластер. Ответ алгоритма a(x) для всех объек- тов, попадающих в m-й кластер, будет одинаков и равен v m
. Это означает, что a(x)
реализует кусочно-постоянную функцию.

28
Гладкая аппроксимация строится с помощью правила мягкой конкуренции WTM
при выбранном гладком ядре K(ρ). Алгоритм a(x) представляет собой формулу На- дарая-Ватсона для сглаживания ответов v m
по M точкам — центрам кластеров:
a(x) =
M
m=1
v m
K ρ(x, w m
)
M
s=1
K ρ(x, w s
)
В этом случае задача минимизации Q(v) сводится к решению системы линейных уравнений размера M × M. Вместо явного решения системы можно снова воспользо- ваться методом стохастического градиента. На каждой итерации обновляются и веса слоя Кохонена w m
, и веса третьего (выходного) слоя v m
:





w m
:= w m
− η(w m
− x i
)K ρ(x i
, w m
) ;
v m
:= v m
− η(a(x i
) − y i
)
K ρ(x i
, w m
)
M
s=1
K ρ(x i
, w s
)
;
Заметим, что обновление весов w m
влияет на веса v m
, а обратного влияния нет.
Данный метод получил название встречного распространения ошибки, по- скольку второй слой настраивается по правилу Кохонена, а третий слой — так же,
как в методе back-propagation.
Упражнения
Упр. 1.1.
Доказать: в задачах классификации с двумя классами Y = {0, 1} персептронное пра- вило (
1.2
) переходит в правило Хэбба (
1.3
), если изменить метку класса 0 на −1.
Упр. 1.2.
Доказать, что в однослойном персептроне с линейной функцией активации при квад- ратичном функционале ошибки оптимальная величина темпа обучения η даётся формулой (
1.10
).
Упр. 1.3.
Вывести формулы вычисления вторых производных

2
Q
∂w
2
jh
, необходимые для реализации диагонального метода Левенберга-Марквардта, в алгоритме обратного распространения ошибок.
Список литературы
[1] Головко В. А. Нейронные сети: обучение, организация и применение. — М.: ИПР-
ЖР, 2001.
[2] Колмогоров А. Н. О представлении непрерывных функций нескольких перемен- ных в виде суперпозиции непрерывных функций одного переменного // Докл.
АН СССР
. — 1958. — Т. 114, № 5. — С. 953–956.
[3] Нейроинформатика / А. Н. Горбань, В. Л. Дунин-Барковский, А. Н. Кирдин,
Е. М. Миркес, А. Ю. Новоходько, Д. А. Россиев, С. А. Терехов и др. — Новоси- бирск: Наука, 1998. — С. 296.
[4] Тихонов А. Н., Арсенин В. Я. Методы решения некорректных задач. — М.: На- ука, 1986.
[5] Яблонский С. В. Введение в дискретную математику. — М.: Наука, 1986.

29
[6] Bartlett P. The sample complexity of pattern classification with neural networks:
the size of the weights is more important than the size of the network // IEEE
Transactions on Information Theory
. — 1998. — Vol. 44, no. 2. — Pp. 525–536.
http://discus.anu.edu.au/
bartlett
[7] Durbin R., Rummelhart D. E. Product units: A computationally powerful and biologically plausible extension to backpropagation networks // Neural
Computation
. — 1989. — Vol. 1, no. 4. — Pp. 133–142.
[8] Hassibi B., Stork D. G. Second order derivatives for network pruning: Optimal brain surgeon // Advances in Neural Information Processing Systems / Ed. by S. J. Hanson,
J. D. Cowan, C. L. Giles. — Vol. 5. — Morgan Kaufmann, San Mateo, CA, 1993. —
Pp. 164–171.
http://citeseer.ist.psu.edu/hassibi93second.html
[9] Hastie T., Tibshirani R., Friedman J. The Elements of Statistical Learning. —
Springer, 2001.
[10] LeCun Y., Bottou L., Orr G. B., Muller K.-R. Efficient BackProp // Neural
Networks: tricks of the trade. — Springer, 1998.
[11] LeCun Y., Denker J., Solla S., Howard R. E., Jackel L. D. Optimal brain damage //
Advances in Neural Information Processing Systems II / Ed. by D. S. Touretzky. —
San Mateo, CA: Morgan Kauffman, 1990.
http://citeseer.ist.psu.edu/lecun90optimal.html
[12] McCulloch W. S., Pitts W. A logical calculus of ideas immanent in nervous activity //
Bulletin of Mathematical Biophysics
. — 1943. — no. 5. — Pp. 115–133.
[13] Minsky M., Papert S. Perceptrons: an Introduction to Computational Geometry. —
MIT Press, 1968.
[14] Novikoff A. B. J. On convergence proofs on perceptrons // Proceedings of the
Symposium on the Mathematical Theory of Automata. — Vol. 12. — Polytechnic
Institute of Brooklyn, 1962. — Pp. 615–622.
[15] Rummelhart D. E., Hinton G. E., Williams R. J. Learning internal representations by error propagation // Vol. 1 of Computational models of cognition and perception,
chap. 8. — Cambridge, MA: MIT Press, 1986. — Pp. 319–362.
[16] Smola A., Bartlett P., Scholkopf B., Schuurmans D. Advances in large margin classifiers. — MIT Press, Cambridge, MA. — 2000.
http://citeseer.ist.psu.edu/article/smola00advances.html
[17] Stone M. N. The generalized Weierstrass approximation theorem // Math. Mag. —
1948. — Vol. 21. — Pp. 167–183, 237–254.
[18] Widrow B., Hoff M. E. Adaptive switching circuits // IRE WESCON Convention
Record. — DUNNO, 1960. — Pp. 96–104.

Document Outline




Поделитесь с Вашими друзьями:


База данных защищена авторским правом ©nethash.ru 2019
обратиться к администрации

войти | регистрация
    Главная страница


загрузить материал