ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 07.11.2023
Просмотров: 503
Скачиваний: 23
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
5.4. Искусственные нейронные сети и их обучение
247
Искусственные нейронные сети выгодно использовать совместно с процедурами неконтролируемого или частично контролируемого обу- чения. Построение обученной сети под полным управлением является трудоемким процессом как из-за большого размера структуры сети, так и из-за значительного количества итераций обучения.
5.4.3. Персептрон. Персептронный нейрон — нейрон, имеющий пороговую активационную функцию. Розенблаттом была доказана тео- рема, что сеть персептронов может быть обучена распознаванию лю- бого входного сигнала, удовлетворяющего требованиям персептронной представляемости, сформулированной Минским. Однослойный персеп- трон представляет собой логическую функцию входного сигнала. Каж- дый из нейронов слоя является координатой точки в n-мерном про- странстве, где n — количество нейронов в слое. В совокупности персеп- трон с n входами определяет гиперплоскость в n-мерном пространстве,
и выход персептрона принимает значение {0, 1} в зависимости от того,
с какой стороны плоскости находится входной сигнал. Однослойным персептроном может быть представлена только такая зависимость меж- ду входным и выходным сигналами, которая является линейно раз- делимой. Многие функциональные зависимости не являются линейно разделимыми: например, функция «ИСКЛЮЧАЮЩЕГО ИЛИ»:
XOR
a,b
=
(
1 ⇔ a 6= b,
0 ⇔ a = b.
Попытка обучить однослойный персептрон распознаванию такого рода зависимостей приведет к коллапсу.
Эта проблема частично снимается, если использовать многослойные персептронные сети. Так, двухслойная персептронная сеть позволяет соотносить входной сигнал с областью пространства, ограниченной выпуклым многогранником, а трехслойная — произвольным многогран- ником. Минский доказал, что в некоторых случаях объем персеп- тронной сети возрастает экспоненциально в зависимости от сложности задачи, следовательно, персептроны можно использовать для решения
«небольших» задач.
5.4.4. Процедура обратного распространения. Целью обучения является подстройка весов нейронов таким образом, чтобы приложение некоторого множества входов приводило к некоторому множеству вы- ходов. При обучении предполагается, что каждому входному вектору
X
i сопоставляется требуемый выходной вектор T
i
, вместе образующие обучающую пару (X, T )
i
. На обучающие пары накладывается следую- щие ограничения: допускается, что (∃i 6= j) (X
i
6= X
j
, T
i
= T
j
) и обя- зательно (∀i 6= j) (X
i
= X
j
) ⇒ (T
i
= T
j
)
. Перед началом обучения веса сети случайным образом инициализируются небольшими значе-
248
Гл. 5. Приобретение знаний и машинное обучение
ниями, например, w ij
∈ (−1, 1). Это позволяет избежать насыщения большими значениями весов, а также избежать «забывания». Общий вид процедуры обучения [113–115]:
1. Инициализировать веса сети случайным образом.
2. Из множества обучающих пар случайным образом выбрать пару.
3. Вычислить разность между выходом сети и учителем (получить ошибку).
4. Подкорректировать веса сети для минимизации ошибки.
Шаги 2–4 повторяются до тех пор, пока ошибка на всем обучающем множестве не достигнет приемлемого уровня.
Корректировка весов осуществляется в соответствие с δ-правилом:
• Осуществляется проход вперед (работает обычный алгоритм сети,
на вход сети подается вектор X обучающей пары).
• Для выходного слоя осуществляется обучение с учителем: вычис- ляется вектор ошибки E = (e
1
, e
2
, ... , e n
), где n — количество ней- ронов в выходном слое. e i
=
∂F (NET
i
)
dNET
(T
i
− OUT
i
) — ошибка i-го нейрона выходного слоя. Общая ошибка обучения сети ε
2
=
n
P
i=1
e
2
i
Предполагается ∀i∃
∂F (NET
i
)
dNET
. Если X = (x
1
, x
2
, ... , x k
) — вход обучаемого слоя нейронов, W ∈ Mat n×k
— матрица весов ней- ронов выходного слоя, то для каждого из весов вычисляется величина необходимой корректировки на m-й итерации обуче- ния ∆
m w
ij
= ηe i
x j
, i = 1, 2 ... , n — индекс нейрона в слое,
j = 1, 2 ... , k — индекс веса, η ∈ (0, 1) — некоторый коэффи- циент обучения, постепенно уменьшающийся с ростом количе- ства итераций обучения, вводится с целью избежать эффекта забывания. После итерации обучения веса слоя примут значения w
m+1
ij
= w m
ij
+ ∆
m w
ij
• Для нейронов скрытых слоев производится процедура обучения без учителя, процедура самоорганизации. Для каждого из скры- тых слоев по направлению к входу сети выполняется процеду- ра обратного распространения. Компоненты вектора ошибки для слоя q E
q
= (e q
1
, e q
2
, ... , e q
n
) вычисляются по следующей формуле:
e q
i
=
∂F
q
(NET
i
)
dNET
r
P
j=1
e q+1
j w
ji
, где r — количество нейронов в сле- дующем слое, т. е. вектор ошибки E
q+1
проходит в обратном направлении через слой q + 1. В векторной записи, если W
q+1
∈
∈ Mat k×r
— матрица весов следующего слоя, а E
q+1
— ошибка на этом слое, вектор ошибок текущего обучаемого слоя вычисля- ется следующим образом: E
q
=
∂F
q
(NET)
∂NET
⊗ [(W
q+1
)
∗
E
q+1
]. Здесь
⊗ — оператор покомпонентного умножения векторов. Предпо-
5.4. Искусственные нейронные сети и их обучение
249
лагается дифференцируемость активационной функции слоя q.
Если X
q
= (x q
1
, x q
2
, ... , x q
k
) — вход обучаемого слоя нейронов,
W
q
∈ Mat n×k
— матрица весов нейронов обучаемого слоя, то для каждого из весов вычисляется величина необходимой коррек- тировки ∆
q w
ij
= ηe q
i x
q j
, i = 1, 2 ... , n — индекс нейрона в слое,
j = 1, 2 ... , k — индекс веса. Процедура подстройки весов скры- тых слоев повторяется от последнего скрытого слоя по направле- нию к входу сети.
С целью ускорить и увеличить устойчивость процесса обучения,
используются различные методы:
• Введение импульса — скачкообразного изменения весов. Позво- ляет избежать остановки обучения в локальных минимумах.
• Использование памяти обучения (экспоненциальное сглажива- ние). Снижает вероятность забывания.
• Введение стабилизирующего (постоянного) входа для каждого слоя нейронов. Позволяет избежать неограниченного роста весов.
Часто детерминированный метод обучения с помощью процедуры обратного распространения комбинируется со стохастическими мето- дами, которые осуществляют псевдослучайное изменение весов и со- храняют лишь те изменения, которые ведут к улучшению выходного результата. В чистом виде, стохастические методы ведут к общему увеличению числа итераций обучения, так как не всегда выполняется правильная корректировка весов, но они позволяют избежать локаль- ных минимумов.
Процесс обучения конечен, но может быть неопределенно долгим.
Неудачными исходами обучения являются коллапс сети, остановка обучения в локальных минимумах, забывание (временная неустойчи- вость). Нет конкретных общих рекомендаций для преодоления этих проблем — процесс обучения должен варьироваться в зависимости от задачи.
Результаты обучения можно оценить, предъявляя на вход обученной сети элементы обучающего множества или специального тестирующего множества, сравнивая выход сети с ожидаемым результатом, статисти- чески рассчитывая процент удачных распознаваний.
5.4.5. Сети встречного распространения. Процедура встречного распространения не настолько общая, как процедура обратного распро- странения, однако для некоторых задач она может дать значительное ускорение процесса обучения. Сеть встречного распространения объ- единяет в себе самоорганизующуюся карту Кохонена и звезду Гросс- берга, которые в сочетании дают свойства, не присутствующие ни у одной из этих структур в отдельности [120]. Сеть используется для распознавания образов. Предварительная обработка входного сигнала
250
Гл. 5. Приобретение знаний и машинное обучение
и обобщающие свойства сети позволяют использовать ее для распо- знавания зашумленных или неизвестных сети экземпляров входных сигналов, восстановления образов и усиления слабых сигналов.
Входные и выходные векторы сети могут быть как дискретными,
так и непрерывными.
Общий смысл функционирования сети встречного распространения сводится к группировке похожих входных образов в n-мерном евклидо- вом пространстве по линейной метрике вокруг некоторой точки, в связи с этим очень важен правильный выбор факторов для распознавания и правильный подбор порогов. Для большого количества распознаваемых классов сеть может быть неэффективной и лишенной общности.
Перед предъявлением нейронной сети,
входной вектор
X = (x
1
, x
2
, ... , x n
) нормируется по длине: X
′
= (x
′
1
, x
′
2
, ... , x
′
n
),
x
′
i
= x i
.qP
n j=1
x
2
j
, т. е. входные сигналы лежат на поверхности единичной гиперсферы.
В нормальном функционировании карта Кохонена выполняет соот- несение входного сигнала к одному из известных классов (соответству- ющему нейрону слоя) — на предъявление входного сигнала возбуж- дается один, и только один, нейрон. Каждый нейрон слоя Гроссберга при нормальном функционировании фактически выдает величину веса,
связывающего его с ненулевым нейроном слоя Кохонена.
Для обучения сети веса слоя Кохонена инициализируются случай- ными значениями из области (−1, 1), а веса слоя Гроссберга — нулевы- ми значениями. Обучение слоя Гроссберга осуществляется аналогично обучению выходного слоя в процедуре обратного распространения.
Карта Кохонена является самоорганизующейся, обучается без учителя,
и на каждой итерации обучения корректируются веса только того нейрона, который дал максимальный выход для поданного входного сигнала, — нейрон-победитель. Если i — индекс нейрона-победителя,
и n — размерность нейрона (размерность входа), то для каждого веса победившего нейрона осуществляется корректировка на величину
∆w ij
= η (x − w ij
), j = 1, 2, ... , n.
Сеть встречного распространения является простой, распространен- ной, хорошо изученной, эффективной и удобной структурой для ре- шения задач распознавания зашумленных образов фиксированной раз- мерности, как искусственного, так и естественного [real-life domains]
происхождения.
К минусам можно отнести неэффективное использование памя- ти слоя Кохонена, поскольку в принятии решения участвует только один нейрон из всего слоя. Также к минусам можно отнести потерю общности сети в случае, если похожие входные образы принадлежат к разным классам.
5.4. Искусственные нейронные сети и их обучение
251
5.4.6. Сети с обратными связями. Некоторые из конфигураций сетей с обратными связями носят название сетей Хопфилда — см.
рис. 5.11. Сеть (нейронный слой) с обратными связями представляется матричным дифференциальным уравнением и является динамическим.
Слой является устойчивым, если для любого входного сигнала после приемлемого количества итераций выход слоя стабилизируется. Оче- видно, теоретическое решение уравнения слоя должно быть устойчи- вым. Это достижимо в случаях, если матрица весов слоя обратной связи симметрична: W ∈ Mat n×x
= W
∗
, и имеет нули на главной диа- гонали ∀i ((i = 1, 2, ... , n) ⇒ (w ii
= 0)). Условие симметричности мат- рицы достаточно, но не всегда необходимо для устойчивости системы.
В некоторых случаях незначительное отклонение от симметрии приво- дит к непрерывным угасающим осцилляциям выходного сигнала.
Рис. 5.11.
Значение выхода нейронного слоя NET
i
=
P
j6=i w
ji
OUT
j
+ x i
, где
X = (x
1
, ... , x m
) — входной вектор. Значение выхода сети OUT
i
=
= F (NET
i
). Считается, что сеть приняла стабильное состояние на i-й итерации, если на каждой следующей итерации изменение выхода сети меньше некоторого фиксированного значения:
∀j ∃ε > 0
(j > i) ⇒
m
X
k=1
h
OUT
i k
− OUT
j k
i
2
< ε
2
252
Гл. 5. Приобретение знаний и машинное обучение
Сети с обратными связями реализуют ассоциативную память, что проявляется в способности восстановить выходной сигнал по неполно- му или искаженному входному сигналу. Для этого на вход обученной сети с обратными связями подается распознаваемый сигнал. После пер- вого прохода вычислений входной сигнал снимается (подается нулевой вектор: kXk = 0) и сет´и предоставляется возможность «релаксиро- вать», итерационно приближаясь к ближайшему минимуму функции энергии.
В отличие от сетей без обратных связей, обучение сети Хопфилда реализуется за 1 итерацию, но получение результата распознавания связано с итерационным процессом стабилизации выходного значения.
При детерминированном изменении состояния нейронов классиче- ские сети Хопфилда имеют тенденцию стабилизироваться в локальных минимумах. Машина Больцмана (Boltzmann machine), являющаяся развитием сетей Хопфилда, преодолевает этот недостаток путем сто- хастического (вероятностного) изменения весов нейронов. При фик- сированной температуре распределение энергии системы определяется вероятностным фактором Больцмана e
−
E/kT
, где E — энергия систе- мы, k — постоянная Больцмана, T — «температура» системы. Такой процесс напоминает процесс отжига металла.
Машина Больцмана имеет непрерывный аналоговый вход X и ассоциированный с ним двоичный выход. Для реализации вводится вероятность изменения веса как функция от величины превышения выходом нейрона его порога. Пусть E
k
= NET
k
− θ
k
, где θ
k
— порог активации k-го нейрона. Тогда p k
=
1 1 + e
−δE
k
/T
, где T — искусствен- ная температура системы. На стадии функционирования температуре
T приписывается большое значение, на вход системы подается входной вектор X и выходу каждого из нейронов с вероятностью p k
припи- сывается значение 1, и с вероятностью 1 − p k
значение 0. Процесс повторяется с постепенным понижением температуры до стабилизации системы.
Обобщенный метод обучения статистических сетей Хопфилда не гарантирует устойчивости системы.
Статистические сети Хопфилда с успехом реализуют процедуру аналого-цифрового преобразования (для непрерывного входного сигна- ла и дискретного порогового выхода со значениями OUT
i
= {0, 1}).
Кроме того, сети Хопфилда являются удачной эвристикой для ре- шения «задачи коммивояжера» (транспортной задачи). Граф маршрутов отображается на вычислительную сеть с большой крутизной актива- ционной функции, в которой каждый узел представлен n нейронами
(где n — общее количество узлов), выход одного, и только одного из которых равен 1 (остальные имеют значение 0). Порядковый номер
5.4. Искусственные нейронные сети и их обучение
253
нейрона в группе определяет порядковый номер, в котором данный узел посещается при обходе графа. Каждому нейрону приписываются два индекса (индекс узла и индекс порядка посещения), например,
значение OUT
ij
= 1 говорит о том, что узел i является j-м по порядку в маршруте. Функция энергии должна накладывать следующие огра- ничения:
• В каждой группе нейронов есть один, и только один возбужден- ный нейрон.
• Предпочтение отдается маршрутам с наименьшей длиной пути.
То есть,
E
1
= A/2
X
i
X
X
X
j6=i
OUT
Xi
OUT
Xj
+
+ B/2
X
i
X
X
X
Y 6=X
OUT
Xi
OUT
Y i
+ C/2
"
X
X
X
i
OUT
Xi
!
− n
#
2
,
E
2
= 1/2D
X
i
X
X
X
Y 6=X
d
XY
OUT
Xi
(OUT
Y ,i+1
+ OUT
Y ,i−1
),
где d
XY
— вес дуги между узлами X и Y ,
E = E
1
+ E
2
Большие значения A, B и C гарантируют корректность решения,
а большое значение D — поиск маршрута с меньшим весом.
Начальная настройка весов сети имеет вид w
Xi,Y j
= −Aλ
XY
(1 − λ
ij
) − Bλ
ij
(1 − λ
xy
) − C − Dλ
xy
(λ
j,i+1
+ λ
j,i−1
),
где
λ
ij
=
(
1 ⇔ (i = j),
0 ⇔ (i 6= j),
активационная функция
F (NET) =
1 2
1 + th
NET
u
0
.
Данным способом была произведена попытка решить систему для графа с 10 узлами. В сравнении с полным перебором, решения были найдены гораздо быстрее, все оказались допустимыми и около 50 %
решений было оптимальными.
Как и все нейронные сети, сети Хопфилда позволяют легко распа- раллеливать процесс вычисления как в аналоговых, так и на цифровых
254
Гл. 5. Приобретение знаний и машинное обучение
реализациях, что повышает скорость вычисления. Кроме того, слож- ность задачи (например для задачи коммивояжера) растет квадратично с ростом размерности, а не экспоненциально, как при полном пере- боре).
К явным недостатком сетей Хопфилда можно отнести неэффектив- ное использование нейронной памяти: практически доказано, что коли- чество запоминаемых ассоциаций не может превоходить размерность сети, а на практике это значение близко к 0,15 N, где N — размерность сети.
Г л а в а 6
1 ... 25 26 27 28 29 30 31 32 33