Uploaded by workfor 24x7

Бодянский Е.В., Руденко О.Г. Искусственные нейронные сети: архитектуры, обучение, применения.

advertisement
Бодянский Е.В., Руденко О.Г.
Бодянский Е.В., Руденко О.Г.
Искусственные нейронные сети: архитектуры, обучение, применения.
В монографии с единых позиций рассмотрены основные типы нейронов, архитектур,
алгоритмов обучения искусственных нейронных сетей. Особое внимание уделяется задачам
обработки информации в реальном времени: классификации, эмуляции, прогнозирования,
управления и. т.п. в условиях структурной и параметрической неопределенности. Наряду с
традиционными книга содержит оригинальные результаты, связанные с оптимизацией
процессов обучения.
Для специалистов в области информационных технологий, в том числе
вычислительного интеллекта, компьютерной обработки данных, современной теории
управления. Может быть полезна студентам старших курсов и аспирантам соответствующих
специальностей.
Бодянський Є.В., Руденко О.Г.
Штучні нейронні мережі: архітектури, навчання, застосування.
В монографії з єдиних позиції розглянуто основні типи нейронів, архітектур,
алгоритмів навчання штучних нейронних мереж. Особлива увага приділяється задачам
обробки інформації в реальному часі: класифікації, емуляції, прогнозування, керування тощо
за умов структурної та параметричної невизначеності. Поряд з традиційними книга містить
оригінальні результати, що пов’язані з оптимізацією процесів навчання.
Для фахівців в галузі інформаційних технологій, в тому числі обчислювального
інтелекту, комп’ютерної обробки даних, сучасної теорії керування. Може бути корисною
студентам старших курсів і аспірантам відповідних спеціальностей.
Bodyanskiy Ye. V., Rudenko O.G.
Artificial neural networks: architectures, learning, applications.
In this monograph, basic types of neurons, architectures, and learning algorithms of artificial
neural networks are considered from the unified standpoint. Special emphasis is placed on real-time
information processing, which includes classification, emulation, forecasting, control, etc., under
structural and parametric uncertainty. The book covers, along with the traditional approaches, some
original results in optimization of learning processes.
The monograph is intended for the specialists in information technologies, including
computational intelligence, computer-aided data processing, modern control theory. It can also be
useful for the undergraduate and graduate students specializing in the corresponding fields.
Bodyanskiy Ye. V., Rudenko O.G.
Kuenstliche neuronale Netze: Architekturen, Training, Anwendungen
In der Monografie werden die Grundtypen von Neuronen, Architekturen und Lernalgorithmen
fuer kuenstliche neuronale Netze betrachtet. Besondere Aufmerksamkeit wird den Problemen der
online-Verarbeitung gewidmet: Klassifikation, Emulation, Vorhersage, Regelung usw. unter
Bedingungen struktureller und parametrischer Unbestimmtheit. Neben den traditionellen enthaelt
das Buch eigene Ergebnisse in Verbindung mit der Optimierung der Trainingsprozesse.
Das Buch richtet sish an Spezialisten auf dem Gebiet der Informationstechnologien,
insbesondere der Kuenstlichen Intelligenz sowie computergestuetzter Datenverarbeitung in der
Regelungstechnik. Es kann darueber hinaus nuetzlich sein fuer Studenten hoeherer Semester und
Doktoranten entsprechender Fachrichtungen.
1 ИСКУССТВЕННЫЕ НЕЙРОНЫ
1 ИСКУССТВЕННЫЕ НЕЙРОНЫ
Узлы искусственной нейронной сети, именуемые также искусственными
нейронами (нейронными клетками, формальными нейронами) представляют
собой элементарные процессоры и являются упрощенными моделями
биологических нейронов. Это упрощение определяется прежде всего тем, что
инженеров интересуют только функции нейронов, связанные с переработкой
информации. Кроме того, не следует забывать о высокой сложности
биологических систем, которые в полной мере просто не поддаются
математическому описанию. Поэтому в теории ИНС нейрон – это система
отображения из n - мерного пространства входов, формируемого сигналами с
выходов других нейронов, либо внешней средой, в одномерное пространство
(скалярный сигнал) на выходе нейронной клетки. Большинство нейронных
сетей образовано однотипными нейронами – это гомогенные (однородные)
сети, хотя известны гетерогенные сети, сконструированные из различных
нейронов. Заметим также, что нейроны бывают аналоговыми и бинарными,
хотя это деление чисто условно, поскольку один и тот же формальный нейрон
может функционировать как в аналоговом, так и в цифровом режимах.
1.1 Биологические основы
Биологический нейрон является особой биологической системой,
предназначенной для передачи и обработки информации в живых организмах.
Упрощенная схема нейрона приведена на рис. 1.1.
Рис. 1.1 – Биологические нейроны
11
Нейрон состоит из тела клетки, или сомы, дендритов, аксона и синапсов.
Тело клетки включает ядро, которое содержит информацию о
наследственных свойствах, и плазму, обладающую молекулярными средствами
для создания необходимых нейрону материалов. Именно в соме реализуются
основные функции, связанные с генетическими и метаболическими
механизмами,
необходимыми
для
жизнедеятельности,
а
также
информационные функции.
Аксон – это нервное волокно, соединенное с сомой и являющееся
проводником выходного сигнала. Аксон имеет разветвления – волокна,
называемые аксонными терминалами, по которым нервные импульсы проходят
к другим нейронам.
Дендриты – очень разветвленное дерево волокон, соединенных с сомой.
Каждый нейрон имеет от 10 3 до 10 4 дендритов, которые связывают его со
множеством других клеток. Дендриты получают сигнал от других аксонных
терминалов через специальные контакты – синапсы. Синапс является
функциональным интерфейсом между двумя нейронами (аксонный терминал
одного нейрона и дендрит другого) и способен усиливать или подавлять сигнал
подобно электронному усилителю, определяя характер обработки информации
в соме. Синапсы условно можно подразделить на возбуждающие и тормозящие,
которые увеличивают или уменьшают (блокируют) сигнал. Нейроны передают
информацию, используя потенциал действия. Обработка этой информации
включает комбинацию электрических и химических процессов, протекающих в
синапсах. Когда импульс с аксонного терминала одного нейрона достигает
синапса другого, образуются специальные химические вещества, называемые
нейротрансмиттерами. Нейротрансмиттеры диффундируют через синапс,
возбуждая или затормаживая способность принимающего нейрона
генерировать электрические импульсы. Характеристики синапсов могут
перестраиваться проходящими через них сигналами так, что синапсы
обучаются в зависимости от типов протекающих в них процессов.
Упрощенно процесс функционирования биологического нейрона можно
описать следующим образом. Сома получает сигналы от других нейронов через
синаптические соединения и преобразует его в последовательность нервных
импульсов. Преобразование сигнала в соме в общем случае имеет существенно
нелинейный характер, хотя нейрофизиологи обнаружили [27], что в
определенных режимах выходной сигнал пропорционален линейной
комбинации входных, т.е. нейрон в некотором узком диапазоне может быть
описан линейной передаточной функцией. Выходной сигнал передается вдоль
разветвляющегося аксона к синапсам других нейронов. Интенсивность
выходного сигнала зависит как от уровня входных сигналов, так и
проводимости соответствующих синаптических связей. Информация между
нейронами передается посредством короткой серии импульсов, как правило,
продолжительностью несколько мсек. Сообщение передается с помощью
частотно-импульсной модуляции, при этом частота может меняться от единиц
до тысяч импульсов в секунду. Как видно, по скорости обработки информации
нейрон существенно уступает современным электронным схемам, однако, как
12
1 ИСКУССТВЕННЫЕ НЕЙРОНЫ
мы уже отмечали, высокая скорость обработки информации в мозге
обеспечивается распараллеливанием протекающих в нем процессов.
1.2 Нейрон Маккалоха-Питтса
В 1943 году У. Маккалох и У. Питтс предложили [10] в качестве
искусственного нейрона использовать бинарный (релейный) элемент. Этот
формальный нейрон вычислял взвешенную сумму n входных сигналов xi и
формировал на выходе единичный сигнал если эта сумма превышала
некоторый порог θ и нуль в противном случае. Этими же авторами было
показано, что при определенном выборе весов, система параллельно
функционирующих нейронов способна производить достаточно универсальные
вычисления.
В дальнейшем эта модель совершенствовалась и в настоящее время под
нейроном Маккалоха-Питтса понимают
многовходовой нелинейный
преобразователь со взвешенными входными сигналами, показанный на рис. 1.2.
θj
x1
w j1
x2
w j2
+
+
#
xn
Входы
ψ (u j )
+
Σ
uj
yj
+
w jn
Синапсы Дендриты
Сома
Аксон
Аксонные
терминалы
Рис. 1.2 – Нейрон Маккалоха-Питтса
На входы j - го нейрона поступает n сигналов x1 , x2 ,..., xn , которые
взвешиваются усилителями, реализующими синаптические веса, после чего
взвешенные значения w j1 x1 , w j 2 x2 ,..., w jn xn вместе с пороговым значением θ j ,
именуемым также сигналом смещения, подаются на сумматор ∑ , в
результате чего формируется внутренний сигнал u j . Сома биологического
нейрона моделируется с помощью некоторой нелинейной функции ψ (u j ) ,
называемой в теории ИНС либо активационной, либо передаточной функцией
формального нейрона.
Таким образом, математическая модель Маккалоха-Питтса может быть
записана в виде
13
⎞
⎛ n
y j = ψ ⎜⎜ ∑ w ji xi + θ j ⎟⎟,
⎠
⎝ i =1
(1.1)
⎞
⎛ n
y j = ψ ⎜⎜ ∑ w ji xi ⎟⎟,
⎠
⎝ i =0
(1.2)
или
где w j 0 = θ j , x0 ≡ 1 .
Вводя вектор синаптических весов j -го нейрона w j = ( w j 0 , w j1 ,..., w jn ) T и
вектор входов x = (1, x1 , x 2 ,..., x n ) T , можно переписать (1.2) в векторной форме
y j = ψ ( wTj x),
(1.3)
более компактной и удобной для анализа поведения как нейронов, так и
сформированных из них сетей.
Функциональные характеристики отдельных нейронов и сетей в целом
определяются видом используемых активационных функций. Так, если
первоначальная
модель
Маккалоха-Питтса
использовала
бинарный
ограничитель (релейную функцию), то в настоящее время используется
множество иных преобразований, некоторые из которых приведены на рис. 1.3.
ψ (u )
ψ (u )
1
1
u
θ
б) порогово-релейная
функция
u
а) релейная функция
ψ (u )
ψ (u )
1
1
⎧u, если u ≥ 0,
⎩0 в противном случае
ψ (u ) = ⎨
θl
θu u
в) линейно-пороговая
функция
u
г) функция-выпрямитель
14
1 ИСКУССТВЕННЫЕ НЕЙРОНЫ
ψ (u )
ψ (u )
1
1
⎧u , если u ≥ 0,
⎩0 в противном случае
ψ (u ) = u
ψ (u ) = ⎨
u
u
д) квадратичная функция
е) модульная функция
ψ (u )
γ >> 1
1
γ =1
0.5
γ =0
u
0
ψ (u ) =
ж) сигмоидальная функция
1
1 + e −γ u
Рис. 1.3 – Активационные функции нейронов
По причинам, которые будут изложены ниже, в нейронных сетях
наибольшее распространение получила сигмоидальная функция
yj =
1
1+ e
−γ u j
,
(1.4)
характеристики, которой в значительной мере зависят от параметра крутизны γ
(с ростом значения параметра функция (1.4) приближается к релейной, не
претерпевая при этом разрыва в точке 0 ).
Наряду с функциями, приведенными на рис. 1.3, широкое распространение
получили биполярные активационные функции, некоторые из которых
показаны на рис. 1.4.
Среди биполярных активационных функций наибольшее распространение
получили линейная
yj = uj
(1.5)
и функция гиперболического тангенса
15
ψ (u )
ψ (u )
1
1
u
u
−1
−1
а) линейный ассоциатор
б) сигнум-функция
ψ (u )
ψ (u )
1
1
u
−θ
θ
0
−1
−1
в) ограничитель с
насыщением
г) ограничитель с
гистерезисом
ψ (u )
ψ (u )
1
−θ
u
1
0 θ
−1
д) ограничитель с зоной
нечувствительности
u
−θ 0
θ
u
−1
е) сигнум-функция с зоной
нечувствительности
16
1 ИСКУССТВЕННЫЕ НЕЙРОНЫ
ψ (u )
γ >1
1
γ =1
γ <1
u
0
−1
ж) функция гиперболического тангенса ψ (u ) =
1− e
−2γ u j
1+ e
− 2γ u j
Рис. 1.4 – Биполярные активационные функции
y j = tanh(γ u j ) =
1− e
−2 γ u j
1+ e
− 2γ u j
.
(1.6)
Первая из них используется в модели простейшего нейрона, называемого
линейным ассоциатором, а вторая применяется в так называемых
аппроксимирующих нейронных сетях.
1.3 Квадратичный нейрон
В ряде случаев нелинейное преобразование можно обеспечить и с помощью
линейного ассоциатора путем специальной предварительной обработки
входных сигналов. На рис. 1.5 показан квадратичный нейрон, вычисляющий
функцию
n
n
n
y j = θ j + ∑ w ji xi + ∑∑ w jpl x p xl
i =1
(1.7)
p =1 l =1
с помощью набора элементарных блоков – умножителей и сумматоров
сигналов
θ j , w j1 x1 , w j11 x12 , w j12 x1 x2 , ..., w jpl x p xl , ..., w jnn xn2 .
Естественно,
что
количество синаптических весов в данном случае существенно увеличивается,
однако простота реализации зачастую обеспечивает преимущество именно
таким моделям, с помощью которых можно обеспечить полиномиальное
преобразование любой требуемой степени.
1.4 Обобщенный формальный нейрон
Одним из наиболее привлекательных свойств искусственных нейронных
сетей являются их универсальные аппроксимирующие возможности,
обеспечивающие широкое использование ИНС в разнообразных задачах
17
обработки информации.
θj
w j1
x1
×
w j11
×
w j12
w j2
x2
×
w j 22
#
#
×
xn
#
Σ
yj
#
w jkn
×
w j ln
w jn
×
w jnn
Рис. 1.5 – Квадратичный нейрон
Исследования в этом направлении были предприняты Хехт-Нильсеном [57, 58],
который на основе теоремы Колмогорова-Арнольда о представлении
непрерывных функций нескольких переменных в виде суперпозиций
непрерывных функций одной переменной доказал, что функция многих
переменных достаточно общего вида может быть представлена с помощью
двухслойной нейронной сети, содержащей фиксированное число нейронов с
заранее известными ограниченными функциями активации. Позже Цыбенко и
Хорник показали [59-61], что конечная линейная комбинация фиксированных
одномерных функций может однозначно аппроксимировать любую
непрерывную функцию n действительных переменных на заданном гиперкубе.
В качестве таких функций были предложены так называемые сигмоидальные
функции, являющиеся непрерывными, монотонными, возрастающими,
18
1 ИСКУССТВЕННЫЕ НЕЙРОНЫ
ограниченными и имеющими отличные от нуля производные на всей области
определения.
Рассмотрим формальный нейрон, приведенный на рис. 1.6 и являющийся
обобщением нейрона Маккаллоха-Питтса [62], с тем отличием, что в него
введены дополнительные настраиваемые блоки усиления γ j и Γ j .
θj
w j1
x1
+
w j2
x2
#
xn
+
+
Σ
uj
γj
ψ (γ j u j )
Γj
yj
+
w jn
Рис. 1.6 – Обобщенный формальный нейрон
Здесь параметр γ j управляет крутизной функции активации, а Γ j коэффициент усиления, определяющий максимальные и минимальные
значения выходного сигнала y j .
Несложно видеть, что выходной сигнал такого нейрона может быть
записан в виде
y j = Γ jψ (γ j wTj x).
(1.8)
Исторически первой в качестве сигмоидальной функции Цыбенко была
предложена конструкция вида (1.4)
0 < σ (γu ) =
1
< 1,
1 + e −γ u
(1.9)
определенная на множестве всех действительных чисел и принимающая только
положительные значения. В практических приложениях более удобной
оказалась кривая гиперболического тангенса (1.6)
− 1 < tanh(γu ) =
1 − e −2γ u
< 1,
1 + e − 2γ u
(1.10)
связанная с сигмоидой соотношением
19
⎛γ u ⎞ ⎞
⎟ + 1⎟⎟.
⎝ 2 ⎠ ⎠
1⎛
2⎝
σ (γ u ) = ⎜⎜ tanh ⎜
(1.11)
Задав ограничения на квадрате − 1 ≤ u j ≤ 1 , − 1 < y j < 1 , в качестве
возможных активационных функций нейрона (1.8) можно использовать
следующие:
ψ 1 (γu ) = tanh(γu ) =
ψ 2 (γ u ) =
1 − e −2γ u
1
,
Γ
<
,
1
tanh γ
1 + e − 2γ u
γu
1 + γ 2u 2
, Γ2 <
π
ψ 3 (γ u ) = sin( γ u ), Γ3 <
2
ψ 4 (γ u ) =
2
π
ψ 5 (γ u ) = γ u −
3
γ
(1.13)
,
1
,
⎛π ⎞
sin ⎜ γ ⎟
⎝2 ⎠
arctg (γ u ), Γ4 <
γ3
1+ γ 2
u 3 , Γ5 <
π
2arctgγ
(1.12)
(1.14)
,
3
.
3γ − γ 3
(1.15)
(1.16)
Графики данных зависимостей приведены на рис. 1.7.
yj
1
−1
0
1
uj
−1
Рис. 1.7 – Активационные функции обобщенного нейрона
Видно, что все эти функции отвечают предъявляемым требованиям. Так
как при обучении нейронных сетей приходится иметь дело как с самими
активационными функциями, так и с их производными, целесообразным
ψ j (•)
является такое представление функций
, которое упрощало бы
вычисление производных, обеспечивая тем самым и упрощение процесса
настройки нейронов сети.
Одним из возможных подходов к получению такого удобного описания
20
1 ИСКУССТВЕННЫЕ НЕЙРОНЫ
является представление функций ψ j (•) в виде степенного ряда. Так, разложив
(1.12)-(1.15) в ряд Маклорена, можно получить
1
2
17
(γ u ) 5 −
(γ u ) 7 + ....,
3
15
315
1
3
39
ψ 2 (γ u ) = γ u − (γ u ) 3 + (γ u ) 5 −
(γ u ) 7 + ....,
2
8
336
2
4
⎞
π⎛
π
π
π6
3
5
ψ 3 (γ u ) = ⎜⎜ γ u −
(γ u ) +
(γ u ) −
(γ u ) 7 + .... ⎟⎟,
2⎝
24
1920
322560
⎠
ψ 1 (γ u ) = γ u − (γ u ) 3 +
ψ 4 (γ u ) =
1
2⎛
1
1
⎞
3
5
7
⎜ γ u − (γ u ) + (γ u ) − (γ u ) + ....⎟,
π⎝
3
5
7
⎠
1
ψ 5 (γ u ) = γ u − (γ u ) 3 ,
3
(1.17)
(1.18)
(1.19)
(1.20)
(1.21)
при этом первые четыре члена разложения (1.17) – (1.20) обеспечивают
точность аппроксимации не хуже 10 −2 [63].
Характер изменения коэффициентов рядов позволяет предположить, что
выражения (1.17) – (1.20) в общем виде можно представить в виде ряда
L
ψ (γu ) = ϕ 0γu + ϕ 1 (γu ) + ϕ 2 (γu ) + ϕ 3 (γu ) + ... = ∑ ϕ l (γu ) 2l +1 ,
*
3
5
7
(1.22)
l =0
коэффициенты ϕ l которого удовлетворяют уравнению авторегрессии первого
порядка [64]
ϕ l +1 = αϕ l + ξ l +1 , − 1 < α < 0 , ϕ 0 = 1 ,
(1.23)
в котором параметр α и дисперсия случайной компоненты ξ могут быть
оценены с помощью известных соотношений метода наименьших квадратов:
L −1
L −1
α=
∑ϕ l +1ϕ l
l =0
L −1
∑ϕ
l =0
2
l
,
σ ξ2 =
∑ (ϕ l +1 − αϕ l ) 2
l =0
L −1
.
(1.24)
Результаты расчетов с использованием тех же четырех членов разложения
показали [63], что параметр α , обеспечивающий требуемые свойства
активационной функции, для всех рассмотренных кривых (1.12) – (1.16) лежит
в интервале − 0.5 < α < −0.3 , а σ ξ2 ≤ 10 −2 . На рис. 1.8 в качестве примера показана
активационная функция, представленная рядом (1.22), с α = −0.3 (сплошная
линия) и α = −0.5 (пунктирная линия) и коэффициентом усиления
21
−1
⎛ L −1 ⎞
Γ = ⎜⎜ ∑ ϕ l ⎟⎟ .
⎝ l =0 ⎠
*
(1.25)
yj
1
−1
0
1
uj
−1
Рис. 1.8 – Активационная функция в виде степенного ряда
Очевидно, что данная функция обладает всеми указанными выше
свойствами сигмоидальных функций, при этом дифференцирование полинома в
вычислительном смысле проще дифференцирования, например, функций (1.12)
- (1.15).
1.5 Нейрон Фукушимы
В середине 70-х годов К.Фукушима разработал искусственную нейронную
сеть, получившую название «когнитрон» и являющуюся формальной моделью
биологической системы восприятия и распознавания, инвариантную к
поворотам, сдвигам, изменениям масштабов образов [19, 48].
В основе когнитрона лежит нейрон Фукушимы [27], отличающийся от
нейрона Маккаллоха-Питтса тем, что если у последнего синаптические веса
могут быть положительными, отрицательными или нулевыми, то в модели
Фукушимы все веса полагаются неотрицательными, а входы разбиты на две
группы: возбуждающие и тормозящие. На рис. 1.9 приведена схема нейрона
Фукушимы.
Сигнал e j являющийся взвешенной суммой возбуждающих входов,
компенсируется сигналом h j , являющимся взвешенной комбинацией
тормозящих сигналов. Выходной сигнал нейрона описывается соотношением
n
⎛
⎞
⎜ 1 + ∑ a ji xi
⎟
⎜
i =1
− 1⎟⎟,
y j =ψ⎜
p
⎜ 1 + ∑ b ji vi
⎟
i =1
⎝
⎠
(1.26)
22
Возбуждающие
входы
1 ИСКУССТВЕННЫЕ НЕЙРОНЫ
⎧ x1
⎪
⎪
⎪
⎪ x2
⎨
⎪
#
⎪
⎪
⎪ xn
⎩
a j1
+
a j2
+
1+ e j
ej
Σ
1+ hj
+
−1
uj
yj
a jn
Тормозящие
входы
hj
⎧ v1
⎪
⎪
⎪
⎪ v2
⎨
⎪
#
⎪
⎪
⎪ vp
⎩
b j1
+
b j2
+
Σ
+
b jp
Рис. 1.9 – Нейрон Фукушимы
где
⎧u j , если u j ≥ 0,
ψ (u j ) = ⎨
⎩0 в противном случае
−
(1.27)
активационная функция типа «выпрямитель» (рис. 1.3 г).
При выполнении условия
n
1 + ∑ a ji xi
i =1
p
1 + ∑ b ji vi
>1
(1.28)
i =1
на выходе нейрона появляется сигнал
p
n
yj =
∑ a ji xi − ∑ b ji vi
i =1
i =1
p
1 + ∑ b ji vi
.
(1.29)
i =1
Если
p
∑ b ji vi << 1 ,
нейрон Фукушимы работает как линейный ассоциатор
i =1
(1.5), т.е.
23
n
p
i =1
i =1
y j ≈ ∑ a ji xi − ∑ b ji vi .
(1.30)
1.6 Стохастическая модель нейрона
Рассмотренные выше модели нейронов являются детерминированными,
поскольку реализуют однозначные отображения входных сигналов в выходной.
В ряде приложений более эффективным является использование так
называемых стохастических нейронов [9], в качестве которых могут быть
использованы нейроны Маккаллоха-Питтса с активационной сигнум-функцией
(рис. 1.4б). Отличие состоит в том, что выходной сигнал такого нейрона
определяется не только значениями входных сигналов и синаптических весов,
но и некоторой функцией распределения вероятностей состояний P (v) . При
этом
⎧+ 1 с вероятностью P (v),
yj = ⎨
⎩− 1 с вероятностью 1 − P (v).
(1.31)
В качестве такой функции чаще всего используется сигмоида
P (v ) =
1
1+ e
−
v
T
,
(1.32)
где T - переменная, называемая в теории ИНС псевдотемпературой и
определяющая уровень неопределенности состояний, v - параметр,
описывающий эффект синаптического шума в биологических системах. При
уменьшении псевдотемпературы (T → 0) стохастический нейрон превращается
в детерминированный.
1.7 Динамические нейроны
Все
введенные
ранее
искусственные
нейроны
описываются
алгебраическими уравнениями и являются статическими моделями. Это
означает, что фактор времени явно не влияет на поведение нейрона: выходная
реакция в текущий k -тый момент времени y j (k ) определяется только
входными сигналами в этот же момент времени x1 (k ), x 2 (k ),..., x n (k ) и никак не
зависит от прошлых состояний.
В задачах оптимизации и цифровой обработки сигналов широкое
распространение получили динамические нейроны, описываемые разностными
или дифференциальными уравнениями, поведение которых существенным
образом определяется их предысторией. К ним относятся нейроны Хопфилда,
Гроссберга, нейроны-осцилляторы и другие модели [26, 27, 32, 35].
Простейшим динамическим нейроном является нейрон Хопфилда,
24
1 ИСКУССТВЕННЫЕ НЕЙРОНЫ
описываемый рекуррентным уравнением
n
x j (k + 1) = ψ (∑ w ji xi (k ) + θ j ), k = 0,1,2,... ;
j = 1,2,..., n
(1.33)
i =1
и представленный на рис. 1.10.
θj
x1 (k )
w j1
#
x j (k )
+
w jj
+
#
x n (k )
ψ (u j (k + 1))
+
Σ
u j ( k + 1)
x j ( k + 1)
+
w jn
x j (k )
z −1
Рис. 1.10 – Нейрон Хопфилда
В цепь обратной связи включен элемент чистой задержки, реализующий
операцию сдвига назад ( z −1 x(k + 1) = x(k )) и обеспечивающий обычному нейрону
требуемые динамические свойства. Заметим, что с точки зрения современной
теории управления этот нейрон есть не что иное, как модель нелинейной
динамической системы в пространстве состояний. С другой стороны, уравнение
(1.33) описывает нелинейную марковскую последовательность первого порядка
[65], поведение которой определяется только предыдущим состоянием.
Несложно ввести модификацию стандартного нейрона Хопфилда, состояние
которой будут определятся более отдаленной предысторией. На рис. 1.11
приведен динамический нейрон, описываемый нелинейным уравнением
авторегрессии c экзогенными входами (NARX) вида
n
⎛ p
⎞
x j (k + 1) = ψ ⎜⎜ ∑ a jl x j (k − l ) + ∑ w ji xi (k ) + θ j ⎟⎟,
i =1
⎝ l =1
⎠
k = 0,1,2,...;
j = 1,2,..., n. (1.34)
Более сложной конструкцией является нейрон Гроссберга, в котором в
обратную связь поступают не только выходное состояние x j , но и внутренний
сигнал u j . На рис. 1.12 приведены возможные реализации этой динамической
модели.
25
θj
x1 (k )
w j1
#
x j (k )
+
w jj
+
#
x n (k )
ψ (u j (k + 1))
+
Σ
u j (k + 1)
x j (k + 1)
+
w jn
a j1
#
a jp
x j (k )
x j (k − 1)
x j (k − p)
z −1
z −1
#
z
−1
Рис. 1.11 – Модифицированный нейрон Хопфилда
θj
x1 (k )
w j1
#
x j (k )
+
w jj
+ +
+
#
x n (k )
Σ
ψ (u j (k + 1))
u j (k + 1)
x j (k + 1)
+ u j (k )
z −1
w jn
x j (k )
z −1
n
⎧
+
=
+
u
k
u
k
(
1
)
(
)
∑ w ji xi (k ) + θ j ,
⎪ j
j
а) ⎨
i =1
⎪ x (k + 1) = ψ (u (k + 1)), k = 0,1,2,...; j = 1,2,...., n,
j
⎩ j
(1.35)
26
1 ИСКУССТВЕННЫЕ НЕЙРОНЫ
θj
x1 (k )
w j1
#
x j (k )
+
w jj
+ +
+
#
x n (k )
Σ
ψ (u j (k + 1))
u j (k + 1)
x j (k + 1)
+
w jn
bj
u j (k )
x j (k )
z −1
z −1
n
⎧
+
=
+
u
k
b
u
k
(
1
)
(
)
∑ w ji xi (k ) + θ j ,
⎪ j
j j
б) ⎨
i =1
⎪ x (k + 1) = ψ (u (k + 1)), k = 0,1,2,...; j = 1,2,...., n.
j
⎩ j
(1.36)
Рис. 1.12 – Нейрон Гроссберга
Используя аппарат теории цифровой фильтрации [54-56], можно ввести и более
сложные конструкции динамических нейронов, одна из которых приведена на
рис. 1.13.
Этот нейрон описывается нелинейным разностным уравнением
q
p
n
⎧
+
=
−
+
+
−
+
(
1
)
(
1
)
(
)
u
k
b
u
k
g
a
x
k
l
∑ jg j
∑ jl j
∑ w ji xi (k ) + θ j ,
⎪ j
g =1
l =1
i =1
⎨
⎪ x (k + 1) = ψ (u ( k + 1)), k = 0,1,2,...; j = 1,2,...., n.
j
⎩ j
(1.37)
Естественно, что рассмотренными здесь нейронами не исчерпывается всё их
возможное разнообразие. Выбор известного или создание нового типа нейрона
определяется прежде всего конкретной проблемой, решаемой с помощью
нейросетевых технологий.
27
θj
x1 (k )
w j1
#
x j (k )
+
w jj
Σ
u j (k + 1)
+
+
+
+
+
#
x n (k )
+ +
ψ (u j (k + 1))
w jn
x j (k + 1)
b j1
#
b jq
a j1
#
a jp
u j (k )
#
u j (k − q + 1)
z
−1
x j (k )
x j (k − 1)
x j (k − p )
z −1
z −1
z −1
#
z
−1
Рис. 1.13 – Динамический цифровой нейрон-фильтр
28
2 ПЕРСЕПТРОНЫ
2 ПЕРСЕПТРОНЫ
Основной особенностью искусственных нейронных сетей и, естественно,
образующих их нейронов является способность к обучению, в процессе
которого синаптические веса настраиваются с помощью того или иного
адаптивного алгоритма с целью наиболее эффективного решения поставленной
проблемы.
2.1 Адалина
Одним из простейших обучающихся нейронов является АДаптивный
ЛИНейный Элемент (ADALINE), предложенный Б. Уидроу [66,67] и
приведенный на рис. 2.1.
1
w j0
x1
w j1
uj
+
x2
w j2
#
xn
#
+
+
+
Σ
1
uj
yj
−1
w jn
−
Алгоритм
обучения
ej = d j −u j
Сигнал ошибки
Σ
+
dj
Рис. 2.1 – Адалина
Структурно адалина весьма напоминает нейрон Маккаллоха-Питтса с
активационной сигнум-функцией и состоит из двух основных частей:
адаптивного линейного ассоциатора и нелинейной активационной функции.
Адалина имеет n + 1 входов – x0 , x1 ,..., xn и два выхода – аналоговый u j и
бинарный y j . Кроме того, имеется дополнительный вход, на который подается
обучающий сигнал d j , показывающий какой должна быть желаемая реакция
нейрона на каждый конкретный набор входных сигналов. Аналоговый выход
u j представляет собой взвешенную сумму входов x j
29
n
u j = ∑ w ji xi = wTj x,
(2.1)
i =0
а бинарный выход y j может принимать значения + 1 или − 1 в зависимости от
полярности аналогового сигнала u j . Выходной сигнал u j сравнивается с
внешним обучающим сигналом d j и возникающий при этом сигнал ошибки
e j = d j − u j поступает в алгоритм обучения, который перестраивает
синаптические веса так, чтобы минимизировать некоторую функцию ошибки
e j , называемую критерием обучения. В качестве такой функции чаще всего
используют квадратичную, что позволяет использовать для обучения не только
«родной» алгоритм, синтезированный Б. Уидроу и М. Хоффом специально для
адалины [27], но и множество рекуррентных процедур адаптивной
идентификации [46].
Адалина может использоваться как в качестве элементарного нейрона в
составе ИНС, так и самостоятельно в задачах распознавания образов, обработки
сигналов, реализации логических функций [6, 26, 32, 33, 47, 55, 68].
2.2 Персептрон Розенблатта
Элементарный персептрон Ф. Розенблатта структурно подобен адалине,
что видно из его схемы, приведенной на рис. 2.2.
1
w j0
x1
w j1
+
x2
w j2
#
xn
#
+
ψ (u j )
+
+
Σ
uj
yj
w jn
−
Алгоритм
обучения
ej = d j −u j
Σ
+
dj
Рис. 2.2 – Персептрон Розенблатта
Основное отличие состоит в алгоритме обучения, поскольку в адалине
30
2 ПЕРСЕПТРОНЫ
ошибка e j = d j − u j является линейной функцией от векторов входов x , в то
время как ошибка обучения персептрона e j = d j − y j от входов зависит
нелинейно, причем характер этой нелинейности определяется активационной
функцией ψ (•) , которая в общем случае может быть недифференцируемой
(например, сигнум-функция). Данное обстоятельство существенно затрудняет
процесс обучения персептрона и требует использования специальных
процедур.
Всплеск исследований, связанных с элементарными персептронами
пришелся на 60-е годы. В дальнейшем эти работы практически прекратились
после публикации монографии М. Минского и С. Пейперта [69], которые
показали весьма ограниченные возможности элементарного персептрона при
решении задач классификации или реализации логических функций (проблема
«исключающего ИЛИ» [14]).
2.3 Многослойный персептрон
Новый всплеск интереса к персептронам приходится на конец 80-х годов.
Именно к этому периоду относится появление многослойных искусственных
нейронных сетей и алгоритмов их обучения. Как уже отмечалось, свойства
ИНС в значительной мере определяются их топологией (архитектурой). На
сегодня большинство существующих нейронных сетей в зависимости от
архитектуры может быть разбито на три большие категории[27]: многослойные
с прямой передачей информации, в которых отдельные нейроны объединены в
слои, между которыми информация передается в одном направлении от входа к
выходу (рис. 2.3а), рекуррентные (с обратной связью), в которых сигналы с
выхода могут подаваться на вход или внутренние слои сети (рис. 2.3б) и
клеточные, в которых каждый нейрон связан только со своими соседями (рис.
2.3в).
x
L1
L2
L3
Первый
(скрытый)
слой
Второй
(скрытый)
слой
Третий
(выходной)
слой
y
а)
x
L1
Σ
L2
y
L3
б)
31
ψ
ψ
ψ
ψ
ψ
ψ
ψ
ψ
ψ
ψ
ψ
ψ
в)
Рис.2.3 – Архитектуры нейронных сетей
Наиболее ярким представителем ИНС с прямой передачей информации
являются многослойные персептроны. В общем случае каждый нейрон данного
слоя однонаправленно связан со всеми нейронами последующего слоя. Эти
связи организованы через синаптические веса, которые действуют как
усилители в соответствующих каналах. Например, в трехслойном персептроне,
схема которого приведена на рис. 2.4а (сигналы смещения θ j для простоты
изображения опущены), нейроны сгруппированы в последовательные слои:
нулевой, первый, второй и третий. Нейроны нулевого слоя, иногда называемого
входным, не производят никаких вычислений, а служат лишь для передачи
вектора входных сигналов x = ( x1 , x 2 ,..., x n ) T на нейроны слоя, называемого
первым скрытым слоем. Сигналы с первого слоя поступают на второй скрытый
слой и далее на третий. Последний третий слой является выходным и в нем
формируется вектор выходных сигналов y ИНС в целом. Теоретически
количество слоев может быть произвольно большим, однако рядом авторов
было доказано [58, 60, 61, 70], что для решения сколь угодно сложных задач
аппроксимации и распознавания образов достаточно лишь трех слоев, т.е.
трехслойный персептрон является универсальным аппроксиматором.
Заметим, что в многослойных персептронах связи между нейронами
внутри слоя или от высшего к низшему слою запрещены, при этом количество
нейронов, а соответственно и синаптических весов в каждом слое различно.
Каждый нейрон (а это, как правило, элементарный персептрон Розенблатта)
имеет один выход и множество входов, которые в свою очередь являются
выходами всех нейронов предыдущего слоя.
Обозначив внутренний сигнал j -го нейрона s -го слоя, содержащего n s
нейронов, как u [js ] ( s = 1,2,3; j = 1,2,..., n s ), несложно представить его в виде
взвешенной суммы выходов предыдущего слоя
32
2 ПЕРСЕПТРОНЫ
u
[s]
j
ns −1
= ∑ w[jis ] oi[ s −1] ,
(2.2)
i =0
где w[jis ] - синаптические веса, связывающие каждый нейрон s -го слоя со всеми
нейронами предыдущего слоя так, что oi[ s −1] = xi[ s ] , oi[ 0] = xi , oi[3] = y i . Тогда выход
каждого нейрона есть нелинейное преобразование, вида
ns −1
o [js ] = ψ [js ] (u [js ] ) = ψ [js ] ( ∑ w[jis ] oi[ s −1] ),
(2.3)
i −0
где для сокращения записи величена смещения θ [sj ] обозначается как
синаптический вес w[js0] = θ [js ] , а o0[ s −1] ≡ 1 .
Используя векторно-матричную форму, можно записать преобразование,
осуществляемое каждым слоем, в компактном виде
o [ s ] = Ψ [ s ] (W [ s ] x [ s ] ) = Ψ [ s ] (W [ s ] o [ s −1] ),
где
o [ s ] = (o0[ s ] , o1[ s ] , o2[ s ] ,..., on[ ss ] ) T − ((n s + 1) × 1)
x [ s ] = ( x0[ s ] , x1[ s ] ,..., x n[ ss −]1 ) T = o [ s −1] − ((n s −1 + 1) × 1) -
-
выходной
(2.4)
вектор
входной
сигналов,
вектор,
W [ s ] − ((n s + 1) × (n s −1 + 1)) - матрица синаптических весов, Ψ [ s ] (•) - диагональный
нелинейный оператор, образованный активационными функциями всех
нейронов ψ [js ] .
С учетом введенных обозначений уравнение трехслойного персептрона
принимает вид
y = Ψ ( x) = Ψ [3] (W [3] Ψ [ 2] (W [ 2] Ψ [1] (W [1] x))),
(2.5)
а сама ИНС может быть представлена в компактной форме, приведенной на
рис. 2.4 б.
На сегодня многослойный персептрон, пожалуй, наиболее распространенная
нейросеть, нашедшая применение во многих областях. Однако для того, чтобы
обеспечить требуемое поведение ИНС в процессе преобразования входных
сигналов в выходные, необходимо соответствующим образом организовать
процедуру обучения. Процессы обучения искусственных нейронных сетей
подробно будут рассмотрены в последующих разделах.
33
Ψ [1] = diag{ψ [j1] }
W [1] = {w[ji1] }
x1
x2
Σ
u1[1]
Σ
u 2[1]
Σ
u n[11]
#
xn
Нулевой слой n = n0 нейронов
ψ
ψ
W [ 2 ] = {w[ji2] }
o1[1]
[1]
1
o2[1]
[1]
2
on[11]
ψ n[11]
Первый скрытый
слой - n1 нейронов
Ψ [ 2 ] = diag{ψ [j2 ] }
Σ
u1[2 ]
Σ
u 2[2 ]
Σ
u n[22 ]
ψ
[2 ]
1
ψ
[2 ]
2
W [3] = {w[ji3] }
o1[2 ]
o2[2 ]
on[22 ]
ψ n[22 ]
Ψ [3] = diag{ψ [j3] }
Σ
u1[3]
Σ
u 2[3]
Σ
u n[33 ]
ψ 1[3]
o1[ 3] = y1
ψ 2[3]
o2[ 3] = y 2
ψ n[33 ]
on[33 ] = y n3
Второй скрытый
Выходной слой -
слой - n2 нейронов
m = n3 нейронов
а)
x
W
[1]
u [1]
Ψ
[1]
o[1]
W
[2 ]
u [2 ]
Ψ
[2 ]
o[2 ]
б)
Рис. 2.4 – Трехслойный персептрон
W
[3]
u [3]
Ψ [3]
o[3] = y
34
3 РАДИАЛЬНО-БАЗИСНЫЕ НЕЙРОННЫЕ СЕТИ
3 РАДИАЛЬНО-БАЗИСНЫЕ НЕЙРОННЫЕ СЕТИ
В нервных системах биологических организмов существуют нейроны,
чей выходной сигнал «локален», или «настроен» на некоторою узкую
ограниченную область входного пространства [6]. Сеть, построенная на
искусственных
нейронах,
обладающих
выраженными
локальными
характеристиками, была предложена в 1988 г. [71] в качестве альтернативы
многослойным персептронам и получила название радиально-базисной
нейронной сети (Radial Basis Function Neural Network - RBFN). Основные идеи
радиально-базисных нейронных сетей восходят к методу потенциальных
функций [72], оценкам Парзена [73, 74], ядерной [9] и непараметрической [75 79] регрессиям. Подобно многослойным структурам с прямой передачей
информации эти сети также являются универсальными аппроксиматорами [80 84].
На рис. 3.1 приведена стандартная схема радиально-базисной сети с n входами и m -выходами, осуществляющая нелинейное преобразование вида
h
y j = F j ( x) = w j 0 + ∑ w jiϕ i ( x),
j = 1,2… m,
(3.1)
i =1
где ϕ i (x) – радиально-базисные функции, определяющие характер отображения
из n -мерного пространства входов в m - мерное пространство выходов
Rn → Rm .
1
w10
Φ
x1
x2
Φ
w11
wm1
w21
Σ
w1h
Φ
y1
1
w20
Φ
xn
Σ
w2 h
wmh
y2
1
wm 0
Σ
ym
Рис. 3.1 – Радиально-базисная нейронная сеть
Входной слой такой сети – это сенсоры, которые связывают ИНС с
окружающей средой. Единственный скрытый слой, образованный нейронами
Φ , осуществляет нелинейное преобразование входного пространства R n в
скрытое пространство R h , как правило, высокой размерности ( h >> n ). И,
наконец,
выходной
слой,
образованный
адаптивными
линейными
35
ассоциаторами, формирует отклик сети y = ( y1 , y 2 ,…, y m ) T на входной сигнал
сети x = ( x1 , x 2 , … , x n ) T .
Радиально-базисные сети реализуют идею, сформулированную Т.
Кавером [85] и состоящую в том, что линейно неразделимая задача
распознавания образов в пространстве R n может стать линейно разделимой в
пространстве более высокой размерности R h .
Свойства такой сети полностью определяются радиально-базисными
функциями Φ , используемыми в нейронах скрытого слоя и формирующими
некоторый базис для входных векторов-образов x . Радиально-базисная
функция
ϕ ( x) = Φ ( x − c , σ ) = Φ ( r , σ )
(3.2)
– это многомерная функция, зависящая от расстояния r = x − c между входным
вектором x и собственным центром c и параметра ширины (масштаба) σ ,
определяющей локальную область входного пространства, на которую
«реагирует» данная функция. Таким образом, каждый нейрон скрытого слоя
вычисляет расстояние между входным вектором и своим центром и
осуществляет над ним некоторое нелинейное преобразование Φ(r , σ ) .
Важно заметить, что в отличие от монотонных активационных функций
многослойных сетей, радиально-базисные функции, как правило, симметричны
и «накрывают» узкую область входного пространства. Достаточно часто
радиально-базисные функции имеют колоколообразную форму и могут быть
представлены в виде производных функций активации стандартных нейронов.
Наибольшее распространение получили гауссовские функции, имеющие
пик в центре c и монотонно убывающие по мере удаления от центра. В связи с
этим в теории и практике ИНС кроме схемы 3.1 достаточно широко
распространено представление, приведенное на рис. 3.2, при этом без потери
общности рассматривается структура с одним выходом, осуществляющая
отображение R n → R1 .
В большинстве случаев, связанных с практическими приложениями,
центры узлов ci и параметры ширины σ i фиксированы, а настраиваются только
синаптические веса wi . При решении более сложных задач (распознавание
образов, классификация и кластеризация и т.п.) во внимание принимаются все
три множества параметров ci ∈ R n , σ i , wi ∈ R1 , i = 0,1,2,…, h . Однако при этом
следует учитывать, что число базисных функций экспоненциально растет с
размерностью входного пространства n . Таким образом, в радиально-базисных
сетях на первый план выступает так называемое «проклятие размерности»,
ограничивающее эффективность этих ИНС в задачах с большим числом
входных признаков.
36
3 РАДИАЛЬНО-БАЗИСНЫЕ НЕЙРОННЫЕ СЕТИ
x0 ≡ 1
ϕ1
x1
ϕ2
x2
ϕ3
xn
ϕh
w0
w1
++
w2
+
Σ
y = F (x)
+ +
w3
wh
Рис. 3.2 – Радиально-базисная сеть, реализующая
h
отображение y = F ( x) = w0 + ∑ wiϕ i ( x)
i =1
Кроме наиболее популярного гауссиана
ϕ ( x) = Φ 1 ( x − c , σ ) = Φ 1 (r , σ ) = exp(−
r2
σ2
),
(3.3)
в радиально-базисных сетях используются и иные функции [7, 9, 27, 42, 86-89],
например,
¾ мультиквадратичная
1
2 2
Φ 2 (r , σ ) = (r + σ ) ,
2
(3.4)
¾ обратная мультиквадратичная
Φ 3 (r , σ ) = (r + σ )
2
2
−
1
2
,
(3.5)
¾ сплайновая
2
⎛r⎞
⎛r⎞
Φ 4 (r , σ ) = ⎜ ⎟ log⎜ ⎟,
⎝σ ⎠
⎝σ ⎠
(3.6)
а также
37
α
⎛r⎞
⎛r⎞
Φ 5 (r , σ ) = ⎜ ⎟ log⎜ ⎟, α > 0,
⎝σ ⎠
⎝σ ⎠
(3.7)
⎛ r⎞
Φ 6 (r , σ ) = exp⎜ − ⎟,
⎝ σ⎠
(3.8)
−2
r⎞
⎛
Φ 7 ( r , σ ) = ⎜1 + ⎟ ,
⎝ σ⎠
(3.9)
−1
r⎞
⎛
Φ 8 ( r , σ ) = ⎜1 + ⎟ ,
⎝ σ⎠
2
⎛r⎞
⎛r
Φ 9 (r , σ ) = ⎜ ⎟ + α 1 ⎜
⎝σ ⎠
⎝σ
(3.10)
⎞
⎟ +α2,
⎠
(3.11)
⎛r⎞
Φ 10 (r , σ ) = cos⎜ ⎟,
⎝σ ⎠
Φ 11 (r , σ ) = 1 −
r
σ
(3.12)
(3.13)
,
и хотя не все они имеют колоколообразную форму, например (3.4), (3.6), (3.9),
их применение в задачах идентификации, моделирования, прогнозирования,
распознавания образов, кластеризации и нейроуправления [9, 27, 85, 90, 91]
оказалось вполне оправданным.
Как отмечалось выше, наиболее широкое распространение получила
функция активации (3.3), расширить возможности которой можно, используя
многомерный гауссиан
ϕ ( x) = Φ ( x − c , Σ) = exp(−( x − c)T Σ −1 ( x − c)) = exp(− x − c
2
Σ −1
),
(3.14)
где ковариационная матрица Σ определяет форму, размер и ориентацию так
называемого рецепторного поля радиально-базисной функции. При Σ = σ 2 I
(здесь I – (n × n) единичная матрица) рецепторное поле представляет
гиперсферу с центром c и радиусом σ ; при Σ = diag (σ 12 , σ 22 ,… , σ n2 ) - это
гиперэллипсоид, чьи оси совпадают с осями входного пространства и имеют
длину 2σ i по i -й оси, и, наконец, при Σ – недиагональной положительно
определенной матрице
Σ = Q T ΛQ,
(3.15)
38
3 РАДИАЛЬНО-БАЗИСНЫЕ НЕЙРОННЫЕ СЕТИ
матрица собственных значений Λ определяет форму и размер рецепторного
поля, а ортогональная матрица вращения Q – его ориентацию.
В качестве простейшего, но характерного примера, демонстрирующего
возможности радиально-базисных сетей, можно рассмотреть задачу
интерполяции многомерной функции n переменных, заданной на N точках
x(1), x( 2),… , x(k ),… , x( N ) . При этом известны соответствующие значения этой
функции d (1),… , d (k ),… , d ( N ) . Задача состоит в нахождении отображения
F : R n → R1 , удовлетворяющего условиям интерполяции
F ( x(k )) = d (k ),
k = 1,2, … , N .
(3.16)
Радиально-базисная техника в данном случае состоит в выборе такой
функции F , что
N
N
k =1
k =1
F ( x) = ∑ wk Φ k ( x − c k , σ k ) = ∑ wk Φ k ( x − x(k ) , σ k ),
(3.17)
где Φ (•) - радиально-базисная функция, центрами которой являются точки x(k ) .
С учетом (3.16), (3.17) можно записать систему линейных уравнений для
нахождения коэффициентов (синаптических весов) wk :
⎛ Φ 11
⎜
⎜ Φ 21
⎜
⎜
⎜Φ
⎝ N1
Φ 12
Φ 22
ΦN2
Φ 1N ⎞⎛ w1 ⎞ ⎛ d (1) ⎞
⎟⎜
⎟ ⎜
⎟
Φ 2 N ⎟⎜ w2 ⎟ ⎜ d (2) ⎟
⎟⎜
⎟=⎜
⎟,
⎟⎜
⎟ ⎜
⎟
Φ NN ⎟⎠⎜⎝ w N ⎟⎠ ⎜⎝ d ( N ) ⎟⎠
где Φ kj = Φ( x( j ) − x(k ) , σ k ); k = 1,…, N ;
(3.18)
j = 1, …, N .
Обозначив
d = (d (1), d (2),… d ( N )) T , w = ( w1 , w2 , … , w N ) T , Φ = {Φ kj },
несложно переписать (3.18) в виде
Φw = d ,
(3.19)
w = Φ+d,
(3.20)
откуда
где Φ + - матрица псевдообратная к Φ .
Заметим также, что при N > h , с использованием стандартной техники
метода наименьших квадратов несложно решать задачи нелинейного
регрессионного анализа.
Как уже отмечалось, радиально-базисные сети подобно многослойным
ИНС являются универсальными аппроксиматорами, однако в силу того, что в
них присутствует только один нелинейный скрытый слой, а настраиваются
параметры линейного выходного слоя, для их обучения могут быть
39
использованы стандартные процедуры [15, 46, 47], обладающие высоким
быстродействием и фильтрующими свойствами, что крайне важно в задачах
обработки «зашумленных» наблюдений.
Вместе с тем, объединение достоинств многослойных и радиальнобазисных сетей может привести к весьма интересным результатам. Так в [92,
93] предложены архитектуры многослойных радиально-базисных сетей,
подобные многослойным персептронам (см. рис. 2.4), где в качестве отдельных
нейронов используются радиально-базисные сети с n входами и одним
выходом (см. рис. 3.2). По сравнению с многослойными персептронами они
обладают более высокой скоростью обучения, не страдая при этом от
«проклятия размерности», ограничивающего возможности обычных радиальнобазисных нейронных сетей.
40
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
Основным свойством биологического мозга является его способность к
обучению, а поскольку искусственная нейронная сеть является моделью мозга,
понятие «обучение» является также ключевым в теории ИНС.
Математическими проблемами, связанными с процессами обучения, занимается
направление в общей теории искусственных нейронных сетей, получившее
название «нейроматематика» [15-18].
С позиции нейроматематики процесс обучения рассматривается как
адаптация параметров, а возможно и архитектуры сети для решения
поставленной задачи путем оптимизации принятого критерия качества. Такая
формулировка является общепринятой и неявно предполагает, что в основе
нейроматематики лежат методы оптимизации и идентификации.
Обычно полагается, что процесс обучения имеет перманентный характер и
с течением времени сеть улучшает свои характеристики, постепенно
«приближаясь» к оптимальному решению поставленной задачи.
Тип и характер обучения определяются прежде всего объемом априорной
и текущей информации о среде, в которую «погружена» сеть, а также
критерием качества (целевой функцией), характеризующим степень
соответствия нейросети решаемой ею задаче. Информация о внешней среде
задана, как правило, в виде обучающей выборки образов или примеров,
обрабатывая которую сеть извлекает сведения, необходимые для получения
искомого решения. Именно характер и объем этой информации определяют как
тип обучения, так и конкретный алгоритм.
4.1 Основные парадигмы и правила обучения
Наиболее популярной и очевидной к настоящему времени является
парадигма обучения «с учителем», схематически представленная на рис 4.1.
В данной схеме «учителю» известна информация о внешней среде,
заданная в виде последовательности или пакета входных векторов x , а также
«правильная реакция» на эти сигналы, представленная в виде обучающего
сигнала d . Естественно, что реакция необученной сети y отличается от
«правильной» реакции учителя, в результате чего возникает ошибка e = d − y . В
процессе обучения необходимо так настроить параметры ИНС, чтобы
некоторая скалярная функция от ошибки E (e) (критерий качества) достигла
своего минимального значения. Обученной считается сеть, которая в
некотором, как правило, статистическом смысле повторяет реакцию учителя.
Поскольку информация о внешней среде обычно имеет нестационарный
характер, процесс обучения идет непрерывно, для чего используются те или
иные рекуррентные процедуры.
41
Внешняя
среда
Вектор
состояния
среды x
Учитель
Желаемая реакция обучающий сигнал d
+
ИНС
Правило
(алгоритм)
обучения
Σ
Фактический
выход сети y
−
Сигнал ошибки e = d − y
Рис. 4.1 – Схема обучения с учителем
Альтернативой этой парадигме является обучение «без учителя», или
самообучение, когда правильная реакция на сигналы внешней среды
неизвестна. Процесс самообучения схематически представлен на рис. 4.2.
Внешняя
среда
x
y
ИНС
Правило
(алгоритм)
самообучения
Рис. 4.2 – Схема самообучения
Сети, реализующие парадигму самообучения, предназначены, как правило,
для анализа внутренней латентной структуры входной информации и решают
задачи автоматической классификации, кластеризации, факторного анализа,
компрессии данных.
Своеобразным компромиссом между двумя этими парадигмами является
обучение с подкреплением [15] (не путать с обучением с поощрением [47]), при
котором доступна лишь косвенная информации о правильной реакции на
входной сигнал x . На рис. 4.3 приведена схема процесса обучения с
подкреплением.
42
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
Внешняя
среда
x
y
ИНС
"Критик"
Влияние системы на среду
Рис. 4.3 – Схема обучения с подкреплением
Нейронная сеть производит отображение входной информации x в
выходной вектор y в виде y = F ( x) , однако, поскольку обучающий сигнал d в
явном виде не задан, невозможно получить ошибку e = d − y , на основании
которой происходит обучение. Предполагается, что имеются некоторые
априорные знания, позволяющие связать эвристический сигнал подкрепления
~
~
d с ненаблюдаемым желаемым выходом d с помощью некоторой функции F ,
~
отображающей d в d . Обычно эта функция учитывает связь выходных
сигналов сети y с наблюдаемыми событиями во внешней среде, для чего в
схему обучения вводится дополнительный блок – «критик» [9], отображающий
~
поведение сети в сигнал ~y = F ( F ( x)) . Далее вычисляется эвристическая ошибка
~
~
e =d −~
y , на основе которой и реализуется процесс обучения.
Процесс обучения с подкреплением разбивается на два относительно
независимых этапа: обучение тому, как выходной сигнал сети y влияет на
~
наблюдаемые переменные среды x , т.е. восстановление отображения F , и
собственно обучение сети на основе минимизации принятого критерия E (e~ ) .
Эта парадигма тесно связана с идеями динамического программирования
[65] и в теории искусственных нейронных сетей известна также как
нейродинамическое программирование [9].
Достаточно широкое распространение получила также парадигма
смешанного обучения, когда часть параметров сети настраивается с помощью
обучения с учителем, а другая часть или архитектура в целом – с помощью
самообучения. Этот подход получил наибольшее распространение при
обучении радиально-базисных ИНС.
С введенными парадигмами тесно связаны правила обучения, лежащие в
основе конкретных алгоритмов. С. Хайкин [9] определяет пять основных
правил: обучение на основе коррекции по ошибке, обучение по Больцману,
обучение по Хэббу, обучение памяти и конкурентное обучение.
Правило коррекции по ошибке – типичный случай обучения с учителем,
при этом с помощью тех или иных процедур оптимизации и адаптивной
43
идентификации минимизируется априори заданная скалярная целевая функция
E (e) . С этим правилом связано наибольшее число известных алгоритмов
обучения, которое к настоящему времени перевалило за сотню.
В основе обучения по Больцману лежат принципы теоретической
термодинамики, при этом настройка синаптических весов стохастической сети
обеспечивает требуемое (желаемое) распределение вероятностей состояний
отдельных нейронов. В какой-то мере обучение по Больцману может
рассматриваться как распространение идей обучения с учителем на
стохастический случай.
С самообучением тесно связаны правило Хэбба и обучение памяти, в
основе которых лежит нейрофизиологический постулат, гласящий о том, что,
если нейроны с обеих сторон синапса находятся в возбужденном состоянии, то
сила связи между ними возрастает (увеличивается синаптический вес) и,
наоборот, если соседние нейроны находятся в разных состояниях, то связь
между ними ослабевает.
В конкурентном обучении, могут быть реализованы все описанные
парадигмы, при этом его отличительной особенностью является процесс
«соревнования» нейронов выходного слоя по принципу «winner takes all», т.е.
возбуждается только один выходной нейрон – «победитель». Наиболее яркими
примерами сетей, использующих это правило, являются сети адаптивного
резонанса (ART) и самоорганизующиеся карты (SOM).
Более подробно правила обучения, порождаемые ими алгоритмы и
соответствующие им архитектуры нейросетей будут рассмотрены в
последующих разделах.
4.2 Задачи обучения
В настоящем подразделе рассмотрены некоторые прикладные инженерные
задачи, решаемые нейросетями, обученными соответствующим образом.
Естественно, что этот список далеко не полон и включает только проблемы,
которые традиционно интересуют специалистов в области компьютерных наук,
инженерии и управления.
4.2.1 Распознавание образов
Наряду с обучением, распознавание является одной из основных функций
биологического мозга. Получая данные из окружающего мира с помощью
биологических сенсоров, мозг достаточно просто распознает источник данных
и выделяет из него требуемую информацию. Так человек без особых проблем
узнает знакомое лицо, хотя видел его давно и оно успело измениться, голос,
искаженный телефонными помехами, город, в котором не был много лет. Это
узнавание и есть результат обучения, причем в идеальном случае нейросеть
должна узнавать предъявляемые ей образы не хуже, чем это делает живой
организм.
Формально распознавание образов определяется как процесс, в результате
44
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
которого получаемый образ (сигнал) относится к одному из априори
назначенных классов (категорий) [33, 94-97]. В процессе обучения нейросети
предъявляются различные образы с известной классификацией (обучающая
выборка), а в результате сеть должна распознать объект, который ранее не
предъявлялся, но который принадлежит той же совокупности, что и обучающая
выборка. Задача распознавания статистична по своей природе, при этом образы
представляются случайными векторами в многомерном пространстве
признаков, а результат обучения состоит в построении решающих
гиперповерхностей, разделяющих «в среднем» пространство признаков на
соответствующие классы.
Как правило, нейросетевые распознающие системы состоят из двух частей.
Первая – это самообучающаяся сеть, решающая задачу селекции и выделения
признаков, а вторая – это сеть, настраиваемая с помощью внешнего
обучающего сигнала, содержащего информацию о принадлежности образов
обучающей выборки определенным классам. В принципе такая
последовательность
решения
задачи
характерна
для
большинства
распознающих систем: сначала понижение размерности вектора признаков с
помощью, например, традиционного преобразования Карунена-Лоэва, а затем
собственно построение разделяющих гиперповерхностей. Преимущество
нейросетевого подхода перед другими методами распознавания образов
состоит в том, что нейросети способны восстанавливать разделяющие
гиперповерхности сколь угодно сложной формы, не опираясь на гипотезы о
компактности или линейной разделимости классов.
4.2.2 Ассоциация и кластеризация
Биологическим системам наряду с обучением и распознаванием присуща
также способность к ассоциациям, т.е. восстановлению (воспоминанию) ранее
предъявленных образов по некоторым косвенным стимулам. Любому человеку
знакомы случаи, когда какой-то случайный звук или запах вызывал в
воображении сложные зрительные образы.
В нейросетях ассоциации реализуются в двух формах: автоассоциация и
гетероассоциация. В случае автоассоциации сеть обрабатывает множество
последовательно предъявляемых ей образов, причем эти образы могут быть
зашумлены либо искажены. Выделяя и запоминая основные признаки
предъявляемых образов, сеть приобретает способность восстанавливать
(вспоминать) ранее показанные ей примеры. Гетероассоциация отличается тем,
что произвольное множество входных образов связывается (ассоциируется) с
произвольным множеством выходных примеров. Основное отличие между
этими формами состоит в том, что автоассоциация реализуется на основе
парадигмы самообучения, а гетероассоциация – обучения с учителем.
Пусть x(k ) - входной образ-вектор (стимул), в общем случае произвольно
взятый из обучающей выборки и предъявленный сети ассоциативной памяти, а
y (k ) - запомненный (выходной) образ-вектор. Ассоциация образов,
45
выполняемая сетью, описывается отношением x(k ) → y (k ), k = 1,2,…, N , где N число образов, запомненное ИНС. Входной образ x(k ) действует как стимул,
вызывающий отклик y (k ) , а в последствии служит ключом к восстановлению.
В автоассоциативной памяти y (k ) = x(k ) , т.е. входное и выходное
пространство сети совпадают. В гетероассоциативной памяти y ( k ) ≠ x(k ) , при
этом размерности пространств, как правило, также не совпадают.
В работе ассоциативных нейросетей выделяют две фазы: накопления,
которая соответствует периоду обучения, и восстановления, которая
предполагает воспоминание запомненного образа после предъявления
зашумленного или искаженного стимула.
Число N образов, накопленных в ассоциативной памяти, является мерой
емкости сети. При проектировании таких сетей основной проблемой является
выбор и обеспечение максимальной емкости, выраженной как отношение числа
запоминаемых примеров N к общему числу нейронов сети при минимальном
числе некорректно восстанавливаемых образов.
К проблеме автоассоциации тесно примыкает задача кластеризации
(автоматической классификации), когда сеть, анализируя обучающую выборку
x(k ) , размещает «похожие» образы по группам-кластерам. Предъявляемый
зашумленный образ, ранее не показанный сети, по ассоциации с уже
запомненными должен быть отнесен к «родному кластеру». Сети, реализующие
кластеризацию образов, используются обычно для сжатия данных и извлечения
из них знаний.
4.2.3 Аппроксимация функций
С проблемой обучения тесно связана достаточно часто возникающая на
практике задача аппроксимации функций, заданных на некотором множестве
точек.
Рассмотрим нелинейное отображение «вход-выход», описываемое
функциональным соотношением
d = f ( x),
(4.1)
где d и x - (m × 1) и (n × 1) - векторы выходов и входов соответственно, f (•) неизвестная вектор-функция, которую необходимо оценить с помощью
заданной обучающей выборки {x(k ), d (k )}, k = 1,2,…, N .
Задача обучения аппроксимирующей нейросети состоит в нахождении
функции F ( x) в некотором смысле достаточно близкой к f ( x) такой, что
F ( x) − f ( x) ≤ ε
для всех x(k ), k = 1,2, … , N ,
(4.2)
где F (x) - отображение, реализуемое сетью, ε - малое положительное число.
Если объем выборки N достаточно велик, а сеть имеет достаточное число
46
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
настраиваемых синаптических весов, ошибка аппроксимации ε может быть
сделана сколь угодно малой, хотя здесь есть опасность превращения сети из
аппроксимирующей в интерполирующую, рассмотренную в третьем разделе.
Несложно видеть, что проблема аппроксимации в данном контексте
полностью совпадает с задачей обучения с учителем, где последовательность
x(k ) играет роль входного сигнала ИНС, а d (k ) - обучающего сигнала.
Способность нейросетей аппроксимировать неизвестные отображения
«вход-выход»
находит
два
важнейших
приложения
в
задачах
интеллектуального управления [23, 28, 29]. Первое из них – идентификация
объектов управления [45, 46, 65], или эмуляция – в терминах нейроуправления
[34]. Схема системы идентификации (эмуляции) приведена на рис. 4.4, при этом
предполагается, что многомерный статический объект описывается
соотношением (4.1), а нейронная сеть, включенная параллельно объекту,
обучается в реальном времени, «подгоняя» свои выходные сигналы к выходам
реального объекта.
x(k )
Вектор
входов
d (k )
Объект
управления Вектор выходов
объекта
+
Σ
y (k )
ИНС
−
Вектор выходов
сети
Алгоритм
обучения
(идентификации)
e( k ) = d ( k ) − y ( k )
Ошибка идентификации
Рис. 4.4 – Схема системы идентификации
Второе приложение – это обратное моделирование, используемое в
некоторых адаптивных системах управления [98-101] и состоящее в том, что
для объекта управления (4.1) требуется построить «обратную систему», которая
генерирует вектор x(k ) как отклик на входной сигнал d (k ) . В общем виде
обратная система имеет форму
x= f
−1
(d ),
(4.3)
однако, поскольку функция f либо не известна, либо слишком сложна,
разумным выходом представляется использование ИНС в качестве обратной
модели так, как это показано на рис. 4.5.
47
x(k )
f (x)
d (k )
ИНС - обратная y (k )
модель
−
Σ
+
e( k ) = x ( k ) − y ( k ) −
ошибка обратного
моделирования
Алгоритм
обучения
Рис. 4.5 – Схема обратного моделирования
В этой схеме роли сигналов x(k ) и d (k ) поменялись: вектор d (k )
используется как вход сети, а x(k ) - как желаемый отклик (обучающий сигнал).
Подобно системе идентификации сигнал ошибки e(k ) = x(k ) − y (k ) используется
для обучения ИНС.
4.2.4 Управление и оптимизация
Управление объектами в условиях структурной и параметрической
неопределенности – еще одна задача, связанная с обучением нейросетей. На
рис. 4.6 приведена схема управления с обратной связью, при этом
предполагается, что в распоряжении проектировщика системы управления нет
информации ни о структуре нелинейного объекта, ни тем более о его
параметрах.
d (k )
+
Внешний
задающий −
сигнал
Σ
e( k ) = d ( k ) − y ( k )
Ошибка
управления
u (k )
Объект
Регулятор
управления
Управляющее
воздействие
y (k )
Выход
объекта
Рис. 4.6 – Система управления с обратной связью
Целью управления является выработка управляющих сигналов u (k ) ,
обеспечивающих устойчивое слежение выхода объекта y (k ) за внешним
задающим сигналом (желаемой траекторией движения) d (k ) .
Поскольку об объекте управления ничего не известно, в качестве
регулятора можно использовать нейросеть, входом которой является вектор
ошибок управления e(k ) = d (k ) − y (k ) , а выходом – сигнал управления u (k ) ,
подаваемый на объект.
Синтез оптимального управления связан с оценкой якобиана объекта
J = {∂y j ∂ u i } [102], для определения которого опять-таки могут быть
48
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
использованы аппроксимирующие свойства обучаемой ИНС.
В теории адаптивного управления сформировалось два основных
направления. Первое – непрямой или идентификационный подход, при котором
в схему вводится настраиваемая модель, обучаемая в темпе с процессом
управления и параметры которой в линейном случае являются оценками
элементов матрицы-якобиана. В нашем случае в систему управления
дополнительно вводится нейросеть-эмулятор, оценивающая частные
производные ∂y j ∂u i , которые далее используются нейросетью-регулятором.
Альтернативой идентификационному является прямой подход к синтезу
регулятора, при котором предполагается, что проектировщику доступна
информация о знаках частных производных ∂y j ∂u i . В прямой системе
управления присутствует одна нейросеть-регулятор, обучаемая с помощью
алгоритмов, использующих только знаки обрабатываемых сигналов.
Вплотную к задаче управления примыкает задача оптимизации, когда
требуется определить экстремум многомерной неявно заданной функции при
наличии ограничений. И хотя для решения проблемы оптимизации
спроектированы специальные архитектуры нейросетей [27], достаточно
большой класс задач может быть решен в рамках систем нейроуправления [34],
когда в качестве целевой функции используется лагранжиан, учитывающий
всевозможные ограничения, накладываемые на переменные объекта.
4.2.5 Фильтрация, сглаживание, прогнозирование
Системы
обработки
«зашумленных»
сигналов
в
условиях
неопределенности в настоящее время находят широкое применение в самых
разнообразных приложениях [54-56, 68]. Собственно понятие «обработка
сигналов» традиционно включает в себя три задачи: фильтрация, сглаживание и
прогнозирование. Если в распоряжении исследователя есть выборка
«загрязненных» наблюдений x(1), x(2),… x(k ),… , x( N ) , то задача фильтрации
сводится к нахождению наилучшей оценки процесса xˆ ( N | N ) в момент времени
N по информации об N наблюдениях, сглаживания – оценки xˆ (k | N ) при k < N
и прогнозирования - xˆ ( N + l | N ) при N + l > N , где l - горизонт упреждения.
Последние годы внимание исследователей привлечено еще к одной
нетрадиционной задаче обработки – «слепой» сепарации и идентификации
сигналов [103]. Предполагается, что имеется множество неизвестных
источников сигналов {u i (k )}in=1 , которые не зависят друг от друга. Сенсоры
воспринимают эти сигналы не покомпонентно, а в смеси, представляющей
собой неизвестную линейную комбинацию x(k ) = Au (k ) так, как это показано на
рис. 4.7.
Задача сводится к восстановлению вектора y (k ) ≈ u ( k ) по данным
наблюдений вектора x(k ) при неизвестной (n × n) - матрице A .
49
u (k )
u1 (k )
u 2 (k )
Неизвестная
смесь
А
u n (k )
x1 (k )
x2 (k )
Сепарация
y1 (k )
y 2 (k )
x n (k )
В
y n (k )
y (k )
x(k )
Неизвестная среда
Рис. 4.7 – Схема слепой сепарации
Несложно видеть, что первые три задачи весьма близки к проблеме
идентификации, а задача слепой сепарации практически совпадает с задачей
обратного моделирования и сводится к нахождению оператора сепарации
B = A −1 . Естественно, что применение ИНС для решения этих задач
принципиальных затруднений не вызывает.
Остановимся кратко на задаче текущего прогнозирования стохастической
последовательности x(k ) по данным о ее предыстории x(k − 1), x(k − 2),… .
Проблема сводится к нахождению оценки xˆ (k ) = F ( x(k − 1), x(k − 2),…, x(k − p)) в
реальном времени в темпе с поступлением данных. В линейном случае эта
задача хорошо исследована и успешно может быть решена с помощью
адаптивных прогнозирующих авторегрессионных моделей [104]. Для
построения
же
нелинейных
прогнозов
наиболее
целесообразным
представляется применение ИНС, например так, как это показано на рис. 4.8.
x(k )
z −1
z −1
x(k − 1)
x ( k − 2)
ИНС
z −1
+
xˆ (k )
−
Σ
x(k − p )
Aлгоритм e(k ) = x(k ) − xˆ (k )
Ошибка
обучения
прогнозирования
Рис. 4.8 – Схема нейросетевого прогнозирования
50
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
В настоящее время нейросетевые прогнозирующие модели успешно
используются для решения широкого круга задач науки, техники, экономики
[32, 35, 40, 41].
4.3 Линейные алгоритмы обучения
В настоящем подразделе рассмотрены алгоритмы, основанные на
парадигме обучения с учителем и реализующие правило коррекции по ошибке,
при этом полагается, что сама ошибка является линейной функцией
синаптических весов. Такие алгоритмы имеют достаточно много приложений,
простейшим из которых является обучение адалины, рассмотренной в
подразделе 2.1.
С математической точки зрения процесс обучения в этом случае сводится
к минимизации критерия качества обучения (целевой функции) по
настраиваемым синаптическим весам w ji ( i = 0,1,…, n ) и может протекать как в
непрерывном t , так и дискретном k = 0,1,2,… времени.
В качестве целевой функции наиболее часто принимается квадрат
текущего значения ошибки обучения, т.е.
E j (t ) =
1
1 2
2
e j (t ) = (d j (t ) − u j (t ) )
2
2
(4.4)
или, что в принципе то же самое,
E j (k ) =
1 2
1
2
e j (k ) = (d j (k ) − u j (k ) ) .
2
2
(4.5)
Градиентная оптимизация (4.4) в непрерывном времени [105] приводит к
системе дифференциальных уравнений
dw ji
dt
= −η
∂E j (t )
∂w ji
= −η
∂E j (t ) ∂u j
⋅
∂u j ∂w ji
(4.6)
или с учетом того, что
n
u j = ∑ w ji xi ,
(4.7)
i =0
dw ji
dt
n
= η e j (t ) xi (t ) = η (d j (t ) − ∑ w jl xl ) xi ,
i = 0,1,…, n,
(4.8)
l =0
где η > 0 - скалярный параметр, определяющий скорость обучения.
На практике наибольшее распространение получили дискретные
51
алгоритмы обучения вида
w ji ( k + 1) = w ji (k ) + η (k )e j (k ) xi (k ),
(4.9)
w j (k + 1) = w j (k ) − η (k )∇ w j E j (k ) = w j (k ) + η (k )e j (k ) x(k ),
(4.10)
или в векторной форме
где ∇ w j E j (k ) = −e j (k ) x(k ) - вектор-градиент целевой функции по синаптическим
весам.
Скорость процесса обучения с помощью алгоритма (4.9), (4.10) полностью
определяется выбором параметра η (k ) , определяющего шаг смещения в
пространстве настраиваемых параметров. Естественно выбрать этот параметр
так, чтобы скорость сходимости текущих значений w j (k ) к оптимальным
гипотетическим весам w j была максимальной. Вводя, в рассмотрение вектор
уклонений текущих значений w j (k ) от оптимальных w j в виде
~ (k ) = w − w (k )
w
j
j
j
(4.11)
и решая дифференциальное уравнение
~ (k )
∂w
j
∂η
2
= 0,
(4.12)
несложно получить оптимальное значение параметра шага в виде
η (k ) = x(k )
−2
(4.13)
,
что приводит к алгоритму обучения
w j (k + 1) = w j (k ) +
e j (k ) x(k )
x(k )
2
,
(4.14)
известному в теории искусственных нейронных сетей как алгоритм УидроуХоффа.
Нельзя не отметить, что впервые этот алгоритм был предложен
С. Качмажем намного раньше [106, 107] и задолго до появления
нейроматематики использовался для решения задач адаптивной идентификации
объектов управления [108, 109] в так называемой мультипликативной форме
52
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
w j (k + 1) = w j (k ) +
ηe j ( k ) x ( k )
x(k )
2
, 0 < η < 2,
(4.15)
η
обеспечивающей
при
соответствующем
выборе
параметра
помехоустойчивость процессу обучения.
Процесс
настройки
единичного
нейрона-адалины
несложно
распространить на некоторые виды нейросетей в целом. Записав
преобразование, осуществляемое сетью, приведенной на рис. 3.2, в форме
h
y = F ( x) = w0 + ∑ wiϕ i ( x) = wT ϕ ( x),
(4.16)
i =1
где w = ( w0 , w1 , w2 ,…, wh ) T , ϕ ( x) = (1, ϕ 1 ( x),…, ϕ h ( x)) T , приходим к градиентному
алгоритму обучения радиально-базисной сети
w( k + 1) = w( k ) + η
d (k ) − wT ( k )ϕ ( x(k ))
ϕ ( x(k ))
2
ϕ ( x(k )),
(4.17)
обеспечивающему сходимость синаптических весов к своим оптимальным
значениям для любой последовательности линейно-независимых векторов
ϕ ( x(1)), ϕ ( x(2)),… , ϕ ( x(k )),… . Для сети (3.1) с множеством выходных сигналов
y j (k ) получаем
d j (k ) − y j (k )
⎧
ϕ ( x(k )),
⎪w j (k + 1) = w j (k ) + η
2
ϕ
x
k
(
(
))
⎨
⎪
T
⎩ y j (k ) = w j (k )ϕ ( x(k )); j = 1,2, … m.
(4.18)
Наряду с квадратичными критериями качества обучения (4.4), (4.5)
получили распространение и иные формы целевых функций, выбор которых в
значительной мере определяется априорной информацией о характере
распределения входных сигналов и действующих помех [45]. Так наибольшую
помехоустойчивость (робастность) обеспечивает использование модульного
критерия
E j (k ) = d j (k ) − y j (k ) = e j (k ) ,
(4.19)
приводящего к алгоритму обучения
w j (k + 1) = w j (k ) − η ( k ) sign( y j (k ) − wTj (k )ϕ ( x(k )))ϕ ( x(k )).
(4.20)
Если вместо обычной сигнум-функции используется релейная функция с
53
зоной нечувствительности 2Δ , то процедура (4.20) приобретает вид [111]
w j (k + 1) = w j (k ) −
η (k )
2
( sign ( y j (k ) − wTj (k )ϕ ( x(k ))) + Δ ) +
(4.21)
+ sign ( y j (k ) − w (k )ϕ ( x(k )) − Δ )ϕ ( x(k )).
T
j
В [112] была предложена методика построения алгоритмов обучения,
состоящая в том, что при известной оценке w j (k ) очередное значение w j (k + 1)
находится
из
условия
минимума
нормы
∑i=0 w ji (k + 1) − w ji (k )
h
1
q q
при
ограничении
y j (k ) − wTj (k + 1)ϕ ( x(k )) = 0,
(4.22)
т.е. уточненный вектор синаптических весов w j (k + 1) обращает в нуль
апостериорную ошибку обучения. Из этих рассуждений следует, что алгоритм
Качмажа-Уидроу-Хоффа минимизирует евклидову норму ( q = 2 ). Минимум
кубической норме доставляет алгоритм Нагумо-Ноды [113]
w j (k + 1) = w j (k ) +
y j (k ) − wTj (k )ϕ ( x(k ))
ϕ T ( x(k )) signϕ ( x(k ))
signϕ ( x(k )),
(4.23)
а алгоритм Некрасова [114]
⎧
y j (k ) − wTj (k )ϕ ( x(k ))
,
⎪⎪w ji ( k + 1) = w ji (k ) +
ϕ
max
(
x
(
k
))
i
⎨
i = 0 ,1,…, h
⎪
⎪⎩w jp (k + 1) = w jp (k )
(4.24)
минимизирует октаэдрическую норму.
Заслуживает внимания алгоритм обучения, являющийся расширением
(4.23)
w j (k + 1) = w j (k ) +
y j (k ) − wTj (k )ϕ ( x(k ))
ψ (ϕ T ( x(k )))ϕ ( x(k ))
ψ (ϕ ( x(k ))),
(4.25)
(здесь ψ (ϕ ( x(k ))) = (ψ 0 (ϕ ( x(k ))),ψ 1 (ϕ ( x(k ))),…,ψ h (ϕ ( x(k ))))T ) и тесно связанный с
методом инструментальных переменных [46].
Целый ряд алгоритмов может быть получен при использовании в
качестве целевой функции неравенства
54
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
E j (k ) = e j (k )Δe j (k ) ≤ 0,
(4.26)
где Δe j (k ) = e j (k + 1) − e j (k ) - первая разность последовательности ошибок
обучения.
Несложно видеть, что все рассмотренные выше алгоритмы удовлетворяют
этому неравенству. Кроме того, легко могут быть получены алгоритмы,
использующие нелинейности типа сигнум-функции, например,
w j (k + 1) = w j (k ) + η (k )( y j (k ) − wTj (k )ϕ ( x(k ))) signϕ ( x(k )),
w j (k + 1) = w j (k ) + η (k )
sign ( y j (k ) − wTj (k )ϕ ( x(k )))
ϕ ( x(k ))
2
ϕ ( x(k ))
(4.27)
(4.28)
и многие другие.
Рассмотренные процедуры относятся к так называемым одношаговым
алгоритмам обучения, поскольку при каждом уточнении синаптических весов
используется только одно последнее значение ошибки e j (k ) . Применяя
алгоритмы более сложной структуры, учитывающие информацию о
предыстории процесса обучения, можно добиться существенного сокращения
времени настройки и обеспечить возможность устойчивой работы как в
условиях помех, так и нестационарности внешней среды.
На практике наибольшее распространение получили алгоритмы, связанные
с критерием минимума суммы квадратов ошибок обучения
k
k
p =0
p =0
E kj = ∑ α ( p )e 2j ( p ) = ∑ α ( p ) E j ( p )
(4.29)
и их модификации, определяемые выбранной системой весовых
коэффициентов α ( p ) , p = 0,1,2, … , k . При этом крайне важным является тот
факт, что все процедуры имеют унифицированную форму [46,65]
w j (k + 1) = w j (k ) + η (k )(d j (k ) − wTj (k )ϕ ( x(k ))) ϕ ( x(k )),
(4.30)
а отличие между ними определяется лишь коэффициентом η (k ) , который
может быть не только скаляром, но и матрицей. Например, алгоритму Качмажа,
−2
как уже отмечалось, соответствует η (k ) = ϕ ( x(k )) , стохастической
аппроксимации [115] - η (k ) =
квадратов – матрица η ( k ) =
(∑
k
(∑
)
−1
k
ϕ T ( x(k ))ϕ ( x(k )) , методу наименьших
p =0
ϕ ( x(k ))ϕ T ( x(k ))
p =0
)
−1
и т.д.
Ниже мы рассмотрим группу многошаговых алгоритмов обучения,
55
порождаемых минимизацией критерия
k
E kj = ∑ e 2j ( k − p ) g (k − p ),
(4.31)
p =0
где g ( k − p ) - функция достоверности p -го наблюдения относительно текущего
момента времени k . Исходя из удобства реализации вычислительных процедур
и физического толкования процесса обработки «новой» и «устаревшей»
информации, функцию g ( k − p) обычно задают в двух вариантах:
¾ в виде «скользящего окна»
⎧1, если 0 ≤ p < χ ,
g (k − p) = ⎨
⎩0, если χ ≤ p ≤ k ,
(4.32)
(здесь χ - величина скользящего окна, или память алгоритма),
¾ в виде «экспоненциального убывания ценности информации»
g (k − p) = α p ,
где α - фактор забывания [46].
Функция достоверности типа
многошаговый алгоритм вида [116,117]
где
0 ≤ α ≤ 1,
«скользящего
(4.33)
окна»
порождает
w j (k + 1) = w j (k ) + η (k )(d j (k ) − wTj (k )ϕ ( x(k )))ϕ ( x(k )),
(4.34)
~
r (k − 1) = Pϕ (k − 1)ϕ ( x(k − χ )),
(4.35)
~
⎧
r (k − 1) ~
r T (k − 1) Pϕ (k − 1) + Pϕ (k − 1)~
r ( k − 1)~
r T (k − 1)
+
⎪ Pϕ (k − 1) −
4
~
r (k − 1)
⎪
⎪ ~T
~
~
~T
⎪ r (k − 1) pϕ (k − 1) r (k − 1) r (k − 1) r (k − 1)
,
~
⎪+
2
~
Pϕ (k − 1) = ⎨
(4.36)
r (k − 1)
⎪
r (k − 1) = g ± ε 1 (k ),
⎪если Φ T (k − 1)~
⎪
~
r (k − 1)~
r T ( k − 1)
⎪ P (k − 1) +
, в противном случае,
⎪⎩ ϕ
1 − ϕ T ( x(k − χ ))~
r (k − 1)
~
⎧
r (k − 1)~
r T (k − 1)
r (k − 1) = g ± ε 1 (k ),
, если Φ T (k − 1)~
⎪ A(k − 1) +
~
2
~
(4.37)
A(k − 1) = ⎨
r ( k − 1)
⎪
⎩ A(k − 1), в противном случае,
56
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
~
⎧⎪r ( k ) = Pϕ (k − 1)ϕ ( x(k )),
⎨
~
⎪⎩q (k ) = A(k − 1)ϕ ( x( k )),
(4.38)
⎧~
r (k )q T (k ) + q(k )r T (k )
(
−
1
)
−
+
P
k
⎪ ϕ
T
ϕ
(
(
))
(
)
x
k
q
k
⎪
⎪⎪ 1 + ϕ T ( x( k )) r (k )
Pϕ (k ) = ⎨+ T
q (k )q T (k ), если ϕ T ( x(k ))q (k ) ≥ ε 2 (k ),
2
⎪ (ϕ ( x( k ))q (k ))
⎪~
r (k )r T (k )
⎪ Pϕ (k − 1) −
в противном случае,
⎪⎩
1 + ϕ T ( x(k ))r (k )
(4.39)
⎧~
q(k )q T (k )
A
k
(
−
1
)
−
, если ϕ T ( x(k ))q (k ) ≥ ε 2 (k ),
⎪
T
ϕ ( x(k ))q(k )
A(k ) = ⎨
~
⎪
⎩ A(k − 1) в противном случае,
(4.40)
A(k − 1)
⎧
T
⎪ϕ T ( x(k )) A(k − 1)ϕ ( x(k )) , если ϕ ( x(k )) A(k − 1)ϕ ( x( k )) ≥ ε 2 (k ),
⎪
η (k ) = ⎨
(4.41)
Pϕ (k − 1)
⎪
в противном случае,
⎪1 + ϕ T ( x(k )) Pϕ (k − 1)ϕ ( x( k ))
⎩
g = (1,0, …,0) T − ( χ × 1) - вектор, ε 1 ( k ) и ε 2 (k ) - некоторые пороговые величины,
зависящие от степени мультиколлинеарности векторов ϕ ( x( p)) и задающие
соответствующий способ их обработки, Φ (k ) = (ϕ ( x(k − χ + 1)),…,ϕ ( x(k − 1)),
ϕ ( x(k ))) .
Из алгоритма (4.34)-(4.41) следует целый ряд известных процедур. Так
χ = 1 соответствует алгоритму Качмажа-Уидроу-Хоффа, при 1 < χ < h + 1
приходим к модифицированному алгоритму Качмажа [118], при h + 1 ≤ χ < k
получаем алгоритм текущего регрессионного анализа [119]
w j (k + 1) = w j (k ) +
Pϕ (k − 1)(d j (k ) − wTj (k )ϕ ( x(k )))
1 + ϕ T ( x(k )) Pϕ (k − 1)ϕ ( x(k ))
ϕ ( x(k )),
⎧~
Pϕ (k − 1)ϕ ( x( k − χ ))ϕ T ( x(k − χ )) Pϕ (k − 1)
,
⎪ Pϕ (k − 1) = Pϕ (k − 1) +
T
1
(
(
))
(
1
)
(
(
))
x
k
P
k
x
k
ϕ
χ
ϕ
χ
−
−
−
−
⎪
ϕ
⎨
~
~
T
Pϕ (k − 1)ϕ ( x( k ))ϕ ( x(k )) Pϕ (k − 1)
~
⎪
,
~
⎪ Pϕ (k ) = Pϕ (k − 1) − 1 + ϕ T ( x(k )) P
k
x
k
ϕ
(
−
1
)
(
(
))
ϕ
⎩
(4.42)
(4.43)
и, наконец, при χ = k получаем стандартный рекуррентный метод наименьших
57
квадратов, получивший широкое распространение как в
идентификации [46,65], так и обучении нейронных сетей [15,18]:
адаптивной
⎧
Pϕ (k − 1)(d j (k ) − wTj (k )ϕ ( x(k )))
ϕ ( x(k )),
⎪w j (k + 1) = w j (k ) +
T
P
k
x
k
1
(
(
))
(
1
)
(
(
))
ϕ
ϕ
+
−
x
k
⎪
ϕ
⎨
Pϕ (k − 1)ϕ ( x( k ))ϕ T ( x(k )) Pϕ (k − 1)
⎪
⎪ Pϕ (k ) = Pϕ (k − 1) − 1 + ϕ T ( x(k )) P (k − 1)ϕ ( x(k )) .
ϕ
⎩
(4.44)
Принципиальным вопросом использования рассмотренных алгоритмов
является обоснованный выбор величины «окна», которая зависит как от
характера нестационарности внешней среды, так и от уровня действующих
шумов. Следящие и фильтрующие свойства алгоритма вступают в
противоречие, поэтому необходимо предусмотреть возможность подключения
дополнительной процедуры управления памятью, реализующей компромисс
между этими свойствами [47, 120, 131]. Улучшение фильтрующих свойств
связано с необходимостью увеличения памяти алгоритма, а, следовательно, с
накоплением больших объемов данных. В этом случае более целесообразно
использование функции g (k − p ) в форме «экспоненциального убывания
ценности информации».
Минимизация критерия качества обучения
k
E kj = ∑ α k − p e 2j ( p )
(4.45)
p =0
приводит к широко распространенному экспоненциально
рекуррентному методу наименьших квадратов:
взвешенному
⎧
Pϕ (k − 1)(d j (k ) − wTj (k )ϕ ( x(k )))
ϕ ( x(k )),
⎪w j (k + 1) = w j (k ) +
T
+
(
(
))
(
−
1
)
(
(
))
α
ϕ
ϕ
x
k
P
k
x
k
⎪
ϕ
⎨
Pϕ (k − 1)ϕ ( x(k ))ϕ T ( x( k )) Pϕ (k − 1) ⎞
1 ⎛⎜
⎪
⎟
⎪ Pϕ (k ) = α ⎜ Pϕ (k − 1) − α + ϕ T ( x(k )) P (k − 1)ϕ ( x(k )) ⎟,
ϕ
⎝
⎠
⎩
(4.46)
где 0 < α ≤ 1 .
Проблема практического использования алгоритма (4.46) осложняется тем,
что в процессе обучения может возникнуть так называемый «взрыв
параметров» ковариационной матрицы Pϕ (k ) , т.е. экспоненциальный рост ее
элементов. Предупреждение этого нежелательного явления связано с
правильным выбором фактора забывания α , который обычно выбирается в
диапазоне 0.95 ≤ α ≤ 0.99 , что соответствует 20 ≤ χ ≤ 100 в алгоритме со
скользящим окном. В общем случае известно [121], что алгоритмы (4.42) и
(4.46) приводят к аналогичным результатам при
58
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
α=
χ −1
,
χ +1
(4.47)
уменьшение α приводит к быстрому вырождению матрицы
k
Pϕ (k ) = ∑ p =0 α k − pϕ ( p )ϕ T ( p ) и, как следствие, к «взрыву параметров».
однако
−1
Применение в алгоритме (4.46) вместо обращения матрицы операции
псевдообращения [122] приводит к процедуре [123, 124]:
w j (k + 1) = w j (k ) + η (k )(d j (k ) − wTj (k )ϕ ( x(k )))ϕ ( x(k )),
где
(4.48)
~
⎧
A(k − 1)
~
, если ϕ T ( x(k )) A(k − 1)ϕ ( x(k )) ≥ ε 2 (k ),
⎪ T
~
⎪ϕ ( x(k )) A( k − 1)ϕ ( x(k ))
(4.49)
η (k ) = ⎨
P
k
(
−
1
)
ϕ
⎪
в противном случае,
⎪1 + ϕ T ( x(k )) Pϕ (k − 1)ϕ ( x(k ))
⎩
~
~
⎧~
A(k − 1)ϕ ( x(k ))ϕ T ( x(k )) A(k − 1)
, если
~
⎪ A(k − 1) −
T
ϕ
ϕ
x
k
A
k
x
k
−
(
(
))
(
1
)
(
(
))
⎪
~
~
⎪
ϕ T ( x(k )) A(k − 1)ϕ ( x(k )) ≥ ε 2 (k ),
A(k ) = ⎨
⎪~
⎪ A(k − 1) в противном случае,
⎪
⎩
(4.50)
~
⎧1
( Pϕ (k − 1)ϕ ( x(k )))( A(k − 1)ϕ ( x( k )))T
+
⎪ ( Pϕ (k − 1) −
~
ϕ T ( x( k )) A(k − 1)ϕ ( x( k ))
⎪α
~
⎪ (A
T
⎪+ (k − 1)ϕ ( x(k )))( Pϕ (k − 1)ϕ ( x(k ))) +
~
⎪
ϕ T ( x(k )) A(k − 1)ϕ ( x(k ))
⎪
T
⎪ α + ϕ ( x( k )) Pϕ ( k − 1)ϕ ( x(k )) ~
( A(k − 1)ϕ ( x(k ))( Pϕ ( k − 1)ϕ ( x(k )))T ),
(4.51)
Pϕ (k ) = ⎨+
~
T
2
−
(
))
(
1
)
(
(
)))
(
(
ϕ
ϕ
x
k
A
k
x
k
⎪
~
⎪если ϕ T ( x(k )) A
( k − 1)ϕ ( x(k )) ≥ ε 2 (k ),
⎪
⎪1
Pϕ (k − 1)ϕ ( x(k ))ϕ T ( x( k )) Pϕ ( k − 1)
) в противном случае,
⎪ ( Pϕ (k − 1) −
α + ϕ T ( x(k )) Pϕ (k − 1)ϕ ( x(k ))
⎪α
⎪
⎩
59
~
~
⎧ A(k ) = Ι − (Φ T (k )) + Φ T (k ), A(0) = Ι,
⎪
−2
+
T
⎪⎪ Pϕ (k ) = (Φ (k ) A (k )Φ (k )) , Pϕ (0) = 0,
⎨Φ (k ) = (ϕ ( x(0)),ϕ ( x(1)),…, ϕ ( x(k ))),
⎪
1− k
2−k
1
⎪
−
2
2
⎪⎩ A(k ) = diag (α ,α ,…,α 2 ,1),
(4.52)
Ι − (h + 1) × (h + 1) - единичная матрица, (•) + - символ псевдообращения по Муру-
Пенроузу [122].
Хотя алгоритм (4.48)-(4.52) работоспособен при любых значениях фактора
забывания α , его громоздкость заставляет искать альтернативные подходы к
синтезу многошаговых алгоритмов обучения.
В теории и практике адаптивных и обучающихся систем наряду с
рекуррентным методом наименьших квадратов и его модификациями широкое
распространение получили алгоритмы, основанные на стохастической
аппроксимации [47, 115, 125].
Примером является модифицированный алгоритм типа стохастической
аппроксимации вида [126]
⎧⎪w j (k + 1) = w j (k ) + ar −1 (k )(d j ( k ) − wTj (k )ϕ ( x(k )))ϕ ( x(k )),
⎨
2
⎪⎩r ( k ) = αr (k − 1) + ϕ ( x(k )) ,
(4.53)
(здесь r (0) = 1, 0 ≤ α ≤ 1, 0 < a < 2 ) совпадающий при α = 0 с одношаговым
алгоритмом Качмажа-Уидроу-Хоффа, а при α = 1 - с адаптивным алгоритмом
стохастической аппроксимации Гудвина-Рэмеджа-Кэйнеса [127, 128]. В [110,
111] исследована сходимость этой процедуры, отличающейся от алгоритма,
введенного в [127, 128], наличием фактора забывания α , что позволяет
обеспечить процессу обучения следящие свойства и в то же время исключает
возможность «взрыва параметров».
Аналогично предыдущему можно записать алгоритм типа (4.53) со
«скользящим окном», при этом
⎧⎪w j (k + 1) = w j (k ) + ar −1 (k )(d j ( k ) − wTj (k )ϕ ( x(k )))ϕ ( x(k )),
⎨
2
2
⎪⎩r ( k ) = r (k − 1) + ϕ ( x(k )) − ϕ ( x(k − χ )) .
(4.54)
Сравнительный анализ алгоритмов (4.46) и (4.53) показывает, что
процедура (4.46), обладая высокой скоростью сходимости, работает в весьма
узком диапазоне изменения фактора забывания, а алгоритм (4.53), как и все
процедуры
стохастической
аппроксимации,
характеризуется
низким
быстродействием. Отмеченных недостатков в значительной мере лишен
градиентный (со скалярным коэффициентом η ( k ) ) экспоненциально
взвешенный оптимальный по быстродействию алгоритм [129, 130]
60
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
w j (k + 1) = w j (k ) +
e j2 (k )(r j (k ) − R (k ) w j (k ))
r j (k ) − R(k ) w j (k )
2
,
(4.55)
где
⎧e j2 (k ) = e 2j (k ) + α e j2 (k − 1),
⎪
⎪r j (k ) = d j (k )ϕ ( x(k )) + α r j (k − 1),
⎨
T
⎪ R (k ) = ϕ ( x(k ))ϕ ( x(k )) + α R (k − 1),
⎪0 ≤ α ≤ 1.
⎩
(4.56)
В [110] исследована сходимость этой процедуры в нестационарных
стохастических условиях и показано, что по следящим и фильтрующим
свойствам, она превосходит рассмотренные градиентные алгоритмы обучения.
В случае, если функция достоверности g (k − p) имеет вид «скользящего
окна», соотношение (4.56) приобретают форму
⎧e j2 (k ) = e 2j (k ) + e j2 (k − 1) − e 2j (k − χ ),
⎪
⎨r j (k ) = d j (k )ϕ ( x(k )) + r j (k − 1) − d j (k − χ )ϕ ( x(k − χ )),
⎪
T
T
⎩ R (k ) = ϕ ( x(k ))ϕ ( x(k )) + R (k − 1) − ϕ ( x(k − χ ))ϕ ( x(k − χ )).
(4.57)
Задача обучения искусственных нейронных сетей может значительно
усложняться в случае, если сигналы ϕ ( x(k )) характеризуются высоким уровнем
корреляции. В этих условиях методы, основанные на традиционных
квадратичных критериях, оказываются ненадежными, а получаемые с их
помощью оценки синаптических весов не обеспечивают требуемой точности.
Эффективном средством повышения качества обучения может служить
использование методов смещенного оценивания [132, 133], позволяющих в
большинстве случаев получать значения настраиваемых параметров более
близкие к оптимальным, чем оценки, получаемые с помощью метода
наименьших квадратов.
В теории и практике смещенного оценивания как наиболее универсальные
можно выделить так называемые двухпараметрические оценки, в общем случае
имеющие вид
w j (k ) = (Φ (k )Φ T (k ) + l (Φ (k )Φ T (k )) q ) −1 Φ (k ) D j (k ),
(4.58)
где Φ(k ) = (ϕ ( x(0)), ϕ ( x(1)),…, ϕ ( x(k ))) − (h + 1) × (h + 1) - матрица входных
сигналов, D j (k ) = (d j (0), d j (1),… , d j (k )) T − (k + 1) × 1
вектор
обучающих
сигналов, l и q - некоторые скалярные параметры, определяющие свойства
получаемых оценок, l (Φ (k )Φ T (k )) q = L(k ) - регуляризующая добавка,
обеспечивающая устойчивость процедуры оценивания. Следует подчеркнуть,
61
что регуляризация информационной матрицы Φ (k )Φ T (k ) с помощью добавки
L(k ) преследует цель не только более устойчивого ее обращения, но и
улучшения статистических свойств оценок, хотя первоначально идея
регуляризации носила чисто вычислительный характер.
Использование оценок (4.58) для обучения в реальном времени
затруднено, поскольку требует хранения всей обучающей выборки Φ(k ), D j (k ) .
Вводя в рассмотрение матрицы R(k ) = Pϕ−1 (k ) = Φ(k )Φ T (k ), r j = Φ (k ) D j (k ) , оценки
(4.58) можно переписать в рекуррентной форме [134, 135]
⎧w j (k + 1) = ( R(k ) + lR q (k )) −1 r (k ),
⎪
⎪r j (k ) = d j (k )ϕ ( x(k )) + r j (k − 1),
⎪
⎨ R ( k ) = ϕ ( x(k ))ϕ T ( x(k )) + R ( k − 1),
⎪
T
⎪ P (k ) = P (k − 1) − Pϕ (k − 1)ϕ ( x(k ))ϕ ( x(k )) Pϕ ( k − 1) .
ϕ
⎪ ϕ
1 + ϕ T ( x(k )) Pϕ (k − 1)ϕ ( x(k ))
⎩
(4.59)
Из (4.59) в качестве частных случаев следуют:
¾ обобщенные гребневые оценки Ермакова-Панкратьева [136] (при
q = −1 ),
¾ обычные гребневые (ридж) оценки (при q = 0 ),
¾ сжатые оценки с параметром сжатия (1 + l ) −1 (при q = 1 ),
¾ обычные оценки наименьших квадратов (при l = 0 ).
Воспользовавшись формулой Шермана-Моррисона-Вудбери, запишем
очевидные преобразования
( R (k ) + l R q (k )) −1 = ( Pϕ−1 ( k ) + l Pϕ− q ( k )) −1 =
2−q
2
= (Ι − l Pϕ
1− q
−1
−
q
2
(k )(Ι + l Pϕ (k )) Pϕ (k )) Pϕ (k ) =
(4.60)
= (Ι + l Pϕ1−q ( k )) −1 Pϕ (k ),
из которых с учетом (4.59) и (4.60) следует
2− q
2
w j (k + 1) = (Ι − l Pϕ
1− q
−1
1− q
−1
−
q
2
( k )(Ι + l Pϕ (k )) Pϕ (k )) w*j (k ) =
(4.61)
= (Ι + l Pϕ (k )) w (k ),
*
j
где w*j (k ) - обычная оценка метода наименьших квадратов (4.44).
Соответствующие
рекуррентные
соотношения
для
синаптических весов в общем случае принимают вид [137]
вычисления
62
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
⎧
T
*
*
⎪w j (k + 1) = U (k )( w j (k ) + Pϕ (k )ϕ ( x(k ))(d j (k ) − ϕ ( x(k )) w j (k )),
⎪
Pϕ (k − 1)ϕ ( x(k ))ϕ T ( x(k )) Pϕ (k − 1)
⎪
,
⎨ Pϕ (k ) = Pϕ (k − 1) −
T
ϕ
ϕ
1
(
x
(
k
))
P
(
k
1
)
(
x
(
k
))
+
−
ϕ
⎪
⎪
q
2− q
⎪U (k ) = (Ι − l P 2 ( k )(Ι + l P1− q (k )) −1 P − 2 (k )) = (Ι + l P 1− q (k )) −1 ,
ϕ
ϕ
ϕ
ϕ
⎩
(4.62)
где для оценок Ермакова-Панкратьева –
3
1
U ( k ) = (Ι − l Pϕ2 (k )(Ι + l Pϕ2 (k )) −1 Pϕ2 (k )) = (Ι + l Pϕ2 ( k )) −1 ,
(4.63)
для обычных ридж-оценок –
U ( k ) = Ι − l Pϕ (k )(Ι + l Pϕ (k )) −1 = (Ι + l Pϕ (k )) −1 ,
(4.64)
для сжатых оценок –
U (k ) = (1 + l ) −1 Ι,
(4.65)
для оценок метода наименьших квадратов –
U (k ) = Ι.
(4.66)
Таким образом, выбор конкретного типа смещенных оценок в зависимости
от условий обучения сводится к выбору оператора U ( k ) , действующего на
обычную оценку наименьших квадратов.
Вместе с тем, введенные оценки непригодны для обучения в
нестационарных условиях, поскольку учитывает всю ретроспективную
информацию с одинаковым весом. Число работ по синтезу рекуррентных
алгоритмов обучения с конечной памятью, использующих идеи регуляризации,
невелико. Здесь, в частности, можно отметить работу [138], где предложен
алгоритм вида
Pϕ (k − 1)ϕ ( x(k ))e j ( k )
⎧
,
⎪w j (k + 1) = w j (k ) +
T
x
k
P
k
x
k
+
−
1
(
(
))
(
1
)
(
(
))
ϕ
ϕ
ϕ
⎪
⎪
Pϕ (k − 1)ϕ ( x(k ))ϕ T ( x(k )) Pϕ (k − 1)
⎪
,
⎨ Pϕ (k ) = Pϕ (k − 1) −
1 + ϕ T ( x(k )) Pϕ (k − 1)ϕ ( x(k ))
⎪
⎪
−1
⎪w j (0) = 0, Pϕ (0) = l Ι
⎪⎩
(4.67)
и [138] –
63
Pϕ (k − 1)ϕ ( x(k ))e j ( k )
⎧
,
⎪w j (k + 1) = w j (k ) +
1 + ϕ T ( x( k )) Pϕ (k − 1)ϕ ( x(k ))
⎪
⎪
Pϕ (k − 1)ϕ ( x(k ))ϕ T ( x(k )) Pϕ (k − 1)
⎪
,
⎨ Pϕ (k ) = Pϕ (k − 1) −
1 + ϕ T ( x(k )) Pϕ (k − 1)ϕ ( x(k ))
⎪
⎪
−1
⎪w j (0) = 0, Pϕ (0) = L ,
⎪⎩
(4.68)
при этом алгоритм (4.67) обеспечивает получение обычной ридж-оценки, а
(4.68) – обобщенной. Основным недостатком этих алгоритмов является то, что
с ростом объема выборки доля регуляризующей добавки L в информационной
матрице постоянно падает, что ведет к потере свойств оценок.
Адаптивный алгоритм со скользящим окном может быть получен из (4.68)
путем добавления соотношения для «сброса» устаревшей информации [139]
⎧
Pϕ (k − 1)(d j (k ) − wTj (k )ϕ ( x(k )))
ϕ ( x(k )),
⎪w j (k + 1) = w j (k ) +
1 + ϕ T ( x(k )) Pϕ (k − 1)ϕ ( x( k ))
⎪
⎪
Pϕ (k − 1)ϕ ( x(k − χ ))ϕ T ( x( k − χ )) Pϕ (k − 1)
~
⎪P
⎪ ϕ (k − 1) = Pϕ (k − 1) + 1 − ϕ T ( x(k − χ )) P (k − 1)ϕ ( x(k − χ )) ,
ϕ
⎨
⎪
~
~
Pϕ (k − 1)ϕ ( x(k ))ϕ T ( x( k )) Pϕ (k − 1)
~
⎪ P (k ) = P
,
~
ϕ ( k − 1) −
⎪ ϕ
1 + ϕ T ( x(k )) Pϕ (k − 1)ϕ ( x(k ))
⎪
⎪w j (0) = 0, Pϕ (0) = L−1 .
⎩
(4.69)
При χ = 1 приходим к одношаговому алгоритму
−1
w j (k + 1) = w j (k ) − L
d j (k ) − wTj ( k )ϕ ( x(k ))
1 + ϕ T ( x(k )) L−1ϕ ( x(k ))
ϕ ( x(k )),
(4.70)
который для обычной ридж-оценки приобретает аддитивную форму алгоритма
Качмажа [109]
d j (k ) − wTj (k )ϕ ( x(k ))
(4.71)
w j (k + 1) = w j (k ) −
ϕ ( x(k )).
2
l + ϕ ( x(k ))
Дополнительную гибкость рассмотренным процедурам можно придать,
предусмотрев возможность варьирования параметра регуляризации l по ходу
процесса обучения. Вопросы выбора данного параметра достаточно подробно
освещены в [133], заметим лишь, что работа в реальном времени ограничивает
класс результатов операционными оценками, в которых параметр l
рассчитывается на основании получаемых выборочных значений дисперсии
64
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
действующих возмущений. При этом алгоритм (4.69) следует дополнить
соотношениями для сброса устаревшего значения l (k − 1) и введения нового
l (k ) :
⎧
Pϕ (k − 1)(d j (k ) − wTj (k )ϕ ( x(k )))
ϕ ( x(k )),
⎪w j (k + 1) = w j (k ) +
T
x
k
P
k
x
k
ϕ
ϕ
+
−
1
(
(
))
(
1
)
(
(
))
⎪
ϕ
⎪
~
~
D( k − 1)ϕ ( x(k − χ ))ϕ T ( x(k − χ )) D(k − 1)
~
~
⎪P
(k − 1) = D (k − 1) +
,
~
⎪ ϕ
1 − ϕ T ( x(k − χ )) D(k − 1)ϕ ( x(k − χ ))
⎪⎪ ~
−1
⎨ D( k ) = D(k − 1) + l (k − 1) D( k − 1)(Ι − l (k − 1) D(k − 1)) D(k − 1),
~
~
⎪
Pϕ (k − 1)ϕ ( x(k ))ϕ T ( x(k )) Pϕ (k − 1)
~
⎪ Pϕ (k ) = Pϕ (k − 1) −
,
~
⎪
1 + ϕ T ( x(k )) Pϕ (k − 1)ϕ ( x(k ))
⎪
⎪ D( k ) = Pϕ (k ) + l (k ) Pϕ (k )(Ι + l (k ) Pϕ (k )) −1 Pϕ (k ),
⎪
~
−1
⎪⎩w j (0) = 0, Pϕ (0) = Pϕ (0) = l (0)Ι.
(4.72)
Особенностью алгоритма (4.72) является то, что при χ ≤ h он переходит в
форму регуляризованного многошагового алгоритма, а получаемые с его
помощью оценки являются несмещенными. При χ > h (4.72) представляет
собой устойчивую модификацию текущего метода наименьших квадратов.
Варьируя регуляризующей добавкой по ходу процесса обучения, можно
получать различные формы рекуррентных процедур настройки синаптических
весов нейронных сетей.
Большинство рассмотренных выше алгоритмов настройки тем или иным
образом связано с квадратичными критериями. Поскольку достаточно часто
обучение происходит в условиях интенсивных помех, целесообразно более
подробно остановиться на робастных многошаговых процедурах. Известно
[45], что квадратичный критерий (4.31) позволяет получить оптимальное
качество обучения в случае, когда помехи ξ (k ), k = 0,1,2,… подчинены
нормальному закону распределения или в более общем случае, когда
возмущения имеют ограниченную дисперсию, т.е.
∞
∫ξ
2
p(ξ ) dξ = σ ξ2 < ∞,
(4.73)
−∞
где p(ξ ) - плотность распределения помех, которая, как правило, неизвестна.
Существует достаточно много распределений, не входящих в этот класс,
например, так называемые распределения с «тяжелыми хвостами».
Возмущения,
имеющие
подобное
распределение,
характеризуются
возможностью возникновения выбросов, которые могут внести искажения в
процесс обучения.
Наиболее обширная группа распределений может быть описана с
65
помощью «класса невырожденных распределений», в который входят все
распределения с
p (0) =
1
> 0,
2a
(4.74)
и «класса приблизительно нормальных распределений», при этом элементы
этого класса имеют плотности вида
p (ξ ) = (1 − ε ) p N (ξ ) + ε q (ξ ),
(4.75)
где p N (ξ ) - плотность нормального закона распределения N ( 0, σ ξ2 ), q (ξ ) произвольная плотность, 0 ≤ ε < 1 - параметр степени «загрязненности»
основного распределения p N (ξ ) .
Для каждого класса существуют наихудшие (в смысле фишеровской
информации I ( p * ) : p * = min I ( p) ) распределения:
¾ для класса невырожденных распределений – распределение
Лапласа
p * (ξ ) =
⎧ ξ⎫
1
exp⎨− ⎬,
2a
⎩ a⎭
(4.76)
¾ для класса распределений с ограниченной дисперсией – нормальное
распределение
p * (ξ ) =
⎧⎪ ξ 2 ⎫⎪
exp⎨−
,
2⎬
⎪⎩ 2σ ξ ⎪⎭
2π σ ξ2
1
(4.77)
¾ для класса приблизительно нормальных распределений
комбинация нормального и лапласовского распределений
⎧
⎪
⎪⎪
*
p (ξ ) = ⎨
⎪
⎪
⎪⎩
⎧⎪ ξ 2 ⎫⎪
exp⎨−
при ξ ≤ ε 1 ,
2⎬
2
σ
2
⎪
⎪
2π σ ξ
ξ ⎭
⎩
–
1− ε
⎧⎪ ξ12 ⎫⎪
⎧⎪ ε 1 ξ
exp⎨−
exp
⎬
⎨− 2
2
⎪⎩ 2σ ξ ⎪⎭
⎪⎩ σ ξ
2π σ ξ2
1− ε
⎫⎪
⎬ в противном случае,
⎪⎭
(4.78)
где значение ε 1 находится с помощью уравнения
66
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
ε
1
σξ
1
= ∫ p N ( x)dx + 2 p N (ε 1 ) .
1 − ε − ε1
ε1
2
(4.79)
В соответствии с конкретной p * (ξ ) получаем следующие критерии
качества обучения:
¾ для класса невырожденных распределений
k
E kj = ∑ e j ( p ) ,
(4.80)
p =0
¾ для класса распределений с ограниченной дисперсией
k
E kj = ∑ e 2j ( p ),
(4.81)
p =0
¾ для класса приблизительно нормальных распределений
k
E = ∑ f (e j ( p )),
(4.82)
⎧ 1 2
⎪ 2σ 2 e j ( p ) при e j ( p ) ≤ ε 1 ,
⎪ ξ
f (e j ( p )) = ⎨
2
⎪− ε 1 + e j ( p ) ε 1 в противном случае.
⎪ 2σ 2
σ ξ2
ξ
⎩
(4.83)
k
j
p =0
где
Соответствующие критериям (4.80)- (4.82) алгоритмы с экспоненциальным
взвешиванием информации могут быть записаны в форме [40]:
⎧w j (k + 1) = w j (k ) + η (k ) Pϕ (k )e j (k )ϕ ( x(k )),
⎪⎪
Pϕ (k − 1)ϕ ( x(k ))ϕ T ( x(k )) Pϕ (k − 1) ⎞
⎨
1 ⎛⎜
⎟,
⎪ Pϕ (k ) = α ⎜ Pϕ (k − 1) −
−1
T
⎟
+
−
(
)
(
(
))
(
1
)
(
(
))
αη
k
ϕ
x
k
P
k
ϕ
x
k
⎪⎩
ϕ
⎝
⎠
(4.84)
где η ( k ) зависит от принятого критерия и имеет вид:
¾ для класса невырожденных распределений
⎧ε 2−1 при e j (k ) ≤ ε 2 ,
⎪
η (k ) = ⎨
−1
в противном случае,
⎪⎩ e j (k )
(4.85)
67
(здесь ε 2 - малая неотрицательная величина),
¾ для класса распределений с ограниченной дисперсией
η ( k ) = 1,
(4.86)
¾ для класса приблизительно нормальных распределений
⎧1 при e j ( k ) ≤ ε 1 ,
⎪
η (k ) = ⎨
−1
в противном случае.
⎪⎩ε 1 e j (k )
(4.87)
Выражения (4.84), (4.85) соответствуют рекуррентному алгоритму
наименьших модулей, (4.84), (4.86) – экспоненциально взвешенному методу
наименьших квадратов, (4.84), (4.87) – адаптивному робастному алгоритму,
вобравшему в себя высокий уровень устойчивости метода наименьших
модулей и высокую скорость сходимости метода наименьших квадратов.
В ряде практических ситуаций о возмущениях нет вообще никакой
информации, кроме их принадлежности некоторому ограниченному интервалу
ξ (k ) ≤ r (k ), k = 0,1,2,….
(4.88)
Более того, эти возмущения могут иметь регулярный детерминированный
характер или искусственную природу типа преднамеренных помех. Ясно, что
даже оптимальные значения синаптических весов w j в этом случае не
позволяют получить на выходе нейросети точное значение y j (k ) = d j (k ) , а
могут лишь задать некоторый интервал [141-150]
d j (k ) − r ( k ) ≤ wTj ϕ ( x(k )) ≤ d j (k ) + r (k ).
(4.89)
Несложно заметить, что неравенство (4.89) определяет в пространстве
синаптических весов пару гиперповерхностей, между которыми и лежат
настраиваемые параметры w j (k ) . Последовательность обучающих сигналов
d j (0), d j (1),… , d j ( N ) порождает N + 1 пару гиперплоскостей, которые высекают
в этом пространстве некоторую область (политоп) D N . Это и есть область
уточняемых параметров, при этом все точки, принадлежащие этой области,
равноправны в том смысле, что среди них невозможно выделить наилучший
вектор весов, хотя для удобства можно использовать некоторый центр области
D N . Очевидно, что результатом обучения будет не традиционная точечная
оценка, а интервальная, что в ряде случаев бывает весьма удобно.
Первый и очевидный путь решения задачи состоит в нахождении
решения системы N + 1 линейных неравенств (4.89), однако поскольку
количество вершин политопа D N растет значительно быстрее чем
68
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
k = 0,1, … , N , … , с вычислительной точки зрения этот подход представляется
малоэффективным
Альтернативный подход состоит в аппроксимации политопа
полученного в k -й момент времени, эллипсоидом
E k : ( w j − w j (k )) T P −1 (k )( w j − w j ( k )) ≤ 1,
Dk ,
(4.90)
чей центр w j (k ) и симметрическая положительно определенная матрица P (k )
настраиваются так, чтобы E k был как можно «ближе» к Dk . Поскольку w j (k ) и
P (k ) содержат (h + 1) + (h + 2)(h + 1) 2 настраиваемых параметров, идея
использования эллипсоидов по сравнению с политопами представляется более
предпочтительной.
Подход, предложенный Ф. Швеппе [141], состоит в том, что эллипсоид E k
должен содержать все возможные значения параметров, принадлежащие
пересечению E k −1 (эллипсоид, построенный в (k − 1) -й момент времени) с
областью Gk , лежащей между двумя гиперплоскостями последнего k -го
неравенства (4.89) так, как это показано на рис. 4.9.
Ek −1
Ek
Gk
Рис. 4.9 – Аппроксимация пересечения эллипсоида парой гиперплоскостей
Поскольку пересечение E k −1 и Gk не является эллипсоидом, необходимо
так построить w j (k ) и P(k ) , чтобы E k максимально точно его
аппроксимировал. Объединив (4.89) и (4.90), несложно видеть, что искомые
параметры описываются системой неравенств
⎧⎪( w j − w j (k − 1)) T P −1 (k − 1)( w j − w j (k − 1)) ≤ 1,
⎨ −2
T
2
⎪⎩r ( k )(d j (k ) − w j ϕ ( x( k ))) ≤ 1,
(4.91)
69
или для некоторого неотрицательного ρ (k ) ( w j − w j (k − 1)) T P −1 (k − 1)( w j − w j (k − 1)) +
(4.92)
+ ρ (k )r − 2 (k )(d j (k ) − wTj ϕ ( x( k ))) 2 ≤ 1 + ρ (k ).
~ (k ) (4.11), после несложных, но громоздких
Вводя вектор уклонений w
j
преобразований квадратичной формы в левой части (4.92), приходим к
алгоритму оценивания Фогеля-Хуанга [144]
⎧
⎪
~
−2
T
⎪w j (k + 1) = w j ( k ) + ρ (k )r (k ) P (k )(d j (k ) − w j (k )ϕ ( x(k )))ϕ ( x( k )),
⎪
ρ (k )r − 2 (k ) P(k − 1)ϕ ( x(k ))ϕ T ( x(k )) P(k − 1)
⎪~
=
−
−
P
k
P
k
(
)
(
1
)
,
⎨
−2
T
+
−
ρ
k
r
k
ϕ
x
k
P
k
ϕ
x
k
1
(
)
(
)
(
(
))
(
1
)
(
(
))
⎪
⎪
⎛
⎞
ρ (k )(d j (k ) − wTj (k )ϕ ( x(k ))) 2
~
⎪ P(k ) = P
⎜
⎟,
(k − 1) 1 + ρ (k ) − 2
T
⎜
⎪
r ( k ) + ρ (k )ϕ ( x(k )) P (k − 1)ϕ ( x(k )) ⎟⎠
⎝
⎩
(4.93)
являющемуся разновидностью взвешенного метода наименьших квадратов.
Процедура (4.93) содержит неопределенный параметр ρ (k ) , который
выбирается так, чтобы объем эллипсоида E k на пересечении E k −1 и Gk был
минимальным. Данная задача связана с поиском в каждый момент k минимума
функции
⎛
⎞
ρ (k )e 2j (k )
⎜
⎟
det P (k ) = 1 + ρ (k ) − 2
T
⎜
⎟
+
−
ρ
ϕ
ϕ
r
(
k
)
(
k
)
(
x
(
k
))
P
(
k
1
)
(
x
(
k
))
⎝
⎠
⎛
⎞
ρ (k )ϕ T ( x(k )) P(k − 1)ϕ ( x(k ))
⎜
⎟⎟ det P (k − 1)
⋅ ⎜1 − 2
T
+
−
ρ
ϕ
ϕ
r
(
k
)
(
k
)
(
x
(
k
))
P
(
k
1
)
(
x
(
k
))
⎝
⎠
h +1
⋅
(4.94)
или, что то же самое, с решением дифференциального уравнения
∂ det P (k )
= 0.
∂ρ
(4.95)
Поскольку (4.95) явно не имеет аналитического решения, необходимо
воспользоваться или процедурой одномерного поиска глобального минимума
(4.94) или численной процедурой отыскания действительных неотрицательных
корней (4.95).
70
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
Введением переменных
⎧α (k ) = ρ −1 (k )r 2 (k ),
⎪
e 2j ( k )
⎨
r 2 (k )
−
⎪ β (k ) = 1 +
α
(
k
)
α (k ) + ϕ T ( x(k )) P(k − 1)ϕ ( x(k ))
⎩
(4.96)
алгоритм (4.93) может быть преобразован к форме [151]
⎧
P (k − 1)(d j (k ) − wTj (k )ϕ ( x( k )))
ϕ ( x(k )),
⎪w j (k + 1) = w j (k ) +
α (k ) + ϕ T ( x(k )) P (k − 1)ϕ ( x(k ))
⎪
⎨
T
⎪ P (k ) = β (k )⎛⎜ P (k − 1) − P (k − 1)ϕ ( x(k ))ϕ ( x(k )) P (k − 1) ⎞⎟,
⎜
⎪
α (k ) + ϕ T ( x(k )) P(k − 1)ϕ ( x(k )) ⎟⎠
⎝
⎩
(4.97)
структурно совпадающей с экспоненциально взвешенным рекуррентным
методом наименьших квадратов, но существенно отличающейся своими
свойствами, а кроме того, требующей на каждом такте k решения задачи
минимизации по α (k ) функции
⎛ r 2 (k )
⎞
e 2j (k )
⎜
⎟
−
det P (k ) = 1 +
T
⎜
⎟
k
α
(
)
+
−
k
x
k
P
k
x
k
α
ϕ
ϕ
(
)
(
(
))
(
1
)
(
(
))
⎝
⎠
h +1
⎛
ϕ ( x(k )) P(k − 1)ϕ ( x(k )) ⎞
⎟⎟.
⋅ ⎜⎜1 −
T
⎝ α (k ) + ϕ ( x(k )) P (k − 1)ϕ ( x(k )) ⎠
⋅
(4.98)
T
Необходимость минимизации этой функции существенно усложняет
процесс обучения.
Для упрощения алгоритма введем в рассмотрение скалярную переменную
γ (k ) такую, что
⎧ D −1 (k ) = γ (k ) P −1 (k ),
⎪
−1
⎨ D (k ) = γ (k ) P(k ),
⎪γ (k ) > 0,
⎩
(4.99)
после чего перепишем (4.91), (4.92) в виде
⎧( w j − w j (k − 1)) T D −1 (k − 1)( w j − w j (k − 1)) ≤ γ (k − 1),
⎪ −2
⎪⎪r (k )(d j (k ) − wTj ϕ ( x(k ))) 2 ≤ 1,
⎨
−1
T
⎪( w j − w j (k − 1)) D (k − 1)( w j − w j ( k − 1)) +
⎪
−2
T
2
⎪⎩+ ρ (k )r (k )(d j (k ) − w j ϕ ( x(k ))) ≤ γ (k − 1) + ρ (k ).
(4.100)
71
Преобразуя (4.100), можно получить процедуру вида
⎧w j (k + 1) = w j (k ) + δ ( k )e j (k ) D(k )ϕ ( x(k )),
⎪
⎨
D(k − 1)ϕ ( x( k ))ϕ T ( x(k )) D (k − 1)
⎪ D(k ) = D (k − 1) − δ (k )
1 + δ (k )ϕ T ( x(k )) D (k − 1)ϕ ( x(k ))
⎩
(4.101)
(здесь δ (k ) = ρ (k )r −2 (k ) = α −1 (k ) ), структурно совпадающую с алгоритмом
Хэгглунда [152], минимизирующим целевую функцию
k
E = ∑ δ ( p )e 2j ( p ).
k
j
(4.102)
p =0
Эта процедура отличается от алгоритма Хэгглунда наличием двух параметров
γ (k ) и δ (k ) , полностью определяющих ее свойства. Можно показать [47, 153],
что алгоритм вида
⎧w j (k + 1) = w j (k ) + γ ( k )δ (k )e j (k ) P ( k )ϕ ( x(k )),
⎪
⎞ (4.103)
⎨
P(k − 1)ϕ ( x(k ))ϕ T ( x(k )) P(k − 1)
γ (k ) ⎛
⎜
⎟⎟,
=
P
(
k
−
1
)
−
(
k
)
(
)
δ
P
k
⎪
T
⎜
(
k
−
1
)
γ
(
k
−
1
)
+
(
k
)
(
x
(
k
))
P
(
k
−
1
)
(
x
(
k
))
γ
δ
ϕ
ϕ
⎝
⎠
⎩
у которого эти параметры удовлетворяют соотношениям
γ (k ) = γ (k − 1) + δ (k )r (k ) −
γ (k − 1)δ (k )e 2j (k )
2
γ (k − 1) + δ (k )ϕ T ( x(k )) P(k − 1)ϕ ( x(k ))
e 2j ( k )
−1
,
(4.104)
r 2 (k )
0 < δ (k ) ≤ γ (k − 1) T
,
ϕ ( x(k )) P(k − 1)ϕ ( x(k ))
обеспечивает сходимость настраиваемых весов к эллипсоидам минимального
объема, содержащим оптимальные параметры, не требуя при этом решения
вспомогательных задач оптимизации или поиска корней. Алгоритм достаточно
прост в вычислительном отношении и по мере накопления информации в
процессе настройки постепенно принимает форму взвешенного рекуррентного
метода наименьших квадратов, столь популярного в задачах обучения ИНС
[18].
4.4 Нелинейные алгоритмы обучения
В настоящем подразделе рассмотрены алгоритмы, также основанные на
парадигме обучения с учителем и реализующие правило коррекции по ошибке,
однако сама ошибка обучения
72
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
e j (k ) = d j (k ) − y j (k ) = d j (k ) − ψ ( wTj (k ) x( k ))
(4.105)
в данном случае является нелинейной функцией синаптических весов и
определяется принятой активационной функцией ψ (•) .
Типичным примером такого алгоритма может служить процедура
обучения персептрона Розенблатта с сигнум-функцией активации,
рассмотренного в подразделе 2.2. В качестве целевой функции используется
выражение [154]
E j (k ) = d j ( k )u j ( k ) − u j (k ) = e j (k )u j (k ) = (d j (k ) − sign wTj x(k )) wTj x(k ), (4.106)
а в качестве алгоритма настройки – соотношение (4.10), которое с учетом того,
что
∇ w j E j (k ) = −e j (k ) x(k ),
(4.107)
приобретает простую форму
w j (k + 1) = w j (k ) + η e j (k ) x(k ) = w j (k ) + η (d j (k ) − sign wTj (k ) x(k )) x(k ), (4.108)
где обучающий d j (k ) и выходной y j (k ) = sign u j (k ) сигналы нейрона могут
принимать только два значения + 1 и − 1.
С тем, чтобы исключить влияние на процесс сходимости амплитуды
входного сигнала, может быть использована модификация (4.108), имеющая
вид [47]
w j (k + 1) = w j (k ) + η
d j ( k ) − sign wTj (k ) x( k )
x(k )
2
x(k ),
(4.109)
однако отличающаяся по свойствам как от алгоритма Качмажа-Уидроу-Хоффа
(4.18), так и от алгоритма обучения (4.28).
Рассмотрим далее обучение квадратичного нейрона, описанного в
подразделе 1.3 и осуществляющего преобразование
n
n
n
y j (k ) = θ j (k ) + ∑ w ji (k ) xi (k ) + ∑∑ w jpl (k ) x p ( k ) xl (k ),
i =1
(4.110)
p =1 l =1
которое с учетом обозначений w j 0 (k ) = θ j (k ) , b j (k ) = ( w j1 (k ), w j 2 (k ),…, w jn (k ))T
− (n × 1) – вектор, C j (k ) = {w jpl (k )} − (n × n) - матрица, x− (k ) = ( x1 (k ), x2 (k ),…, xn (k ))T
− (n × 1) - вектор, x(k ) = (1, x −T ( k )) T , можно переписать в виде
73
y j (k ) = w j 0 (k ) + b Tj (k ) x − (k ) + x−T (k )C j ( k ) x− (k )
(4.111)
или в еще более компактной форме
y j (k ) = x T (k )W j ( k ) x(k ),
(4.112)
⎛ w j 0 ( k ) 0.5b Tj (k ) ⎞
⎟
W j (k ) = ⎜
⎜ 0.5b (k )
⎟
(
)
C
k
j
j
⎝
⎠
(4.113)
где
- блочная (n + 1) × (n + 1) - матрица.
Настройку матрицы синаптических весов W j будем осуществлять путем
минимизации критерия
E j (k ) =
1
1 2
e j (k ) = (d j (k ) − x T (k )W j x(k )) 2
2
2
(4.114)
с помощью градиентной процедуры
W j (k + 1) = W j (k ) + η (k )e j (k ) x(k ) x T (k ),
(4.115)
e j (k ) = d j (k ) − x T (k )W j (k ) x(k ).
(4.116)
где
Для нахождения параметра η (k ) , обеспечивающего алгоритму (4.115)
оптимальные свойства, введем матрицу уклонений текущих значений W j (k ) от
оптимальных
~
W j (k ) = W j − w j (k )
(4.117)
после чего, решая дифференциальное уравнение
~
~
∂Tr (W j (k )W jT (k ))
= 0,
∂η
(4.118)
(здесь Tr (•) - символ следа матрицы), можно получить оптимальное значение
параметра шага в виде [155, 156]
η (k ) = x( k )
−4
.
(4.119)
Подстановка (4.119) в (4.115) приводит к алгоритму обучения
74
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
W j (k + 1) = W j (k ) +
d j (k ) − x T (k )W j (k ) x(k )
x(k )
4
x(k ) x T (k ),
(4.120)
являющемуся
расширением
алгоритма
Качмажа-Уидроу-Хоффа
на
квадратичный нейрон.
В [156] изучена сходимость этого алгоритма и предложены различные его
модификации, включая многошаговые процедуры.
В настоящее время в нейронных сетях, как уже отмечалось выше,
наибольшее распространение получили сигмоидальные активационные
функции типа униполярной сигмоиды
ψ (γ j u j ) = σ (γ j u j ) =
1
1+ e
(4.121)
−γ j u j
и биполярного гиперболического тангенса
ψ (γ j u j ) = tanh(γ j u j ) =
1− e
−2γ j u j
1+ e
− 2γ j u j
,
(4.122)
которые связаны между собой соотношением (1.11). Заметим также, что при
больших значениях параметра крутизны γ j они практически совпадают с
релейной и сигнум-функцией соответственно.
Процесс обучения в непрерывном времени (или, что то же самое,
минимизация целевой функции (4.4)) может быть реализован с помощью
градиентного спуска, описываемого системой дифференциальных уравнений
dw ji
= −η
dt
∂E j (t )
∂w ji
= −η
∂E j (t ) ∂e j
∂e j
∂w ji
,
(4.123)
или с учетом того, что
n
e j = d j − y j = d j − ψ (u j ) = d j − ψ (∑ w ji xi ),
(4.124)
i =0
системой
dw ji
dt
= −ηe j
∂e j
∂w ji
= −ηe j
∂e j ∂u j
∂u j ∂w ji
= ηe j
∂ψ (u j )
∂u j
xi = ηe jψ ′(u j ) xi = ηδ j xi , (4.125)
где δ j - так называемая локальная ошибка, выражающая в виде
δ j = e jψ ′(u j ) = −
∂E j (t )
∂u j
.
(4.126)
75
Если в качестве активационной функции используется сигмоида (4.121), то
∂ψ (u j )
ψ ′(u j ) =
∂u j
= γ j y j (1 − y j ),
(4.127)
а уравнения (4.125) принимают вид
dw ji
dt
= η γ j e j y j (1 − y j ) xi ,
(4.128)
при этом производная ∂y j ∂u j достигает максимума при y j = 0.5 и минимума –
когда y j находится в окрестности 0 или 1 .
В случае гиперболического тангенса
ψ ′(u j ) =
∂ψ (u j )
∂u j
= γ j (1 − (tanh γ j u j ) 2 ) = γ j (1 − y 2j )
(4.129)
и обучение происходит согласно дифференциальным уравнениям
dw ji
dt
= ηγ j e j (1 − y 2j ) xi ,
(4.130)
при этом настройка весов практически останавливается, если y j приближается
к − 1 или + 1 , поскольку производная ∂y j ∂u j , равная γ j (1 − y 2j ) , достигает
своего максимума при y j = 0 и минимума – при ± 1 .
В дискретном случае обучение производится путем минимизации критерия
E j (k ) =
1 2
1
1
e j (k ) = ( d j (k ) − y j ( k )) 2 = (d j (k ) − ψ (u j ( k ))) 2 =
2
2
2
(4.131)
n
1
= (d j (k ) − ψ (∑ w ji xi (k ))) 2
2
i =0
с помощью рекуррентной процедуры
w ji (k + 1) = w ji (k ) − η (k )
= w ji (k ) − η (k )e j (k )
∂E j (k ) ∂e j ( k )
∂e j (k ) ∂w ji
∂e j (k ) ∂u j (k )
∂u j (k ) ∂w ji
= w ji ( k ) − η (k )e j (k )
∂e j (k )
∂w ji
=
= w ji (k ) + η (k )e j (k )ψ ′(u j (k )) xi (k ) = (4.132)
= w ji (k ) + η (k )δ j (k ) xi (k ),
76
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
где
δ j (k ) = e j (k )ψ ′(u j ( k )) = −
∂E j (k )
(4.133)
∂u j
– локальная ошибка.
В векторной форме алгоритм (4.132) имеет вид
w j (k + 1) = w j (k ) + η (k )δ j (k ) x( k ),
(4.134)
получивший в теории и практике искусственных нейронных сетей широкое
распространение под именем дельта-правила обучения.
Для сигмоиды (4.121) этот алгоритм имеет форму
w j (k + 1) = w j ( k ) + η (k )γ j e j (k ) y j (k )(1 − y j (k )) x(k ),
(4.135)
а для активационной функции (4.122) –
w j (k + 1) = w j (k ) + η (k )γ j e j (k )(1 − y 2j (k )) x(k ).
(4.136)
На рис 4.10 приведена схема обучения нейрона с помощью дельта-правила
(4.134).
1
w j0
x1 (k )
w j1
x2 (k )
w j2
x n (k )
w jn
+
ψ (u j (k ))
+
+
Σ
u j (k )
y j (k )
+
ψ ′(u j (k ))
∂ψ (u j (k ))
Алгоритм
обучения
η (k )
δ j (k )
×
∂u j (k )
e j (k )
−
Σ
+
d j (k )
Рис. 4.10 – Дельта-правило обучения
Реализация данной схемы требует достаточно точного вычисления
активационных функций и их производных, форма которых существенно
77
зависит от параметра γ j , который в общем случае также может быть
настраиваемым. В некоторых практических приложениях вычисление
производных затруднено, в связи с чем был предложен альтернативный
алгоритм обучения [27], не использующей операцию дифференцирования.
В этом случае генерируется малый зондирующий сигнал возмущения
Δu j (k ) , который накладывается на сигнал u j (k ) с тем, чтобы оценить
мгновенное значение градиента функции ошибки. Эффект малого возмущения
на ошибку e j (k ) = d j (k ) − y j (k ) запоминается. При этом так как
∂E j (k )
∂w ji
2
2
∂e j (k )
1 ∂e j (k ) 1 ∂e j (k ) ∂u j (k )
xi ( k ),
=
=
= −e j ( k )
2 ∂w ji
2 ∂u j (k ) ∂w ji
∂u j (k )
(4.137)
то для малого изменения Δu j (k ) можно записать
∂e 2j (k )
∂u j (k )
≈
(Δe j (k )) 2
(4.138)
Δu j (k )
или
∂e 2j (k )
∂u j (k )
= 2e j (k )
∂e j (k )
∂u j ( k )
≈ 2e j ( k )
Δe j (k )
Δu j (k )
.
(4.139)
Используя данные соотношения, можно ввести следующие алгоритмы
обучения:
(Δe j (k )) 2
1
w ji (k + 1) = w ji (k ) − η (k )
xi ( k )
2
Δu j (k )
(4.140)
⎛ Δe j (k ) ⎞
⎟ x (k )
w ji ( k + 1) = w ji (k ) − η (k )e j (k )⎜
⎜ Δu (k ) ⎟ i
⎝ j
⎠
(4.141)
и
практически идентичные при малых Δu j (k ) .
Схема обучения, реализующая алгоритмы (4.140), (4.141) приведена на рис
4.11.
Дельта-правило обучения несложно распространить на критерии отличные
от квадратичного, в общем случае имеющие вид для непрерывного и
дискретного случаев соответственно
E j (t ) = f (e j (t )) = f (d j (t ) − y j (t ))
(4.142)
E j (k ) = f (e j (k )) = f ( d j (k ) − y j (k )),
(4.143)
и
78
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
где f (e j ) - некоторая выпуклая дифференцируемая функция потерь.
w j0
1
+
w j1
x1 (k )
+
x2 (k )
w j2
xn (k )
w jn
ψ (u j (k ))
+
Σ
u j (k )
y j (k )
+
Δu j (k ) Δe j (k )
Вычисление
Δu j (k )
компонент
градиента
Алгоритм
обучения
− η (k )
×
−
e j (k )
Σ
+
d j (k )
Рис. 4.11 – Схема обучения с помощью зондирующих сигналов
По аналогии с (4.123) и (4.125) можно записать
dw ji
dt
= −η
∂E j (t )
∂w ji
= −η
где
δj =
∂f ∂e j ∂y j ∂u j
= ηf ′(e j )ψ ′(u j ) xi = ηδ j xi ,
∂e j ∂y j ∂u j ∂w ji
∂f (e j ) ∂ψ (u j )
∂e j
∂u j
= f ′(e j )ψ ′(u j ).
(4.144)
(4.145)
В дискретной форме (4.144) имеет вид
w j (k + 1) = w j (k ) + η (k ) f ′(e j (k ))ψ ′(u j (k )) x( k ) = w j (k ) + η ( k )δ j (k ) x(k ) (4.146)
и отличается от (4.134) только конструкцией локальной ошибки δ j (k ) .
В качестве функции f (e j ) в [27] рассмотрена мера, связанная с энтропией
и приводящая к критерию
E j (t ) =
1 + d j (t ) 1
1 − d j (t )
1
(1 + d j (t )) ln
.
+ (1 − d j (t )) ln
2
1 + y j (t ) 2
1 − y j (t )
(4.147)
Данный критерий всегда положителен, кроме случая y j (t ) = d j (t )
(идеальное обучение). Принимая в качестве активационной функцию
79
гиперболического тангенса, можно получить правило обучения
dw ji
dt
= ηδ j xi ,
(4.148)
где локальная ошибка имеет вид
δ j (t ) = d j (t ) − y j (t ) = e j (t ).
(4.149)
Такая же простая форма, в дискретном случае имеющая вид
w j (k + 1) = w j (k ) + η (k )e j (k ) x(k ),
(4.150)
объясняется тем, что компонента ψ ′(u j ) после преобразований исчезает, а это
позволяет использовать для обучения все алгоритмы, рассмотренные в
подразделе 4.3.
Обобщением критериев (4.142) и (4.143) являются конструкции вида [27]
E j (t ) =
и
E j (k ) =
α
2
α
2
2
(4.151)
2
(4.152)
w j (t ) + f (e j (t ))
w j (k ) + f (e j (k )),
где α ≥ 0 , а в качестве f (•) кроме (4.147) может использоваться, например,
f (e j ) = e j
(4.153)
или
f (e j ) = β 2 cosh
ej
β
,
(4.154)
(здесь β > 0 - скалярный параметр).
Процесс минимизации (4.151) имеет вид
dw ji
dt
= η (−αw ji + δ j xi ),
(4.155)
где δ j = ∂f (e j ) ∂e j - локальная ошибка.
В дискретной форме (4.155) можно записать в виде рекуррентной
процедуры
w j (k + 1) = w j ( k ) + η (k )(−α w j (k ) + δ j (k ) x(k )).
(4.156)
80
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
Улучшить аппроксимирующие свойства нейронных сетей можно, вводя
дополнительно обучение параметра крутизны γ j , хотя в практических
приложениях он обычно полагается постоянным. Для этого может быть
использован, например, алгоритм Крушке-Мовеллана вида [157]
γ j (k + 1) = γ j (k ) − ηγ (k )
∂E j (k )
∂γ
j
= γ j ( k ) + ηγ ( k ) e j ( k )
∂ψ (γ j (k )u j (k ))
∂γ
.
(4.157)
j
Объединение процедур обучения (4.134) и (4.157) позволяет настраивать
все параметры сети, хотя при этом могут возникнуть некоторые проблемы
численной реализации, связанные, прежде всего, с необходимостью
дифференцирования активационных функций достаточно произвольного вида.
Эти трудности просто преодолеваются, если в качестве базового блока
ИНС использовать обобщенный формальный нейрон из подраздела 1.4 с
активационной функцией (1.22). При этом алгоритм обучения синаптических
весов и параметра крутизны может быть записан в достаточно простом виде
[62]
L
⎧
w
(
k
1
)
w
(
k
)
η
(
k
)
e
(
k
)(
(2l + 1)(γ j (k )u j (k )) 2l ϕ l γ j (k )) x j (k ),
+
=
+
∑
ji
j
⎪ ji
⎪
l =0
⎨
L
⎪γ (k + 1) = γ (k ) + η (k )e (k )( (2l + 1)(γ (k )u (k )) 2l ϕ u (k )).
∑
j
γ
j
j
j
l j
⎪⎩ j
l =0
(4.158)
Схема обучения на основе (4.158) приведена на рис 4.12.
Одной из проблем, возникающих в процессе нелинейного обучения,
является проблема выбора параметра шага η (k ) , которая проявляется весьма
остро в ситуациях, когда обучение производится либо в обстановке помех, либо
в нестационарных условиях. Достаточно часто коэффициент η (k ) полагается
фиксированным и одинаковым для всех нейронов сети. Обычно его значение не
превышает единицы с тем, чтобы избежать нежелательных колебаний. Однако
малое постоянное значение параметра шага уменьшает скорость сходимости, а,
следовательно, увеличивает общее время обучения. Противоречие между
требованиями устойчивости и высокой скорости привело к возникновению
целого семейства алгоритмов обучения с адаптивным выбором параметра шага
[27], обеспечивающих высокую скорость сходимости при сохранении
устойчивости процесса настройки сети в целом. При этом необходимо
отметить, что большинство из известных алгоритмов имеет эвристический
характер.
В [158] рассмотрена так называемая “Search-Then-Converge” стратегия,
согласно которой параметр шага в процессе обучения постепенно уменьшается.
На начальной стадии, называемой фазой поиска, скорость обучения
практически неизменна. На последующей стадии – фазе сходимости параметр
81
шага экспоненциально стремится к нулю и рассчитывается согласно
выражениям
w j0
1
+
w j1
x1 (k )
+
+
w j2
x2 (k )
w jn
xn (k )
u j (k )
Σ
γ j (k )u j (k )
ψ * (γ j u j ) = ∑ (γ j u j ) 2l +1 ϕ j
γj
y j (k )
Γj
+
∂ψ *
∂ψ *
= ∑ (2l + 1) ⋅
= ∑ (2l + 1) ⋅
∂γ j
∂u j
⋅ (γ j u j ) 2l ⋅ ϕ j u j
⋅ (γ j u j ) 2l ⋅ ϕ j γ
j
×
Алгоритм
обучения
γj
×
Алгоритм
обучения
w ji
η ( k )e j ( k )
−
η (k )
e j (k )
Σ
+
d j (k )
Рис. 4.12 – Схема обучения обобщенного формального нейрона
η (k ) = η 0
1
(4.159)
k
1+
k0
или
1+
η (k ) = η0
c k
η0 k 0
⎛ k ⎞
c k
+ k 0 ⎜⎜ ⎟⎟
1+
η0 k0
⎝ k0 ⎠
2
,
(4.160)
где η 0 > 0, c > 0, k 0 >> 1 (обычно 100 ≤ k 0 ≤ 500 ). Несложно видеть, что при
k << k 0, , η (k ) ≈ η 0 , а при k >> k 0 - уменьшается пропорционально 1 k , т.е.
удовлетворяет условиям Дворецкого [115]. Таким образом, “Search-ThenConverge” – стратегия является процедурой стохастической аппроксимации,
обеспечивающей сходимость в обстановке интенсивных помех.
Еще один подход к обучению, основанный на стохастической
аппроксимации, развивается Б. Т. Поляком [159, 160]. Предложенные им
рекуррентные соотношения для уточнения синаптических весов имеют вид
82
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
⎧
∂E kj
,
⎪w ji (k + 1) = w ji (k ) − η (k )
∂w ji
⎨
⎪w (k + 1) = w (k ) + η (k )( w (k + 1) − w (k )),
ji
ji
ji
⎩ ji
где
∂E kj
∂w ji
=∑
k
∂E j (k )
∂w ji
(4.161)
, η (k ) = η 0 k γ , 0.5 < γ ≤ 1, η (k ) = 1 (1 + k ) .
Данный подход объединяет в себе две процедуры. Первая – это
рекуррентная процедура стохастической аппроксимации с коэффициентом
шага η (k ) = η 0 k γ . Вторая – это процесс усреднения с коэффициентом
η (k ) = 1 (1 + k ) . В отличие от обычного алгоритма обучения здесь вычисляются
две последовательности весов w ji (k ) и w ji (k ) , где w ji (k ) - это усредненное
значение w ji (k ) . Алгоритм использует два шаговых коэффициента: η (k ) = η 0 k −γ
и η (k ) = (k + 1) −1 , причем коэффициент η (k ) убывает более медленно чем η (k ) .
На практике процесс усреднения должен начинаться не при k = 0 , а с момента
k ≥ k 0 , для которого w ji (k ) уже находится в окрестности оптимальных
значений, что ведет к значениям коэффициентов шага
η0
1
η (k ) =
1
k − k0
η (k ) =
γ
k0 ⎛
k ⎞
⎜⎜1 + ⎟⎟
⎝ k0 ⎠
(4.162)
и
(4.163)
для k > k 0 . Как указывает автор метода, процесс усреднения позволяет
повысить скорость сходимости в обстановке помех.
Один из простейших приемов увеличения скорости обучения состоит в
том, что шаговый коэффициент η (k ) увеличивается, если глобальная целевая
функция E kj = ∑ E j (k ) уменьшается, и резко уменьшается, если происходит
k
возрастание критерия. В последнем случае синаптические веса вообще не
уточняются, т.е. w ji (k + 1) = w ji (k ) . Таким образом, стратегию управления
параметром шага можно записать в виде [27]
⎧aη (k − 1), если E kj < E kj −1 ,
⎪⎪
η (k ) = ⎨bη (k − 1), если E kj ≥ KE kj −1 ,
⎪
⎪⎩η (k − 1), в остальных случаях,
(4.164)
где a = 1.05, b = 0.7, K = 1.04 .
83
Й. Шмидхубер предложил [161] еще более простой способ определения
параметра шага в реальном времени
⎧
⎫
*
⎪ E j (k ) − E j
⎪
η (k ) = min ⎨
,η max ⎬,
2
⎪ ∇ w j E j (k )
⎪
⎩
⎭
(4.165)
где η max - максимально возможное значение параметра (обычно η max = 20 ), E *j желаемое значение целевой функции (обычно 0.01 ≤ E *j ≤ 0.1 ).
Л. Чан и Ф. Фоллсайд разработали алгоритм обучения с регуляризующим
членом вида [162]
⎛ ∂E j (k )
⎞
+ β (k )Δw ji (k − 1) ⎟,
w ji (k + 1) = w ji (k ) + η (k )⎜ −
⎜ ∂w
⎟
ji
⎝
⎠
(4.166)
где
β (k ) = β 0
ΔE j (k − 1)
Δw j (k − 1)
(4.167)
;
η ( k ) = η (k − 1)(1 + a cos Θ( k ));
cos Θ(k ) = −
(4.168)
∇ w j E Tj (k )Δw j (k − 1)
∇ w j E j (k ) ⋅ Δw j (k − 1)
;
(4.169)
Δw j (k − 1) = w j (k ) − w j (k − 1); ΔE j (k − 1) = E j (k ) − E j (k − 1); 0.1 ≤ a ≤ 0.5 (4.170)
В [163, 164] было предложено в качестве основы алгоритмов обучения
использовать метод сопряженных градиентов, в общем случае имеющий вид
[160]
⎧w (k + 1) = w ( k ) + η (k ) s (k ),
j
j
⎪⎪ j
⎨s (o) = −∇ w j E j (0),
⎪
⎪⎩s j (k ) = −∇ w j E j (k ) + β ( k ) s j ( k − 1)
(4.171)
и приводящий к алгоритму Флетчера-Ривза при
β (k ) =
∇ w j E Tj (k )∇ w j E j ( k )
∇ w j E Tj (k − 1)∇ w j E j ( k − 1)
,
(4.172)
84
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
алгоритму Полака-Рибьера при
β (k ) =
(∇ w j E j (k ) − ∇ w j E j (k − 1))T ∇ w j E j (k )
∇ w j E Tj (k − 1)∇ w j E j (k − 1)
(4.173)
и алгоритму Хестенса-Штифеля при
β (k ) =
(∇ w j E j (k ) − ∇ w j E j (k − 1))∇ w j E j (k )
s Tj (k − 1)(∇ w j E j (k ) − ∇ w j E j (k − 1))
.
(4.174)
В [168] для улучшения сходимости процесса обучения было предложено
использовать следующие эвристики:
¾ каждый вес w ji имеет собственный параметр шага η ji ;
¾ параметр шага адаптируется по ходу процесса обучения на основе
информации о текущих значениях производных ∂E j (k ) ∂w ji ;
¾ в случае, если производные ∂E j (k ) ∂w ji несколько шагов подряд не
меняют знак, параметр шага увеличивается;
¾ в случае, если производные ∂E j (k ) ∂w ji меняют знак, параметр
шага экспоненциально уменьшается.
На базе этих эвристик был предложен алгоритм, известный под именем
“Delta-Bar-Delta” и имеющий вид
w ji (k + 1) = w j (k ) − η ji (k )
∂E j (k )
∂w ji
,
(4.175)
где
⎧η ji (k − 1) + a, если δ ji (k − 1)δ ji (k ) > 0,
⎪
η ji (k ) = ⎨bη ji (k − 1), если δ ji (k − 1)δ ji (k ) < 0,
⎪
⎩η ji (k − 1) в остальных случаях;
(4.176)
a – параметр аддитивного увеличения (обычно 10 −4 ≤ a ≤ 0.1 ); b - параметр
мультипликативного уменьшения (обычно 0.5 ≤ b ≤ 0.9 ); δ ji (k ) = ∂E j (k ) ∂w ji ;
δ ji (k ) = (1 − α )δ ji (k ) + αδ ji (k − 1), 0 ≤ α < 1.
(4.177)
Следует также отметить, что обладая повышенной скоростью сходимости
“Delta-Bar-Delta” – алгоритм не допускает колебаний в процессе обучения.
Своеобразной комбинацией алгоритма Чана-Фоллсайда и “Delta-Bar-Delta”
является процедура Сильвы-Алмейды, имеющая вид [165]
85
⎛ ∂E j (k )
⎞
+ βΔw ji (k − 1) ⎟,
w ji ( k + 1) = w ji (k ) − η ji (k )⎜
⎜ ∂w
⎟
ji
⎝
⎠
где
⎧⎪aη ji (k ), если δ ji (k )δ ji (k − 1) ≥ 0,
⎪⎩bη ji (k ) в противном случае;
η ji (k ) = ⎨
(4.178)
(4.179)
1.1 ≤ a ≤ 1.3; 0.75 ≤ b ≤ 0.9; a ≈ b −1 ; η ji (0) = 10 −3 ; β = 0.1 .
Согласно этому алгоритму, если компоненты градиента ∂E j ∂w ji имеют
один знак на соседних шагах, параметр шага экспоненциально возрастает, а
если происходит смена знака производных – этот параметр уменьшается.
В [166] рассмотрен, так называемый, “Super SAB”-алгоритм, в котором при
неизменном знаке производных ∂E j ∂w ji на двух соседних шагах происходит
увеличение параметра шага до достижения им максимального значения
(обычно η max = 20 ); в противном случае уточнение весов не происходит. Эта
процедура может быть записана следующим образом:
∂E j (k )
⎧
+ β Δw ji (k − 1), если δ ji (k )δ ji (k − 1) ≥ 0,
⎪w ji (k ) − η ji ( k )
∂w ji
w ji ( k + 1) = ⎨
(4.180)
⎪w (k ) в противном случае,
⎩ ji
где
⎧⎪aη ji (k − 1), если δ ji (k )δ ji ( k − 1) > 0 и η ji (k − 1) ≤ η max ,
⎪⎩bη ji (k − 1) в противном случае;
η ji (k ) = ⎨
(4.181)
a ≈ 1.05; 0.5 ≤ b ≤ 0.7 .
Радмиллером и Брауном был исследован знаковый алгоритм обучения [4],
известный под именем “RPROP” и имеющий вид
w ji ( k + 1) = w ji (k ) − η ji ( k ) sign
∂E j (k )
∂w ji
(1.182)
с параметром шага
⎧min{aη ji ( k − 1),η max }, если δ ji (k )δ ji (k − 1) > 0,
⎪
η ji (k ) = ⎨max{bη ji (k − 1),η min }, если δ ji (k )δ ji (k − 1) < 0,
⎪
⎩η ji (k ) в противном случае
(4.183)
и коэффициентами a = 1.2, b = 0.5, η min = 10 −6 , η max = 50 .
86
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
С. Фальманом для ускорения процесса обучения было предложено
модифицировать активационные функции стандартных нейронов. Так вместо
обычной сигмоиды была введена конструкция [169]
ψ (u j ) = (1 + e
−γu j
) − 1 + 0 .1 u j ,
(4.184)
а вместо гиперболического тангенса –
ψ (u j ) = tanh(γu j ) + 0.1u j .
(4.185)
Алгоритм обучения, получивший название “Quickprop”, имеет форму
⎧w ji ( k + 1) = w ji ( k ) − η ( k ) s ji (k ) + β ji (k )Δw ji ( k − 1),
⎪
∂E j (k )
⎨
s
(
k
)
=
+ γw ji (k ),
⎪ ji
∂
w
ji
⎩
(4.186)
⎧η 0 , если Δw ji ( k − 1) = 0 или s ji (k )Δw ji (k − 1) > 0,
η (k ) = ⎨
(4.187)
~
⎧ β max , если β ji (k ) > β max или s ji (k )Δw ji (k − 1) β ji (k ) < 0,
⎪
β ji (k ) = ⎨ ~
s ji (k )
β
k
в противном случае.
=
(
)
⎪ ji
s
k
s
k
−
−
(
1
)
(
)
ji
ji
⎩
(4.188)
где
⎩0 в противном случае;
Обычно значения свободных параметров принимаются 0.01 ≤ η 0 ≤ 0.6 ,
β max = 1.75 .
Достаточно часто “Quickprop”-алгоритм используется в упрощенной
форме [27]:
⎧ β ji (k )Δw ji ( k − 1), если Δw ji (k − 1) ≠ 0,
⎪
Δw ji (k ) = ⎨ ∂E j (k )
⎪η 0 ∂w , если Δw ji ( k − 1) = 0,
ji
⎩
(4.189)
∂E j (k )
⎧
⎫
⎪
⎪
∂w ji
⎪
⎪
β ji (k ) = min ⎨
, β max ⎬.
⎪ ∂E j (k − 1) − ∂E j (k )
⎪
⎪ ∂w ji
⎪
∂
w
ji
⎩
⎭
(4.190)
где
87
Еще один метод ускорения процесса обучения, получивший название
алгоритма динамической адаптации, рассмотрен в [4]. Идея этого метода
состоит в том, что в направлении антиградиента − ∇ w j E j (k ) вычисляется два
набора синаптических весов вместо одного
⎧ 1 w j (k + 1) = w j (k ) − η (k − 1)∇ w j E j (k ) β ,
⎪
⎨ 2 w j (k + 1) = w j (k ) − η (k − 1) ∇ w j E j (k ) β ,
⎪
⎩ β > 1,
(4.191)
рассчитывается параметр шагая
⎧η (k − 1) β , если E j (1 w j (k + 1)) ≤ E j ( 2 w j (k + 1)),
η (k ) = ⎨
⎩η (k − 1) β в противном случае
(4.192)
и, наконец, пересчитываются синаптические веса
⎧⎪ 1 w j (k + 1), если E j (1 w j (k + 1)) ≤ E j ( 2 w j ( k + 1)),
w j (k + 1) = ⎨
⎪⎩ 2 w j (k + 1), в противном случае.
(4.193)
Перечень возможных подходов к ускорению процесса обучения можно
было бы продолжать, однако поскольку все рассмотренные алгоритмы строятся
на тех или иных эвристиках, достаточно трудно сформулировать общие
рекомендации по их использованию. В каждой конкретной задаче наилучшим
может оказаться любой из описанных здесь подходов.
Все рассмотренные выше алгоритмы обучения с точки зрения теории
оптимизации [160] относятся к градиентным процедурам, или процедурам
оптимизации первого порядка т.е. таким, при построении которых
используются только первые производные целевых функций.
Добиться существенного повышения качества процессов обучения можно,
переходя к так называемым ньютоновским алгоритмам, или процедурам
второго порядка, при синтезе которых кроме первых используются
производные и второго порядка [15, 18].
Для глобальной целевой функции
E kj =
1 k 2
1
e j ( p ) = ∑ e 2j (k ),
∑
2 p =0
2 k
(4.194)
заданной на всей обучающей выборке, алгоритм настройки синаптических
весов может быть записан в виде
w j (k + 1) = w j ( k ) − (∇ 2w j E kj ) −1 (∇ w j E kj ),
(4.195)
88
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
где
⎛ ∂ 2 E kj
⎜
⎜ ∂w 2j 0
⎜
∂ 2 E kj
2 k
⎜
⎫
⎧
∂
E
⎪
⎪
j
∇ 2w j E kj = ⎨
⎬ = ⎜ ∂w ∂w
⎪⎩ ∂w ji ∂w jq ⎪⎭ ⎜ j1 j 0
⎜
2 k
⎜ ∂ Ej
⎜ ∂w ∂w
⎝ jn j 0
∂ 2 E kj
∂w j 0 ∂w j1
∂ 2 E kj
∂w 2j1
∂ 2 E kj
∂w jn ∂w j1
⎞
⎟
∂w j 0 ∂w jn ⎟
⎟
∂ 2 E kj ⎟
∂w j1∂w jn ⎟
⎟
⎟
∂ 2 E kj ⎟
∂w 2jn ⎟⎠
∂ 2 E kj
(4.196)
– (n + 1) × ( n + 1) – матрица-гессиан, образованная вторыми производными;
⎛ ∂E kj ∂E kj
∂E kj
⎜
∇wE =
,
,…,
⎜ ∂w j 0 ∂w j1
∂w jn
⎝
k
j
T
⎞
⎟ - (n + 1) × 1 – вектор-градиент.
⎟
⎠
И хотя с теоретической точки зрения ньютоновские методы существенно
превосходят градиентные, на практике возникают проблемы как с вычислением
самого гессиана, так и с его обращением, особенно при работе в реальном
времени.
Поэтому в задачах обучения искусственных нейронных сетей широкое
распространение получили псевдоньютоновские методы, использующие те или
иные упрощенные представления гессиана.
В простейшем из таких алгоритмов [4]
⎛ ∂ 2 E kj
w ji (k + 1) = w ji (k ) − ⎜
⎜ ∂w 2
ji
⎝
−1
⎞ ∂E kj
⎟ ⋅
⎟ ∂w ji
⎠
(4.197)
пренебрегают внедиагональными элементами гессиана. К сожалению, несмотря
на простоту численной реализации, этот алгоритм может приводить к
значительным колебаниям в процессе настройки весов.
Более строгие и эффективные результаты могут быть получены на основе
методов нелинейной идентификации систем [170-175].
Перепишем целевую функцию (4.194) в виде
E kj =
1 k 2
1
1
e j ( p ) = ∑ e 2j ( k ) = ∑ (d j (k ) − y j (k )) 2 =
∑
2 p =0
2 k
2 k
n
1
1
(
d
(
k
)
−
ψ
(
w ji xi (k )) 2 = ∑ (d j ( k ) − ψ ( wTj x(k ))) 2 =
∑
∑
j
2 k
2 k
i =0
2
1
= D j (k ) − ψ ( X (k ) w j )
2
=
(4.198)
(здесь D j (k ) = (d j (0), d j (1),… , d j (k )) T − (k + 1) × 1 - вектор обучающих сигналов;
X (k ) = ( x(0), x(1),… x(k )) T − (k + 1) × (n + 1)
–
матрица
входных
сигналов
на
89
временном интервале от 0 до k ) и введем в рассмотрение (n + 1) × (k + 1) матрицу J kj , с элементами J pik = ∂ψ ( wTj x( p)) ∂w ji , и (n + 1) × (n + 1) – матрицу H kj ,
элементы которой имеют вид
H =
k
iq
∂ 2 E kj
∂w ji ∂w jq
=∑
∂ψ ( wTj x(k )) ∂ψ ( wTj x(k ))
k
− ∑ (d j (k ) − ψ ( wTj x( k )))
∂w ji
∂w jq
∂ 2ψ ( wTj x(k ))
∂w ji ∂w jq
k
−
(4.199)
= H iqk ,1 − H iqk , 2 .
При
некоторых
весьма
необременительных
предположениях
относительно характера активационных функций ψ (•) [18], членами H iqk , 2
можно пренебречь, т.е. положить
H kj ≈ J kj J kT
j .
(4.200)
Тогда итерационный релаксационный процесс минимизации критерия (4.198)
может быть записан в форме процедуры Гаусса- Ньютона [170]
w kj
*
+1
*
*
−1 k
k
(k ) = w kj (k ) + ( J kj J kT
j ) J j ( D j ( k ) − ψ ( X ( k ) w j ( k ))),
(4.201)
где верхний индекс k * обозначает номер итерации ускоренного машинного
времени, в котором обрабатывается полный набор сигналов D j (k ), X (k ) .
На практике наибольшее распространение получили алгоритмы Хартли
[176]
w kj
*
+1
*
*
*
−1 k
k
(k ) = w kj (k ) + η k ( J kj J kT
j ) J j ( D j ( k ) − ψ ( X ( k ) w j ( k ))),
(4.202)
*
где η k - некоторый положительный демпфирующий параметр, и Марквардта
[177]
w kj
*
+1
*
*
*
*
k
k −1 k
k
(k ) = w kj (k ) + ( J kj J kT
j + β L ) J j ( D j ( k ) − ψ ( X ( k ) w j ( k ))),
*
(4.203)
*
где β k - скалярный параметр; Lk - неотрицательно определенная
регуляризующая матрица, обеспечивающая устойчивость процессу обучения.
Объединяя (4.202) и (4.203), можно записать следующий обобщенный
алгоритм вычисления синаптических весов:
w kj
*
+1
*
*
*
*
*
k
k −1 k
k
(k ) = w kj (k ) + η k ( J kj J kT
j + β L ) J j ( D j ( k ) − ψ ( X ( k ) w j ( k ))).
(4.204)
Процесс уточнения оценок в машинном времени прекращается либо при
90
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
поступления нового наблюдения d j (k + 1), x(k + 1) , либо при выполнении
условия
w kj
*
+1
*
( k ) − w kj (k ) ≤ ε .
(4.205)
Алгоритмы (4.201) – (4.204) относятся к так называемым пакетным
алгоритмам обучения, когда вся имеющаяся выборка наблюдений
обрабатывается одновременно – по «эпохам», а уточнение синаптических весов
производится в ускоренном времени. Естественно, что использование
подобных процедур в реальном времени достаточно проблематично, поскольку
между двумя тактами реального времени должно успеть произойти несколько
эпох обучения.
Использовать псевдоньютоновские алгоритмы обучения в реальном
времени можно, ограничивая объем обрабатываемой выборки, т.е. переходя к
одношаговым и многошаговым алгоритмам с конечной памятью.
Рассматривая одношаговый вариант алгоритма (4.204) в виде
w j (k + 1) = w j (k ) + η ( J j (k ) J Tj ( k ) + β Ι) −1 J j (k )(d j (k ) − ψ ( wTj ( k ) x( k ))), (4.206)
с учетом соотношений для псевдообратных матриц [122]
lim ( J j (k ) J Tj (k ) + β Ι ) −1 = ( J j (k ) J Tj (k )) + ,
(4.207)
β →0
( J j (k ) J Tj (k )) + J j (k ) = ( J Tj (k )) + = J j (k ) J j (k )
−2
,
(4.208)
J j (k ),
(4.209)
(здесь J j (k ) = ∇ w j ψ ( wTj x(k )) ), приходим к процедуре [178]
w j (k + 1) = w j (k ) + η
d j (k ) − ψ ( wTj (k ) x(k ))
J j (k )
2
являющейся обобщением алгоритма Качмажа (4.15) на нелинейный случай.
На основе процедуры (4.209) несложно получить оптимальные
модификации дельта-правила обучения [179,180]. Так, например, оптимальная
форма алгоритма (4.135) имеет вид
w j (k + 1) = w j (k ) +
e j (k ) x(k )
γ j y j (k )(1 − y j (k )) x(k )
2
,
(4.210)
а алгоритму (4.136) соответствует процедура
91
w j (k + 1) = w j (k ) +
e j ( k ) x(k )
γ j (1 − y (k )) x(k )
2
j
2
(4.211)
.
Аналогично предыдущему для произвольной регуляризующей добавки
можно записать одношаговый алгоритм обучения
w j (k + 1) = w j (k ) + η ( J j J Tj + β L) −1 J j (k )(d j (k ) − ψ ( wTj (k ) x(k ))),
(4.212)
который с помощью формулы Шермана-Моррисона преобразуется к простому
виду [178]
−1
w j (k + 1) = w j (k ) + η L
d j (k ) − ψ ( wTj (k ) x(k ))
β + J Tj (k ) L−1 J j (k )
J j (k ),
(4.213)
являющемуся обобщением (4.71).
Для обучения искусственных нейронных сетей достаточно широкое
распространение получил псевдоньютоновский алгоритм ЛевенбергаМарквардта [18,33] имеющий вид
w j (k + 1) = w j (k ) + ( J j (k ) J Tj ( k ) + β Ι) −1 J j (k )(d j (k ) − ψ ( wTj (k ) x(k ))).
(4.214)
Несложно видеть, что он является частным случаем процедуры (4.213) и
путем несложных преобразований может быть приведен к форме [181]
w j (k + 1) = w j (k ) +
d j (k ) − ψ ( wTj (k ) x( k ))
β + J j (k )
2
J j (k ),
(4.215)
являющейся нелинейным обобщением аддитивного алгоритма Качмажа. Таким
образом при использовании алгоритма Левенберга-Марквардта полностью
отпадает необходимость в операции обращения матриц.
Вводя экспоненциальное взвешивание устаревшей информации, на основе
(4.209) можно построить модифицированный алгоритм типа стохастической
аппроксимации
⎧w j (k + 1) = w j (k ) + η r −1 (k )(d j (k ) − ψ ( wTj (k ) x(k ))) J j (k ),
⎪
⎨
2
⎪⎩r (k ) = α r (k − 1) + J j (k ) , 0 ≤ α ≤ 1,
(4.216)
частным случаем которого является (4.53).
Беря в качестве основы (4.213), получаем алгоритм
92
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
⎧⎪w j (k + 1) = w j ( k ) + η r −1 L−1 (k )(d j (k ) − ψ ( wTj ( k ) x(k ))) J j (k ),
⎨
T
−1
⎪⎩r ( k ) = α r (k − 1) + β + J j (k ) L J j (k ),, 0 ≤ α ≤ 1,
(4.217)
также обладающий сглаживающими и следящими свойствами.
Наряду с экспоненциальным взвешиванием информации по аналогии с
(4.34) – (4.41) и (4.72) можно рассмотреть алгоритмы с конечной памятью типа
«скользящее окно». Введем следующие обозначения:
1 ≤ χ ≤ k - память алгоритма;
J χj ( k ) − (n + 1) × χ
–
матрица,
образованная
градиентами
J j ( k − χ + 1), J j (k − χ + 2), …, J j (k ) ;
D χj (k ) − χ × 1
k − χ + 1, k − χ + 2,…, k ,
вектор
обучающих
сигналов
на
интервале
*
ψ ( X χ (k ) w kj (k )) - вектор выходов настраиваемого нейрона на интервале
k − χ + 1, …, k , полученный в результате k * -й машинной итерации;
*
*
*
P k (k , χ ) = ( J χj (k ) J χj T (k ) + β k Lk ) −1 , P 0 (0, χ ) = ( β 0 L0 ) −1 ;
*
(4.218)
*
Μ k (k , χ ) = J χj (k )( D χj (k ) − ψ ( X χ ( k ) w kj (k )))
(4.219)
− (n + 1) × 1 – вектор.
Еще раз заметим, что машинные итерации происходят с частотой,
превышающей частоту поступления данных. Тогда многошаговый нелинейный
алгоритм может быть записан в виде [111]
w kj
*
+1
*
*
*
*
(k ) = w kj (k ) + η k P k (k , χ )Μ k (k , χ ),
(4.220)
¾ ввод k -го наблюдения:
Pk
~ k * −1
k * −1
P (k , χ ) = P (k − 1, χ ) −
*
−1
(k − 1, χ ) J j (k ) J Tj (k ) P k
*
−1
(k − 1, χ )
,
(4.221)
~ *
~ *
P k −1 (k , χ ) J j (k − χ ) J Tj (k − χ ) P k −1 (k , χ )
~ k * −1
(k , χ ) = P (k , χ ) +
,
~ *
1 − J Tj (k − χ ) P k −1 (k , χ ) J j (k − χ )
(4.222)
1 + J Tj (k ) P k
*
−1
(k − 1, χ ) J j (k )
¾ сброс (k − χ ) -го наблюдения:
P
k * −1
*
*
¾ ввод нового регуляризатора β k Lk на k * -й машинной итерации:
93
*
*
*
*
*
*
*
~ *
P k (k , χ ) = P k −1 (k , χ ) − β k Lk (Ι + β k Lk P k −1 ( k , χ ) Lk ) −1 ⋅
k*
⋅ L P
k * −1
(k , χ ),
(4.223)
¾ сброс старого регуляризатора:
*
*
*
*
*
*
~ *
~ *
P k (k , χ ) = P k (k , χ ) + β k −1 Lk −1 (Ι + β k −1 Lk −1 P k (k , χ ) Lk −1 ) −1 ⋅
*
~ *
⋅ Lk −1 P k (k , χ ),
*
Μ k (k , χ ) = Μ k
*
−1
(4.224)
*
(k , χ ) + J j (k )(d j (k ) − ψ ( w kj T (k ) x(k ))) −
*
− J j (k − χ )(d j (k − χ ) − ψ ( w kj T ( k ) x(k − χ ))).
(4.225)
Рассмотренные алгоритмы (4.206)-(4.225) являются адаптивными
модификациями ньютоновских процедур обучения и позволяют обеспечить
настройку нейронных сетей в стохастических и нестационарных условиях.
Говоря о настройке нейронных сетей, в общем случае следует иметь ввиду
не только синаптические веса, но и другие свободные параметры. Так в [9] с
помощью алгоритмов обучения предлагается кроме синаптических весов
настраивать центры и ковариационные матрицы рецепторных полей радиальнобазисных сетей. Так, полагая в качестве радиально-базисной функции
обобщение (3.14)
ϕ i ( x ) = Φ ( x − ci
2
Σ i−1
(4.226)
),
вводя отображение, осуществляемое сетью в виде
h
y j (k ) = ∑ w ji Φ ( x − ci
i =0
2
Σ i−1
(4.227)
),
и локальную целевую функцию
E j (k ) =
h
1 2
1
e j (k ) = (d j ( k ) − ∑ w ji Φ ( x − ci
2
2
i =0
2
Σ i−1
),
(4.228)
несложно рассчитать производные по свободным параметрам
94
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
⎧ ∂E j (k )
2
= −e j ( k )Φ ( x − ci Σ −1 ),
⎪
i
⎪ ∂w ji
⎪
2
−1
⎨∇ ci E j (k ) = 2e j (k ) w ji Φ ′( x − ci Σi−1 )Σ i ( x( k ) − ci ),
⎪
⎪⎧ ∂E j (k ) ⎫
2
T
⎪⎨ ∂Σ −1 ⎬ = −e j (k ) w ji Φ ′( x − ci Σi−1 )( x(k ) − ci )( x(k ) − ci ) .
i
⎭
⎩⎩
(4.229)
Алгоритм обучения радиально-базисной нейронной сети, содержащий
линейную и нелинейную процедуры, в общем случае имеет вид
⎧w ji (k + 1) = w ji (k ) + η w (k )e j (k )Φ ( x( k ) − ci (k ) 2 −1 ),
Σi ( k )
⎪
⎪c (k + 1) = c (k ) − η (k )e (k ) w (k )Φ ′( x(k ) − c (k ) 2
)Σ i−1 (k )( x(k ) − ci (k )),
i
c
j
ji
i
⎪ i
Σ i−1 ( k )
(4.230)
⎨
2
−
−
1
1
⎪Σ i (k + 1) = Σ i (k ) + η Σ (k )e j (k ) w ji (k )Φ ′( x(k ) − ci (k ) −1 ) ⋅
Σi ( k )
⎪
T
⎪⎩⋅ ( x( k ) − ci (k ))( x(k ) − ci (k )) ,
где η w (k ), η c (k ), η Σ (k ) - параметры шага по соответствующим настраиваемым
переменным.
4.5 Эволюционные алгоритмы обучения
Рассмотренные выше алгоритмы обучения, основанные на градиентных и
ньютоновских процедурах оптимизации, реализуют так называемый
регулярный подход, в рамках которого вычисление на каждом шаге
синаптических весов осуществляется на основе достаточно строго
формализованных правил. Однако, как отмечалось в [28, 31], регулярные
процедуры хороши, но годятся не для всякой целевой функции и не для всякой
архитектуры сети. В ситуациях, когда целевая функция либо выходной сигнал
сети или являются недифференцируемыми, или многоэкстремальными, или
просто вычисление производных по каким-либо причинам нежелательно или
затруднительно, на первый план выходят эволюционные алгоритмы обучения,
развивающиеся в трех относительно независимых направлениях: случайный
поиск [182-186], эволюционное планирование [187-190] и генетическое
программирование [191-194].
В общем случае обучение на основе эволюционного подхода основывается
на элементарном методе проб и ошибок, когда решение ищется случайно и при
удаче принимается, а при неудаче отвергается с тем, чтобы немедленно снова
обратиться к случайному выбору как источнику возможностей. Такая
случайная основа поиска решений опирается на уверенность, что именно
случайность содержит в себе все возможности, в том числе и наилучшее
решение [105]. В общем случае метод проб и ошибок является универсальным
подходом (хотя и не всегда достаточно «быстрым») к решению задач в
95
условиях дефицита априорной и текущей информации, к которым в полной
мере могут быть отнесены задачи обучения нейронных сетей.
Одним из проявлений эффективной реализации проб и ошибок в природе
являются законы эволюции, представляющие собой итеративный процесс,
который включает воспроизведение в условиях мутаций, естественный отбор,
случайные рекомбинации, индивидуальное обучение [44]. Наиболее ярко
элемент случайности в пробах и ошибках проявляется в виде мутаций, которые
имеют стохастический характер. Эти мутации могут либо улучшить, либо
ухудшить приспособительные свойства биологической особи. В первом случае
эта особь имеет больше шансов на выживание и, следовательно, на закрепление
полученной мутации в потомстве.
Использование идей биологической эволюции в технике и породило то,
что сегодня называется эволюционными алгоритмами, которые наряду с
нейронными сетями и фаззи-системами сформировали новое научное
направление – вычислительный интеллект (Computational Intelligence).
4.5.1 Алгоритмы случайного поиска
Общая форма алгоритмов случайного поиска в задачах обучения
нейронных сетей имеет вид
w j (k + 1) = w j (k ) + Δw j (k ),
(4.231)
где Δw j (k ) – случайная корректирующая добавка, определяющая направление
смещения вектора синаптических весов на каждой итерации их уточнения.
Простейшей из таких процедур является метод случайной оптимизации
(ROM) [6], состоящий в том, что к текущему вектору синаптических весов
w j (k ) добавляется случайный вектор ζ (k ) . Далее вычисляется значение
целевой функции E j ( w j (k ) + ζ (k )) и в случае
E j ( w j (k ) + ζ (k )) < E j ( w j (k ))
(4.232)
w j (k + 1) = w j (k ) + ζ (k ).
(4.233)
полагается
В противном же случае w j (k + 1) = w j (k ) , т.е. уточнение не происходит, а
генерируется новая случайная проба ζ (k ) .
К этому алгоритму близок гомеостатический поиск [183] в форме
96
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
⎧w j ( k ) + ηζ (k ), если E j (k + 1) = E j ( w j (k ) + ζ (k )) <
⎪
w j (k + 1) = ⎨
< E j ( w j (k )) = E j (k ),
⎪
⎩w j ( k ) в противном случае
(4.234)
где ζ (k ) = (ζ 0 (k ), ζ 1 (k ),… , ζ n (k )) T – случайный равномерно распределенный
вектор такой, что − 1 ≤ ζ i (k ) ≤ 1 ; η - шаг поиска.
Несмотря на крайнюю простоту этих двух алгоритмов, их использование
для решения реальных задач не оправдано, поскольку связано с большими
временными затратами. Как отмечал Л. А. Растригин, причины кроются в том,
что подобные алгоритмы решают вопрос об отыскании решения в принципе,
гарантируя при этом лишь конечность времени отыскания этого решения,
которое может быть слишком велико.
Ускорить процесс обучения на основе случайного поиска можно,
воспользовавшись дополнительной информацией о характере целевой функции
E j (k ) или E kj , если конечно таковые сведения имеются.
Так, например, сведения о гладкости гиперповерхности E j (k ) позволят
повысить быстродействие с помощью использования приближенного
соотношения
∇ w j E j (k ) ≈ ∇ w j E j (k + 1) ,
(4.235)
справедливого при малых шагах η . Это соотношение приводит к интуитивному
заключению, что, сделав один удачный шаг, следует продолжать двигаться в
этом же направлении с высокой вероятностью успеха. На этом заключении
строятся алгоритмы случайного поиска с линейной тактикой [105], простейшим
их которых является алгоритм случайного спуска
w j (k + 1) = w j (k ) + Δw j ( k ),
(4.236)
⎧⎪ηζ (k ), если R − (k ),
w j (k ) = ⎨
+
⎪⎩Δw j (k − 1), если R (k ),
(4.237)
где символами R − (k ) и R + (k ) обозначены так называемые реакции процесса
обучения. Отрицательная реакция R − (k ) связана с увеличением критерия
качества
ΔE j (k ) = E j ( w j (k + 1)) − E j ( w j (k )) ≥ 0 → R − (k ),
(4.238)
а положительная – с его уменьшением
97
ΔE j (k ) < 0 → R + (k ).
(4.239)
Смысл алгоритма (4.236), (4.237) состоит в том, что из состояния сети
w j (k ) делаются случайные шаги в пространстве синаптических весов, пока не
будет найдено направление ζ (k ) , ведущее к уменьшению целевой функции.
Положительная реакция алгоритма заключается в повторении такого шага до
тех пор, пока критерий качества не начнет увеличиваться, что вызовет
отрицательную реакцию – случайные пробы новых направлений и т.д.
Данный алгоритм построен на принципе «наказания» случайностью, в
соответствии с которым оператор случайного шага ζ (k ) вводится как
отрицательная реакция на неудачный шаг обучения. В случае же удачи поиск
действует тем же образом, который привел к положительной реакции. Такая
форма поведения целесообразна для целевых функций близких к линейным,
свойства которых с переходом из одного состояния в другое изменяются
незначительно. Поэтому этот алгоритм иногда называется автоматом с
линейной тактикой [184].
Процесс обучения с помощью алгоритмов с линейной тактикой четко
подразделяется на два этапа, соответствующих двум разным образам
поведения. Первый этап сводится к определению направления спуска s j ,
второй – это собственно настройка весов в выбранном направлении до тех пор,
пока целевая функция не начнет увеличиваться.
Рассмотрим некоторые из возможных способов определения направления
спуска.
Наиболее естественной представляется чисто случайная оценка
направления спуска. Смысл ее сводится к попытке спуска вдоль случайно
выбранного направления:
sj =ζ,
(4.240)
где ζ = (ζ 0 , ζ 1 ,…, ζ n ) T – единичный случайный вектор, равномерно
распределенный по всем направлениям в пространстве синаптических весов.
Далее оценка направления спуска по наилучшей из нескольких случайных
проб. Из исходной точки w j (k ) на расстояние пробного шага ηζ делается
несколько случайных проб показателя качества E j ( w j (k ) + ηζ ζ q ) в случайных
направлениях ζ q , q = 1,2,… , Q . За направление спуска s j выбирается то, которое
обеспечило наименьшее значение показателя качества
s j = ζ *,
(4.241)
где ζ * удовлетворяет очевидному условию
98
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
{
}
E j ( w j (k ) + ηζ ζ * ) = min E j ( w j (k ) + ηζ ζ q ) .
q =1, 2 ,…,Q
(4.242)
Несложно видеть, что при Q = 1 это оценка вырождается в предыдущую.
Используется также оценка направления спуска методом статистического
градиента. В этом случае за направление движения принимается
средневзвешенное из Q случайных направлений, каждое из которых берется с
весом, соответствующим приращению критерия качества вдоль этого
направления
Q
s j = −dir ∑ ζ q ( E j ( w j (k ) + ηζ ζ q ) − E j ( w j (k ))),
(4.243)
q =1
где dir – это единичный вектор, определяющий интересующее нас направление
dir x =
x
.
x
(4.244)
Наконец, следует отметить ортогонализированный метод статистического
градиента. Этот метод определения направления спуска s j отличается от
предыдущего тем,
ортогональны, т.е.
что
случайные
(ζ ) ζ
q T
p
направления
⎧1, если q = p,
=⎨
⎩0, если q ≠ p.
ζ q , q = 1,2,… , Q, Q ≤ n + 1
(4.245)
Можно видеть, что при Q = n + 1 , т.е. при числе ортогональных проб
равном числу настраиваемых весов, этот метод вырождается в алгоритм
оптимизации Гаусса-Зайделя [105, 195].
Далее можно перейти ко второму этапу обучения – собственно спуску. Сам
по себе процесс спуска заключается в определении минимума целевой функции
вдоль выбранного направления s j . Чаще всего это шаговая процедура, причем
после каждого шага принимается решение: двигаться ли дальше или прекратить
спуск и обратиться к первому этапу.
В качестве наиболее известных алгоритмов спуска можно выделить,
например, спуск с парными пробами, когда вдоль направления спуска берутся
парные пробы, дающие возможность принять решение: спускаться дальше или
прекратить спуск и вернуться к первому этапу. Алгоритм имеет вид
⎧⎪η s j , если E j ( w j ( k ) + ηζ s j ) − E j ( w j (k ) − ηζ s j ) < ε ,
w j (k + 1) = w j (k ) + ⎨
(4.246)
⎪⎩0, если E j ( w j (k ) + ηζ s j ) − E j ( w j (k ) − ηζ s j ) ≥ ε
99
и для него характерно четкое расчленение пробных и рабочих шагов. Именно
поэтому его иногда называют алгоритмом с разделенными пробными и
рабочими шагами [183].
В задачах обучения ИНС, особенно в реальном времени, более
предпочтительными представляются алгоритмы с совмещенными пробными и
рабочими шагами такие, как совмещенный спуск
⎧⎪η s j , если E j ( w j (k )) − E j ( w j ( k − 1)) < ε ,
w j (k + 1) = w j (k ) + ⎨
⎪⎩0, если E j ( w j (k )) − E j ( w j (k − 1)) ≥ ε
(4.247)
и реверсный поиск, являющийся расширением базового ROM [6]
⎧⎪η s j , если E j ( w j (k )) − E j ( w j (k − 1)) < ε ,
w j (k + 1) = w j (k ) + ⎨
⎪⎩− η s j , если E j ( w j (k )) − E j ( w j (k − 1)) ≥ ε .
(4.248)
Алгоритм (4.248) строится на интуитивных предположениях о том, что
если направление s j ведет к возрастанию, то – s j – возможно к убыванию
целевой функции.
Рассмотренные алгоритмы случайного поиска с линейной тактикой обладают
существенным недостатком [185]: в процессе спуска выбранное направление
все менее и менее соответствует антиградиентному и поэтому линейный спуск
довольно быстро теряет смысл. Данное обстоятельство заставляет обратиться к
коррекции направления спуска в процессе самого спуска. Это может быть
осуществлено различными способами. Одним из простейших таких способов
является введение незначительного «рыскания» (зондирования) в процессе
обучения, при котором оценивается эффективность новых направлений с тем,
чтобы принять или не принять их. Рыскание в процессе спуска при этом может
быть как регулярным, так и чисто случайным. Алгоритм такой коррекции
может иметь, например, следующий вид:
где
s j (k + 1) = dir ( s j (k ) + Δs j (k )),
(4.249)
Δs j (k ) = − aζ (k )ΔE j (k − 1);
(4.250)
a - коэффициент рыскания.
Видно, что при a = 0 – это обычный линейный спуск. При a ≠ 0 вектор s j (k + 1)
в процессе спуска будет разворачиваться в том направлении, где приращение
ΔE j (k − 1) минимально.
Вторым, более радикальным способом улучшения характеристик спуска
является использование так называемых локальных алгоритмов случайного
поиска [105]. Локальность алгоритма поиска определяется его независимостью
100
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
от предыстории. Так алгоритмы с линейной тактикой являются нелокальными,
причем эта нелокальность вызвана характером самого спуска, в котором
рабочие шаги повторяются, т.е. жестко связаны.
В существенно нелинейной обстановке часто нецелесообразно повторять
удачные шаги, поскольку характер целевой функции существенно меняется на
каждом шаге. В этом случае лучше избрать локальную нелинейную тактику,
т.е. предпринимать последовательно независимые попытки по уменьшению
критерия качества и исправлять ошибки, если они возникают.
Если при этом воспользоваться случайными шагами-пробами, то получим
алгоритмы с поощрением случайностью, в которых элемент случайности ζ (k )
вводится как положительная реакция R + (k ) , а отрицательной реакцией R − (k )
являются меры по устранению последствий неудачного случайного шага. Этот
алгоритм можно записать в виде
⎧⎪ηζ (k ), если R + (k ),
w j (k + 1) = w j (k ) + ⎨
−
⎪⎩ f (ΔE j (k − 1)), если R (k ).
(4.251)
Как видно, оператор случайного шага ζ (k ) вводится как поощрение на
удачный шаг R + (k ) (ΔE j (k − 1) < 0) . Отрицательная реакция R − (k ) вызывает
действие, например
f (ΔE j (k − 1)) = −Δw j ( k − 1) = w j (k − 1) − w j (k ),
направленное
(4.252)
на
преодоление полученного отрицательного эффекта
R (k ) (ΔE j (k − 1) ≥ 0) , после чего снова следует случайный шаг ζ (k + 1) . Таким
образом, алгоритм (4.251) исправляет ошибки, допущенные в процессе
случайного поиска.
Различные алгоритмы локального случайного поиска отличаются друг от
друга различными способами определения направления, в котором делается
попытка сделать рабочий шаг поиска.
Здесь следует выделить алгоритм с парными пробами [183],
предполагающий четкое разделение между поисковыми (пробными) и
рабочими шагами. В случайном направлении, определяемом вектором ζ , по
обе стороны от исходного состояния w j (k ) делаются пробы. Значения целевой
функции в точках w j (k ) ± ηζ ζ (k ) определяют направление рабочего шага,
который делается в направлении наименьшего значения критерия качества
−
w j (k + 1) = w j (k ) − ηζ (k ) sign ( E j ( w j ( k ) + ηζ ζ (k )) − E j ( w j (k ) − ηζ ζ (k ))). (4.253)
Характерной особенностью данного алгоритма является тенденция к
«блужданию» даже в том случае, если оптимум критерия качества найден.
Действительно, найдя экстремум, алгоритм тут же уводит оптимальный набор
101
настраиваемых параметров в сторону, что в общем-то в нестационарных
ситуациях не так уж плохо.
Также можно отметить алгоритм с возвратом при неудачном шаге, смысл
которого заключается в следующем. В пространстве настраиваемых параметров
из исходного состояния w j (k ) делается шаг в случайном направлении ζ (k ) .
Если значение целевой функции в новом состоянии E j (k + 1) больше или равно
значению функции в исходной точке E j (k ) , т.е. случайная проба оказалась
неудачной, то алгоритм возвращается в первоначальное состояние w j (k ) , после
чего снова делается шаг в новом случайном направлении. Если же целевая
функция уменьшилась, то шаг считается рабочим и последующий случайный
шаг делается уже из нового состояния w j (k + 1) . Этот алгоритм можно записать
в виде
⎧⎪ηζ (k ), если E j (k + 1) < E j (k ),
w j (k + 1) = w j (k ) + ⎨
⎪⎩0, если E j (k + 1) ≥ E j (k ).
(4.254)
Далее, алгоритм с пересчетом при неудачном шаге, являющийся
модификацией предыдущего. В этой процедуре возвратный шаг при неудачной
пробе не производится, за счет чего алгоритм имеет повышенное
быстродействие. Алгоритм после неудачного шага снова делает случайную
пробу, отсчитанную из предыдущего состояния, т.е. возврат как бы
пересчитывается вместе с последующим случайным шагом.
Рекуррентная формула для смещения в пространстве настраиваемых
параметров по этому алгоритму имеет вид
где
⎧⎪ηζ (k ), если E j (k + 1) < E *j (k ),
w j (k + 1) = w j (k ) + ⎨
*
⎪⎩− ηζ (k − 1) + ηζ (k ), если E j (k + 1) ≥ E j (k ),
(4.255)
E *j (k ) = min {E j ( p )}
(4.256)
p = 0 ,1,…, k
– наименьшее значение целевой функции за k предыдущих шагов поиска.
Этот алгоритм обладает повышенным быстродействием, но низким
уровнем помехозащищенности.
Наконец следует отметить алгоритм наилучшей пробы. Этот алгоритм
случайного поиска опирается на многократную случайную выборку. Из
исходной точки w j (k ) делается Q случайных проб ηζ ζ 1 (k ),ηζ ζ 2 (k ),…,ηζ ζ Q (k ) в
пространстве весов и запоминается тот шаг, который привел к наибольшему
снижению целевой функции. Рабочий шаг делается именно в этом направлении
w j (k + 1) = w j (k ) + ηζ * (k ),
(4.257)
102
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
где ζ * (k ) – направление наилучшей пробы, которая удовлетворяет следующему
выражению:
{
}
E j ( w j (k ) + ηζ ζ * (k )) = min E j ( w j ( k ) + ηζ ζ q (k )) .
q =1, 2 ,…Q
(4.258)
Очевидно, что с увеличением числа проб выбранное направление все более
приближается к наилучшему, т.е. антиградиентному, и в пределе при Q → ∞
совпадает с ним.
Перечень возможных алгоритмов можно было бы продолжить, однако
гораздо более важным представляется их сравнительная оценка по какому-либо
достаточно универсальному критерию. В качестве такого критерия естественно
принять конструкцию, именуемую потерями на поиск [105]:
K=
затраты
,
положительный эффект
(4.259)
где затраты определяются числом проб на один цикл поиска, а эффект
измеряется величиной смещения к точке оптимума.
На рис 4.13 показана граница изменения потерь на поиск между
алгоритмами случайного поиска и регулярными градиентными.
Потери на случайный поиск имеют параболический характер, т.е.
изменяются пропорционально n . Таким образом, случайный поиск имеет
преимущество перед градиентным по быстродействию при значительном
количестве настраиваемых параметров n , причем это преимущество тем борее,
чем больше n .
На рис. 4.13 ρ – это расстояние до экстремума целевой функции,
измеренное в рабочих шагах поиска η . Заштрихована область, где
быстродействие случайного поиска превышает быстродействие градиентного
по критерию потерь на поиск (4.259).
ρ
12
10
8
6
4
2
0
2
4
6
8
10
12
14
16
18
n
Рис.4.13 – Потери на поиск
103
Таким образом, случайный поиск более эффективен при оптимизации
объектов с большим числом варьируемых параметров (а ИНС именно такими
объектами и являются) вдали от экстремума. В ситуациях малой размерности
( n ≤ 3 ) и в окрестности экстремума ( ρ ≤ 4 ) целесообразнее использовать
градиентные методы.
Свойства случайного поиска можно существенно улучшить, обеспечив
конкретным
алгоритмам
способность
к
самообучению
и
самосовершенствованию в процессе работы. Таким образом, возникает
самообучение алгоритмов обучения. Это приводит к тому, что в каждом новом
состоянии система обучения либо начинает поиск сначала, т.е. полностью
игнорирует предыдущий опыт, как, например, при локальных методах поиска,
либо «доверяет» предыдущему результату и пробует продвинуться к оптимуму
по направлению, которое в предыдущем состоянии оказалось удачным (поиск с
линейной тактикой).
Оптимальное поведение является промежуточным между этими двумя
крайностями: нужно запоминать предыдущее удачное направление, но
доверять ему следует не полностью, а лишь с определенной вероятностью и
изменять эту вероятность по мере приобретения нового опыта работы, т.е.
между двумя соседними состояниями должна существовать вероятностная
взаимосвязь.
Самообучение естественно вводится в алгоритмы случайного поиска в
форме перестройки его вероятностных характеристик, т.е. в целенаправленном
воздействии на вектор ζ , который перестает быть равновероятным и
приобретает некоторые преимущественные направления, например, в сторону
предыдущего наилучшего шага.
Обучение алгоритма обучения, как правило, начинается в обстановке
равновероятного поиска. В процессе накопления опыта работы система
обучения должна приобретать «представление» о решаемой задаче в виде
некоторых вероятностных гипотез о наилучшем направлении движения в
пространстве настраиваемых параметров. По мере накопления опыта
дисперсность этих гипотез должна уменьшаться и в пределе система обучения
должна «знать» вектор наилучшего направления.
Таким образом, процесс самообучения стремится «задетерминировать»
поиск в наилучшем направлении, т.е. таким образом перестроить его
вероятностные характеристики, чтобы процесс настройки ИНС стал
неслучайным. С другой стороны, алгоритм самообучения должен обладать
способностью переучиваться, если ситуация каким-либо образом изменилась.
И, наконец, введение самообучения не должно исключать применение
описанных выше алгоритмов случайного поиска в «чистом виде», т.е. оно
должно затрагивать только вероятностные свойства выбора направления
рабочего шага, но не менять структуру алгоритма. Это дает возможность
комбинировать самообучение с различными алгоритмами, рассмотренными
выше.
В качестве подходов к самообучению случайного поиска можно отметить
104
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
следующие [185].
Наиболее простым является самообучение методом исключения. Этот
подход опирается на следующее очевидное положение. Если число возможных
направлений движения конечно, то исключение из рассмотрения неудачных
направлений, увеличивающих критерий качества, повышает вероятность
отыскания удачных направлений, двигаясь вдоль которых алгоритм обучения
уменьшает значение целевой функции.
Характерной чертой и недостатком этого подхода является необходимость
большой памяти для хранения неудачных вариантов случайных смещений,
которые исключаются из дальнейшего поиска.
Более эффективным является алгоритм покоординатного самообучения, во
многом схожий с алгоритмом Гаусса-Зайделя. Данный алгоритм использует
вероятность выбора направления движения вдоль i -й переменной w ji в форме
функции от некоторой величины α i , называемой параметром памяти или
просто «памятью» по i -й координате на k -м шаге поиска
Pi (k ) = P (α i (k )).
(4.260)
В качестве наиболее распространенных функций P(α i ) используются
[105]:
¾ экспоненциальная
⎧ 1 −γ α i
, если α i ≤ 0,
⎪⎪ 2 e
P (α i ) = ⎨
⎪1 − 1 e −γ α i , если α > 0,
i
⎪⎩ 2
(4.261)
⎧0, если α i < −1,
⎪1
⎪
P (α i ) = ⎨ (1 − α i ), если − 1 ≤ α i < 1,
⎪2
⎪⎩1, если α i > 1,
(4.262)
¾ линейная
¾ гауссова
P (α i ) =
1
(1 + Φ (α i )),
2
(4.263)
¾ синусная
105
⎧0, если α i < −1,
⎪1 1
⎪
P (α i ) = ⎨ + arcsin α i , если − 1 ≤ α i ≤ 1,
⎪2 π
⎪⎩1, если α i ≥ 1
(4.264)
и другие. Видно, что при α i = 0 , поиск имеет равновероятный характер,
т.е. P(0) = 0.5 . Интересно также то, что функции (4.261) – (4.264) являются по
сути активационными сигмоидальными функциями стандартных нейронов.
Процедура самообучения реализуется путем соответствующего изменения
параметра памяти, например, при помощи следующей рекуррентной формулы
α i (k + 1) = α i (k ) + ηα sign (Δw ji (k − 1)ΔE j (k − 1)).
(4.265)
Смысл выражения (4.265) заключается в следующем: если произведенный
шаг настройки привел к увеличению целевой функции, т.е. был сделан в
неблагоприятном направлении, то вероятность выбора этого направления при
последующем шаге уменьшается. И наоборот, в случае уменьшения критерия
качества вероятность выбора этого направления увеличивается.
Как видно, алгоритм самообучения работает в двух режимах: режиме
поощрения при ΔE j < 0 и в режиме наказания при ΔE j ≥ 0 . Если в первом
случае реализуется положительная обратная связь, когда сделанный шаг
приводит к увеличению вероятности такого же шага, то во втором – обратная
связь имеет отрицательный характер, когда сделанный неудачный шаг
приводит к уменьшению вероятности этого шага за счет увеличения
вероятности противоположного шага. Таким образом, поиск начинается как
чисто случайный, а со временем приобретает все более детерминированные
черты.
В рассмотренном алгоритме параметр памяти по любой координате
(настраиваемому параметру) в результате одного шага поиска изменяется на
постоянную величину, равную шагу по памяти ηα . Однако необходимость
обучения определенного синаптического веса зависит прежде всего от
полученного результата ΔE j и степени участия этого веса в данном результате.
Поэтому в ряде случаев целесообразнее использовать так называемый
пропорциональный алгоритм самообучения в форме
α i (k + 1) = α i (k ) − ηα Δw ji (k − 1)ΔE j (k − 1),
(4.266)
реагирующий как на результат шага поиска, так и на степень участия
конкретного настраиваемого параметра в этом результате.
Алгоритмы (4.265), (4.266) «помнят» все предыдущие этапы поиска
поэтому в нестационарных ситуациях целесообразно введение в процедуры
самообучения фактора забывания в форме
106
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
α i (k + 1) = αα i (k ) − ηα Δw ji (k − 1)ΔE j (k − 1), 0 ≤ α ≤ 1,
(4.267)
при этом α = 1 обеспечивает запоминание системой обучения всего
пройденного пути, а α = 0 – только результата последнего шага.
Недостаток этих алгоритмов, как и всех процедур покоординатной
оптимизации типа Гаусса-Зайделя, связан с их организацией, требующей в
каждый момент движения только по одной переменной. Отсутствие
промежуточных направлений снижает скорость сходимости. Более
эффективным представляется подход, основанный на непрерывном
самообучении.
Пусть A = (α 0 , α 1 , … , α n ) T – вектор, характеризующий вероятностные
свойства поиска по всем настраиваемым параметрам, причем при
α i = 0 (i = 0,1, … , n) поиск предполагается равновероятным. Тогда направление
случайного шага в пространстве синаптических весов удобно представить в
виде векторной функции
Δw j = ηF (ζ , A),
(4.268)
где F – некоторая непрерывная по норме и направлению векторная функция
двух векторных переменных ζ и A .
Функция F (ζ , A) должна удовлетворять следующим естественным
требованиям:
¾
F (ζ ,0) = ζ ,
(4.269)
т.е. при нулевом значении памяти поиск является равновероятным;
¾
M{F (ζ , A)} = dir A,
(4.270)
т.е. математическое ожидание направления случайного шага должно
совпадать с направлением вектора A ;
¾ дисперсия случайного шага σ Δ2w обратнопропорциональна норме вектора
A.
При выполнении этих условий функция F (ζ , A) обеспечивает
пространственное распределение случайного шага, целенаправленно
изменяющееся по мере накопления опыта обучения.
В качестве таких функций распространение получили [105]
F (ζ , A) =
ζ +A
ζ +A
(4.271)
107
и
A
− ζ ≤ f ( A ),
A
F = ζ при
(4.272)
где f (•) – монотонно убывающая скалярная функция 0 ≤ f (•) ≤ 2 ,
причем f (0) = 0 . Заметим, что функция (4.272) описывает попадание в (n + 1) мерный гиперконус с углом 4 arcsin
f(A)
2
в вершине.
Алгоритм непрерывного самообучения можно записать в виде
рекуррентного соотношения, связывающего два следующих друг за другом
вектора памяти
A( k + 1) = α A( k ) − ηα (ΔE j (k − 1) + b)Δw j (k − 1),
(4.273)
где b ≥ 0 – коэффициент «скептицизма».
Нетрудно заметить, что при использовании этого алгоритма и при
выполнении условий, накладываемых на функцию F (•) , вектор A стремится
перестроиться в направлении обратном градиенту целевой функции. Это
значит, что шаги поиска будут в среднем направлены в сторону быстрейшего
уменьшения целевой функции.
Еще один подход к введению самообучения в алгоритмы обучения связан с
введением в процедуру настройки весов скользящего среднего [6]. Это
приводит к тому, что среднее значение случайного вектора ζ (k ) становится
ненулевым, т.е. поиск опять-таки задетерминируется в благоприятном
направлении. Алгоритм случайного поиска со скользящим средним может быть
записан в следующем виде [186]:
⎧w j (k + 1) = w j (k ) + ηζ ( k ), ζ ( k + 1) = aζ (k ) + bζ (k ),
⎪
⎪если E j ( w j (k ) + ηζ (k )) < E j ( w j (k )),
⎪
⎪w j (k + 1) = w j (k ) − ηζ (k ), ζ (k + 1) = ζ (k ) − cζ (k )
⎨
⎪в противном случае,
⎪w (k + 1) = w (k ), ζ (k + 1) = dζ ( k ),
j
⎪ j
⎪если E j ( w j (k ) − ηζ (k )) ≥ E j ( w j (k )).
⎩
(4.274)
Смысл поиска с помощью процедуры (4.274) состоит в следующем. Из
состояния w j (k ) делается случайный шаг ηζ (k ) , и если он оказался удачным,
то среднее ζ (k + 1) уточняется с помощью первого соотношения алгоритма. В
случае неудачного шага происходит реверс в направлении − ζ (k ) . Если же и
реверсный шаг оказался неудачным, синаптические веса на этом такте не
уточняются, а среднее корректируется на коэффициент d . Авторы этой
108
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
процедуры
рекомендуют
следующие
значения
параметров:
a = 0.4; b = 0.2; c = 0.4 и d = 0.5 и отмечают, что алгоритм «не застряет» в
незначительных локальных экстремумах целевой функции.
Келли и Уилинг [195] предложили алгоритм так называемого
повторяющегося случайного поиска, который имеет вид
⎧
⎛ A(k )
⎞
+ (1 − β )ζ (k ) ⎟⎟,
⎪w j (k + 1) = w j (k ) + η (k )⎜⎜ β
⎨
⎝ A(k )
⎠
⎪
⎩ A(k + 1) = α A( k ) + (1 − α )( w j ( k + 1) − w j (k )),
(4.275)
где η (k ) – переменный шаг поиска, который увеличивается после успешного
шага и уменьшается после неудачного; A(k ) - вектор памяти, указывающий
среднее направление поиска на предыдущих шагах; α и β – скалярные
весовые множители.
На k -м шаге поиска случайный вектор ζ (k ) и вектор памяти A(k )
формируют взвешенную сумму, определяющую направление движения в
пространстве настраиваемых параметров. Уточняемое значение w j (k + 1) будет
принято или отвергнуто в зависимости от выполнения неравенства
E j ( w j (k + 1)) < E j ( w j ( k )) . После того как новый вектор w j (k + 1) принят или
отвергнут, η (k ) увеличивают или уменьшают. Данная процедура в процессе
самообучения также стремится сформировать усреднененное направление
движения близкое к антиградиентному.
В принципе, рассмотренные алгоритмы обучения на основе случайного
поиска решают ту же задачу, что и алгоритмы, в основе которых лежат
процедуры градиентной и ньютоновской оптимизации. Вместе с тем
существует широкий класс задач, где детерминированные методы не работают
вообще – это задачи глобальной оптимизации, когда целевая функция имеет
множество экстремумов. Задача отыскания глобального экстремума функции
многих переменных является проблемой значительно более сложной и
трудоемкой, чем определение локального экстремума. Дело в том, что
многоэкстремальная функция почти не дает возможности судить о поведении
критерия качества по нескольким наблюдениям, что возможно при
унимодальности. Естественно, что число наблюдений при поиске глобального
экстремума должно быть значительно большим.
Простейшей процедурой поиска глобального экстремума является, так
называемый, блуждающий глобальный поиск [183]. В общем случае эта
процедура является статистическим расширением регулярного градиентного
метода (стандартного дельта-правила обучения). С целью придания поиску
глобального характера на градиентное движение алгоритма обучения
накладывается случайное возмущение ζ (k ) , которое создает режим
стохастического блуждания.
В непрерывном случае градиентный метод минимизации целевой функции
109
E j (t ) сводится к движению вектора w j (t ) в (n + 1) - мерном пространстве
настраиваемых параметров под действием «силы», направленной в сторону
антиградиента.
Траектория движения по антиградиенту w j (t ) приводит процесс обучения
к некоторой особой точке. Если исходная точка w j (0) находилась в области
притяжения глобального экстремума, то соответствующая траектория приведет
к
глобальному минимуму функции E j (t ) . Если же точка w j (t ) не
принадлежала к области притяжения глобального экстремума, то движение в
направлении антиградиента приведет в локальный минимум, из которого
невозможно выбраться под воздействием сил, направленных по антиградиенту.
Именно в таких случаях оказывается полезным включение в дельта-правило
обучения некоторого случайного механизма. Случайные толчки могут помочь
точке w j (t ) преодолеть барьер, отделяющий локальный минимум, в который
попал процесс обучения, от области, в которой целевая функция E j (t ) может
еще убывать. Такое движение под воздействием детерминированного сноса в
сторону антиградиента и случайных толчков определяется дифференциальным
уравнением
dw j (t )
dt
= −η ∇ w j E j (t ) + ζ (t ),
(4.276)
где ζ (t ) – (n + 1) - мерный нормальный случайный процесс с нулевым
математическим ожиданием, дельтаобразной автокорреляционной функцией и
дисперсией составляющих σ 02 , σ 12 ,…, σ n2 .
В [105] доказано, что в общем случае этот алгоритм обеспечивает
отыскание глобального экстремума.
Разумно подбирая дисперсии σ i2 в процессе поиска, т.е. адаптируясь к
конкретной форме целевой функции, можно значительно ускорить отыскание
глобального экстремума. При этом адаптацию в процесс такого поиска можно
ввести двояким образом.
Во-первых, вводя инерционность в процесс обучения, получим поиск
аналогичный движению по методу «тяжелого шарика» [160]. Такое движение
описывается следующим дифференциальным уравнением:
d 2 w j (t )
dt
2
+b
dw j (t )
dt
= −η∇ w j E j (t ) + ζ (t ),
(4.277)
где b – коэффициент демпфирования (чем больше b , тем меньше сказывается
введенная инерционность).
В дискретном времени выражению (4.277) соответствует алгоритм
обучения, описываемый разностным уравнением второго порядка
110
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
w j (k + 1) = w j (k ) + β w j ( k − 1) − η ∇ w j E j (k ) + ζ (k ),
(4.278)
совпадающий при β = 0 с блуждающим случайным поиском.
Во-вторых, адаптация в процессе глобального поиска может быть введена
путем соответствующего управления случайным процессом ζ (t ) , например,
следующим образом:
dE j (t )
dζ (t )
= −γζ (t ) − ηζ
+ σ ζ2 H (t ),
(4.279)
dt
dt
где γ > 0 – параметр автокорреляции случайного процесса ζ (t ) ; σ ζ2 – величина,
определяющая дисперсию ζ (t ) ; H (t ) – векторный белый шум.
В дискретном случае уравнению (4.279) соответствует рекуррентный
алгоритм настройки
ζ (k + 1) = (1 − γ )ζ (k ) − ηζ ΔE j (k − 1) + σ ζ2 H (k ).
(4.280)
Как видно из (4.279), (4.280), оптимизация процесса поиска может
проводиться за счет соответствующего выбора параметров γ , ηζ и σ ζ2 , каждый
из которых воздействует на определенную характеристику процесса поиска.
Так, варьируя величиной параметра автокорреляции γ , определяющего
скорость затухания процесса ζ (t ) и, следовательно, степень его связи с
прошлым, можно воздействовать на характер случайного поиска, т.е. при
необходимости сделать его более или менее зависимым от предыстории.
Интересным представляется взаимодействие параметров γ и ηζ . Если шаг
поиска ηζ определяет интенсивность процесса накопления опыта обучения, то
γ характеризует уровень забывания этого опыта во время поиска. В этом
смысле данные параметры являются антагонистическими. Если γ = 0 , то
забывания нет вообще и вектор ζ (t ) возрастает в направлении антиградиента.
Дисперсия процесса ζ (t ) определяется величиной σ ζ2 и интенсивностью
возмущающего белого шума H (t ) . При большом значении σ ζ2 процесс поиска
может стать неустойчивым (поиск «разносит»), при малом – ухудшаются
глобальные свойства.
Вводя в процесс поиска режим самообучения, основанный на анализе
реакций (4.237), можно существенно улучшить его глобальные характеристики.
При этом необходимо иметь в виду, что в режиме глобального поиска эти
реакции должны иметь двоякий характер: с одной стороны – это немедленная
реакция как в локальном поиске, направленная на устранение результатов
неудачного шага, а с другой – при помощи механизма самообучения должны
перестраиваться статистические характеристики процесса ζ (t ) .
Таким образом, часть результата обучения приходится на один, а другая
часть полученного эффекта – на другой вид реакции. Исключение одной из
111
этих реакций не лишает алгоритм поиска способности к оптимизации. На рис.
4.14 для сравнения показаны три схемы обучения при различных комбинациях
немедленной реакции и самообучения.
ИНС
ИНС
Δw j
Δw j
ΔE j
Алгоритм
обучения
ζ
ИНС
ΔE j
Алгоритм
обучения
Δw j = ζ
Случайный
шаг
ζ
Случайный
шаг
А
Случайный
шаг
Самообучение
а)
б)
ΔE j
ζ
А
Самообучение
в)
Рис.4.14 – Схемы обучения на основе случайного поиска: а) без самообучения,
б) с самообучением и алгоритмом поиска, в) с самообучением без алгоритма
поиска.
На схеме а) показан случайный поиск без самообучения, который работает
только с учетом немедленной реакции. В этом случае вероятностные
характеристики случайного шага ξ неизменны.
Следующая схема б) отражает применение самообучения совместно с
алгоритмом поиска. Здесь вероятностные характеристики случайных шагов
перестраиваются соответствующим образом по каналу обратной связи при
одновременной работе алгоритма поиска.
Последняя схема в) соответствует обучению сети только на основе
алгоритма самообучения, когда немедленная реакция исключена. В этом случае
настройка сети осуществляется только за счет перестройки вероятностных
характеристик поиска. Как нетрудно заметить, подобного рода процедура
обучения прежде чем перестроиться на новое направление, может сделать
несколько шагов в старом направлении независимо от получаемых результатов.
Таким образом алгоритм обучения может некоторое время «подниматься по
склону», преодолевая тем самым «хребты» целевой функции, обеспечивая
поиску глобальный характер.
Рассмотрим именно такой глобальный поиск, полученный за счет
исключения немедленной реакции на неудачный шаг.
Пусть направление случайных шагов поиска в пространстве
112
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
настраиваемых
параметров
определяется
заданным
многомерным
распределением p(ζ , s ) , которое зависит от некоторого (n + 1) – мерного
единичного вектора s = ( s 0 , s1 ,…, s n ) T как от параметра. Распределение p(ζ , s )
должно обладать следующим свойством: направление математического
ожидания случайного вектора ζ по всем возможным реализациям должно
совпадать с направлением вектора s , т.е.
dir ∫ ζ p (ζ , s )dζ = s.
(4.281)
Следовательно, s определяет среднее направление поиска. С другой
стороны, это направление должно зависеть от предыстории процесса поиска,
т.е. быть наилучшим с точки зрения предыдущей работы. Поэтому естественно
называть направление s вектором предыдущего опыта [105]. Можно заметить,
что этот вектор похож на вектор памяти A в процессе непрерывного
самообучения. Разница заключается в том, что в данном случае вектор s
указывает лишь направление, а его норма не несет никакой информации в
противоположность вектору памяти, норма которого определяет дисперсные
свойства случайного выбора.
Процесс обучения на основе глобального поиска разбивается на ряд
этапов.
Во время первого этапа (анализа) из исходной точки w j (k ) , определяющей
состояние ИНС в данный момент времени, делается Q независимых проб
ηζ ζ q , q = 1,2,… , Q в соответствии с имеющимся распределением p (ζ , s (k )) . При
этом каждый раз определяется значение целевой функции E j ( w j (k ) + ηζ ζ q ) .
На втором этапе (решении) определяется направление рабочего шага,
которое зависит от результатов анализа, произведенного на первом этапе и
решающего правила D (•) , связывающего предыдущий опыт и полученную
информацию
w j (k + 1) = w j (k ) + ηD(ζ 1 , ζ 2 ,…, ζ Q , E j ( w j (k ) + ηζ ζ 1 )…,
E j ( w j (k ) + ηζ ζ Q ), s (k )),
(4.282)
где D – векторная единичная функция, определяющая наилучшее в некотором
смысле направление рабочего шага в свете только что полученной информации.
Поэтому дальнейший поиск следует направить именно в этом
направлении, а поскольку направление поиска определяется вектором опыта, то
на третьем этапе (обучения) естественно изменить направление s в
соответствии с полученными результатами
s (k + 1) = Ds ( s(k ), Δw j (k )),
(4.283)
например
113
s (k + 1) = η −1 Δw j (k ),
(4.284)
т.е. в направлении предыдущего рабочего шага.
В случае, если обучение происходит в обстановке помех и нет
уверенности, что направление s действительно является наилучшим,
необходимо введение накопления, которое, например, реализуется в виде
s (k + 1) = dir ( s(k ) + η s Δw j (k )),
(4.285)
где η s – параметр скорости накопления опыта.
Соотношение (4.285) устанавливает преемственность между новым и
старым направлениями вектора опыта, которая при малых значениях параметра
η s велика, а при больших – мала. В последнем случае выражение (4.285)
приближается к (4.284).
Нетрудно видеть, что данный алгоритм имеет глобальный характер.
Действительно, пробные шаги ζ 1 , ζ 2 ,…, ζ Q здесь производятся не в любом, а
лишь в определенном предпочтительном секторе направлений, определяемом
вектором s . Этот вектор, а точнее распределение p(ζ , s ) как бы устанавливает
своеобразные «шоры», ограничивающие свободу случайных проб лишь в
определенном секторе пространства настраиваемых параметров. Направление
рабочего шага при этом определяется по правилу D , исходя из полученной
таким образом информации. Вследствие того, что направление поиска s не
может значительно измениться за один шаг, такой поиск приобретает
определенную инерционность. Наличие распределения p(ζ , s ) , определяющего
направление шагов поиска, обеспечивает «плавность» траектории обучения,
которая подобна траектории движения тяжелой точки. При наличии оврага у
целевой функции поиск будет производиться вдоль этого оврага независимо от
того, поднимается он или опускается. Это позволяет преодолевать «хребты» по
«перевалам» критерия качества и отыскивать новые районы его локальных
низин.
Рассмотренный подход не находит глобальный оптимум целевой функции,
а лишь выделяет те области пространства параметров, где он может находиться.
На практике для решения конкретных задач целесообразным
представляется использование более простых алгоритмов.
В первую очередь можно отметить алгоритм глобального поиска, у
которого p(ζ , s ) является дискретным распределением. Случайный вектор
пробного шага ζ , выбранный в соответствии с этим распределением, имеет
координаты ζ 0 , ζ 1 ,…, ζ n , которые определяются в соответствии с правилом
114
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
⎧ 1
⎪⎪ n + 1 с вероятностью pi ,
ζi = ⎨
⎪− 1
с вероятностью 1 − pi ,
⎪⎩
n +1
(4.286)
где вероятность pi вычисляется по формуле
pi =
1 + (1 − 2c) si n + 1
, i = 1,2, … , n,
2
(4.287)
si - i - я компонента вектора s = ( s 0 , s1 ,…, s n ) T , 0 < c < 1 – некоторая константа.
Направление рабочего шага для этого алгоритма естественно определить
как
D = ζ *,
(4.288)
где ζ * – направление наилучшей пробы, удовлетворяющей условию
E j ( w j (k ) + ηζ ζ * ) = min E j ( w j ( k ) + ηζ ζ q ).
q =1, 2 ,…Q
(4.289)
Опыт, накопленный за один цикл анализа, запоминается в данном случае в
виде вектора s , который совпадает с наилучшей пробой
s = ζ *.
(4.290)
Таким образом, целенаправленность поиска достигается за счет того, что
вероятности (4.287) принимают одно из двух значений: c или 1 − c в
зависимости от предыстории.
Достаточно эффективным является также так называемый алгоритм с
направляющей сферой [183], отличающийся от предыдущего тем, что вместо
дискретного он использует непрерывное самообучение.
Пусть случайные пробы ζ q определяются точками на поверхности (n + 1) –
мерной гиперсферы, а сама эта гиперсфера несколько выдвинута в направлении
вектора s . Тогда образованные таким образом случайные направления имеют
тенденцию в сторону вектора опыта, причем эта тенденция тем сильнее
выражена, чем на большую величину выдвинута гиперсфера вдоль вектора s .
Направление случайного шага в данном алгоритме определяется выражением
ζ = dir ( s + rζ 0 ),
(4.291)
где ζ 0 – случайный единичный вектор, равновероятно распределенный по всем
направлениям пространства параметров; r – радиус гиперсферы.
115
На рис. 4.15 показано взаимодействие векторов ζ 0 и s в процессе
образования ζ (пунктиром обозначена гиперсфера возможных реализаций).
Как видно, при r > 1 все пробные шаги производятся внутри гиперконуса с
осью s и углом полураскрытия arcsin
r
.
s
rζ 0
ψ
ζ
s
Рис.4.15 – Определение направления в алгоритме с направляющей сферой.
Несложно также заметить, что чем меньше r , тем уже конус и тем ближе
друг к другу случайные пробы.
Модификацией алгоритма с направляющей сферой является алгоритм с
направляющим конусом. Пусть в пространстве настраиваемых параметров
определен гиперконус с вершиною в точке w j , ось которого совпадает с
направлением вектора s , а угол при вершине равен 2ψ . Вокруг вершины
конуса, как относительно центра, проводится гиперсфера радиуса ηζ . Конус
отсекает от этой сферы часть поверхности, на которой случайно выбирается Q
пробных точек ζ 1 , ζ 2 ,…, ζ Q . По значениям целевой функции в этих точках
E j ( w j + ζ q ) определяется наилучшая точка, соответствующая минимальному
значению критерия качества (4.289). В этом направлении и производится
рабочий шаг. Направление поиска таким образом целиком определяется
указанным конусом, т.е. случайные пробы выбираются внутри него.
Направление вектора опыта s при этом определяется наилучшей пробой
предыдущего этапа (4.290).
На рис.4.16 показано несколько шагов поиска для ηζ < 1, Q = n + 1 = 2 из
состояния w j (0) с произвольным начальным направлением вектора s (0) ,
который в процессе поиска корректируется по наилучшей пробе.
На рис. 4.16 видно, что по мере накопления информации о поведении
целевой функции вектор s стремится развернуться в направлении обратном
градиентному.
Очевидно, что с уменьшением угла раскрытия конуса, вследствие
инерционности такого рода поиска, возможности поворота вектора s
уменьшаются. Это означает, что при резком изменении направления градиента
алгоритм будет некоторое время двигаться в старом направлении, а затем
вектор s постепенно перестроится на новое правильное направление.
116
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
s (2)
ηζ ζ 1
s (1)
ηζ ζ
1
w j (3)
ηζ ζ 2
w j (2)
∇ w j E j (w j )
s ( 0)
ηζ ζ
1
ηζ ζ 2
w j (1)
ηζ ζ 2
w j (0)
Рис. 4.16 – Обучение в пространстве параметров w j на основе глобального
случайного поиска с направляющим конусом
Потери на поиск для такого алгоритма при правильном расположении
вектора s (в направлении оврага или антиградиентном) уменьшаются с
уменьшением угла раскрытия конуса. Увеличение угла ψ приводит к большей
мобильности и «верткости» поиска, однако при этом возрастают и потери на
поиск.
Очевидно, что оптимальные значения параметров поиска зависят целиком
от вида целевой функции E j ( w j ) и ее особенностей. В задачах, где эта функция
ввиду большой сложности имеет много экстремумов, по-видимому, наиболее
целесообразным представляется использование глобального случайного поиска
с самообучением [197].
4.5.2 Алгоритмы эволюционного планирования
В конце 50-х годов прошлого века известным английским статистиком
Дж. Боксом был предложен подход к оптимизации технологических процессов,
получивший название эволюционного планирования (EVOP) [187] и
породивший множество алгоритмов оптимизации, не требующих вычисления
производных целевой функции и эффективно работающих в условиях сильной
«зашумленности» наблюдений. И хотя в «чистом виде» EVOP сегодня
практически не применяется (тем более для обучения нейронных сетей), с
117
методологической точки зрения полезно рассмотреть идеи, положенные в его
основу.
Основная идея состоит в том, что достаточно произвольным образом
выбирается некоторый вектор параметров 0 w j (k ) , именуемый базовой точкой,
и оценивается значение целевой функции E j ( p w j (k )) в точках, окружающих
базовую. Этот набор точек, включая базовую, называется образцом. В
двумерном случае (две оптимизируемые переменные) – это квадратный
образец, показанный на рис. 4.17.
1
w j (k )
2
0
3
w j (k )
w j (k )
w j (k )
Пробная точка
Базовая точка
4
w j (k )
Рис. 4.17 – Квадратный образец
Затем наилучшая из пяти исследуемых точек 0 w j (k ), 1 w j (k ), …, 4 w j (k ) ,
соответствующая
минимальному
значению
целевой
функции
E j ( p w j ( k )), p = 0,1, …,4 обозначаемая l w j (k ) , выбирается в качестве базовой для
следующего шага оптимизации:
0
w j (k + 1) = l w j (k )
(4.292)
и вокруг нее строится аналогичный образец.
Если ни одна из пробных угловых точек не имеет преимуществ перед
базовой, размеры образца уменьшаются, после чего поиск оптимума
продолжается.
В задачах большей размерности вычисление значений целевой функции
производится во всех вершинах, а также в центре гиперкуба, т.е. в точках так
называемого кубического образца, а количество вычислений целевой функции
составляет при этом
Q = 2 n + 1,
(4.293)
где n – размерность пространства оптимизируемых переменных.
Поэтому, несмотря на логическую простоту поиска по кубическому
образцу, возникает необходимость использования более эффективных методов.
Дальнейшим развитием эволюционного планирования является вращаемое
эволюционное планирование (ROVOP) [190], в котором образец
разворачивается вокруг базовой точки и может как увеличивать, так и
118
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
уменьшать свои размеры. Несмотря на то, что поиск на основе ROVOP
приобретает глобальные свойства, большее количество наблюдений и слабая
формализованность ограничивают его применимость.
Гораздо более эффективным алгоритмом эволюционного планирования
является симплексный поиск, предложенный У. Спендли, Дж. Хекстом и
Ф. Химсвортом [188]. Следует отметить, что этот алгоритм не имеет никакого
отношения к симплекс-методу линейного программирования, а сходство
названий имеет случайный характер. Процедура симплексного поиска
базируется на том, что экспериментальным образцом, содержащим наименьшее
количество точек, является регулярный симплекс. Симплекс в n -мерном
пространстве (далее для сохранения обозначений, традиционно принятых в
геометрии симплексов, мы будем полагать, что число настраиваемых
параметров равно n ) представляет собой многогранник, образованный n + 1
равноотстоящими друг от друга точками-вершинами. Аналитически – это
множество точек вида
j
w =1 w j λ1 + 2 w j λ 2 +
+ n+1 w j λ n +1 ,
(4.294)
где λ p – коэффициенты, подчиняющиеся ограничениям
n +1
∑ λ p = 1, λ p ≥ 0, p = 1,2,…, n + 1,
(4.295)
p =1
a p w j = ( p w j1 ,…, p w ji ,…, p w jn ) T – координаты p -й вершины симплекса в n мерном пространстве.
Несложно видеть, что в случае двух параметров-переменных, симплексом
является треугольник, в трехмерном пространстве симплекс – это тетраэдр и
т.д.
В алгоритме симплексного поиска используется важное свойство
симплексов, согласно которому, новый симплекс можно построить на любой
грани начального симплекса путем переноса выбранной вершины на
надлежащее расстояние вдоль прямой, проведенной через центр тяжести
остальных вершин исходного симплекса. Полученная таким образом точка
является вершиной нового симплекса, а выбранная при построении вершина
начального симплекса исключается. Таким образом, при переходе к новому
симплексу требуется только одно вычисление значения целевой функции. Рис.
4.18 иллюстрирует процедуру построения симплекса на плоскости ( n = 2 ).
Работа алгоритма симплексного поиска начинается с построения
регулярного симплекса в пространстве настраиваемых параметров и
оценивания значений целевой функции в каждой из вершин. При этом
определяется вершина, которой соответствует наибольшее значение целевой
функции. Затем, эта «наихудшая» вершина проецируется через центр тяжести
остальных вершин симплекса в новую точку, которая используется в качестве
вершины нового симплекса. Если целевая функция убывает достаточно плавно,
119
итерации продолжаются до тех пор, пока симплексом не будет «накрыта» точка
минимума, о чем свидетельствует либо циклическое движение вокруг одной
вершины, либо повторяющиеся отражения-колебания через одно и то же ребро
многогранника.
2
1
wj
2
1
wj
3
wj
4
wj
wj
wj
3
а)
5
wj
wj
б)
Рис. 4.18 – Построение нового симплекса:
а) начальный симплекс 1 w j , 2 w j , 3 w j , б) новый симплекс 2 w j , 3 w j , 5 w j
В условиях помех симплекс-поиск находит область минимума с точностью
до своих размеров и зацикливается вокруг минимума. Если же точка минимума
будет дрейфовать, то и симплекс последует за ней, описывая спираль вокруг
траектории смещающегося во времени оптимума. Это свойство положено в
основу принципа адаптационной оптимизации [190], на основе которого кроме
собственно симплекс-метода было построено достаточно много алгоритмов.
Формально симплекс-поиск можно описать следующим образом. Из
аналитической геометрии известно, что координаты вершин регулярного
симплекса определяются матрицей W j , в которой столбцы представляют собой
вершины, пронумерованные от 1 до n + 1 , а строки – координаты от 1 до n
[195]:
⎛ 1 w j1 2 w j1
⎛ 0 ρ1
n +1 w j1 ⎞
⎜
⎟ ⎜
⎜ 1 w j2 2 w j2
⎜0 ρ2
n +1 w j 2 ⎟
Wj = ⎜
⎟=⎜
⎜
⎟ ⎜
⎜ w
⎟ ⎜0 ρ
w
w
1
jn
2
jn
n
1
jn
+
2
⎝
⎠ ⎝
= (1 w j , … , p w j , … , n +1 w j ),
ρ2
ρ1
ρ2
ρ2 ⎞
⎟
ρ2 ⎟
⎟=
⎟
ρ1 ⎟⎠
(4.296)
где
ηs
⎧
⎪⎪ ρ1 = n 2 ( n + 1 + n − 1),
⎨
⎪ ρ = η s ( n + 1 − 1);
⎪⎩ 2 n 2
(4.297)
120
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
η s – параметр, задающий расстояние между вершинами.
Пусть p w j (k ) = ( p w j1 (k ), p w j 2 (k ),…, p w jn (k ))T является p -й вершиной
симплекса на k -м шаге поиска и пусть E j ( p w j (k )) – значение целевой функции
в этой вершине. Кроме того, отметим те вершины, в которых на k -й итерации
целевая функция принимает максимальное и минимальное значение:
⎧ E j ( h w j (k )) = max {E j (1 w j (k )),…, E j ( p w j ( k )),… , E j ( n +1 w j (k ))},
p =1, 2 ,…, n +1
⎪
(4.298)
⎨
E
(
w
(
k
))
min
{
E
(
w
(
k
)),
…
,
E
(
w
(
k
)),
…
,
E
(
w
(
k
))}.
=
j 1 j
j p
j
j n +1 j
⎪⎩ j l j
p =1, 2 ,…, n +1
Определив центр тяжести всех вершин симплекса за исключением
«наихудшей» h w j (k ) в виде
n+ 2 w j (k ) =
⎞
1 ⎛ n +1
⎜ ∑ p w j ( k ) − h w j (k ) ⎟,
⎟
n ⎜⎝ p =1
⎠
(4.299)
несложно записать алгоритм отражения-движения симплекса в пространстве
настраиваемых параметров:
n +3
w j (k ) = 2 n + 2 w j (k ) − h w j (k ) = p w j (k + 1).
(4.300)
Отраженная точка n+3 w j (k ) и будет новой вершиной симплекса на (k + 1) -й
итерации поиска.
Алгоритм
симплексного
поиска
характеризуется
не
только
вычислительной простотой, но и высокой эффективностью. Если в качестве
меры эффективности рассматривать количество измерений целевой функции на
каждом шаге и ошибку определения направления градиента, то качество метода
можно оценить с помощью теоремы Брукса [182, 198], гласящей о том, что
максимум критерия
Es =
1
M{cosΘ},
Q
(4.301)
где Q – количество измерений на каждом шаге; Θ – ошибка определения
градиента, достигается при Q = n + 1 .
Исходя из этого критерия, можно судить о высокой эффективности
симплексного поиска, который превосходит случайный поиск в среднем в 1.4
раза [199].
Ускорения поиска можно добиться, отказавшись от регулярности
симплекса и управляя его размерами так, как это делается в алгоритме
деформируемого многогранника Нелдера-Мида [189, 196].
121
В этом алгоритме вместо отражения, задаваемого формулой (4.300),
используются следующие операции:
¾ отражение – проецирование h w j (k ) через центр тяжести в
соответствии с выражением
n +3
¾
w j (k ) = n + 2 w j (k ) + α ( n + 2 w j (k ) − h w j (k ));
растяжение,
которое
производится
в
E j ( n +3 w j (k )) ≤ E j ( l w j (k )) , и состоит в том, что вектор
«растягивается» в соответствии с выражением
n+4
w j (k ) = n+ 2 w j (k ) + γ ( n +3 w j (k ) − n + 2 w j (k )),
(4.302)
случае,
n +3
если
w j (k ) − n + 2 w j (k )
(4.303)
при этом если E j ( n+ 4 w j (k )) < E j ( l w j (k )) , то h w j (k ) заменяется на n + 4 w j (k ) и
осуществляется переход на отражение-проецирование при k + 1 . В противном
случае h w j (k ) заменяется на n +3 w j (k ) и также происходит отражение на (k + 1) м шаге;
¾ сжатие, которое происходит в случае E j ( n +3 w j (k )) > E j ( l w j (k )) и
состоит в том, что вектор h w j (k ) − n + 2 w j (k ) «сжимается» в соответствии с
выражением
n +5
w j (k ) = n + 2 w j (k ) + β ( n+3 w j (k ) − n + 2 w j (k )).
(4.304)
Затем h w j (k ) заменяется на n +5 w j (k ) и производится возврат к операции
отражения- проецирования для продолжения поиска на (k + 1) -м шаге;
¾ редукция, которая приводится в случае E j ( n +3 w j (k )) > E j ( h w j (k )) и
состоит в том, что все векторы p w j (k ) − l w j (k ), p = 1,2,…, n + 1 , уменьшаются в
два раза с отсчетом от l w j (k ) в соответствии с выражением
p
w j (k ) = l w j (k ) + 0.5( p w j (k ) − l w j (k )).
(4.305)
Затем производится возврат к операции отражения–проецирования для
продолжения поиска на (k + 1) -й итерации.
Деформируемый многогранник в противоположность правильному
симплексу адаптируется к топологии целевой функции, вытягиваясь вдоль
длинных наклонных поверхностей, изменяя направление в изогнутых оврагах и
сжимаясь в окрестности минимума.
Коэффициент отражения α используется для проецирования вершины с
наибольшим значением E j ( h w j (k )) через центр тяжести деформируемого
многогранника. Коэффициент γ вводится для растяжения вектора поиска в
122
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
случае, если отражение дает вершину со значением E j ( n+3 w j (k )) меньшим, чем
наименьшее значение целевой функции, полученное до отражения.
Коэффициент сжатия β используется для уменьшения вектора поиска, если
операция отражения не привела к улучшению результата по сравнению с
E j ( l w j (k )) . Таким образом, параметры α , β и γ обеспечивают адаптацию
деформируемого многогранника к топологии целевой функции, а их
обоснованный выбор оказывает решающее влияние на результат решения
задачи.
После
того,
как
деформируемый
исходный
многогранник
промасштабирован надлежащим образом, например с помощью соотношений
(4.296), (4.297), его размеры в процессе обучения должны оставаться
постоянными, пока характер целевой функции не потребует симплекса другой
формы. Это можно реализовать только при α = 1 . Кроме того, Дж. Нелдер и
Р. Мид показали [189], что при использовании α < 1 число итераций метода
возрастает, а при α > 1 деформируемый многогранник хуже адаптируется к
изменениям целевой функции, особенно при наличии изогнутых оврагов.
Чтобы выяснить, какое влияние на процедуру поиска оказывает выбор β и
γ , в [195, 196, 198] было проведено решение тестовых задач с различными
комбинациями коэффициентов симплекса. В качестве приемлемых значений
рекомендуется принять α = 1, β = 0.5, γ = 2 . Размеры и ориентация исходного
симплекса в некоторой мере оказывают влияние на количество итераций, но
значение α , β , γ влияют значительно больше. В то же время было установлено,
что четко решить вопрос относительно выбора β и γ невозможно и что
влияние выбора β на эффективность поиска более заметно, чем влияние
выбора γ . Эти параметры следует выбирать из диапазонов 0.4 ≤ β ≤ 0.6;
2.8 ≤ γ ≤ 3.0 .
Идеология адаптационной оптимизации породила множество алгоритмов,
в основе которых лежит симплексное движение.
С тем, чтобы приблизить движение симплекса к антиградиентному, в
качестве центра отражения можно взять взвешенный центр тяжести (алгоритм
Умеды-Ичикавы [190]), в алгоритмах Горского-Адлера предлагается смещать
центр тяжести симплекса в антиградиентном направлении, информация о
котором, содержится в вершинах симплекса, в [200] рассмотрен симплекспоиск, обладающий свойствами стохастической аппроксимации. Так или иначе,
в основе всех этих алгоритмов кроме отражения лежат операции растяжения,
сжатия и редукции, отказ от которых в ряде случаев позволяет не только
упростить алгоритм поиска, но и повысить его быстродействие.
Запишем процесс движения деформируемого многогранника в виде
α ( n + 2 w j (k ) − h w j (k )) = n +3 w j (k ) − n + 2 w j (k )
(4.306)
и потребуем, чтобы на каждом шаге поиска центр тяжести симплекса смещался
в антиградиентном направлении:
123
w j (k + 1) = w j (k ) − η ∇ w j E j (k ),
(4.307)
1 n +1
w j (k ) = ∑ p w j (k )
n p =1
(4.308)
где
– центр тяжести всех вершин отражаемого симплекса.
Используя вместо вектора-градиента ∇ w j E j (k )
его
оценку
∇ j (k ) ,
перепишем (4.307) в форме
n +1
∑
p =1
p≠h
n +1
∑ p w j (k )
p w j (k )
+
n +1
n +3
w j (k )
n +1
=
p =1
p≠h
n +1
+
h
w j (k )
n +1
− η ∇ j (k ),
(4.309)
которая с учетом (4.300) существенно упрощается и приобретает вид [201]
p
w j (k + 1) = h w j (k ) − η ⋅ (n + 1) ⋅ ∇ j (k ).
(4.310)
Оценка градиента ∇ j (k ) строится, исходя из возможности аппроксимации
целевой функции E j (k ) в окрестности отражаемого симплекса n -мерной
гиперплоскостью. Используя то свойство симплексов, что на каждой итерации
отбрасывается одна вершина отражаемого симплекса и добавляется одна
вершина отраженного, для расчета параметров вектора ∇ j можно использовать
алгоритм текущего регрессионного анализа (4.42), (4.43) в форме
⎧
P ( k − 1)( E j ( p w j (k + 1)) − ∇ Tj (k ) ⋅ p w j (k + 1))
⋅ p w j (k + 1),
⎪∇ j (k + 1) = ∇ j (k ) +
1 + p wTj (k + 1) ⋅ P ( k − 1) ⋅ p w j (k + 1)
⎪
⎪
P (k − 1) ⋅h w j (k ) ⋅h wTj ( k ) P (k − 1)
⎪~
(4.311)
,
⎨ P (k − 1) = P (k − 1) +
T
w
k
P
k
w
k
1
−
(
)
⋅
(
−
1
)
⋅
(
)
h
j
h
j
⎪
~
~
⎪
T
P
k
w
k
w
k
P
(
1
)
(
1
)
(
1
)
(k − 1)
−
⋅
+
⋅
+
~
p
j
p
j
⎪ P (k ) = P (k − 1) +
.
~
T
⎪
w
k
P
k
w
k
1
(
1
)
(
1
)
(
1
)
+
+
⋅
−
⋅
+
p
j
p
j
⎩
Таким образом, движение симплекса можно записать только в координатах
отражаемой и отраженной вершин и приблизить его к антиградиентному
направлению.
Используя соотношения (4.294), (4.296), (4.302), все алгоритмы
симплексного поиска можно записать в обобщенной форме
124
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
+
p w j ( k + 1) = n + 3 w j ( k ) = h w j ( k )λ h + 1 w j ( k )λ1 +
(4.312)
+
w ( k )λ + + w ( k )λ = w T λ ,
p
p≠h
j
p
n
где λ = (λ h , λ1 ,…, λ n ) T − (n + 1) × 1
конкретный алгоритм.
Так
j
–
n
j
вектор
2
2⎞
⎛
λ = ⎜ − 1, ,…, ⎟
n
n⎠
⎝
параметров,
определяющих
T
(4.313)
соответствует регулярному симплексу,
1+α
1+α ⎞
⎛
λ = ⎜ −α,
,…,
⎟
n
n ⎠
⎝
T
(4.314)
– алгоритму Нелдера-Мида и т.д.
Симплексный поиск породил множество модификаций, среди которых в
первую очередь можно отметить комплекс – метод [190, 195], сочетающий в
себе методологию симплекс – метода и случайного поиска. В этом методе
вместо (n + 1) – вершинного симплекса используется совокупность («облако»)
точек, выбранных случайным образом. Их число Q должно быть не меньше
чем n + 1 . В «облаке» выделяется самая «плохая» точка h w j (k ) ,
соответствующая наибольшему значению целевой функции E j ( h w j (k )) . Вместо
противолежащей грани используется центр тяжести «облака» с исключенной
точкой h w j (k ) . Если обозначить этот центр как Q +1 w j (k ) , то новая точка
комплекса может быть определена с помощью соотношения
p
w j (k + 1) = Q + 2 w j (k ) = Q +1 w j (k ) + α ( Q +1 w j (k ) − h w j (k )).
(4.315)
При α > 1 справедливо равенство [202]
p
w j (k + 1) − Q +1 w j ( k ) =
Q +1
w j (k ) − h w j (k ) .
(4.316)
Выбор α > 1 приводит к растяжению комплекса, α < 1 – к сжатию, Q = n + 1
превращает комплекс-поиск (4.315) в алгоритм Нелдера-Мида (4.302).
В качестве параметров алгоритма комплекс–метода в [202] рекомендовано
использовать α = 1.3; Q = 2n ; в [195] рассмотрена процедура с Q = n + 2 ; в [196]
описан комплекс Митчелла–Каплана, в котором точки «облака» выбираются не
случайно, а некоторым регулярным образом.
Несложно видеть также, что комплекс-метод «вписывается» в рамки
конструкции (4.312) с
125
T
⎛
1+α
1+α ⎞
⎟ ,
λ = (λ h , λ1 ,… , λQ −1 ) = ⎜⎜ − α ,
,…,
Q −1
Q − 1 ⎟⎠
⎝
T
(4.317)
при этом при больших Q он фактически совпадает с методом статистического
градиента (4.243), а движение центра тяжести «облака» приближается к
антиградиентному.
Говоря о эволюционных алгоритмах, нельзя не вспомнить случайное
эволюционное планирование (REVOP) [190], являющееся противоположностью
комплекс-методу. Согласно процедуре REVOP движение осуществляется по
правилу
w j (k + 1) = w j (k ) + Δw j ( k ),
(4.318)
где Δw j (k ) – случайным образом выбираемое направление движения.
В случае, если E j ( w j (k + 1)) < E j ( w j (k )) , то дальнейшее движение
продолжается в направлении Δw j (k ) , в противном случае выбирается новое
случайное направление Δw j (k + 1) . Несложно видеть, что случайное
эволюционное планирование совпадает с ROM-алгоритмом случайного поиска
(4.231), (4.233).
Введение в REVOP случайного блуждания в сочетании с самообучением
позволяет задетерминировать движение в благоприятных направлениях и
защититься от «застревания» в локальных экстремумах. Для этого можно
использовать адаптивное случайное эволюционное планирование в форме [203,
204]
w j (k + 1) = w j (k ) − η∇ j (k ) + ζ (ΔE j (k − 1)),
(4.319)
где ∇ j (k ) – оценка градиента; ζ (ΔE j (k − 1)) – случайная добавка, у которой
дисперсия компонент σ w2 (k ) определяется приращением целевой функции
ΔE j (k − 1) = E j ( w j (k )) − E j ( w j (k − 1)) .
Оценку градиента в этом случае в отличие от многошаговой процедуры
(4.311) удобнее строить с помощью одношагового аддитивного алгоритма
Качмажа (4.71), приобретающего в данном случае вид
∇ j ( k + 1) = ∇ j (k ) +
E j ( w j (k + 1)) − ∇ Tj (k ) w j (k + 1)
l + w j (k + 1)
2
w j (k + 1),
(4.320)
а для управления дисперсией можно использовать соотношение
126
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
σ w2 (k ) = σ ζ2 e
ΔE j ( k −1)
(4.321)
.
При движении в благоприятном направлении (ΔE j (k − 1) < 0) – случайная
компонента подавляется и движение приближается к антиградиентному, при
застревании в локальном минимуме случайная компонента имеет дисперсию
σ ζ2 , в случае, если алгоритм делает неудачный шаг (ΔE j (k − 1) > 0) , случайная
добавка возрастая по амплитуде, «сбивает» движение с неверного направления.
Таким образом алгоритм (4.319) – (4.321) приобретает глобальные
свойства.
4.5.3 Генетические алгоритмы
Генетические алгоритмы сегодня являются наиболее популярными
представителями эволюционных алгоритмов и представляют собой по сути
модель размножения биологических организмов, предназначенную для
отыскания глобального оптимума многоэкстремальных функций. В основе
генетических алгоритмов лежат механизмы натуральной селекции и генетики,
реализующие «выживание сильнейших» среди рассматриваемых структур в
процессе их эволюции. Основное отличие процесса оптимизации с помощью
генетических алгоритмов состоит в том, что они работают в основном не с
параметрами (синаптическими весами), а с закодированным множеством
параметров, при этом поиск производится из популяции исходных точек, а для
оценки качества используют не приращение целевой функции, а
непосредственно ее мгновенное значение, применяя при этом определенные
вероятностные правила.
Генетические алгоритмы были введены Дж. Холландом [191, 206] и с
формальной точки зрения представляют собой последовательность операций,
моделирующую эволюционные процессы на основе аналогов механизмов
генетического наследования и естественного, а иногда и искусственного
отбора. В общем виде генетический алгоритм может быть представлен в виде
схемы, приведенной на рис. 4.19.
Начальная
популяция
Кроссовер
Мутация
Инверсия
Селекция
Текущая
популяция
Репродукция
Рис. 4.19 – Схема генетического алгоритма
Для описания генетических алгоритмов используется биологическая
терминология, где ключевым понятием является хромосома (стринг),
представляющая собой вектор (последовательность, цепочку), образованный
127
нулями и единицами, каждая позиция (бит) которого называется геном. Именно
в виде хромосом представляется вектор настраиваемых синаптических весов
w j (k ) = ( w j1 (k ), w j 2 (k ),…, w jn (k )) T , кодируемый либо в двоичном, либо в формате
с плавающей запятой. Если для кодирования каждого настраиваемого
параметра w ji (k ) используется N битов, то хромосома, соответствующая
вектору синаптических весов w j (k ) , имеет nN генов.
Алгоритм начинает свою работу с генерации (обычно случайным образом)
начальной популяции хромосом W j (0) = (1 wTj (0),… , p wTj (0),… , Q wTj (0)) (здесь
wTj (0) = ( p w j1 (0), p w j 2 (0),…, p w jn (0)) − p -я
хромосома популяции), размер
которой Q часто полагается постоянным. Для каждой из сгенерированных
хромосом можно оценить ее приспособленность (fitness), определяемую
значением целевой функции E j ( p w j (0)) для p -го вектора синаптических весов.
Очевидно, что чем меньше значение E j ( p w j (0)) , тем больше шансов «выжить»
в эволюционирующей популяции у p -й хромосомы.
Далее начинается процесс репродукции популяции, формируемый
генетическими операторами кроссовера, мутации и инверсии и операцией
селекции.
Важнейшим генетическим оператором является кроссовер, формирующий
хромосомы- потомки путем обмена генетического материала между
хромосомами-родителями так, как это показано на рис 4.20
p
0 1 1 0 0
1 1 1 0 1
1 0 0 0 1 1 0 1 1 0
0 1 1 0 0
1
1 1 0 1
1 0 0 0 1 1
0 1 1 0
0 1 1 0 0
1 0 1 1 0
1 0 0 0 1 1 1 1 0 1
⎫
⎪
⎪
⎬
⎪
⎪⎭
Родители
⎫
⎪
⎪
⎬
⎪
⎪⎭
Обмен генами
⎫
⎪
⎪
⎬
⎪
⎪⎭
Потомки
Рис. 4.20 – Кроссовер
Существует множество вариантов кроссовера, простейшим из которых
является одноточечный, в котором два случайно выбранных родителя
перерезаются в случайно выбранной точке, после чего хромосомы
обмениваются своими фрагментами. В задачах обучения искусственных
нейронных сетей одноточечный кроссовер представляется малоэффективным,
128
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
поскольку приводит к изменению только одного синаптического веса p w ji (k ) в
стринге p w j (k ) . С тем, чтобы изменить все веса, необходимо использовать n –
точечный кроссовер, в котором может участвовать более двух хромосом–
родителей.
Мутация связана со случайным изменением одного или нескольких генов в
хромосоме так, как это показано на рис. 4.21
0 1 1 0 0 1 1 1 0 1
Исходная хромосома
0 1 1 0 0 1 1 1 1 1
Хромосома-мутант
Рис. 4.21 – Мутация
Как видно, здесь случайно выбранный бит меняет свое состояние на
противоположное. Оператор мутации не позволяет процессу обучения
«застрять» в локальных экстремумах целевой функции.
Оператор инверсии изменяет порядок генов в хромосоме путем их
циклической перестановки так, как это показано на рис. 4.22.
И хотя в задачах оптимизации инверсия применяется не часто, в обучении
ИНС этот оператор позволяет изменять все синаптические веса стринга p w j (k ) .
В результате произошедших скрещиваний, мутаций и инверсий
формируется расширенная популяция хромосом, содержащая как исходное
множество хромосом-родителей, так и множество потомков. Каждый стринг
расширенной популяции оценивается с точки зрения его приспособленности по
критерию E j ( p w j (0)) , p = 1,2,…, Q,… , после чего формируется новая популяция
W j (1) , содержащая Q (1) хромосом с наименьшими значениями E j ( p w j ) . В этом
состоит суть операции селекции.
0 1 1 0 0 1 1 1 0 1
Исходная хромосома
1 0 1 1 0 0 1 1 1 0
Инвертированная хромосома
Рис. 4.22 – Инверсия
Далее на каждой итерации k процесс репродукции циклически
повторяется. Таким образом, генетический алгоритм накапливает удачные
решения, «стягивая» популяцию к глобальному экстремуму целевой функции.
Схема, приведенная на рис. 4.19, иллюстрирует некую «универсальную»
генетическую процедуру, в рамках которой может быть сформировано
множество алгоритмов, отличающихся друг от друга параметрами
генетических операторов и способами селекции. В качестве важнейших
характеристик, определяющих свойства конкретного генетического алгоритма,
можно отметить следующие [6]:
129
¾ способ формирования исходной популяции W j (0) ;
¾ количество особей в исходной популяции Q (0) , которое должно
быть достаточно большим, чтобы покрыть всю область возможных решений;
¾ частота кроссовера, определяемая количеством хромосом в текущей
популяции, подвергающимся скрещиванию;
¾ вероятность кроссовера для каждой из хромосом текущей
популяции;
¾ частота мутаций, определяемая количеством хромосом в текущей
популяции подвергающимся изменению;
¾ частота инверсий, определяемая количеством хромосом в текущей
популяции, подвергающимся циклической перестановке генов;
¾ параметр смены поколений G ( k ) , определяющий часть текущей
популяции P(k ) , которая заменяется на каждой итерации, при этом G (k ) = 1
соответствует замене всей популяции в каждом поколении;
¾ количество особей в текущей популяции Q (k ) ;
¾ стратегия селекции.
Наиболее распространенные модификации генетических алгоритмов
основываются, как правило, на управляемом кроссовере и направленной
селекции, имитирующими искусственной отбор.
Так в адаптивных генетических алгоритмах [6, 205] вероятность
кроссовера для каждой хромосомы пропорциональна ее приспособленности,
при этом скрещиванию подвергаются только наилучшие стринги. Таким
образом, случайный процесс обучения постепенно превращается в
детерминированный, а защитой от «застревания» в локальных экстремумах
служат нечастые мутации и инверсии менее приспособленных особей.
К адаптивным генетическим алгоритмам достаточно близки процедуры с
селекцией на основе элитизма [207], когда к размножению допускаются только
лучшие особи в популяции. Известны и другие формы репродукции, например,
имитирующие эволюцию на изолированных островах (Island models) [205] с
редким обменом генетическим материалом, осуществляющие разбиение
пространства параметров и независимый поиск в сформированных
подпространствах [208] и т.п.
И хотя, как отмечается в [48, 207], генетические алгоритмы превосходят по
скорости случайный поиск, обучение ИНС в реальном времени на основе
генетических процедур наталкивается на существенные трудности,
определяемые наличием в каждый момент времени множества векторовстрингов синаптических весов. В связи с этим в [209] описан генетический
алгоритм, предназначенный для работы в реальном времени и обладающий
повышенной скоростью сходимости. В этом алгоритме используется только
один генетический оператор – кроссовер, причем все особи популяции могут
скрещиваться только с одной хромосомой-«королевой» с минимальным
значением E j ( l w j (k )) . Естественно, что на каждой итерации k «королева»
может меняться и именно ее генетический код используется в качестве
текущего вектора синаптических весов.
130
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
Генетические алгоритмы в общем случае могут оперировать не только с
векторами-хромосомами, но и с более сложными объектами типа таблиц,
списков и графов [6, 207]. Эта способность позволила успешно применить
генетические методы не только для обучения параметров ИНС, но и архитектур
в целом [210]. Дж. Коза предложил подход, получивший название генетическое
программирование, в котором популяция образуется не векторамипараметрами, а архитектурами нейронных сетей, представленными в форме
потоковых графов. В процессе мутации графов при сохранении входных и
выходных размерностей формируется оптимальная архитектура сети,
наилучшим образом приспособленная для решения конкретной задачи. К
сожалению,
вычислительная
громоздкость
процедур
генетического
программирования ограничивает их возможности при решении задач большой
размерности в реальном времени.
4.6 Алгоритмы обучения на основе обратного распространения
ошибок
Рассмотренные выше алгоритмы обучения предназначены либо для
настройки синаптических весов единичного нейрона, либо – однослойной
нейронной сети. В задаче обучения многослойных сетей возникают трудности с
настройкой весов скрытых слоев, которые могут быть преодолены с помощью
специальной процедуры, получившей название алгоритма обратного
распространения ошибок, или обобщенного дельта правила.
Алгоритм обратного распространения впервые был предложен
П. Вербосом [211],но оставался практически неизвестным до его переоткрытия
Д. Румельхартом, Дж. Хинтоном и Р. Виллиамсом [23]. Необходимо отметить,
что именно отсутствие подходящей процедуры обучения не позволило
многослойным сетям получить широкое распространение и затормозило
развитие этого направления на много лет.
Здесь
мы
рассмотрим
использование
концепции
обратного
распространения
применительно
к
многослойному
персептрону,
рассмотренному в подразделе 2.3, в задачах, связанных с нелинейным
отображением пространства входов, таких, как классификация, диагностика,
распознавание образов, адаптивное управление, идентификация и т.д. При этом
исходная информация должна быть задана в виде последовательности пар
образов «вход/выход», образующих обучающую выборку. Обучение состоит в
адаптации параметров всех слоев таким образом, чтобы расхождение между
выходным сигналом сети и внешним обучающим сигналом в среднем было бы
минимальным. Из этого следует, что алгоритм обучения представляет собой по
сути процедуру поиска экстремума специально сконструированной целевой
функции ошибок.
Без потери общности рассмотрим процесс обучения трехслойного
персептрона, показанного на рис. 2.4, с n0 входами, n1 нейронами в первом
скрытом слое, n2 нейронами – во втором и n3 нейронами в выходном слое.
131
Каждый входной образ представляет собой (n0 × 1) -вектор x = ( x1 ,…, xi ,… , x n0 ) T ,
выходной образ – (n3 × 1) -вектор y = ( y1 ,…, yi ,…, y n3 )T и обучающий образ –
(n3 × 1) -вектор
d = ( d1 , … , d j ,… , d n3 ) T .
Необходимо в процессе обучения
обеспечить минимальное рассогласование между текущими значениями
выходных y j (k ) и желаемых d j (k ) сигналов для всех j = 1,2, … , n3 и k . Обычно
в качестве функции ошибок используется либо локальный критерий качества
E (k ) =
n3
1 n3
1 n3 2
2
(
d
(
k
)
−
y
(
k
))
=
e
(
k
)
=
∑ j
∑ j
∑ E j (k ),
j
2 j =1
2 j =1
j =1
(4.322)
либо глобальная целевая функция
E k = ∑ E (k ) =
k
1
1
(d j (k ) − y j (k )) 2 = ∑∑ e 2j (k ).
∑∑
2 k j
2 k j
(4.323)
В настоящее время существует два основных подхода к нахождению
минимума принятой целевой функции. Первый подход связан в основном с
целевой функцией (4.322) и состоит в последовательной настройке весов по
мере поступления входных образов (часто в случайном порядке) один за
другим в реальном времени. При этом для каждой пары образов x, d веса
w[jis ] ( s = 1,2,3) изменяются на величину Δw[sji ] , пропорциональную антиградиенту
целевой функции E (k ) , т.е.
w[jis ] (k + 1) − w[jis ] (k ) = Δw[jis ] (k ) = −η (k )
∂E (k )
.
∂w[jis ]
(4.324)
Нужно отметить, что если шаговый коэффициент η (k ) достаточно мал,
например, удовлетворяет условиям Дворецкого [115], то данная процедура
минимизирует и глобальную целевую функцию (4.323). Заметим также, что
рекуррентной процедуре настройки (4.324) соответствует в непрерывном
времени дифференциальное уравнение типа (4.123)
dw[jis ]
dt
= −η
∂E (t )
,
∂w[jis ]
η > 0.
(4.325)
Во втором подходе, именуемом «пакетным обучением», глобальная функция
E k минимизируется сразу по всей обучающей выборке, которая заранее должна
быть задана.
Рассмотрим сначала алгоритм обучения реального времени, связанный с
минимизацией на каждом шаге локальной функции E (k ) . Очевидно, что для
132
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
синаптических весов выходного слоя w[ji3] справедливо соотношение типа
(4.132)
[ 3]
∂E (k ) ∂u j (k )
∂E (k )
.
⋅
= −η (k ) [ 3]
Δw (k ) = −η (k ) [ 3]
∂u j (k ) ∂w[ji3]
∂w ji (k )
[ 3]
ji
(4.326)
Вводя локальную ошибку
δ
[ 3]
j
∂ψ [j3]
∂E (k )
∂E ( k ) ∂e j (k )
= e j ( k ) [ 3] ,
( k ) = − [ 3] = −
∂e j (k ) ∂u [j3]
∂u j
∂u j
(4.327)
с учетом того, что
n2
n2
i =1
i =1
u [j3] (k ) = ∑ w[ji3] (k ) xi[ 3] (k ) = ∑ w[ji3] (k )oi[ 2 ] (k )
(4.328)
(здесь xi[3] (k ) = oi[ 2] (k ) означает, что входом третьего слоя является выход
второго), несложно записать общую формулу настройки весов выходного слоя
в виде
Δw[ji3] (k ) = η (k )δ [j3] (k ) xi[3] (k ) = η (k )δ [j3] (k )oi[ 2] ( k ),
(4.329)
где
δ
[ 3]
j
(k ) = e j (k )(ψ
[ 3]
j
(u (k ))) ′ = (d j (k ) − y j ( k ))
[ 3]
j
∂ψ [j3]
∂u [j3]
.
(4.330)
Настройка синаптических весов скрытых слоев гораздо сложнее. Для
второго скрытого слоя запишем
[ 2]
∂E (k )
∂E (k ) ∂u j (k )
Δw (k ) = −η (k )
= −η (k ) [ 2]
⋅
=
∂w[ji2 ]
∂u j (k ) ∂w[ji2]
[ 2]
ji
(4.331)
= η ( k )δ [j2] (k ) xi[ 2] (k ) = η (k )δ [j2 ] (k )oi[1] (k ),
где локальная ошибка второго скрытого слоя определяется выражением
δ [j2 ] (k ) = −
∂E (k )
j = 1,2, …, n2 .
∂u [j2 ]
(4.332)
Проблема состоит в том, что эту ошибку невозможно определить
непосредственно по типу (4.330), в связи с чем необходимо попытаться ее
133
выразить либо через наблюдаемые сигналы, либо через переменные, которые
можно оценить.
Переписав (4.332) в виде
∂E (k )
∂E (k ) ∂o j (k )
⋅
(k ) = − [ 2] = − [ 2]
,
∂u j
∂o j ( k ) ∂u [j2]
[ 2]
δ
[ 2]
j
(4.333)
с учетом того, что
o [j2 ] (k ) = ψ [j2] (u [j2] (k )),
(4.334)
получаем
∂E ( k ) ∂ψ j
(k ) = − [ 2]
.
⋅
∂o j (k ) ∂u [j2]
[ 2]
δ
[ 2]
j
(4.335)
Представив – ∂E (k ) ∂o [j2] (k ) в виде
n3
∂E ( k )
∂E (k ) ∂u i[ 3] (k )
=
− [ 2]
= − ∑ [ 3]
⋅
∂o j (k )
∂o[j2]
i =1 ∂u i ( k )
⎞
⎛ ∂E (k ) ⎞ ∂ ⎛ n2 [ 3]
⎟ ⋅ [ 2 ] ⎜ ∑ wip (k ) x [p3] (k ) ⎟ =
= ∑ ⎜⎜ − [3]
⎟
⎜
⎟
i =1 ⎝ ∂u i ( k ) ⎠ ∂o j ⎝ p =1
⎠
n3
n3
= ∑δ
i =1
[ 3]
i
(4.336)
⎞ n3 [3]
∂ ⎛ n2 [ 3]
[ 2]
⎜
(k ) ⋅ [ 2] ⎜ ∑ wip (k )o p (k ) ⎟⎟ = ∑ δ i (k ) wij[3] (k ),
∂o j ⎝ p =1
⎠ i =1
локальную ошибку второго скрытого слоя можно вычислить с помощью
выражения
δ
[ 2]
j
(k ) =
∂ψ [j2]
∂u
n3
∑ δ i[3] (k )wij[3] (k ),
[ 2]
i =1
j
(4.337)
откуда следует
Δw (k ) = η (k )o (k )
[ 2]
ji
[1]
i
∂ψ [j2 ]
∂u
n3
∑ δ i[3] (k ) wij[3] (k ).
[ 2]
i =1
j
(4.338)
Аналогично можно записать формулу настройки весов первого слоя
Δw[ji1] ( k ) = η (k )δ [j1] (k ) xi[1] (k ) = η (k )δ [j1] (k )oi[ 0 ] (k ) = η (k )δ [j1] (k ) xi (k ),
(4.339)
где локальная ошибка первого слоя имеет вид
134
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
δ (k ) =
[1]
j
∂ψ [j1]
∂u
n2
∑ δ i[ 2] (k ) wij[ 2] (k ).
[1]
i =1
j
(4.340)
Несложно видеть, что локальная ошибка внутреннего (скрытого) слоя
определяется на основе ошибок последующего слоя. Начиная с выходного слоя,
с помощью выражения (4.330) вычисляется локальная ошибка δ [j3] (k ) , а затем
путем ее распространения от выхода ко входу сети вычисляются ошибки
δ [j2] (k ) и δ [j1] (k ) . На рис 4.23 приведена схема обучения трехслойного
персептрона, обучаемого с помощью алгоритма обратного распространения
ошибок.
Главное отличие рассмотренного алгоритма обучения от процедур,
описанных в подразделе 4.4, состоит в расчете локальных ошибок
δ [j s ] (k ) ( s = 1,2) скрытых слоев. Если в выходном слое локальная ошибка – это
функция желаемого и фактического выходов сети и производной
активационной функции, то для скрытых слоев локальные ошибки
определяются на основе локальных ошибок последующих слоев.
Работу алгоритма обратного распространения ошибок удобно описать в
виде последовательности следующих шагов:
¾ задание начальных условий для всех синаптических весов сети в
виде
достаточно
малых
случайных
чисел
(обычно
–
[s]
− 0.5 n s −1 < w ji < 0.5 n s −1 ) с тем, чтобы активационные функции
нейронов не вошли в режим насыщения на начальных стадиях
обучения (защита от «паралича» сети);
¾ подача на вход сети образа x и вычисление выходов всех нейронов
при заданных значениях w[sji ] ;
и вычисленным
¾ по заданному обучающему вектору d
[s ]
промежуточным выходам o j расчет локальных ошибок δ [sj ] для всех
слоев;
¾ уточнение всех синаптических весов по формуле
Δw[jis ] = ηδ [j s ] xi[ s ] , s = 1,2,3;
(4.341)
¾ подача на вход сети следующего образа x и т.д.
Процесс обучения продолжается до тех пор, пока ошибка на выходе ИНС
не станет достаточно малой, а веса стабилизируются на некотором уровне.
После обучения нейронная сеть приобретает способности к обобщению, т.е.
начинает правильно классифицировать образы, не представленные в
обучающей выборке. Это самая главная черта многослойных персептронов,
осуществляющих после обучения произвольное нелинейное отображение
пространства входов в пространство выходов на основе аппроксимации
сложных многомерных нелинейных функций.
135
Свойства рассмотренной выше процедуры обучения существенным
образом зависят от выбора параметра шага η (k ) . С одной стороны, он должен
быть достаточно малым, чтобы обеспечить оптимизацию глобальной целевой
функции E k . С другой стороны, малый шаговый коэффициент резко снижает
скорость сходимости, а, следовательно, увеличивает время обучения.
Большое значение η (k ) увеличивает скорость сходимости, но может
спровоцировать неустойчивость. Следует также помнить, что если целевая
функция имеет локальные минимумы, процесс обучения может в них
«застрять».
Улучшить характеристики процесса обучения можно, соответствующим
образом модифицировав процедуры, описанные в 4.4. Так, например, вводя
регуляризующий член, можно записать процедуру обратного распространения,
являющуюся развитием алгоритма Чана-Фоллсайда (4.166) [27]
Δw[jis ] (k ) = ηδ [j s ] (k )oi[ s −1] (k ) + β Δw[jis ] (k − 1),
(4.342)
где η > 0; 0 ≤ β ≤ 1; s = 1,2,3 .
При движении через область плато целевой функции, когда компоненты
градиента малы и практически не меняются от шага к шагу, (4.342) можно
переписать в виде
Δw[jis ] (k ) = −η
∂E (k )
η ∂E (k )
,
+ β Δw[jis ] (k − 1) ≈ −
[s]
1 − β ∂w[jis ]
∂w ji
(4.343)
из которого следует, что варьированием параметра регуляризации β можно
добиться увеличения скорости обучения.
В отличие от последовательной процедуры обучения, когда синаптические
веса сети настраиваются на каждом такте времени k , пакетное обучение
подразумевает сначала накопление всей обучающей выборки, а затем
одновременную обработку всего пакета имеющихся пар образов. При этом для
каждого k -го образа рассчитывается корректирующая добавка Δw[jis ] (k ) по
формулам (4.329), (4.338) и (4.339) и только после предъявления последней
пары из обучающей выборки происходит собственно коррекция весов по
формуле
Δw
[s]
ji
∂E k
= ∑ Δw (k ) = −η [ s ] = η ∑ δ [js ] (k )oi[ s −1] (k ).
∂w ji
k
k
[s]
ji
(4.344)
Эта процедура может повторяться несколько раз, а каждый такой «проход»
по выборке называется эпохой обучения. На практике в режиме пакетного
обучения используются более сложные процедуры нежели (4.344), а в качестве
136
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
x1
+
+
]
u [1
2
Σ
x2
+
x n0
+
+
+
+
o1[1]
u1[1]
Σ
+
+
W [ 2]
Ψ [1]
W [1] = {w [ji1] }
u
Σ
]
o [1
2
[1]
n1
o
[1]
n1
=
o1[ 2 ]
Σ
u 2[2 ]
o [22 ] +
+
+ +
u
Σ
[ 2]
n2
o
∂ψ [j1]
∂u [j1]
n2
×
∑δ
i =1
[ 2]
i
w
+
+
Σ
u1[3 ]
y1
Σ
]
u [3
2
y2
u n[ 33 ]
y n3
+
+ +
Σ
∂ψ [j3 ]
∂u [j1]
∂u [j2 ]
∂u [j3 ]
Σ
×
[2]
ij
[ 2]
n2
+
+
+
∂ψ [j2 ]
δ 1[ 3] δ 2[ 3] δ n[ 33 ]
δ 1[ 2 ] δ 2[ 2 ] δ n[ 22 ]
×
δ
+
Σ
u1[2 ]
Ψ [3 ]
∂ψ [j1]
δ 1[1] δ 2[1] δ n[11 ]
[1]
j
+
+
+
+
+
W [ 3]
Ψ [2]
+
+
Σ+
Σ
×
+
+
+
+
+
+
δ
[ 2]
j
=
∂ψ [j2 ]
∂u [j2 ]
n3
∑δ
i =1
×
[3 ]
i
w
Σ
×
[ 3]
ij
++
Σ+
Σ
×
+
+
+
+
+
+
δ
[ 3]
j
= ej
−
e1
×
e2
×
Σ
d1
+
−
Σ
e n3
∂ ψ [j3 ]
∂ u [j3 ]
Рис. 4.23 - Трехслойный персептрон, обучаемый с помощью обратного распространения ошибок
+
d2
−
Σ
d n3
+
137
одного из хорошо зарекомендовавших себя алгоритмов можно отметить
конструкцию вида [27]
Δw [jis ] ( p ) =
η
n s −1
δ [js ] (k )oi[ s −1] (k ) + β Δw [jis ] ( p − 1) − α w [jis ] ( p),
∑
(1 − β )
(4.345)
k
где p = 1,2,… – номер эпохи; 0 < η < 1 ; β – параметр регуляризации; α (обычно
10 −3 − 10 −5 ) – параметр, предохраняющий процесс обучения от возникновения
недопустимо больших весов w[sji ] .
С целью защиты от застревания в локальных минимумах глобальной
целевой функции в алгоритм обучения может быть добавлен случайный шум
(по типу (4.269)), играющий роль зондирующего сигнала.
Выбор последовательного или пакетного алгоритмов обучения
определяется конкретной задачей, решаемой с помощью многослойной сети.
Последовательный подход применяется в тех случаях, когда обучающая
выборка не доступна до начала процесса обучения и образы поступают
последовательно во времени; в случае больших объемов обучающей выборки и
высокой размерности образов-векторов пакетная обработка требует
резервирования больших объемов памяти, что делает предпочтительным опятьтаки последовательный подход; кроме того последовательные процедуры часто
просто «быстрее». В пользу пакетной обработки говорит то, что она обладает
дополнительными фильтрующими свойствами и обеспечивает более высокую
точность оценивания.
Как следует из изложенного, обучение многослойной ИНС на основе
обратного распространения ошибок – достаточно громоздкая процедура,
скорость сходимости которой существенно зависит от количества нейронов в
сети. Число нейронов в слоях заранее оценить невозможно, поэтому на
практике
обычно
пользуются
эмпирическими
правилами
типа:
n1 = n0 , n2 = 2n0 + 1, n3 = m , хотя говорить об оптимальности в этом случае,
естественно, не приходится. Более конструктивным представляется подход, при
котором создается исходная ИНС с заведомо избыточным числом нейронов,
которое сокращается в процессе обучения от эпохи к эпохе. При этом все
нейроны, которые не вносят в решение задачи никакого вклада либо не
передают информацию на последующий слой, изымаются. Чтобы выяснить
какие скрытые нейроны могут быть удалены, контролируются их выходные
сигналы после каждой эпохи обучения, при этом если сигнал близок к нулю,
либо равен выходу любого другого нейрона этого слоя, данный нейрон может
быть ликвидирован. После каждой эпохи эта процедура может повторяться.
Существует и другой подход, когда число нейронов от эпохи к эпохе
увеличивается до достижения требуемой точности. Кроме того, увеличением
числа нейронов сеть можно вывести из «паралича» или локального минимума
целевой функции, которая контролируется в процессе обучения. Если эта
функция не уменьшается или уменьшается очень медленно, в сеть добавляется
нейрон с весами, выбранными случайным образом. Если в процессе обучения
138
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
после нескольких итераций улучшения не произошло, добавляется еще один
узел и т.д. Здесь, правда, существует опасность «переобучения» (overfitting),
при котором сеть теряет свои обобщающие свойства и начинает
«отрабатывать» случайные флуктуации.
Стандартный алгоритм обратного распространения минимизирует целевую
функцию (4.322), основанную на квадратах ошибок обучения e j (k ) . Во многих
практических приложениях с успехом могут быть использованы иные
конструкции типа (4.143), приводящие к критерию качества
n3
E (k ) = ∑ f (e j ( k )),
(4.346)
j =1
где f (•) - некоторая выпуклая функция.
Случай
f (e j (k )) =
1 2
e j (k )
2
дает стандартный квадратичный критерий,
f (e j (k )) = e j ( k ) – ведет к критерию наименьших модулей и т.п. И хотя
квадратичный критерий позволяет получить оптимальные оценки в случае
гауссовского распределения сигналов и возмущений, для распределений с так
называемыми «тяжелыми хвостами» (Лапласа, Коши и др.) оценки, основанные
на (4.322), (4.323), могут оказаться неудовлетворительными.
В этом случае эффективными могут оказаться робастные методы
оценивания [27, 45, 140, 212-214], основанные на целевых функциях, отличных
от квадратичного критерия таких, как
¾ логистическая функция Велша
f W (e j ( k )) = ε 12 ln(cosh
e j (k )
ε1
),
(4.347)
¾ функция Хубера
⎧ e 2j (k )
, если e j (k ) ≤ ε 1 ,
⎪
⎪ 2
f H (e j (k )) = ⎨
ε 12
⎪
⎪⎩ε 1 e j (k ) − 2 в противном случае,
(4.348)
¾ функция Талвара
⎧ e 2j (k )
, если e j (k ) ≤ ε 1 ,
⎪
⎪ 2
f T (e j ( k )) = ⎨
2
⎪ε 1
⎪⎩ 2 в противном случае,
(4.349)
139
¾ функция Хэмпела
π e j (k ) ⎞
⎧ ε 12 ⎛
⎟, если e j (k ) ≤ ε 1 ,
⎪ ⎜⎜1 − cos
ε 1 ⎟⎠
⎪π ⎝
f Ha (e j (k )) = ⎨
⎪ ε 12
⎪⎩2 π в противном случае
(4.350)
и другие, например, (4.80), (4.82). Здесь ε 1 > 0 – управляющий параметр,
обычно выбираемый из эмпирических соображений.
С целью повышения скорости обучения и улучшения обобщающих
свойств сети в [215] предлагается использовать комбинации этих функций,
например,
n3
n3
j =1
j =1
E ( k ) = (1 − α )∑ f1 (e j (k )) + α ∑ f 2 (e j (k )),
(4.351)
где α – весовой параметр, изменяющийся в процессе обучения по правилу
⎛
α = α ( E k ) = exp⎜⎜ −
α0 ⎞
⎟, α 0 > 0,
k 2 ⎟
⎝ (E ) ⎠
(4.352)
Наилучшие результаты были получены при выборе
e j (k ) ⎞
⎛
⎟
f1 (e j (k )) = ε 12 ln⎜⎜ cosh
ε 1 ⎟⎠
⎝
(4.353)
с 0 < ε 1 << 1 и
f 2 (e j (k )) =
1 2
e j (k ).
2
(4.354)
Заметим, что на начальных этапах обучения доминирует функция
f1 (e j (k )) , которая при малых значения параметра ε 1 по свойствам
приближается к критерию наименьших модулей, т.е. обладает выраженными
робастными свойствами, будучи при этом дважды дифференцируемой.
Для минимизации локальной целевой функции (4.347) можно использовать
стандартную градиентную технику оптимизации. При этом
Δw[jis ] (k ) = −η (k )
∂E (k )
,
∂w[jis ]
(4.355)
140
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
или
[s]
[s]
∂E (k ) ∂o j (k ) ∂u j (k )
Δw (k ) = −η (k ) [ s ]
⋅
⋅
,
∂o j (k ) ∂u [js ] (k ) ∂w[jis ]
[s]
ji
(4.356)
откуда видно, что последние два сомножителя определяются только
характеристиками нейронов и не зависят от вида принятого критерия качества
E (k ) . Это означает, что основная структура алгоритма обратного
распространения ошибок сохраняется, изменяясь лишь в части, связанной с
производной целевой функции.
Записав для выходного слоя очевидное соотношение
∂E (k ) ∂E (k ) ∂f (e j (k ))
=
=
, j = 1,2,…, n3
∂y j
∂y j
∂o[j3]
(4.357)
и приняв в качестве целевой функцию Велша (4.347) с
e j (k )
∂E (k )
= −ε 12 tanh
,
∂y j
ε1
(4.358)
получаем
δ
[ 3]
j
[ 3]
[ 3]
⎛ e j (k ) ⎞ ∂ψ j
∂E ( k ) ∂o j (k )
2
⎟⎟ ⋅ [3]
( k ) = − [ 3]
= ε 1 tanh ⎜⎜
∂o j (k ) ∂u [j3]
⎝ ε 1 ⎠ ∂u j
(4.359)
и
Δw[ji3] (k ) = η (k )δ [j3] (k )oi[ 2] (k ).
(4.360)
Аналогично без дополнительных комментариев можно записать
n3
∂E (k )
= −∑ δ i[3] (k )wij[3] (k ), j = 1,2, … , n2 ,
[ 2]
∂o j
i =1
δ
[ 2]
j
(k ) =
∂ψ [j2]
∂u
n3
∑ δ i[3] (k ) wij[3] (k ),
[ 2]
i =1
j
(4.361)
(4.362)
Δw[ji2] (k ) = η (k )δ [j2] ( k ) xi[ 2] (k ) = η ( k )δ [j2] (k )oi[1] (k )
(4.363)
n2
∂E (k )
= −∑ δ i[ 2] (k )wij[ 2 ] (k ), j = 1,2, … , n1 ,
[1]
∂o j
i =1
(4.364)
и
141
δ (k ) =
[1]
j
∂ψ [j1]
∂u
n2
∑ δ i[ 2] (k )wij[ 2] (k ),
(4.365)
[1]
i =1
j
Δw[ji1] ( k ) = η (k )δ [j1] (k ) xi[1] (k ) = η (k )δ [j1] (k ) xi (k ).
(4.366)
Несложно видеть, что вид целевой функции влияет только на локальную
ошибку выходного слоя δ [j3] (k ) , не изменяя структуры процедур настройки
скрытых слоев.
Для улучшения аппроксимирующих свойств сети в [27] предлагается
наряду с синаптическими весами настраивать и параметры крутизны
активационных функций с помощью модифицированного алгоритма КрушкеМовеллана [157]. При этом для трехслойного персептрона очевидны
соотношения:
o[js ] (k ) = ψ [js ] (γ [js ] (k )u [js ] ) = tanh(γ [js ] (k )u [js ] (k )),
(4.367)
∂E (k )
= η ( k )δ [j s ] (k )oi[ s −1] ( k ),
[s]
∂w ji
(4.368)
∂E (k )
= ηγ (k )δ [j s ] (k )u [js ] (k ) γ [js ] (k ) ,
[s]
∂γ j
(4.369)
Δw[jis ] (k ) = −η (k )
Δγ [js ] (k ) = −ηγ (k )
δ
[s]
j
[s]
∂E (k ) ∂ψ j
(k ) = − [ s ] =
∂u [js ]
∂u j
δ
[ 3]
j
ns +1
∑ δ [ps+1] (k )w[pjs+1] (k ),
s = 1,2,
(4.370)
p =1
[ 3]
∂E (k ) ∂ψ j
( k ) = − [ 3] =
e j (k ).
∂u j
∂u [j3]
(4.371)
В заключение данного подраздела следует отметить, что для обучения
многослойных сетей с помощью обратного распространения, после
соответствующей модификации, связанной с вычислением локальных ошибок
скрытых слоев, с успехом могут быть использованы практически все
процедуры, описанные в подразделах 4.4 и 4.5.
4.7 Алгоритмы самообучения
Настоящий подраздел в отличие от предыдущих посвящен процедурам
обучения без учителя (самообучения), представляющим собой по определению
Б. Уидроу [67] алгоритмы адаптации синаптических весов в разомкнутом
контуре. Наиболее широкое распространение самообучение получило в задачах
кластеризации, квантования непрерывного пространства входов, понижения
размерности пространства сигналов (нелинейного факторного анализа),
142
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
выделения информативных признаков при распознавании образов и т.п [28, 29].
Самообучение лежит в основе таких получивших широкое распространение
ИНС, как самоорганизующиеся карты Кохонена, сети Гроссберга, сети,
основанные на теории адаптивного резонанса, конкурентные сети и др. Здесь
мы рассмотрим правила обучения отдельных нейронов, а также области их
целесообразного использования.
4.7.1 Правило обучения Хэбба
Обучение по Д. Хэббу является наиболее известным, а его история
насчитывает более пятидесяти лет [9, 14, 15, 27, 216]. Суть его состоит в том,
что, если два соседних нейрона, связанных через синаптическую связь,
активируются одновременно, то сила этой связи увеличивается; если же эти
нейроны активируются асинхронно, то эта сила или уменьшается, либо
исключается вообще.
Формально для j -го нейрона сети с (n + 1) входами правило Хэбба
выглядит следующим образом
w ji (k + 1) = w ji (k ) + η (k ) f j ( y j (k ))ψ i ( xi (k )),
(4.372)
где f j (•) и ψ i (•) - некоторые функции, выбираемые, как правило, из
эмпирических соображений.
В случае, если в качестве нейрона используется рассмотренный во втором
разделе линейный ассоциатор
n
y j (k ) = ∑ w ji xi (k ) = wTj x(k ),
(4.373)
i =0
правило обучения принимает вид
или
w ji (k + 1) = w ji (k ) + η (k ) y j (k ) xi (k )
(4.374)
w j (k + 1) = w j (k ) + η (k ) y j (k ) x(k ).
(4.375)
И, наконец, для сети, образованной m параллельно подключенными ко
входу нейронами (4.373), правило Хэбба записывается в форме
W (k + 1) = W (k ) + η ( k ) y (k ) x T (k ),
(4.376)
где W (k ) = ( w1 (k ),…, w j (k ),… , wm (k )) T − m × (n + 1) – матрица синаптических весов.
Несложно видеть, что при нулевой матрице W (0)
143
k +1
W (k + 1) = ∑η ( p ) y ( p ) x T ( p ),
(4.377)
p =1
откуда следует пропорциональность синаптических весов коэффициентам
корреляции между входными и выходными переменными.
Практическое использование алгоритмов (4.374) – (4.377) осложняется тем
обстоятельством, что с ростом обучающей выборки синаптические веса могут
увеличиваться неограниченно, что в свою очередь, приводит к существенным
вычислительным трудностям. Ограничить значения коэффициентов можно,
используя алгоритм
W (k + 1) = W (k ) + ηy (k ) x T ( k ) − αW (k ) = (1 − α )W (k ) + ηy (k ) x T (k ),
(4.378)
где 0 < α ≤ 1 – фактор забывания.
Можно показать [14], что предельное значение синаптических весов в этом
случае определяется соотношением
w max
=
ji
η
.
α
(4.379)
Разновидностями алгоритма (4.376) являются [15] автоассоциативное
правило обучения Хэбба
W ( k + 1) = W (k ) + η (k ) x( k ) x T (k ),
связанное с автокорреляционными свойствами
автоассоциативное правило Уидроу-Хоффа
(4.380)
входных
W (k + 1) = W ( k ) + η ( k )( x(k ) − W ( k ) x( k )) x T ( k ),
сигналов,
и
(4.381)
минимизирующее целевую функцию
E (k ) =
1
2
x(k ) − Wx(k ) .
2
(4.382)
Несложно видеть, что (4.381) совпадает с алгоритмом обучения с учителем
Качмажа-Уидроу-Хоффа, в котором, однако, вместо внешнего обучающего
сигнала d (k ) используется входной вектор x(k ) .
Хэббовское правило обучения может быть получено и из сугубо
формальных соображений путем минимизации критерия качества, называемого
в данном случае энергетической функцией и имеющего вид
144
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
E j (t ) =
α
2
wj
2
− ψ ( wTj x(t ))
(4.383)
(здесь α ≥ 0 ), отличающийся от (4.151) отсутствием внешнего обучающего
сигнала d j (t ) . Процесс минимизации (4.383) имеет вид, близкий к (4.155)
dw ji
dt
= η (−αw ji + δ j xi )
(4.384)
и отличающийся от него структурой локальной ошибки δ j , описываемой в
данном случае элементарным соотношением
δ j = yj =
dψ (u j )
du j
.
(4.385)
Тогда (4.384) с учетом (4.385) можно переписать в виде
dw ji
dt
= η ( y j xi − αw ji )
(4.386)
для непрерывного времени или
w ji (k + 1) = w ji (k ) + η (k )( y j (k ) xi (k ) − αw ji (k )),
(4.387)
w j (k + 1) = w j ( k ) + η (k )( y j (k ) x(k ) − αw j (k )),
(4.388)
W (k + 1) = W (k ) + η (k )( y (k ) x T ( k ) − αW (k ))
(4.389)
для дискретного.
На рис. 4.24 приведена схема самообучения с помощью правила Хэбба
(4.388).
4.7.2 Входная звезда Гроссберга
Входная звезда (Instar) С. Гроссберга представляет собой нейрон по
структуре аналогичный адалине, предназначенный для решения простейших
задач распознавания образов и осуществляющий преобразование
y j = ψ ( wTj x + θ j ),
(4.390)
где
⎧1, если u j ≥ 0,
ψ (u j ) = ⎨
⎩0 в противном случае.
(4.391)
145
Схема входной звезды приведена на рис. 4.25.
1
w j0
x1 (k )
w j1
+
x2 (k )
w j2
+
+
+
Σ
u j (k )
dψ (u j )
du j
y j (k )
w jn
x n (k )
δ j (k ) = y j (k )
Алгоритм
самообучения
Рис. 4.24 – Правило обучения Хэбба
θj
x1 (k )
w j1
+
x2 ( k )
w j2
+
−
Σ
u j (k )
+
xn (k )
1
y j (k )
0
w jn
Рис. 4.25 – Входная звезда
Несложно видеть, что этот нейрон активизируется (на выходе появляется
1 ) в случае, если вектор входных сигналов x(k ) в некотором смысле близок к
текущему вектору синаптических весов w j (k ) , т.е. при выполнении условия
wTj (k ) x(k ) = w j (k ) x(k ) cosθ ≥ θ j ,
(4.392)
146
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
где θ - угол между векторами w j (k ) и x(k ) ; θ j - сигнал смещения, задающий
порог «близости» векторов, который определяет срабатывание входной звезды.
Если принять
θ j = wj x ,
(4.393)
то звезда активизируется только в случае, если входной сигнал совпадает с
вектором синаптических весов, т.е. распознается только один образ. Чем
меньше значение θ j , тем больше возможных образов могут активизировать
нейрон, который становится при этом все менее «разборчивым».
Обучение входной звезды производится с помощью модифицированного
алгоритма (4.378), принимающего в данном случае вид
w j (k + 1) = w j ( k ) + ηy j (k ) x(k ) − αy j (k ) w j (k ).
(4.394)
Необходимость модификации связана с тем, что в случае подачи на вход
нейрона последовательности x(k ) , не активизирующей звезду ( y j (k ) = 0)
происходит постепенное забывание всей накопленной информации.
Действительно в этом случае алгоритм (4.378) приобретает вид
w j (k + 1) = (1 − α ) w j (k ) .
(4.395)
Отличительной же особенностью правила (4.394) является то, что
самообучение происходит только в активизированном состоянии когда
y j (k ) = 1 .
Положив для простоты α = η , получаем так называемое стандартное
правило самообучения входной звезды
w j (k + 1) = w j (k ) + η y j (k )( x(k ) − w j (k )),
(4.396)
которое можно проиллюстрировать с помощью рис. 4.26.
При y j (k ) = 0 согласно (4.396) обучение не происходит,
w j (k + 1) = w j (k ) . При y j (k ) = 1 алгоритм естественно приобретает вид
w j (k + 1) = w j (k ) + η ( x(k ) − w j (k )) = (1 − η ) w j (k ) + ηx(k ),
т.е.
(4.397)
т.е. вектор синаптических весов «подтягивается» ко входному образу на
расстояние пропорциональное параметру шага η . Чем больше η , тем ближе
w j (k + 1) к x(k ) и при η = 1 совпадает с ним. Обычно в реальных задачах
используется переменное значение η (k ) , определяемое в соответствии с
условиями Дворецкого [115]. Можно также отметить, что в целях
147
вычислительных удобств, вместо
нормированный аналог
вектора
x(k )
чаще
используют его
x(k )
~
x (k ) =
.
x(k )
(4.398)
x2 , w j 2
x(k )
w j (k + 1)
w j (k )
x1 , w j1
Рис. 4.26 – Обучение входной звезды
4.7.3 Выходная звезда
Своеобразным антиподом входной звезды является выходная звезда
(Outstar), предназначенная для решения задач восстановления образов, схема
которой приведена на рис. 4.27.
w11
x(k )
w21
wm1
u1 ( k )
1
−1
u 2 (k )
1
−1
u m (k )
1
−1
y1 (k )
y 2 (k )
y m (k )
Рис. 4.27 – Выходная звезда
Этот нейрон имеет скалярный вход и векторный выход и осуществляет
преобразование
148
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
y j = ψ ( w j1 x), j = 1,2, … , m
(4.399)
⎧u j , если − 1 ≤ u j ≤ 1,
⎪
ψ (u j ) = ⎨1, если 1 < u j ,
⎪
⎩− 1, если u j < −1.
(4.400)
с функцией активации
Правило самообучения выходной звезды имеет вид
w ji ( k + 1) = w ji (k ) + η y j (k ) xi (k ) − αxi (k ) w ji (k ),
(4.401)
w ji (k + 1) = w ji (k ) + η xi (k )( y j (k ) − w ji (k )),
(4.402)
а при η = α –
т.е. настройка синаптических весов происходит только в случае xi (k ) ≠ 0 . Здесь,
как видно, в процессе самообучения синаптические веса «подтягиваются» к
выходному вектору y (k ) .
В векторной форме правило самообучения имеет вид
wi (k + 1) = wi ( k ) + η xi (k )( y (k ) − wi ( k )),
(4.403)
где wi (k ) - i -тый столбец матрицы коэффициентов W (k + 1) (4.377).
4.7.4 Потенциальное правило обучения Амари
Потенциальное правило самообучения С. Амари [217] по структуре
достаточно близко к хэббовскому обучению и связано с минимизацией
энергетической функции вида (4.383), основанной на так называемом
внутреннем потенциале, определяющем уровень активности нейрона.
Для энергетической функции
E j (k ) =
α
2
wj
2
− ψ ( wTj x(t ))
(4.404)
в качестве уровня активности используется конструкция
1
2
ψ (u j ) = u 2j (t ),
(4.405)
149
приводящая к алгоритму минимизации в непрерывном времени
dw ji
dt
= η (−α w ji + δ j xi ),
где
δj =
dψ (u j )
du j
(4.406)
= u j.
(4.407)
Тогда несложно записать правило обучения
dw ji
dt
= η (u j xi − α w ji )
(4.408)
в непрерывном времени и
w ji ( k + 1) = w ji (k ) + η (k ) (u j (k ) xi (k ) − α w ji (k )),
(4.409)
w j (k + 1) = w j (k ) + η (k ) (u j (k ) x(k ) − α w j (k ))
(4.410)
в дискретном.
На рис. 4.28 приведена схема самообучения с помощью правила Амари.
1
w j0
x1 (k )
w j1
+
x2 (k )
x n (k )
w j2
+
+
+
Σ
u j (k )
ψ (u j )
y j (k )
w jn
Алгоритм
самообучения
δ j (k ) = u j (k )
Рис. 4.28 – Правило обучения Амари
150
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
4.7.5 Правило обучения Оя
Правило обучения Э. Оя [218, 219] тесно связано с алгоритмами Хэбба и
Амари и порождается минимизацией энергетической функции
2
1
e j (t ) ,
2
(4.411)
e j (t ) = x(t ) − xˆ j (t )
(4.412)
E j (t ) =
где
- ошибка между входным сигналом x(t ) и его оценкой xˆ j (t ) .
Данное правило предназначено для обучения линейного ассоциатора
y j = u j = wTj x,
(4.413)
при этом искомая оценка x̂ j определяется выражением
xˆ j = w j y j .
(4.414)
Преобразуя (4.411) с учетом (4.414), получаем
E j (t ) =
1
x − wj y j
2
2
=
1 T
( x x − 2wTj xy j + wTj w j y 2j ),
2
(4.415)
откуда следует
∇ w j E j (t ) = − xy j + w j y 2j
(4.416)
и
dw ji
dt
= η ( y j xi − w ji y 2j ) = η y j ( xi − w ji y j ).
(4.417)
В дискретном времени алгоритм Оя имеет вид
w ji ( k + 1) = w ji (k ) + η ( k ) y j (k )( xi (k ) − w ji (k ) y j (k )),
(4.418)
w j (k + 1) = w j (k ) + η (k ) y j (k )( x(k ) − w j ( k ) y j (k )).
(4.419)
Наиболее широкое распространение данное правило получило для
решения задач факторного анализа [220, 221], когда из массивов эмпирических
данных в реальном времени требуется выделять главные компоненты.
151
Для нахождения первой главной компоненты Оя предложил структуру,
приведенную на рис. 4.29, в основе которой лежит адаптивный линейный
ассоциатор и алгоритм самообучения (4.419).
Для предварительно центрированных данных
~
xi (k ) = xi (k ) − xi (k ),
xi ( k ) =
1 k
∑ x( p),
k p =1
x0 (k ) ≡ 0
(4.420)
алгоритм выделения первой компоненты имеет вид
x (k ) − w1 (k ) y1 (k )),
⎧w1 (k + 1) = w1 (k ) + η ( k ) y1 ( k )( ~
⎨
T
~
⎩ y1 (k ) = w1 (k ) x (k ), w1 (0) ≠ 0,
(4.421)
обеспечивающий минимум критерию
1 k
E = ∑ ( w1T ~
x ( p )) 2 .
k p =1
k
1
~
x1 (k )
+
−
~
x 2 (k )
Σ
×
η (k )
+
+
Σ
Σ
×
×
z −1
w11 (k )
×
η (k )
+
Σ
+
×
+
−
×
Σ
+
×
−
~
xn (k )
×
(4.422)
z −1
+
+
Σ
y1 (k )
+
w12 (k )
×
η (k )
+
Σ
+
z −1
w1n (k )
Рис. 4.29 – Нейрон Оя
152
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
В [222] была доказана сходимость алгоритма (4.421) в предположении, что
шаг поиска η ( k ) выбирается удовлетворяющим условиям Дворецкого. В
частности целесообразно выбирать этот параметр в соответствии с выражением
[223, 224]
2
η (k ) = r −1 (k ), r (k ) = α r (k − 1) + ~x (k ) , 0 ≤ α ≤ 1,
(4.423)
где α – параметр забывания, обеспечивающий компромисс между следящими и
фильтрующими свойствами алгоритма (4.421).
Можно показать также, что правило Оя обеспечивает нормирование
вектора синаптических весов w1 (k ) = 1, вектор w1 (k ) является собственным
вектором корреляционной матрицы входов, а выходной сигнал нейрона y1 (k )
характеризуется максимально возможной дисперсией, т.е. содержит максимум
информации о входном сигнале ~x (k ) .
Работа алгоритма (4.421) иллюстрируется рис. 4.30.
~
x (k − 3)
~
x (k − 2)
w1 (k )
~
x (k − 1)
1
~
x (k )
Рис. 4.30 – Множество векторов и первая главная компонента
4.7.6 Нейроны для предварительной обработки информации
В задачах обработки экспериментальных данных достаточно часто
приходится вычислять основные выборочные статистические характеристики
такие, как среднее, дисперсию, экстремальные значения в выборках. Для
решения этих задач целесообразно ввести элементарные нейроноподобные
структуры, позволяющие вычислять искомые характеристики в реальном
времени без накопления последовательно поступающих данных.
Так вычисление среднего
1 k +1
x (k + 1) =
∑ x( p )
k + 1 p =1
(4.424)
153
можно осуществлять с помощью рекуррентного соотношения
x (k + 1) = x (k ) +
1
( x( k + 1) − x (k )),
k +1
(4.425)
схемная реализация которого приведена на рис. 4.31.
x(k + 1)
+
−
Σ
1
k +1
+
Σ
x (k + 1)
+
z −1
Рис. 4.31 – Нейрон для вычисления среднего
Для расчета выборочной дисперсии
1 k +1
σ (k + 1) =
( x( p ) − x (k + 1)) 2
∑
k + 1 p =1
2
x
(4.426)
можно воспользоваться формулой
σ x2 (k + 1) = σ x2 (k ) +
1
(( x(k + 1) − x (k + 1)) 2 − σ x2 (k )) ,
k +1
(4.427)
реализуемой схемой приведенной на рис. 4.32.
x( k + 1)
+
−
Σ
×
+
−
Σ
1
k +1
+
Σ
σ x2 (k + 1)
+
x (k + 1)
z −1
Рис. 4.32 – Нейрон для вычисления дисперсии
Сравнение двух чисел x1 и x2 можно проводить, используя выражения
⎧max {x1 , x2 } = x1 − 0.5 (1 − sign ( x1 − x2 ))( x1 − x2 ),
⎨
⎩min {x1 , x2 } = x1 − 0.5 (1 + sign ( x1 − x 2 ))( x1 − x2 )
(4.428)
и нейроноподобную структуру, показанную рис. 4.33.
154
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
+
x1
+
x2
−
−
sign
+
Σ
×
Σ
max{x1 , x2 }
−
1
Σ
0.5
1
−1
+
+
×
Σ
+
−
Σ
min{x1 , x2 }
Рис. 4.33 – Нейрон для сравнения двух чисел
При последовательной обработке временных рядов достаточно часто
приходится определять их экстремальные значения, для чего можно
воспользоваться модификацией (4.428) в виде
⎧ x * ( k + 1) = max{x(k + 1), x * (k )} = x(k + 1) − 0.5(1 − sign( x(k + 1) − x * (k ))) ⋅
⎪
⎪⋅ ( x(k + 1) − x * (k )),
(4.429)
⎨
x
k
x
k
x
k
x
k
sign
x
k
x
k
(
+
1
)
=
min{
(
+
1
),
(
)}
=
(
+
1
)
−
0
.
5
(
1
+
(
(
+
1
)
−
(
)))
⋅
⎪ *
*
*
⎪⋅ ( x(k + 1) − x (k ))
*
⎩
и схемой, приведенной на рис 4.34.
−
Σ
+
z −1
sign
1
−
−1
+
Σ
×
−
Σ
x * (k + 1)
+
x(k + 1)
sign
+
−
Σ
1
1
+
−1
+
Σ
×
0.5
−
+
Σ
x* (k + 1)
z −1
Рис. 4.34 – Нейрон для выделения экстремальных значений временного ряда
155
Не представляет особого труда синтезировать подобные структуры для
вычисления и других характеристик анализируемых сигналов.
4.7.7 Самоорганизация центров радиально-базисных нейронных сетей
В подразделе 4.4 был рассмотрен алгоритм обучения с учителем (4.230),
позволяющий настраивать все параметры радиально-базисных ИНС. На
практике обычно используются лишь алгоритмы настройки синаптических
весов, линейно входящих в оператор преобразования, осуществляемого сетью,
что позволяет применять оптимальные по быстродействию рекуррентные
алгоритмы адаптивной идентификации.
Для настройки же параметров центров обычно используется процедура их
самоорганизации, в основе которой лежат алгоритмы кластеризации,
разбивающие все множество входных данных на группы однородные в
некотором смысле. Наиболее широкое распространение получила процедура
кластеризации известная как «алгоритм k -средних» [9, 27], идея которой
состоит в том, чтобы размещать центры в местах, где входные данные
сконцентрированы наиболее плотно, т.е. образуют своего рода кластеры.
Алгоритм находит множество центров этих кластеров, связывая каждый центр
с одним из h узлов сети. В процессе самоорганизации данные разбиваются
таким образом, чтобы все точки обучающей выборки принадлежали кластеру с
ближайшим к текущему наблюдению центром.
Начальные положения центров ci (0), i = 1,2,…, h обычно задаются
случайным образом, а их перенастройка-самоорганизация происходит по мере
поступления обучающей выборки. Работа алгоритма k -средних при этом
происходит следующим образом:
¾
пусть в k -й момент времени имеется h центров ci (k ) и входной
вектор x(k ) ;
¾
вычисляются расстояния между каждым центром и входным
вектором
Di (k ) = x(k ) − ci ( k ) , i = 1,2, … , h;
(4.430)
¾
отыскивается центр cl (k ) ближайший к текущему вектору x(k )
такой, что
Dl (k ) = min { x(k ) − c1 (k ) , … , x(k ) − c h (k ) },
i =1, 2 ,…, h
¾
(4.431)
производится настройка центров согласно правилу
⎧ci (k + 1) = ci (k ), 1 ≤ i ≤ h, i ≠ l ,
⎨
⎩cl (k + 1) = cl (k ) + η c (k )( x(k ) − cl (k )),
(4.432)
156
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
¾
производится настройка параметра шага, например, с помощью
соотношения [91]
η c (k + 1) =
η c (k )
⎛
⎛ k + 1⎞⎞
⎜⎜1 + int ⎜
⎟ ⎟⎟
⎝ h ⎠⎠
⎝
1
2
,
где int(•) - целая часть числа.
Далее производится настройка синаптических весов всех узлов сети с
помощью любого из алгоритмов, рассмотренных в подразделе 4.3. Именно
сочетание самоорганизации центров и обучение с учителем синаптических
весов обеспечивает высокую эффективность радиально-базисных нейронных
сетей [9, 27, 91, 216].
4.7.8 Конкурентное обучение
Особым видом самообучения является так называемое конкурентное
обучение, когда все нейроны сети «соревнуются» между собой за право быть
активным, реализуя принцип «победитель получает все» (winner takes all),
ведущий к тому, что в сети может активироваться только один нейрон. Именно
эта особенность конкурентного обучения обеспечила ему широкое
использование в задачах классификации и кластеризации.
На рис 4.35 приведена простейшая нейронная сеть, использующая
конкурентное обучение и имеющая всего один слой нейронов.
Σ
w11
x1
w12
w21
Σ
w31
x2
y1
y2
w22
w32
Σ
y3
Рис. 4.35 – Простейшая конкурентная сеть
Особенностью данной сети является то, что кроме прямых связей,
передающих информацию со входа на выход через синаптические веса w ji , в
157
ней присутствуют поперечные (латеральные) связи, по которым и происходит
соревнование, в результате которого «побеждает» только один нейрон.
Формально процесс конкуренции может быть представлен в форме
⎧⎪1, если wTj (k ) ~
x (k ) > wTp (k ) ~
x (k ) для всех p ≠ j ,
y j (k ) = ⎨
⎪⎩0 в противном случае,
(4.434)
где
x( k )
~
x (k ) =
,
x( k )
w j (k ) = 1,
(4.435)
при этом в каждый момент времени k настраивается только нейрон-победитель
с помощью алгоритма известного как правило обучения Т. Кохонена [3]:
x ( k ) − w j (k )), если j − тый нейрон победил,
⎧⎪w j (k ) + η (k )( ~
w j (k + 1) = ⎨
(4.436)
⎪⎩w j (k ) в противном случае.
Алгоритм (4.436) достаточно близок к правилу обучения входной звезды и
в процессе настройки также «подтягивает» вектор синаптических весов
нейрона-победителя w j (k ) к текущему входному образу x(k ) .
Рис. 4.36 иллюстрирует решение задачи кластеризации с помощью
простейшей конкурентной ИНС, приведенной на рис. 4.35, обучаемой
алгоритмом (4.436)
x2
~
x (k − 4)
w1 (k )
~
x (k − 1)
Кластер А
x1
Кластер В
~
x (k − 5)
w2 (k )
~
x ( k − 2)
Кластер С
~
x (k )
~
x ( k − 6)
w3 ( k )
~
x (k − 3)
Рис. 4.36 – Кластеризация на основе конкурентного обучения
158
4 ОБУЧЕНИЕ НЕЙРОННЫХ СЕТЕЙ
Видно, что текущий нормированный вектор ~x (k ) ближе всего к вектору
синаптических весов w3 (k ) , в результате чего «побеждает» третий нейрон
⎧⎪w3T (k ) x(k ) > w1T (k ) x(k ),
⎨ T
⎪⎩w3 (k ) x(k ) > w2T (k ) x(k ),
(4.437)
который и настраивает свои параметры с помощью правила Кохонена,
«подтягивая» w3 (k ) к x(k ) на расстояние пропорциональное параметру шага
η (k ) .
Конкурентное обучение лежит в основе ряда нейросетей, получивших
достаточно широкое распространение в задачах обработки информации и
интеллектуального анализа данных.
159
5 ФУНКЦИОНАЛЬНО СВЯЗАННЫЕ СЕТИ
В предыдущих разделах в качестве примера многослойной нейронной сети
с прямой передачей информации от входа к выходу был рассмотрен
трехслойный персептрон, но персептронами, естественно, не ограничивается
все множество возможных многослойных архитектур. В качестве достаточно
распространенной структуры можно назвать функционально связанную
нейронную сеть [28, 90], обладающую определенными преимуществами перед
многослойным персептроном.
Дело в том, что в персептронных системах входы каждого нейрона
предварительно линейно взвешиваются, после чего их сумма преобразуется с
помощью нелинейной функции активации. В сети может быть несколько слоев,
но только наличие нелинейности в нейронах обеспечивает необходимые
аппроксимирующие свойства. Но эти же нелинейности создают существенные
проблемы в процессе обучения, связанные с низкой скоростью сходимости и
наличием локальных минимумов целевой функции.
Один из возможных способов избежать использование нелинейного
обучения состоит в расширении входного пространства и последующем
линейном комбинировании новых переменных. При этом сеть будет обладать
нелинейными аппроксимирующими свойствами, а обучаться – с помощью
линейных алгоритмов.
Именно эта идея положена в основу функционально связанной сети,
архитектура которой приведена на рис. 5.1.
1
w10
ϕ1
x1
x2
xn
Скрытый
слой
функционального
расширения
w11
wm1 w21
ϕ2
w2 h
wmh
y1
1
w20
Σ
w1h
ϕh
Σ
y2
1
wm 0
Σ
ym
Рис. 5.1 – Функционально связанная нейронная сеть
Скрытый слой расширяет входное пространство с помощью некоторого
нелинейного преобразования вектора x = ( x1 , x2 ,…, xn )T так, что происходит
отображение входов в новое пространство повышенной размерности
160
5 ФУНКЦИОНАЛЬНО СВЯЗАННЫЕ СЕТИ
x ∈ R n → (ϕ 1 ( x), ϕ 2 ( x),… , ϕ h ( x)) T ∈ R h , n < h.
(5.1)
Выходной слой образован m адаптивными линейными ассоциаторами и
реализует отображение расширенного пространства в выходное
ϕ ( x) ∈ R h → y = ( y1 , y 2 , …, y m ) T ∈ R m , m < h
(5.2)
так, что
h
y j = w j 0 + ∑ w jiϕ i ( x),
j = 1,2, … , m.
(5.3)
i =1
Важно, что каждая из функций ϕ i (x) зависит только от входного сигнала и
используемого функционального расширения и не содержит свободных
параметров, что выгодно отличает функционально связанные сети от
радиально-базисных.
На практике используется достаточно большое число различных функций
ϕ i (x) , например, xi − x p , sin π xi , cos 2πxi , exp(− xi2 ) , tanh xi , exp(− xi2 ) x p и т.п.,
хотя наибольшее распространение получило полиномиальное расширение,
давшее название подклассу полиномиальных нейронных сетей. Данные сети
реализуют преобразование
n
n
n
y j = w j 0 + ∑ w ji xi + ∑ ∑ w ji1i2 xi1 xi2 +
i =1
n
n
+∑∑
i1 =1 i2 =i1
i1 =1 i2 =i1
n
∑ w ji i …i xi xi … xi
il =il −1
12
l
1
2
l
(5.4)
= w ϕ ( x),
T
j
в основе которого лежит полиномиальное разложение Колмогорова-Габора
[225]. Опираясь на теорему Стоуна-Вейерштрасса [226], можно показать, что
при достаточно высоких степенях сигналов xi , может быть достигнута сколь
угодно высокая точность аппроксимации, при этом для настройки
синаптических весов полиномиальной сети может быть использован любой из
линейных алгоритмов обучения.
Основным недостатком данной сети является большое число
настраиваемых параметров, определяемое значением
h=
(n + l − 1)!
,
n!(l − 1)!
(5.5)
которое при l > 3 приводит к так называемому «проклятию размерности» [31].
Несложно видеть, что при использовании кубического расширения для
двадцати входов, число синаптических весов достигает значения 1270 [227], что
действительно вызывает серьезные проблемы со скоростью обучения даже у
оптимальных по быстродействию алгоритмов.
161
Для сокращения количества настраиваемых параметров с успехом может
быть использован метод группового учета аргументов (МГУА), предложенный
А. Г. Ивахненко [228] и положенный в основу так называемой МГУА-сети. На
рис. 5.2 приведен пример МГУА-сети с четырьмя входами, одним выходом, и
нейронами N-A которые являются N -адалинами. Схемы N-A нейрона показана
на рис. 5.3.
N-A
x1
N-A
N-A
x`2
N-A
N-A
N-A
x3
N-A
y
N-A
N-A
N-A
x4
N-A
Рис. 5.2 – МГУА – нейронная сеть
1
w0
xi
xi
xp
×
×
×
xi2
xi x p
x 2p
xp
w1
++
w2
+
w3
+
+
+
Σ
yj
w4
w5
Рис. 5.3 – N -адалина
162
5 ФУНКЦИОНАЛЬНО СВЯЗАННЫЕ СЕТИ
В отличие от традиционных нейросетей с фиксированной архитектурой
МГУА-сеть имеет переменную структуру, которая может «разрастаться» в
процессе обучения.
Каждый нейрон сети - N -адалина представляет собой адаптивный
линейный ассоциатор с двумя входами и нелинейным препроцессором,
образованным тремя стандартными блоками умножения, и вычисляет
квадратичную комбинацию вида
y j = w0 + w1 xi + w2 xi2 + w3 xi x p + w4 x 2p + w5 x p .
(5.6)
Процесс обучения МГУА-сети состоит в ее конфигурировании, начиная со
входного слоя, настройке синаптических весов каждого нейрона и увеличении
количества слоев для достижения требуемой точности аппроксимации.
Число нейронов первого слоя сети определяется размерностью входного
вектора n и не превышает значения 0.5n(n − 1) - количества сочетаний из n по
2 . Каждый нейрон настраивается с помощью любого из алгоритмов обучения с
учителем, рассмотренных в подразделе 4.3, хотя на практике чаще всего
используется процедура Качмажа-Уидроу-Хоффа (4.15) в форме
w( k + 1) = w(k ) +
η (d (k ) − wT (k )ϕ (k ))
ϕ (k )
2
ϕ (k ),
(5.7)
где w = ( w0 , w1 , w2 , w3 , w4 , w5 ) T , ϕ (k ) = (1, xi (k ), xi2 (k ), xi (k ) x p (k ), x 2p (k ), x p (k ))T .
После предъявления сети всей обучающей выборки оценивается точность
(остаточная дисперсия) каждого нейрона и формируется группа из нейронов,
дающих ошибку ниже некоторого априори заданного порога. Именно выходы
этой группы являются входами второго скрытого слоя. Далее с помощью той
же обучающей выборки настраиваются нейроны второго слоя при
«замороженных» весах первого и опять формируется группа, обеспечивающая
наилучшую точность. Процесс наращивания слоев и настройки синаптических
весов продолжается до тех пор, пока точность не перестанет увеличиваться.
Лучший нейрон последнего слоя полагается выходным нейроном сети в целом.
МГУА-сеть обеспечивает высокую точность аппроксимации при
сравнительно небольшом количестве настраиваемых параметров, однако
обучаться может только в пакетном режиме (в случае априорно заданной
обучающей выборки).
Еще одним представителем функционально связанных сетей является
обобщенная регрессионная ИНС, предложенная Д. Ф. Шпехтом [229] и
решающая задачи нелинейного регрессионного анализа на основе
непараметрического подхода [75-78].
На рис. 5.4 приведена схема обобщенной регрессионной сети с n –
входами и m – выходами, осуществляющая нелинейное отображение вида
163
h
y j = F j ( x) =
∑ w jiϕ i ( x)
i =0
h
∑ ϕ i ( x)
j = 1,2, … , m.
,
(5.8)
i =0
1
w10
Φ
x1
ch1
c12
x2
c13
x3
w11
c11 +
c21
+
++
+
+
+
+
+ +
w21
wm1
+
+
+
+
+
+
+
+
Φ
+
Φ
+
c1h
xn
c3h + +
chn +
+
Φ
Σ
+
+
+
+
w1h
wmh
+
+
+
1
w20
•
•
y1
•
•
y2
•
•
ym
Σ
1
wm 0
Σ
+ 1
Σ*
Рис. 5.4 – Обобщенная регрессионная ИНС
Данная сеть подобно трехслойному персептрону содержит три слоя
обработки информации, однако, в качестве активационных функций использует
радиально-базисные конструкции в первом скрытом слое. Второй скрытый
слой содержит m + 1 нейронов, m из которых являются адаптивными
*
линейными ассоциаторами, а (m + 1) -й – стандартный блок суммирования ∑ .
Выходной блок сети образован m блоками деления.
Обучение обобщенной регрессионной ИНС представляет собой
комбинированный процесс самоорганизации центров в первом скрытом слое,
например, с помощью алгоритмов, рассмотренных в подразделе 4.7.7, и
обучения с учителем синаптических весов линейных ассоциаторов с помощью
процедур из подраздела 4.3.
Существенной особенностью данной сети является то, что число нейронов
первого слоя h жестко не фиксируется и может изменяться в процессе
обучения. Первый входной вектор обучающей выборки x(1) образует центр
первого нейрона первого слоя x(1) = c1 = (c11 , c12 ,… , c1n ) T . Следующий входной
вектор x(2) сравнивается с c1 и если расстояние между ними превышает
164
5 ФУНКЦИОНАЛЬНО СВЯЗАННЫЕ СЕТИ
некоторый заранее заданный порог, становится центром второго нейрона
первого слоя c2 . Эта процедура повторяется до исчерпания всей обучающей
выборки, причем каждый новый вектор x(k ) сравнивается со всеми ранее
сформированными центрами c1 , c 2 , c3 ,… . Таким образом формируется первый
скрытый слой, называемый также слоем образов, синаптические веса которого
есть по сути параметры центров радиально-базисных функций. Заметим также,
что параметры рецепторных полей данных сетей не настраиваются, а задаются
априорно, определяя в значительной мере обобщающие свойства ИНС.
Второй скрытый слой, называемый слоем суммирования, настраивается
совершенно аналогично обучению радиально-базисных сетей. При этом на
выходе m адаптивных линейных ассоциаторов формируются сигналы
h
o[j2] (k ) = ∑ w ji (k )ϕ i ( x(k )),
j = 1,2, …, m,
(5.9)
i =0
а на выходе сумматора
∑
*
появляется сумма
h
∑ ϕ i ( x(k )) .
i =0
Выходной слой производит нормирование выходного вектора так, что
h
y j (k ) =
∑ w ji (k )ϕ i ( x(k ))
i =0
h
∑ ϕ i ( x(k ))
, ϕ 0 ( x(k )) ≡ 1,
(5.10)
i =0
исключая тем самым влияние переменного числа узлов слоя образов на
конечный результат.
Реализуя идеи нелинейной параметрической регрессии, обобщенные
регрессионные сети являются, пожалуй, наиболее гибкими и перспективными в
классе функционально связанных ИНС.
165
6 Σ − Π НЕЙРОННЫЕ СЕТИ
Эффективность рассмотренных в предыдущих разделах многослойных
ИНС с прямой передачей информации объясняется, прежде всего, их
универсальными аппроксимирующими свойствами, однако, низкая скорость
обучения, основанного на обратном распространении ошибок, может создавать
определенные проблемы при обработке в реальном времени нестационарных
сигналов. Альтернативой многослойным персептронам в известной мере могут
служить сети, использующие радиально-базисные функции. В этих сетях
функции активации в отличие от сигмоид многослойных ИНС – немонотонные,
например, гауссианы. Поскольку выходной сигнал этих сетей формируется как
линейная комбинация радиально-базисных функций, для настройки
синаптических весов могут быть использованы оптимальные по
быстродействию линейные алгоритмы обучения, при этом, что очень важно, по
своим аппроксимирующим свойствам радиально-базисные сети не уступают
многослойным. Важнейшим преимуществом радиально-базисных сетей
является то, что они позволяют сократить время обучения по сравнению с
сетями, использующими обратное распространение ошибок, обеспечивая при
этом высокое качество аппроксимации. Вместе с тем следует помнить, что
количество нейронов скрытого слоя должно быть достаточно велико (при этом
оно растет экспоненциально с ростом размерности пространства входов).
Сочетание положительных свойств многослойных и радиально-базисных
ИНС обеспечивается так называемыми Σ − Π (сигма-пи) нейронными сетями
[27, 230-232], получившими к настоящему времени весьма ограниченное
распространение и применение.
На рис. 6.1. приведена схема Σ − Π нейронной сети с n входами и одним
выходом, осуществляющая нелинейное отображение R n → R1 .
Как видно из рисунка, сигнал на выходе сети, содержащей h нейронов в
скрытом слое, может быть записан в виде
h
h
i =1
i =1
y (k ) = w0 (k ) + ∑ wi (k ) y i (k ) = w0 ( k ) + ∑ wi (k )ϕ i (vi (k ))ψ i (u i (k )) =
⎛ n
⎞ ⎛ n
⎞
= w0 (k ) + ∑ wi (k )ϕ i ⎜⎜ ∑ aij (k ) x j (k ) ⎟⎟ψ i ⎜⎜ ∑ bij (k ) x j (k ) ⎟⎟,
i =1
⎝ j =0
⎠ ⎝ j =0
⎠
h
(6.1)
где ϕ i (•) – радиально-базисные функции активации; ψ i (•) – сигмоидальные
функции активации;
w0 (k ), wi (k ), aij (k ), bij (k ) − h(2n + 3) + 1
настраиваемых
синаптических весов сети, i = 1,2,… , h; j = 0,1,2,…, n .
Записав сигналы, формируемые ИНС, в виде
166
6 Σ − Π НЕЙРОННЫЕ СЕТИ
n
⎧
=
v
(
k
)
∑ aij (k ) x j (k ),
⎪ i
j =0
⎪
n
⎪
=
u
(
k
)
⎪ i
∑ bij (k ) x j (k ),
⎨
j =0
⎪ y ( k ) = ϕ (v (k ))ψ (u (k )),
i
i
i
i
⎪ i
h
⎪
⎪ y (k ) = w0 (k ) + ∑ wi (k ) y j (k ),
i =1
⎩
a10
b10
x0 ≡ 1
ah 0
+
+
Σ
+
ϕ1
×
+
+
Σ
+
bh 0
v1
u1
(6.2)
y1
w1
ψ1
w0
+ +
a11
+
b11
Σ
y = F (x )
+
x1
ah1
bh1
a1n
+
+
+
b1n
xn
vh
ϕh
×
+
a hn
Σ
+
bhn
Σ
uh
yh
wh
ψh
+
−
Алгоритм
обучения
e=d−y
Σ
+ d
Рис. 6.1 - Σ − Π нейронная сеть
167
несложно заметить, что сигнал выходного слоя формируется подобно выходу
радиально-базисной сети, а скрытый слой обладает как персептронными, так и
радиально-базисными характеристиками.
Схема, приведенная на рис. 6.1, является обобщением ряда известных
архитектур. Так, полагая функции активации ψ (u i ) линейными, т.е.
n
ψ (u i (k )) = u i (k ) = ∑ bij (k ) x j (k ),
(6.3)
ϕ (vi (k )) = Φ ( x(k ) − ci , σ i )
(6.4)
j =0
а
радиально-базисными с фиксированными весами aij = 1 , приходим к
модифицированной радиально-базисной сети Стокбро-Умбергера-Херца [27],
приведенной на рис. 6.2.
Φ
x0 ≡ 1
v1
×
b10
+
x1
b11
+
+
xn
Σ
y1
u1
+
+
b1n
+
Φ
bh 0
bh1
+
Σ
y = F (x)
vh
×
+
+
Σ
yh
uh
bhn
Рис. 6.2 – Нейронная сеть Стокбро-Умбергера-Херца
На следующем рисунке 6.3 приведена еще одна архитектура сигма-пи сети,
предложенная Лином и Унбехауэном [27] и известная как каноническая
структура с кусочно-квадратичным представлением и линейным разбиением.
168
6 Σ − Π НЕЙРОННЫЕ СЕТИ
a10
+
a11
+
+
Σ
×
a1n
x0 ≡ 1
b10
+
b11
+
+
Σ
b1n
+
x1
+
Σ
+
ah 0
+
a h1
+
+
Σ
h
×
ahn
bh 0
bh1
+
Σ
+ y = F ( x) = y + y
1
2
Σ
bhn
xn
+
′
α10
+
+
+
Σ
×
y 2 = x T A′x
α1′n
+
+
α n′ 0
α n′1
i =1
+
+
′
α11
y1 = ∑ (biT x) aiT x
+
+
+
Σ
Σ
+
×
′
α nn
Рис. 6.3 – Квадратично-кусочно-линейная сеть Лина-Унбехауэна
169
Можно заметить также, что и многослойный персептрон, и радиальнобазисная сеть в каком-то смысле являются частными случаями Σ − Π
архитектур.
Алгоритм обучения Σ − Π сети легко может быть получен на базе
процедуры градиентного спуска, если активационные функции ϕ i (•) и ψ i (•)
непрерывны и дифференцируемы.
Принимая в качестве целевой функции стандартную конструкцию
1
1
E (t ) = e 2 (t ) = (d (t ) − y (t )) 2 ,
2
2
(6.5)
можно получить систему дифференциальных уравнений, описывающих
процесс настройки синаптических весов,
⎧ dw0
⎪ dt = η e(t ),
⎪
⎪ dwi = η e(t ) y (t ),
i
⎪ dt
⎪
dϕ (v )
⎪ daij
= η e(t ) wiψ i (u i ) i i x j (t ),
⎨
dvi
⎪ dt
⎪ dbij
dψ i (u i )
⎪
= η e(t ) wiϕ i (vi )
x j (t ),
du i
⎪ dt
⎪i = 1,2, … , h; j = 0,1, …, n; η > 0.
⎪
⎩
(6.6)
В дискретном времени минимизация критерия
E (k ) =
1 2
1
e (k ) = (d (k ) − y (k )) 2
2
2
(6.7)
приводит к системе рекуррентных соотношений
⎧w0 (k + 1) = w0 ( k ) + η 0 ( k )e(k ),
⎪w (k + 1) = w (k ) + η (k )e( k ) y (k ) = w (k ) + η (k )e(k )ϕ (v (k ))ψ (u (k )),
i
i
i
i
i
i
i
i
i
⎪ i
⎪
dϕ i (vi (k ))
x j (k ),
⎨aij (k + 1) = aij (k ) + η ij (k )e(k ) wi (k )ψ i (u i (k ))
dv
i
⎪
⎪
dψ i (u i (k ))
x j (k ).
⎪bij (k + 1) = bij (k ) + η ij (k )e(k ) wi (k )ϕ i (vi (k ))
du i
⎩
(6.8)
Учитывая тот факт, что на интервале − π 2 < vi (k ), u i (k ) < π 2 функция
0 < ϕ (vi (k )) = cos vi (k ) < 1 удовлетворяет всем требованиям, предъявляемым к
170
6 Σ − Π НЕЙРОННЫЕ СЕТИ
радиально-базисным функциям, а функция − 1 < ψ (u i (k )) = sin u i (k ) < 1 - всем
требованиям, предъявляемым к сигмоидальным, можно принять их в качестве
активационных функций Σ − Π сети. Тогда алгоритм (6.8) автоматически
принимает следующую простую форму:
⎧w0 (k + 1) = w0 (k ) + η 0 (k )e(k ),
⎪w (k + 1) = w (k ) + η (k )e(k ) cos v (k ) sin u (k ),
i
i
i
i
⎪ i
⎨a (k + 1) = a ( k ) − η (k )e(k ) w (k ) x (k ) sin v (k ) sin u (k ),
ij
ij
i
j
i
i
⎪ ij
⎪bij (k + 1) = bij (k ) + η ij (k )e(k ) x j ( k ) cos vi (k ) cos u i (k ).
⎩
(6.9)
Скорость обучения ИНС с помощью алгоритмов (6.8), (6.9) существенным
образом зависит от способа задания параметров шага поиска η 0 (k ),η i (k ),η ij (k ) ,
в связи с чем целесообразно обратиться к процедурам, в которых этот выбор
осуществляется автоматически.
Переходя к векторно-матричной форме представления сигналов и
параметров Σ − Π сети, можно записать
n
⎧
v
(
k
)
=
∑ aij (k ) x j (k ) = aiT (k ) x(k ),
⎪ i
j =0
⎪
n
⎪⎪
u
(
k
)
=
⎨ i
∑ bij (k ) x j (k ) = biT (k ) x(k ),
j =0
⎪
⎪v(k ) = a (k ) x(k ),
⎪
⎪⎩u (k ) = b(k ) x(k ),
(6.10)
(здесь aiT = (ai 0 , ai1 ,… , ain ), biT = (bi 0 , bi1 ,…, bin ) − (1 × (n + 1)) -векторы, являющиеся i тыми строками (h × (n + 1)) -матриц синаптических весов a и b ; x(k ) = (1, x1 (k ),
…, xn (k ))T ; v(k ) = (v1 (k ), v2 (k ),…, vh (k ))T ; u (k ) = (u1 (k ), u 2 ( k ),…, u h (k ))T ),
⎧ϕ (v(k )) = (ϕ 1 (v1 (k )), ϕ 2 (v 2 (k )),… , ϕ h (v h (k )))T ,
⎪⎪
T
⎨ψ (u (k )) = (ψ 1 (u1 (k )),ψ 2 (u 2 (k )),… ,ψ h (u h (k ))) ,
⎪~
T
⎪⎩ y (k ) = ( y1 (k ), y 2 (k ),… y h (k )) = ϕ (v(k ))ψ (u (k )),
(6.11)
(здесь ϕ (v(k )), ψ (u (k )), ~y (k ) − (h × 1) -векторы, - символ скоттова произведения
[233]) и
171
T
⎧
⎛ ∂ϕ 1 (v1 (k )) ∂ϕ 2 (v 2 (k ))
∂ϕ h (v h (k )) ⎞
⎟⎟ ,
⎪dϕ (v(k )) = ⎜⎜
,
,…,
v
v
v
∂
∂
∂
⎪
h
1
2
⎠
⎝
⎪
T
⎛ ∂ψ 1 (u1 (k )) ∂ψ 2 (u 2 (k ))
∂ψ h (u h (k )) ⎞
⎪
⎟⎟ ,
,
,…,
⎨dψ (u (k )) = ⎜⎜
u
u
u
∂
∂
∂
h
1
2
⎝
⎠
⎪
⎪w(k ) = ( w (k ), w (k ),… , w (k )) T ,
h
1
2
⎪
⎪
⎩
(6.12)
(здесь dϕ (v(k )), dψ (u (k )), w(k ) − (h × 1) -векторы), после чего выходной сигнал
сети и алгоритм обучения приобретают соответственно вид
y (k ) = w0 (k ) + wT (k )(ϕ (v(k ))ψ (u (k ))) =
= w0 (k ) + wT (k )(ϕ (a (k ) x(k ))ψ (b(k ) x(k ))),
⎧w0 (k + 1) = w0 (k ) + η 0 (k )e(k ),
⎪w( k + 1) = w(k ) + η (k )e(k ) ~
y (k ),
w
⎪
⎨
T
⎪a (k + 1) = a (k ) + η a (k )e(k ) w(k )ψ (b(k ) x(k ))dϕ (a (k ) x(k )) x (k ),
⎪b(k + 1) = b(k ) + η ( k )e(k ) w(k )ϕ (a (k ) x( k ))dψ (b(k ) x(k )) x T (k ).
b
⎩
(6.13)
(6.14)
Вводя составные векторы
~ (k ) = ( w (k ), wT ( k )) T ,
⎧⎪w
0
⎨
⎪⎩ yˆ (k ) = (1, ~
y T (k )) T ,
(6.15)
можно объединить первые два соотношения (6.13), а последние два записать
построчно
⎧
⎪~
~
⎪w(k + 1) = w(k ) + η w~ (k )e( k ) yˆ (k ),
⎪⎪
∂ϕ i (aiT (k ) x( k ))
T
x(k ),
⎨ai (k + 1) = ai (k ) + η ai (k )e( k ) wi (k )ψ i (bi ( k ) x(k ))
∂vi
⎪
⎪
∂ψ i (biT (k ) x(k ))
T
⎪bi ( k + 1) = bi (k ) + η bi (k )e(k ) wi (k )ϕ i (ai ( k ) x(k ))
x(k ).
⎪⎩
∂u i
(6.16)
Введение обозначений
172
6 Σ − Π НЕЙРОННЫЕ СЕТИ
⎧
∂ϕ i ( aiT (k ) x(k ))
T
x(k ) = pi (k ),
⎪wi (k )ψ i (bi ( k ) x(k ))
∂vi
⎪
⎨
T
⎪w (k )ϕ (a T (k ) x(k )) ∂ψ i (bi (k ) x(k )) x(k ) = q (k ),
i
i
i
⎪ i
∂u i
⎩
(6.17)
позволяет окончательно записать градиентный алгоритм обучения Σ − Π сети в
виде
~ (k + 1) = w
~ (k ) + η ~ (k )e(k ) yˆ (k ),
⎧w
w
⎪⎪
⎨ai (k + 1) = ai (k ) + η ai (k )e( k ) pi (k ),
⎪
⎪⎩bi ( k + 1) = bi ( k ) + η bi (k )e(k ) qi (k ).
(6.18)
Используя вместо градиентной процедуры (6.17) алгоритм ЛевенбергаМарквардта [18], характеризующийся высокой скоростью сходимости
~ (k + 1) = w
~ (k ) + ( yˆ (k ) yˆ T (k ) + β ~ I ) −1 e(k ) yˆ (k ),
⎧w
w
⎪⎪
−1
T
⎨a i (k + 1) = ai ( k ) + ( pi (k ) p i ( k ) + β ai I ) e(k ) pi (k ),
⎪
−1
T
⎪⎩bi ( k + 1) = bi (k ) + (qi (k ) qi (k ) + β bi I ) e(k )q i (k ),
(6.19)
(здесь Ι - единичные матрицы соответствующих размерностей, β w~ , β ai , β bi неотрицательные регуляризующие добавки), с помощью формулы обращения
матриц Шермана-Моррисона путем несложных преобразований [181, 234]
можно получить алгоритм обучения сети, приведенной на рис. 6.1:
⎧
~ ( k + 1) = w
~ (k ) + e(k ) yˆ (k ) ,
⎪w
2
⎪
β w~ + yˆ (k )
⎪
e( k ) p i ( k )
⎪
,
⎨ai (k + 1) = ai ( k ) +
2
β ai + pi (k )
⎪
⎪
⎪b (k + 1) = b (k ) + e(k )qi (k ) .
i
2
⎪ i
+
(
)
β
q
k
b
i
i
⎩
(6.20)
Процедура (6.19) достаточно проста с вычислительной точки зрения,
характеризуется высоким быстродействием и не использует операцию
обращения матриц, что важно при работе в реальном времени в случае больших
размерностей входных векторов.
173
7 КАСКАДНО-КОРРЕЛЯЦИОННЫЕ НЕЙРОННЫЕ СЕТИ
К нейронным сетям с прямой передачей информации относятся и так
называемые каскадно-корреляционные сети, предложенные в работе
С. Фальмана и К. Лебьера [169], основная особенность которых состоит в
возможности добавления новых узлов в процессе обучения. На рис. 7.1
приведена схема подобной сети, содержащая три каскада, n входов и один
выход.
1
1
x1
x1
x2
x2
xn
+
W [1]
+ +
Σ
ψ [1]
+
u
[1]
xn
W [3]
W [2 ]
++
o [1]
++
+
Σ
u
ψ [2]
[2 ]
+ ++ +
+
Σ
o[2 ]
+
ψ [3]
u [3]
o[3] = y
Рис. 7.1 – Каскадно-корреляционная нейронная сеть
В начале процесса обучения формируется стандартная однослойная
структура с n входами и m выходами (для m = 1 это единственный нейрон так,
как показано на рис. 7.1), которая обучается с помощью любого из
рассмотренных в подразделе 4.4 нелинейных алгоритмов обучения, хотя в
оригинальной работе [169] для каскадно-корреляционных ИНС предложен
“Quickprop” – алгоритм (4.180), (4.183).
После предъявления всей обучающей выборки x(1), x(2),… , x( N )
оценивается точность аппроксимации и в случае, если ошибка слишком велика,
формируется каскад из n2 нейронов-кандидатов, параллельно подключенных ко
входам сети 1, x1 , x 2 ,…, xn и выходу первого каскада o[1] . Нейроны-кандидаты,
как правило, отличаются друг от друга начальными значениями синаптических
весов W [ 2] (0) , видом функций активации и алгоритмами обучения. Далее
производится обучение нейронов второго каскада при «замороженных»
синаптических весах W [1] ( N ) первого. На рис. 7.1 «замороженные» веса
показаны в виде заштрихованных сумматоров. Среди n2 нейронов-кандидатов
выбирается один нейрон-победитель, у которого параметр корреляции [6]
174
7 КАСКАДНО-КОРРЕЛЯЦИОННЫЕ НЕЙРОННЫЕ СЕТИ
rq[ 2] =
∑ (oq[ 2] (k ) − oq[2] )(eq[ 2] (k ) − eq[ 2] ) ,
N
k =1
q = 1,2, … , n 2
(7.1)
(здесь oq[ 2 ] и eq[ 2] - средние значения выходного сигнала и ошибки) является
максимальным. Именно этот нейрон с «замороженными» весами W [ 2 ] ( N )
образует второй каскад, в то время как «проигравшие» нейроны изымаются из
сети.
Далее оценивается точность аппроксимации, обеспечиваемая вторым
каскадом, и в случае необходимости формируется команда из n3 кандидатов
третьего каскада, среди которых выбирается победитель с максимальным
значением
rq[3] =
∑ (oq[3] (k ) − oq[3] )(eq[3] (k ) − eq[3] ) ,
N
k =1
q = 1,2, …, n3 .
(7.2)
В случае достижения требуемой точности процесс наращивания каскадов
завершается и выходной сигнал последнего каскада (на рис. 7.1. - o [3] )
принимается в качестве выходного сигнала сети в целом.
В качестве основных отличительных особенностей каскаднокорреляционных сетей следует отметить следующее:
¾ эти сети не требуют предварительного задания ни архитектуры, ни
количества нейронов в каскадах;
¾ нейроны в сеть добавляются по мере необходимости, образуя не
скрытые слои, а каскады, каждый из которых в качестве входных
сигналов использует входы сети и выходы предыдущего каскада;
¾ обучение не связано с концепцией обратного распространения
ошибок, что позволяет существенно сократить время настройки;
¾ за счет «замораживания» синаптических весов сформированных
ранее каскадов сокращаются вычислительные затраты на обучение.
Процедуру обучения каскадно-корреляционных сетей можно существенно
упростить, добавляя к предыдущему каскаду не группу нейронов-кандидатов, а
один единственный обобщенный формальный нейрон типа (1.8), настраивая не
только его синаптические веса, но и характеристики активационной функции.
К недостаткам данных сетей следует отнести возможность обучения
только в пакетном режиме при наличии заранее заданной обучающей выборки.
175
8 ВЕРОЯТНОСТНЫЕ НЕЙРОННЫЕ СЕТИ
Вероятностные нейронные сети, введенные Д. Ф. Шпехтом [235], также
относятся к ИНС с прямой передачей информации и по архитектуре являются
«ближайшими родственниками» радиально-базисных и обобщенных
регрессионных сетей, рассмотренных в третьем и пятом разделах. Данные сети
предназначены для решения задач байесовской классификации (распознавания
образов на основе байесовского подхода) [47, 95, 96, 236], в основе которой
лежит знаменитая формула Байеса
P( x y ) =
P( y x) P( x)
P( y )
.
(8.1)
Смысл этого выражения состоит в том, что для события x с известной
вероятностью P(x) , условная вероятность P ( x y ) может быть вычислена на
основе так называемой апостериорной вероятности P ( y x) и вероятностей
событий P(x) и P( y ) . С позиции задачи классификации здесь y
интерпретируется как возможный класс, в который может попасть
классифицируемый образ, а x рассматривается как собственно входной векторобраз.
Идея байесовской классификации состоит в том, что для каждого входного
образа можно принять решение на основе выбора наиболее вероятного класса
из тех, которым мог бы принадлежать данный образ. Это решение, однако,
требует оценки функции плотности вероятностей для каждого класса, которая
восстанавливается на основе анализа данных из обучающей выборки, которая, в
свою очередь, должна быть задана заранее. Данное обстоятельство
ограничивает процесс обучения вероятностных сетей только пакетным
режимом.
Формальным признаком классификации является то, что класс с наиболее
плотным распределением в области нового предъявленного образа x(k ) будет
иметь преимущество по сравнению с другими классами. Точно так же будет
иметь преимущество и класс с высокой априорной вероятностью или высокой
ценой ошибки классификации [236]. Так для двух возможных классов A и B в
соответствии с байесовским правилом выбирается класс A , если [47, 237]
PA C A p A ( x) > PB C B p B ( x),
(8.2)
где P - априорная вероятность; C - цена ошибки классификации; p( x) функция плотности вероятностей.
Оценки стоимости ошибок классификации C A и C B определяются
конкретной задачей [47, 236], в связи с чем чаще всего они выбираются
одинаковыми для всех классов. Априорные вероятности PA и PB , также в
общем случае неизвестные, обычно заменяются частотой появления
176
8 ВЕРОЯТНОСТНЫЕ НЕЙРОННЫЕ СЕТИ
соответствующих образов в обучающей выборке, а вот с оценкой плотностей
p A ( x) и p B ( x) и возникают основные проблемы.
Для восстановления этих функций наибольшее распространение получили
оценки Парзена [73, 74, 95], использующие весовые функции (потенциальные
функции [72], ядра [9, 75-79]), имеющие центр в точках, соответствующих
образам с известной классификацией из обучающей выборки.
И хотя байесовские методы классификации известны достаточно давно, их
параллельная нейросетевая реализация позволила обеспечить более высокое
быстродействие
процессам
обработки
информации,
связанным
с
распознаванием образов, диагностикой т.п. На рис. 8.1. приведена схема
вероятностной нейронной сети, предназначенной для разбиения предъявляемых
n -мерных векторов-образов на два класса A и B .
w11
x1
w21
w31
x2
x3
w1n
xn
Φ
Φ
o1[1( ]A)
o2[1(]A)
o3[1(]A)
+
+
+
p A ( x)
Σ
Φ
w3n
wNn
+
Φ
o4[1(]B )
wN 1
[1]
N ( B)
Φ
o([ 2A])
o
+
+
p B ( x)
−
Σ
o([ 2B])
Σ
A
y
B
Рис. 8.1 – Вероятностная нейронная сеть
Данная сеть состоит из входного слоя, первого скрытого, именуемого
слоем образов, второго скрытого, называемого слоем суммирования, и
выходного слоя, образованного в данном случае одним нейрономкомпаратором.
Исходной информацией для синтеза сети является обучающая выборка
образов, образованная «пакетом» n -мерных векторов x(1), x(2),… , x( N ) с
известной классификацией, причем место конкретного образа в пакете значения
не имеет. Предполагается также, что N A векторов относятся к классу A , N B - к
классу B , т.е.
N A + N B = N.
(8.3)
177
Количество нейронов в слое образов равно N (по одному нейрону на каждый
обучающий образ), а их синаптические веса определяются значениями
компонентов этих образов так, что
w ji = xi ( j ), i = 1,2, … , n;
j = 1,2, … , N ,
(8.4)
или в векторной форме
w j = x( j ) = ( x1 ( j ), x 2 ( j ),…, x n ( j )) T .
(8.5)
Очевидно, что обучение в данном случае сводится к одноразовой
установке весов, что делает его чрезвычайно простым.
Каждый из нейронов слоя образов вычисляет взвешенную сумму входных
сигналов и преобразует ее с помощью нелинейной активационной функции так,
что на выходе нейронов первого скрытого слоя появляется сигнал
(
)
⎛ x(k ) − w
j
⎜
[1]
o j (k ) = exp ⎜ −
2
σ
⎜
⎝
2
o [j1] (k ) = Φ x( k ) − w j , σ ,
(8.6)
чаще всего в форме
⎞
⎟
⎟,
⎟
⎠
(8.7)
где параметр σ - задает ширину, j = 1( A),2( A),…, N A ( A), ( N A + 1)( B ),… , N ( B) .
Заметим также, что для упрощения численной реализации входные
векторы рекомендуется предварительно нормировать, например, с помощью
(4.398), а вместо колоколообразной функции активации использовать более
простое преобразование [7]
⎛ wTj x(k ) − 1 ⎞
⎟.
o (k ) = exp ⎜ 2
2
⎜
⎟
σ
⎝
⎠
[1]
j
(8.8)
Слой суммирования образован двумя элементарными сумматорами (в
общем случае по одному на каждый класс), которые просто суммируют выходы
нейронов слоя образов
⎧ [ 2]
⎪o A (k ) =
⎪
⎨
⎪o [ 2] (k ) =
⎪ B
⎩
N A ( A)
∑ o[j1] (k ),
j =1( A )
N B ( B)
(8.9)
∑ o [j1] (k ).
j = ( N A +1)( B )
178
8 ВЕРОЯТНОСТНЫЕ НЕЙРОННЫЕ СЕТИ
Суммы (8.9) и являются парзеновскими оценками неизвестных плотностей
вероятностей p A (x) и p B (x) .
В выходном нейроне сети, реализующем по сути элементарную операцию
сравнения вычисленных значений p A ( x(k )) и p B ( x(k )) , определяется
принадлежность предъявляемого образа x(k ) классу A или B .
После того как сеть построена, остается определить значение параметра
ширины σ , которое для нормированных входов выбирается достаточно
произвольно в интервале от нуля до единицы [7], после чего можно приступать
к собственно решению задачи классификации, предъявляя ИНС образы x(k ) ,
k > N с неизвестной принадлежностью.
Главным достоинством вероятностных нейросетей являются простота
проектирования и обучения. Основной их недостаток определяется резким
ростом числа нейронов в первом скрытом слое при большой по объему
обучающей выборке.
179
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
В предыдущих разделах были рассмотрены нейронные сети с прямой
передачей информации, в которых сигнал распространяется и обрабатывается в
одном направлении – от входа к выходу ИНС, а последовательность, в которой
предъявляются обучающие образы в общем случае не имеет значения. Здесь мы
рассмотрим второй важный класс ИНС – рекуррентные нейронные сети (см.
рис. 2.3 б), имеющие замкнутые петли обратной связи в своей топологии. В
этих сетях на первый план выступает фактор времени: входные сигналы в ИНС
должны
быть
заданы
в
форме
временной
последовательности,
автокорреляционные свойства которой выявляются и анализируются в процессе
обработки.
В рекуррентных сетях в основном используется два способа организации
обратной связи: локальная обратная связь на уровне отдельных нейронов и
глобальная, охватывающая сеть в целом, хотя возможны и промежуточные
варианты. Так, если в качестве базового строительного блока рекуррентной
сети принять многослойный персептрон, то локальная обратная связь
организуется на уровне отдельного слоя, глобальная связывает нейроны
выходного слоя со входами сети, однако при этом возможны варианты связи от
скрытого слоя ко входному или от скрытого к предыдущему скрытому слою.
В настоящее время сформировалось два больших класса рекуррентных
сетей: сети, реализующие отображение «вход-выход» с учетом временного
фактора, и сети ассоциативной памяти. Последние будут рассмотрены в
последующем разделе, а здесь мы подробно остановимся на сетях первого
класса, широко применяемых для решения задач оптимизации, идентификации,
эмуляции, прогнозирования, управления, диагностики и т.п., словом там, где
фактор времени имеет существенное значение.
Синтез и анализ рекуррентных нейронных сетей является предметом
рассмотрения достаточно нового направления в теории ИНС – нейродинамики
[9], вобравшей в себя аппарат нейроматематики, теории автоматического
управления и адаптивных систем. Основная проблема, возникающая при
синтезе рекуррентных сетей (как в прочем и всех систем с обратной связью),
связана с обеспечением их устойчивости [238], от которой собственно и зависит
возможность решения поставленной задачи.
С точки зрения нейродинамики рекуррентные сети рассматриваются как
многосвязные динамические нелинейные стохастические диссипативные
системы с большим числом степеней свободы, для анализа устойчивости
которых неприменимы традиционные инженерные критерии устойчивости
[102].
В связи с этим основные подходы к разработке и анализу рекуррентных
сетей связаны с аппаратом функций Ляпунова [239], идентификацией
устойчивых состояний (аттракторов) и минимизацией тех или иных форм
энергетических функций.
180
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
9.1 Сеть Хопфилда
Исторически первой рекуррентной нейронной сетью явилась ИНС
Хопфилда [240, 241], получившая в дальнейшем широкое распространение для
решения задач комбинаторной оптимизации, а также в качестве ассоциативной
памяти. Схема данной сети, основными строительными блоками которой
являются нейроны Хопфилда (рис. 1.10), приведена на рис. 9.1, 9.2.
Функционирование сети описывается системой нелинейных разностных
уравнений
⎞
⎛ n
x j (k + 1) = ψ j ⎜⎜ ∑ w ji xi (k ) + θ j ⎟⎟, k = 0,1,2, …;
⎠
⎝ i =1
или
x(k + 1) = Ψ (Wx(k ) + θ ),
x(0) = x0 ,
j , i = 1,2, … n,
(9.1)
(9.2)
где x(k ) - (n × 1) - вектор состояний, W − (n × n) - матрица синаптических весов,
θ − (n × 1) - вектор смещений.
Вид уравнений (9.1), (9.2) свидетельствует о том, что они являются ни чем
иным, как стандартным описанием нелинейной динамической системы в
пространстве состояний [65, 239].
Для заданных начальных условий x(0) при соответствующем выборе
матрицы синаптических весов W такая система в процессе своего
функционирования сходится к точке равновесия x * , минимизируя при этом
некоторую энергетическую функцию (функцию Ляпунова, гамильтониан и т.п.)
сети E (k ) .
Точка равновесия x * = x(k + 1) = x(k ) в общем случае может быть
устойчивой, неустойчивой или нейтральной, что можно проиллюстрировать,
используя понятия, связанные с потенциальной энергией тяжелого шарика так,
как это показано на рис .9.3.
Несложно видеть, что точки x B , x D , x E , x F , x G соответствуют состояниям
равновесия. Оставленная в покое система в этих точках не имеет физических
оснований для изменения состояния. Точки x B , x E и x G соответствуют
устойчивым состояниям, т.е. являются аттракторами, в которые возвращается
система после подачи в нее ограниченного возмущения. Точки x A и x C
являются неустойчивыми и система в них никогда не стабилизируется. Точки
x D и x F являются нейтрально устойчивыми точками равновесия, хотя запас
устойчивости состояния x F гораздо выше, чем у критического состояния x D .
Естественно, что для решения практических задач наибольший интерес
представляют устойчивые состояния, с формальной точки зрения
характеризующиеся тем, что для любого ε 1 > 0 существует ε 2 > 0 такое, что [6]
181
⎧ Ψ ( x(0), k ) − x * < ε 1 ,
⎪
⎨
*
⎪⎩ x(0) − x < ε 2
(9.3)
для всех k = 0,1, 2,….
z −1
z −1
x1 (k )
θ1
w11
+ +
w12
z −1
+
+
Σ
u1 (k + 1)
ψ1
x1 (k + 1)
ψ2
x2 ( k + 1)
ψn
xn (k + 1)
w1n
θ2
w21
+
x2 ( k )
w22
+
+
+
Σ
u2 ( k + 1)
w2 n
θn
wn1
+
wn 2
+
+
x n (k )
+
Σ
un (k + 1)
wnn
Рис. 9.1 – Нейронная сеть Хопфилда
182
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
z −1
x(k )
W
+
Σ
u ( k + 1)
+
x(k + 1)
Ψ
θ
Рис. 9.2. – Блок-схема нейросети Хопфилда
E (k )
xA
xB
xC
xD
xE
xF
xG
x(k )
Рис. 9.3 – Энергетические состояния системы
В общем случае система может иметь множество аттракторов, при этом с
каждым связано свое множество начальных точек, определяющих его область
притяжения. Кроме того, сам аттрактор может иметь более сложную структуру
чем точка, например, предельного цикла.
В качестве активационных функций в сетях Хопфилда наибольшее
распространение получил не гиперболический тангенс (рис. 1.4 ж), а более
простая сигнум-функция (рис. 1.4 б). В этом случае уравнение (9.1) естественно
приобретает вид
⎛ n
⎞ ⎧1, если u j (k + 1) ≥ 0,
x j (k + 1) = sign ⎜⎜ ∑ w ji xi (k ) + θ j ⎟⎟ = ⎨
⎝ i =1
⎠ ⎩− 1 в противном случае,
k = 0,1, 2, …; j , i = 1, 2, …, n.
(9.4)
183
В процессе своего
энергетическую функцию
функционирования
такая
сеть,
минимизируя
1
E (k ) = − x T (k )Wx(k ) − x T (k )θ ,
2
(9.5)
сходится к устойчивому состоянию, что в общем случае гарантируется при
симметрической матрице синаптических весов W ( w ji = wij ) с нулевыми
элементами на главной диагонали ( w jj = 0) .
Для обучения этой сети обычно используется автоассоциативное правило
обучения Хэбба (4.373) в пакетном варианте
W=
N
1 N
x(k ) x T (k ) − I ,
∑
n k =1
n
(9.6)
где N - объем обучающей выборки, I − (n × n) - единичная матрица.
Согласно уравнению (9.4) каждый нейрон может находиться в двух
состояниях: + 1 или − 1, а сама сеть также может функционировать в двух
режимах [27]. Если в каждый момент времени k все нейроны могут изменять
свое состояние, то это – параллельный режим, если же в каждый момент свое
состояние может менять только один нейрон – то говорят о последовательном
режиме.
Рассмотрим ситуацию, когда сеть работает в последовательном режиме и в
момент времени k + 1 j -тый нейрон принимает состояние
x j (k + 1) = x j (k ) + Δx j .
(9.7)
Изменение энергетической функции (9.5) при этом имеет вид
n
⎛ n
⎞
1
ΔE (k ) = E ( k + 1) − E (k ) = − Δx j ⎜⎜ ∑ w ji xi ( k ) + ∑ w pj x p (k ) ⎟⎟ −
2
p =1
⎝ i =1
⎠
2
− w jj (Δx j ) − Δx jθ j ,
(9.8)
а с учетом симметричности матрицы W ⎛ n
⎞
ΔE (k ) = −Δx j ⎜⎜ ∑ w ji xi (k ) + θ j ⎟⎟ − (Δx j ) 2 w jj .
⎝ i =1
⎠
⎛
n
(9.9)
⎞
Заметив, что знаки Δx j и ⎜⎜ ∑ w ji xi (k ) + θ j ⎟⎟ совпадают, можно сделать
⎝ i =1
⎠
вывод, что уменьшение энергетической функции ΔE (k ) < 0 может быть
184
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
обеспечено при w jj ≥ 0 , а признаком достижения устойчивого состояния
является выполнение условия
x * = x( k ) = sign(Wx(k ) + θ ),
(9.10)
которое обеспечивается при k > n 3 тактов работы сети.
9.2 Сеть Хэмминга
Нейронная сеть Хэмминга была предложена для решения задачи
распознавания путем сравнения предъявляемого образа с одним из эталонов,
формирующих обучающую выборку x(1), x(2),… , x( N ) . Особенностью данной
сети является то, что и анализируемый образ, и эталоны задаются в форме
бинарных векторов, а расстояние между ними определяется хэмминговой
метрикой
H
x − x( j ) = H {( xi ∧ xi ( j ) ) ∨ ( xi ∧ xi ( j ) ) i = 1,2,… , n},
(9.11)
т.е. количеством отличающихся элементов векторов x и x( j ) .
На рис. 9.4 представлена схема нейросети Хэмминга, представляющая
собой двухслойную архитектуру и являющаяся своеобразным гибридом
вероятностной нейронной сети с прямой передачей информации и
рекуррентной сети Хопфилда. Сеть имеет n входов, N нейронов по числу
имеющихся эталонов в скрытом слое и N рекуррентных нейронов в выходном
слое.
Скрытый слой образован линейными ассоциаторами, синаптические веса
которых подобно вероятностной нейронной сети устанавливаются заранее и
определяются значениями компонент векторов-эталонов x( j ) , j = 1,2,…, N :
w ji =
xi ( j )
n
, θj = .
2
2
(9.12)
При подаче на вход сети произвольного вектора x на выходах нейронов
скрытого слоя появляются сигналы [14]
n
o j = ∑ w ji xi (k ) + θ j = n − H x − x( j ) .
(9.13)
i =1
Нейрон с максимальным выходным сигналом соответствует эталону x( j ) ,
ближайшему в смысле Хэмминга к вектору x .
185
z −1
x1 (k )
θ1
w11
+
w12
z −1
+
+
z −1
+
1
Σ
o1
−ε
+
+
+
Σ
u1 (k + 1)
ψ
y1 (k + 1)
u2 (k + 1)
ψ
y2 (k + 1)
u N (k + 1)
ψ
y N (k + 1)
+
w1N
−ε
θ2
w21
+
x2 (k )
w22
+
+
+
Σ
−ε
o2
1
+
+
+
Σ
+
w2 N
−ε
θn
wN 1
+
wN 2
+
+
x n (k )
+
Σ
−ε
oN
−ε
+
+
+
Σ
+
wNN
1
Рис. 9.4 – Нейронная сеть Хэмминга
Рекуррентный выходной слой сети образован нейронами, выходы которых
через элементы задержки z −1 связаны с входами остальных нейронов этого слоя
отрицательными обратными связями с коэффициентом усиления 0 < ε < N −1 .
Кроме того, каждый нейрон охвачен положительной обратной связью, которая
связывает его выход с собственным входом. Выходной сигнал рекуррентных
нейронов y j определяется активационной функцией-выпрямителем, вид
которой приведен на рис. 1.3 г.
186
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
Выходные сигналы
рекуррентных нейронов
скрытого
слоя
задают
начальные
y j (0) = o j ,
состояния
(9.14)
реализующих последовательность вычислений
N
⎧
u
(
k
1
)
y
(
k
)
ε
+
=
−
∑ yl (k ),
j
⎪⎪ j
l =1
⎨
l≠ j
⎪
⎪⎩ y j (k + 1) = ψ (u j (k + 1)).
(9.15)
В результате итераций выходные сигналы всех нейронов постепенно
уменьшаются, устремляясь к нулю, кроме одного, имевшего наибольшее
начальное значение (9.14). Этот нейрон и определяет тот эталон, к которому
будет отнесен предъявленный вектор-образ x .
К преимуществам сети Хэмминга следует отнести ее быстродействие и
простоту [48], хотя возможность работы только с бинарными векторами
несколько ограничивает ее применимость.
9.3 Сеть Элмена
В 1990 году Дж. Элменом была предложена многослойная рекуррентная
нейронная сеть [243], предназначенная для определения границ между
отдельными словами в непрерывном потоке фонем и приведенная на рис. 9.5. В
дополнение к традиционным скрытому и выходному слоям в сеть введен
специальный слой обратной связи, называемый контекстным, или слоем
состояний. Этот слой получает сигналы с выхода скрытого слоя и через
элементы задержки подает их на входной слой, сохраняя таким образом
обрабатываемую информацию в течение одного временного такта.
«Строительными блоками» сети Элмена являются стандартные нейроны с
активационными функциями типа гиперболического тангенса, адаптивные
линейные ассоциаторы и элементы задержки z −1 . Обучается сеть с помощью
алгоритма обратного распространения ошибок, рассмотренного в подразделе
4.6.
Функционирование ИНС Элмена описывается системой рекуррентных
соотношений
n1
n
⎧
[1]
u
(
k
1
)
w
x
(
k
)
+
=
+
∑ ji i
∑ w cji oi (k ) + θ [j1] ,
⎪ j
i =1
i =1
⎨
⎪o (k + 1) = ψ (u (k + 1)) = tanh u (k + 1), j = 1,2, … , n ,
j
j
1
⎩ j
(9.16)
187
o1 (k )
z −1
o2 (k )
z −1
on1 (k )
Контекстный слой n1 элементов задержки
z −1
W c = {wcji }
W [ 2] = {w[ji2 ]}
W [1] = {w[ji1]}
θ1[ 2 ]
θ1[1]
+
x1 (k )
Σ
u1 (k + 1)
+
ψ
o1 (k + 1)
Σ
θ 2[1]
+
x2 (k )
Σ
θ 2[ 2 ]
u2 (k + 1)
ψ
+
o2 (k + 1)
Σ
x n (k )
Σ
Входной слой -
un1 (k + 1)
ψ
Скрытый слой n1 − нейронов
n = n0
y2 (k + 1)
θ m[ 2]
θ n[11 ]
+
y1 (k + 1)
+
on1 (k + 1)
Σ
ym (k + 1)
Выходной слой -
m = n 2 адаптивных
линейных ассоциаторов
Рис. 9.5 – Нейронная сеть Элмена
n1
y j (k + 1) = ∑ w[ji2] oi (k + 1) + θ [j2 ] , j = 1,2, … , m,
(9.17)
i =1
или в матричной форме
o(k + 1) = Ψ (W [1] x( k ) + W c o(k ) + θ [1] ),
y (k + 1) = W [ 2] o(k ) + θ [ 2] ,
(9.18)
(9.19)
188
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
где W c − (n1 × n1 ) - матрица настраиваемых синаптических весов контекстного
слоя.
Сеть Элмена получила распространение в системах управления
движущимися объектами, при построении систем технического зрения,
обнаружения изменения свойств сигналов, например, в задачах предсказания
землетрясений и др. [14, 215].
9.4 Сеть Джордана
Еще одной рекуррентной сетью, предложенной М. Джорданом [244] для
распознавания временных последовательностей образов, является структура,
приведенная на рис. 9.6. Подобно сети Элмена она имеет скрытый, выходной и
контекстный слои с тем отличием, что сигнал на контекстный слой поступает с
выхода сети, а сам этот слой состояний образован сумматорами, охваченными
через элемент задержки обратной связью с фактором забывания 0 ≤ α ≤ 1 .
Таким образом, сигнал на выходе контекстных нейронов определяется не
только текущими выходами сети, но и их экспоненциально взвешенными
предыдущими значениями, что обеспечивает этой сети более «глубокую»
память по сравнению с ИНС Элмена.
Работа сети Джордана описывается системой рекуррентных соотношений
n
m
⎧
[1]
c
[1]
⎪u j (k + 1) = ∑ w ji xi (k ) + ∑ w ji ( y i (k ) + αy i (k − 1)) + θ j ,
i =1
i =1
⎨
⎪o (k + 1) = ψ [1] (u (k + 1)), j = 1,2, … , n ,
j
1
⎩ j
(9.20)
⎞
⎛ n1
y j (k + 1) = ψ [ 2] ⎜⎜ ∑ w[ji2] oi (k + 1) + θ [j2] ⎟⎟, j = 1,2, … , m,
⎠
⎝ i =1
(9.21)
или в матричной форме
o(k + 1) = Ψ [1] (W [1] x(k ) + W c ( y (k ) + αy (k − 1)) + θ [1] ),
(
)
y (k + 1) = Ψ [ 2] W [ 2] o(k ) + θ [ 2 ] =
(
(9.22)
)
= Ψ [ 2] W [ 2] (Ψ [1] (W [1] x(k ) + W c ( y (k ) + αy (k − 1)) + θ [1] ) + θ [ 2 ] ) .
(9.23)
В принципе данная сеть решает тот же класс задач, что и ИНС Элмена,
однако, благодаря более глубокой памяти и дополнительному слою
нелинейных функций активации, обладает лучшими аппроксимирующими и
прогнозирующими свойствами.
189
y1 (k )
z −1
y2 ( k )
z −1
ym (k )
Σ
Σ
Σ
z −1
α
z −1
α
z −1
W c = {wcji }
α
Контекстный слой -
z
2 m элементов задержки и
m сумматоров
−1
θ1[1]
+
x1 (k )
Σ
W [ 2 ] = {w[ji2 ]}
W [1] = {w[ji1]}
u1 ( k + 1)
θ1[ 2]
+
ψ [1]
o1 (k + 1)
θ 2[1]
+
x2 (k )
Σ
u2 (k + 1)
x n (k )
Входной слой n = n0
Σ
un1 ( k + 1)
ψ [2]
y1 ( k + 1)
ψ [2]
y2 ( k + 1)
ψ [2]
ym ( k + 1)
θ 2[ 2]
ψ [1]
o2 (k + 1)
+
Σ
θ m[ 2]
θ n[11 ]
+
Σ
ψ [1]
Скрытый слой n 1 − нейронов
on1 ( k + 1)
+
Σ
Выходной слой -
m = n 2 нейронов
Рис. 9.6 – Нейронная сеть Джордана
9.5 Нейронные сети с временными задержками
Рассмотренные выше рекуррентные нейронные сети представляют собой
специализированные архитектуры, в каналах обратной связи которых
присутствуют элементы единичной задержки z −1 . В принципе временной
фактор может быть учтен и в рамках статических нейронных сетей с прямой
передачей информации путем введения в них цепочек, образованных
элементами задержки. Такие сети называются ИНС с временными задержками
(Time-Delay Neural Networks - TDNN) [4, 6, 9, 216] и используются в задачах
обработки временных последовательностей различной природы. В качестве
примера рассмотрим структуры, приведенные на рис. 9.7.
190
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
x(k )
x1 (k )
z −1
ИНС
x2 (k )
с прямой
z −1
y (k )
ИНС
x(k − 1)
x(k − 2)
передачей
с прямой
y (k )
передачей
информации
z −1
x n (k )
информации
x ( k − n)
Рис. 9.7. – Статическая и динамическая нейронные сети
Если схема, приведенная слева, реализует стандартное отображение
y (k ) = F ( x1 (k ), x 2 (k ),…, x n (k )),
(9.24)
то структура, изображенная справа, уже учитывает динамику входного сигнала
y (k ) = F ( x(k ), x(k − 1),… x( k − n)).
(9.25)
В общем случае такая сеть не является рекуррентной, поскольку не имеет
обратных связей от выхода ко входу. Ввести такие связи в статическую сеть
достаточно просто, охватывая ее глобальной обратной связью так, как это
показано на рис. 9.8,
z −1
L1
x(k )
y (k + 1)
L3
L2
Рис. 9.8. – Многослойная сеть с глобальной обратной связью
либо используя локальные послойные обратные связи (рис. 9.9).
x(k )
z −1
z −1
z −1
L1
L2
L3
o[1] (k + 1)
o[ 2 ] (k + 1)
y ( k + 1)
Рис. 9.9 – Многослойная сеть с локальными обратными связями
191
Заметим, что ИНС, приведенная на рис. 9.9, известна как рекуррентный
многослойный персептрон [9] и успешно была использована в задачах
распознавания речи [245, 246].
Основными элементами TDNN могут служить как стандартные нейроны
типа элементарного персептрона (рис. 2.2) или обобщенного формального
нейрона (рис. 4.11), так и динамические нейроны типа цифрового нейронафильтра, приведенного на рис. 1.13.
На практике наибольшее распространение получили три основные схемы
нейронов [6, 215]:
¾ базовый динамический нейрон с элементами задержки во входных
каналах (рис. 9.10), осуществляющий отображение
⎛ n p
⎞
y (k ) = ψ (u ( k )) = ψ ⎜⎜ ∑∑ wil xi (k − l ) ⎟⎟,
⎝ i =1 l =0
⎠
(9.26)
¾ базовый динамический нейрон с элементами задержки во входных и
выходном каналах (рис. 9.11), осуществляющий отображение
g
⎛ n p
⎞
y (k + 1) = ψ (u (k + 1)) = ψ ⎜⎜ ∑∑ wil xi (k − l ) + ∑ a j y (k − j ) ⎟⎟,
j =0
⎝ i =1 l =0
⎠
(9.27)
¾ нелинейный нейронный фильтр (рис. 9.12), представляющий собой
обычный формальный нейрон, у которого вместо настраиваемых
синаптических весов используются адаптивные цифровые фильтры
[54-56], что позволяет реализовать отображение
⎛ n
⎞
y (k ) = ψ (u (k )) = ψ ⎜⎜ ∑ xˆ i (k ) ⎟⎟,
⎝ i =1
⎠
(9.28)
где xˆi (k ) - отфильтрованная оценка входного сигнала xi (k ) .
Нейронные сети с временными задержками получили широкое
распространение
при
управлении,
прогнозировании,
эмуляции
и
идентификации нелинейных динамических объектов и процессов.
192
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
w10
x1 (k )
x1 (k − 1)
z −1
x1 (k − 2)
z −1
z −1
x1 (k − p)
w11
w12
w1 p
w20
x2 (k )
x2 (k − 1)
z −1
z
x2 (k − 2)
−1
z −1
x2 (k − p )
ψ (u (k ))
w21
w22
Σ
u (k )
y (k )
w2 p
wn 0
xn (k )
xn (k − 1)
z −1
xn (k − 2)
z −1
z −1
xn (k − p)
wn1
wn 2
wnp
Рис. 9.10 – Динамический нейрон с задержками на входах
193
w10
x1 (k )
x1 ( k − 1)
z −1
w11
x1 ( k − 2)
z −1
z −1
x1 ( k − p )
w12
w1 p
wn 0
xn (k )
xn (k − 1)
z −1
ψ (u (k + 1))
wn1
Σ
xn (k − 2) w
n2
z −1
z −1
xn ( k − p )
u (k + 1)
y (k + 1)
wnp
z −1
y (k )
a0
y (k − 1)
z −1
y (k − 2)
z −1
z −1
y(k − g )
a1
a2
ag
Рис. 9.11 – Динамический нейрон с задержками на входах и выходе
x1 (k )
Адаптивный xˆ1 (k )
фильтр
x2 (k )
Адаптивный
фильтр
xn (k )
Адаптивный xˆn ( k )
фильтр
xˆ2 ( k )
ψ (u (k ))
Σ
u (k )
y (k )
Рис. 9.12 – Нелинейный нейронный фильтр
194
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
9.6 Скрытая марковская модель
Скрытые марковские модели (Hidden Markov Models - HMM) – еще один
пример специализированных архитектур рекуррентных нейронных сетей [4].
Простейшим примером такой сети является марковская модель первого
порядка, способная принимать одно из n различных состояний si , i = 1,2,…, n в
каждый момент времени k . Изменение состояний определяется стохастической
динамикой сети, при этом вероятность перехода модели из i -го в j -е состояние
на каждом шаге 0 ≤ w ji ≤ 1 не зависит от предыстории уже произошедших
переходов. Эти вероятности могут быть представлены в виде (n × n) - матрицы
W , являющейся аналогом матриц синаптических весов. Предполагается также,
что на каждом такте на выходе НММ появляется одно из m возможных
выходных состояний с вероятностью pli , l = 1,2,…, m; i = 1,2,…, n. Стартуя из
некоторого начального состояния в момент k = 0 , сеть отрабатывает N тактов,
после чего регистрируется ее конечное состояние. Задача состоит в
восстановлении исходного наблюдаемого состояния по конечному известному.
Такая постановка возникает при анализе речевых сигналов, когда по записи
голоса (конечное состояние) требуется восстановить состояния звукового
тракта, формирующего последовательность фонем (начальное состояние).
Диаграмма состояний марковской модели может быть представлена в виде
сети, состоящей из n узлов (один для каждого состояний) и связей,
определяющих вероятности переходов так, как это показано на рис. 9.13.
w11
S1
w21
S2
w22
w12
w32
w23
w31
w13
S3
w33
Рис. 9.13 – Вероятности перехода скрытой марковской модели с тремя
состояниями
С тем, чтобы проанализировать динамику сети, развернем ее во времени на
N тактов (рис 9.14).
Пусть при k = 0 только i -тый узел находится в возбужденном состоянии
(единица на выходе), в то время как остальные состояния равны нулю.
195
w11
w21
S1
w11
w11
состояние 1
w12
S2
состояние 2
w1n
Sn
w1n
wn 2
wnn
wnn
k =1
k =0
wn1
состояние n
wnn
k =2
k=N
Рис. 9.14 – Развернутая скрытая марковская модель
Вероятность того, что при k = 1 модель перейдет в j -е состояние еcть w ji ,
вероятность достижения состояния l при k = 2 - это
n
∑ w ji wlj , состояние
q при
j =1
k =3 –
n
n
∑∑ w ji wlj wql
и т.д.
l =1 j =1
Переходя к собственно нейросети – скрытой марковской модели (рис.
9.15), рассмотрим ситуацию, когда наблюдается только выходной сигнал сети,
а сами переходные и начальные состояния неизвестны.
p1
x0 ≡ 1
p2
Σ
p11
Σ
p21
w11
w21
wn 2
pn
Σ
k =1
Σ
p12
Σ
p22
w11
w21
Σ
wn1
pn1
wnn
Σ
k=2
Σ
p1N
p2 N
Σ
y
wn1
pn 2
wnn
Σ
pnN
k=N
Рис. 9.15 – Скрытая марковская модель
Как видно, НММ подобна по структуре многослойному персептрону (рис.
2.4) с числом слоев, равным N , одним входом x0 ≡ 1 и одним выходом с той
лишь разницей, что в ней присутствуют дополнительные синаптические веса
pik , i = 1,2, …, n; k = 1,2, …, N .
Если сеть стартует при k = 0 из состояний, заданных дискретным
распределением вероятностей p1 , p 2 ,…, p n , то вероятность l -го выходного
196
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
состояния в тот же момент времени определяется величиной
n
∑ pi pli .
i =1
Вероятность появления l -го состояния при k = 0 и q -го при k = 1 - это
n
n
∑∑ pi pli w ji pqj
и т.п.
j =1 i =1
Обучение такой сети, конечной целью которого является нахождение
синаптических весов-вероятностей и прежде всего p1 , p 2 ,…, p n , осуществляется
с помощью пакетного варианта алгоритма обратного распространения ошибок.
Следует однако помнить, что синаптические веса НММ должны лежать в
интервале от нуля до единицы (ограничения на вероятности). В связи с этим в
процессе обучения должен минимизироваться не обычный критерий качества
E k , а построенная на его основе функция Лагранжа
Lk = E k + λC ( pi , w ji , pik ),
(9.29)
где C ( pi , w ji , pik ) ≤ 0 - функция, задающая ограничения на синаптические веса;
λ - неопределенный множитель Лагранжа.
Для поиска седловой точки (9.29) в принципе может быть использован
любой из методов нелинейного программирования, основанный на решении
системы уравнений Куна-Таккера [160, 195].
9.7 Машина Больцмана и обучение отжигом
Большой класс оптимизационных задач может быть решен с помощью
сети Хопфилда с энергетической функцией
E (k ) = −
n
1 n n
1
w
x
(
k
)
x
(
k
)
−
x j (k )θ j = − x T (k )Wx(k ) − x T (k )θ ,
∑
∑
∑
ji j
i
2 j =1 i =1
2
j =1
(9.30)
минимизация которой осуществляется в процессе последовательных переходов
⎛ n
⎞
x j (k + 1) = sign⎜⎜ ∑ w ji xi (k ) + θ j ⎟⎟,
⎝ i =1
⎠
(9.31)
приводящих к одному из локальных минимумов x B , x E или x G , показанных на
рис. 9.3. В какой именно из экстремумов попадает сеть, определяется ее
начальными условиями, при этом сходимость гарантируется только к
ближайшему к исходной точке.
Если же в процессе решения оптимизационной задачи требуется
отыскание глобального экстремума (точка x G ), стандартная сеть Хопфилда в
этой ситуации оказывается бессильной и требует существенной модификации,
197
каковой и является машина Больцмана, предложенная в [247, 248] и
всесторонне исследованная в [4, 7, 9, 27, 216].
Основное отличие машины Больцмана, имеющей ту же архитектуру, что и
сеть Хопфилда, определяется ее строительными блоками-узлами, в качестве
которых используются стохастические нейроны, рассмотренные в подразделе
1.6 и принимающие состояния
⎧⎪1 c вероятностью Pj (k ),
x j (k + 1) = ⎨
⎪⎩0 c вероятностью 1 − Pj ( k ),
(9.32)
где
Pj ( k ) =
1
⎛ v j (k ) ⎞
⎟
1 + exp⎜⎜ −
T ⎟⎠
⎝
,
(9.33)
v j (k ) - управляющий параметр; T - положительная псевдотемпература.
Заметим, что при малых значениях T машина Больцмана аппроксимирует
динамику сети Хопфилда в пространстве состояний, образованном 2 n
вершинами n -мерного гиперкуба, а благодаря тому, что T > 0 , всегда
сохраняется вероятность перехода из одной вершины в другую. Это означает,
что эта ИНС не может «застрять» в каком-то одном состоянии, хотя в процессе
минимизации (9.30) в какие-то моменты значения E (k ) могут возрастать.
Отметим также, что на синаптические веса наложены ограничения,
присутствующие и в сети Хопфилда
w ji = wij , w jj = 0.
(9.34)
Принимая во внимание (9.7), (9.9) и (9.34), несложно записать приращение
энергетической функции сети при изменении состояния j -го нейрона на (k + 1) м такте в виде
⎞
⎛ n
ΔE (k ) = −Δx j ⎜⎜ ∑ w ji xi (k ) + θ j ⎟⎟
⎠
⎝ i =1
(9.35)
⎞
⎛ n
ΔE (k ) = −2 x j ⎜⎜ ∑ w ji xi (k ) + θ j ⎟⎟.
⎠
⎝ i =1
(9.36)
или, что то же самое
Тождественность (9.35) и (9.36) следует из следующих элементарных
соображений: если состояния x j (k ) = −1 , а x j (k + 1) = 1 , то Δx j = 2 = −2 x j (k ) .
Если же x j (k ) = 1 , а x j (k + 1) = −1, то Δx j = −2 = −2 x j (k ) .
198
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
Полагая в качестве управляющего параметра v j (k ) изменения
энергетической функции, можно записать вероятность перехода машины
Больцмана, работающей в последовательном режиме, из одного состояния в
другое в виде
P(k ) =
=
1
⎛ ΔE (k ) ⎞
1 + exp⎜ −
⎟
T ⎠
⎝
=
1
⎛
⎞⎞
⎛ n
⎜ Δx j ⎜⎜ ∑ w ji xi (k ) + θ j ⎟⎟ ⎟
⎜
⎠⎟
⎝ i =1
1 + exp⎜
⎟
T
⎜
⎟
⎜
⎟
⎝
⎠
1
n
⎛
⎜
∑ w ji xi (k ) + θ j
⎜
1 + exp 2 x j ( k ) i =1
⎜
T
⎜
⎝
⎞
⎟
⎟
⎟
⎟
⎠
=
(9.37)
,
причем выбор конкретного нейрона, изменяющего свое состояние,
осуществляется случайным образом.
Более сложным вариантом машины Больцмана является архитектура,
содержащая скрытые нейроны так, как это показано на рис. 9.16.
SN
SN
SN
SN
SN
SN
SN
SN
SN
Входной
слой
SN
Скрытый
слой
Выходной
слой
Рис. 9.16 – Машина Больцмана с видимыми и скрытыми нейронами
Данная сеть образована стохастическими нейронами SN , связанными друг
с другом через элементы задержки синаптическими весами, при этом видимые
нейроны, сгруппированные во входной и выходной слои, обеспечивают
199
взаимодействие ИНС с окружающей средой. Особенностью этой сети является
возможность обучения, в процессе которого на видимые нейроны подаются
входной и обучающий сигналы, а скрытые нейроны настраивают свои
параметры пропорционально уровню корреляции между входным и
обучающим образами.
Поскольку основной задачей машины Больцмана является отыскание
глобального минимума энергетической функции, для ее функционирования
может быть использован любой из методов глобального случайного поиска,
рассмотренных в подразделе 4.5.1, хотя исторически сложилось так, что с
понятием «машина Больцмана» связывается процедура, известная под
названием «обучение отжигом» [249].
Алгоритм обучения отжигом представляет собой стохастическую
стратегию поиска состояний нейронов сети, соответствующих глобальному
минимуму энергетической функции, и имеет ясную аналогию с физическим
процессом закалки металла.
При высокой температуре, когда металл принимает жидкую фазу, все
атомы находятся в непрерывном случайном движении. Как любая физическая
система, частицы расплавленного металла стремятся к состоянию,
соответствующему минимуму энергии, однако высокая внешняя температура
препятствует этому. Состоянию минимума энергии соответствует
упорядоченная структура типа бездефектной кристаллической решетки. Для
получения такой кристаллической структуры и производится отжиг металла,
когда он сначала нагревается до температуры выше точки плавления, а затем
медленно охлаждается до тех пор, пока не сформируется правильный кристалл.
Такой процесс может повторяться несколько раз.
Процесс отжига помогает избежать возникновение дефектных структур,
обладающих более высокими энергетическими уровнями, за счет того, что
динамика частиц металла кроме всего прочего определяется и
температурнозависимой компонентой, благодаря которой отдельные частицы
не только теряют энергию в процессе охлаждения, но могут случайным
образом приобретать дополнительную энергию так, как это показано на рис.
9.17.
E (k )
E (k )
xA
xB
xC
x(k )
xA
xB
xC
x(k )
Рис. 9.17 – Эффект теплового шума
200
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
Если динамика системы такова, что сходится к локальному минимуму, то
система, попав в состояние x A , «застрянет» в нем, хотя глобальный экстремум
находится в точке x c .
Современные процедуры обучения отжигом восходят к так называемому
Метрополис-алгоритму [250], концепция которого совпадает с основной
процедурой случайного поиска (4.224), подразумевающей случайное
возмущение системы и принятие решения на основе анализа приращения
ΔE (k ) .
В случае ΔE (k ) ≤ 0 сделанный шаг признается удачным, а x(k + 1)
принимается в качестве исходной точки для последующих итераций. В
противном случае ( ΔE (k ) > 0 ) новое состояние не обязательно отвергается, но
может быть принято с некоторой вероятностью
P(k ) = e
−
ΔE ( k )
T (k )
,
(9.38)
где T (k ) - температурная характеристика, изменяемая некоторым (чаще всего
программно) образом.
В [4] рассмотрена достаточно простая процедура, состоящая в том, что
состояние любого нейрона x j (k ) изменяется всегда, если изменение
Δx j (k ) = x j (k + 1) − x j (k ) приводит к уменьшению энергетической функции E (k ) ;
в случае же, если ΔE (k ) > 0 , новое состояние x j (k + 1) принимается с
вероятностью
Pj (k ) =
1
.
⎛ ΔE (k ) ⎞
⎟⎟
1 + exp⎜⎜
T
k
(
)
⎠
⎝
(9.39)
Для больших значений T (k ) Pj (k ) ≈ 0.5 , т.е. обновление состояний
происходит в половине случаев. При T (k ) → 0 принимаются только те
состояния, которые уменьшают E (k ) . Выбор функции (9.39) связан с тем, что
подобные конструкции используются в статистической термодинамике для
анализа теплового равновесия, что упрощает анализ поведения системы. Сам
же температурный параметр T (k ) обычно уменьшается экспоненциально от
начальных достаточно больших значений согласно соотношению
T (k + 1) = αT (k ), 0 < α < 1.
(9.40)
В [27, 216] машина Больцмана анализируется с позиций статистической
механики, при этом вероятность достижения термического равновесия в точке
x(k ) описывается выражением
201
⎛ E ( x(k )) ⎞
⎟⎟
exp⎜⎜ −
(
)
T
k
⎝
⎠,
P(k ) =
⎛ E ( x) ⎞
∑ exp⎜⎜ − T (k ) ⎟⎟
x
⎠
⎝
(9.41)
(здесь суммирование осуществляется по всем возможным состояниям системы)
известным как распределение Больцмана-Гиббса. В этом случае для
энергетической функции (9.30) вероятность пребывания j -го нейрона в
состояниях + 1 или − 1 может быть записана в виде
⎛ u j (k ) ⎞
⎟⎟
exp⎜⎜ ±
(
)
T
k
⎠
⎝
,
P ( x j (k ) = ±1) =
⎛ u j (k ) ⎞
⎛ u j (k ) ⎞
⎟⎟ + exp⎜⎜ −
⎟⎟
exp⎜⎜
(
)
(
)
T
k
T
k
⎝
⎠
⎝
⎠
(9.42)
где
n
u j (k ) = ∑ w ji xi (k ) + θ j , xi (k ) ∈ {−1,1}, j = 1,2, … , n.
(9.43)
i =1
На практике стохастический характер обучения отжигом, обеспечиваемый
тепловым шумом, может достигаться любым из способов, применяемых в
случайном поиске, хотя простейшим является введение в каждый нейрон
зондирующего случайного сигнала ζ j (k ) так, как это принято в адаптивных
системах [251]. Тогда состояние каждого нейрона может быть описано с
помощью рекуррентного соотношения
⎛ n
⎞
x j ( k + 1) = sign⎜⎜ ∑ w ji xi (k ) + θ j + ζ j (k ) ⎟⎟,
⎝ i =1
⎠
(9.44)
а сети в целом – следующим образом:
x(k + 1) = sign(Wx(k ) + θ + ζ (k )),
(9.45)
где ζ (k ) = (ζ 1 (k ), ζ 2 (k ),… , ζ n (k )) T .
Заметим также, что сеть описываемая уравнением (9.45), в литературе
иногда называется машиной Гаусса [4, 27].
В общем случае процедура обучения отжигом состоит из следующей
последовательности шагов:
¾ задание начального состояния сети x(0) ;
¾ задание
достаточно
большого
значения
начальной
псевдотемпературы T (0) ;
¾ * случайное изменение начального состояния;
202
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
¾ ** оценка приращения энергетической функции ΔE ;
¾ *** в случае улучшения состояния использовать его в качестве
начального для следующего шага, в противном случае перейти к
новому состоянию с вероятностью P = exp(− ΔE T ) ;
¾ **** повторение шагов * - *** до достижения устойчивого
состояния;
¾ изменение псевдотемпературы T и повторение шагов * - ****.
Процедура заканчивает свою работу, когда температура становится
достаточно малой, а система достигает устойчивого состояния. Алгоритм
обучения отжигом обеспечивает отыскание глобального минимума
энергетической функции, однако его практическое использование
ограничивается низкой скоростью сходимости.
Эффективный подход к увеличению скорости обучения отжигом связан с
процедурой, использующей так называемое поле усредненных значений (MeanField Annealing - MFA) [27], когда вместо нейронов с активационной сигнумфункцией, принимающих только два состояния ± 1 , применяются нейроны с
аналоговым выходом, представляющим среднее значение переменной x j (k )
при температуре T (k )
x j (k ) = P ( x j (k ) = +1) − P ( x j (k ) = −1) = tanh
u j (k )
T (k )
.
(9.46)
Приняв в качестве энергетической функции выражение
E (k ) = −
n
1 n n
w
x
(
k
)
x
(
k
)
−
∑∑ ji j i
∑ x j (k )θ j ,
2 j =1 i =1
j =1
(9.47)
можно записать MFA-алгоритм его минимизации, обеспечивающий
сглаживание локальных экстремумов в процессе обучения, в виде
⎛ n
⎜ ∑ w ji xi (k ) + θ j
x j (k + 1) = tanh⎜ i =1
⎜
T (k )
⎜
⎝
⎞
⎟
⎟, j = 1, 2,…, n.
⎟
⎟
⎠
(9.48)
При высоких псевдотемпературах нейронная сеть ведет себя как линейная
динамическая система, поскольку активационные функции близки к линейным.
При малых T (k ) активационная функция приближается к сигнум-функции (см.
рис. 1.4 ж), и сеть переходит в обычный режим машины Больцмана с
двоичными состояниями.
Таким образом чисто случайная процедура обучения отжигом заменяется
детерминированным рекуррентным алгоритмом, имеющим более высокую
скорость сходимости.
203
Используя термин «обучение отжигом», следует помнить, что он
относится к поиску глобального минимума энергетической функции, а не к
настройке синаптических весов сети. Многослойная машина Больцмана,
приведенная на рис. 9.16, наряду с поиском экстремума может обучаться в
общепринятом понимании этого термина, целенаправленно изменяя свои
параметры [4, 237].
В силу того, что машина Больцмана является стохастической системой,
для ее обучения целесообразно использовать вероятностные критерии типа
функции правдоподобия. В этом случае в соответствии с принципом
максимума правдоподобия процесс настройки синаптических весов,
называемый больцмановским обучением, сводится к поиску максимума
выбранной (обычно логарифмической) функции правдоподобия.
Обозначим X множество двоичных векторов-образов, формирующих
обучающую выборку, а x - множество возможных состояний сети, содержащее
два подмножества: xV - состояния видимых нейронов и x H - состояния
скрытых нейронов. Очевидно, что векторы состояний x, x V и x H являются
возможными реализациями случайных векторов X , X V и X H .
Процесс больцмановского обучения разделяется на две фазы:
¾ позитивную или фазу фиксации, когда на видимые нейроны сети
подаются входные и обучающие сигналы, и
¾ негативную или свободного выполнения, когда сеть функционирует
«свободно» без воздействия внешних сигналов.
Обозначив вероятность нахождения видимых нейронов в состоянии xV
через P( X V = x V ) и допустив, что эти состояния статистически независимы,
можно записать логарифмическую функцию правдоподобия в виде
L( w) = log
∏ P( X V
= xV ) =
xV ∈X
∑ log P( X V
= x V ),
(9.49)
xV ∈X
где
P( X V
⎛ E ( x) ⎞
⎟
T ⎠
V
xH
=x )=
,
⎛ E ( x) ⎞
∑ exp⎜⎝ − T ⎟⎠
x
∑ exp⎜⎝ −
(9.50)
(суммирование в числителе осуществляется по всем возможным состояниям
скрытых нейронов, а в знаменателе – по всем возможным состояниям сети).
Подставляя (9.50) в (9.49), несложно получить зависимость функции
правдоподобия от энергетической в форме
L( w) =
⎛
⎛ E ( x) ⎞
⎛ E ( x) ⎞ ⎞⎟
⎟ − log ∑ exp⎜ −
⎟ ,
T ⎠
T ⎠ ⎟⎠
⎝
x
∑ ⎜⎜ log ∑ exp⎜⎝ −
xV ∈ X
⎝
xH
(9.51)
204
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
где зависимость E (x) от вектора синаптических весов w в свою очередь
определяется выражением (9.30).
Дифференцируя (9.51) по w ji с учетом (9.30), получаем выражение
∂L( w) 1
=
∂w ji
T
∑ ⎜⎜ ∑ P(X H
)
⎛
V
x ∈X
⎝x
⎞
= x H X V = x V x j xi − ∑ P( X = x)x j xi ⎟⎟,
x
⎠
H
(9.52)
которое с использованием обозначений
ρ +ji =
∑ ∑ P(X H
xV ∈ X x H
и
ρ −ji =
)
= x H X V = x V x j xi
∑ ∑ P( X = x )x j xi ,
V
x ∈X
(9.53)
(9.54)
x
приобретает простой вид
(
)
∂L( w) 1 +
= ρ ji − ρ −ji .
T
∂w ji
(9.55)
Можно отметить, что значение ρ +ji характеризует уровень корреляции
между состояниями j -го и i -го нейронов в позитивной фазе обучения, а ρ −ji - в
негативной (под корреляций в данном случае понимается вероятность
одновременного нахождения двух нейронов в возбужденном состоянии).
Для максимизации функции (9.51) может быть использована градиентная
процедура
Δw ji =
η
(ρ
T
+
ji
)
− ρ −ji ,
(9.56)
известная как правило обучения Больцмана, реализуемое только в пакетном
режиме, т.е. когда обучающая выборка должна быть задана априорно. Согласно
этому правилу обучения синаптические веса должны настраиваться на основе
информации, полученной при работе сети в обоих режимах: позитивном и
негативном, при этом интересно заметить, что алгоритм не зависит от того,
являются ли нейроны j и i видимыми или скрытыми. Можно указать также на
близость больцмановского и хэббовского правил обучения. Так в фазе
фиксации больцмановское правило это «чистый» алгоритм Хэбба (4.367), а в
фазе свободного выполнения – хэббовская процедура с забыванием (4.380).
Машина Больцмана нашла широкое распространение при решении задач,
связанных с поиском глобального экстремума, хотя значительные временные и
вычислительные затраты на обучение ограничивают ее использование. В связи
с этим были предложены различные модификации [9], среди которых можно
отметить нейронную сеть Р. Нила [252], не использующую негативную фазу
обучения. Можно упомянуть также такие конструкции, как машины
205
Гельмгольца, Коши и т.п., являющиеся дальнейшим развитием ставшими уже
классическими машины Больцмана и обучения отжигом.
9.8 Хаос-нейродинамика
С позиций общей теории систем рассмотренные выше рекуррентные
нейронные
сети
представляют
собой
нелинейные
динамические
детерминированные стохастические системы, описываемые в пространствах
состояний или сигналов системой уравнений вида
⎧ x(k + 1) = Ψ ( x(k ), y (k )),
⎨
⎩ y (k + 1) = F ( x(k ), y (k )).
(9.57)
Общим для всех рассматриваемых структур является наличие устойчивых
состояний – аттракторов ( x B , x E , x G на рис. 9.3 для детерминированных
систем, x A , x C на рис. 9.17 для стохастических), к которым сходится сеть в
процессе своего функционирования. При этом каждому из аттракторов
соответствует собственная зона притяжения, определяемая тем, что из любой её
точки система всегда возвращается к своему устойчивому состоянию.
Вместе с тем существует широкий класс детерминированных нелинейных
систем, поведение которых выглядит как случайное, хотя по сути им не
является. Более того, статистический анализ сигналов, генерируемых такими
системами (вторые моменты, автокорреляционные функции, спектр)
показывает, что это широкополосный случайный процесс, порождаемый
детерминированным объектом, что само по себе парадоксально.
Такие системы называются хаотическими и последние два десятилетия они
являются предметом пристального внимания как теоретиков, так и
специалистов совершенно различных областей [253 - 257].
Хаотический процесс, порождаемый нелинейной детерминированной
системой, хотя внешне очень похож на стохастический, все же таковым не
является. Основной его особенностью является крайняя чувствительность к
начальным условиям, т.е. если одна и та же система стартует из начальных
условий x(0) и x(0) + ε , где ε - очень малая величина, то её траектории
движения экспоненциально расходятся во времени, стремясь к совершенно
различным областям притяжения, называемым странными аттракторами.
Используя более строгое определение [253], можно сказать, что странный
аттрактор – это притягивающее множество в фазовом пространстве, в котором
движутся хаотические траектории, не являющиеся при этом ни положением
равновесия, ни предельным циклом.
В принципе будущее поведение хаотической системы в силу её
детерминированности полностью определяется её прошлым, но на практике
любая неопределенность или неточность в выборе начальных условий резко
усложняет задачу анализа, для решения которой в последнее время все чаще
206
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
используются
нейронные
сети
благодаря
своим
универсальным
аппроксимирующим свойствам [258 – 260].
Кроме собственно хаотического движения, с нелинейными динамическими
системами связан ряд типов поведения близких к хаосу и прежде всего:
¾ переходный хаос, представляющий собой движение, которое на
конечном временном интервале выглядит как чисто хаотическое, т.е.
траектория сначала развивается по странному аттрактору, но затем
выходит на периодическое или квазипериодическое движение;
¾ квазипериодические колебания, представляющие собой колебания с
двумя или более некратными частотами;
¾ бифуркации, представляющие собой резкие изменения характера
движения при малом изменении одного или нескольких параметров
системы;
¾ смеси типа «хаос + квазипериодические колебания» и т.п.
Общим для всех отмеченных типов поведения является их так называемая
фрактальная структура [257, 261, 262], т.е. самоподобие анализируемых
процессов при различных пространственных и временных масштабах. В
принципе любая существенно нелинейная динамическая система при
определенном сочетании её параметров может демонстрировать хаотическое
поведение, однако на практике было исследовано и используется достаточно
ограниченное число таких структур, среди которых можно выделить наиболее
популярные:
¾ логистическое уравнение, описывающее рост биологической популяции
x(k + 1) = wx(k )(1 − x(k ) ), 0 ≤ w ≤ 4, 0 ≤ x(0) ≤ 1 ;
(9.58)
¾ модификация (9.58) [253, 255] типа
⎧ x(k + 1) = w1 x(k ) − w2 x 2 (k ),
⎪
2
⎪ x(k + 1) = x ( k ) + θ ,
⎨
2
⎪ x(k + 1) = 1 − w1 x (k ) + w2 x(k − 1),
⎪
3
⎩ x(k + 1) = wx (k ) + (1 − w) x(k ) и т. п.;
(9.59)
¾ модель Мэки – Гласса
x(k + 1) = w1 x( k ) +
w2 x(k − τ )
, τ ≥ 17;
1 + x10 (k − τ )
(9.60)
¾ двумерное отображение Энона
⎧⎪ x(k + 1) = 1 − wx x 2 (k ) + y (k ),
⎨
⎪⎩ y (k + 1) = w y x(k );
(9.61)
207
¾ уравнения Мандельброта
⎧⎪ x( k + 1) = x 2 (k ) − y 2 (k ) + θ x ,
⎨
⎪⎩ y (k + 1) = 2 x(k ) y (k ) + θ y ;
(9.62)
x(k + 1) = x(k ) exp( w(1 − x(k )));
(9.63)
⎧⎪ x(k + 1) = y (k ),
⎨
3
⎪⎩ y (k + 1) = − wx x( k ) + w y y (k ) − y (k );
(9.64)
¾ модель Мэя
¾ модель Холмса
¾ модель Керри – Йорка
⎧ x(k + 1) = wx( k ),
⎨
2
⎩ y (k + 1) = y (k ) + x (k )
(9.65)
и некоторые другие, связанные с тригонометрическими функциями [9],
⎧ x( k + 1) = sin( k + sin k 2 ),
⎨
⎩ x( k + 1) = x(k ) + w sin 2πx(k ) и т. п.
(9.66)
Б. Мандельброт [262] ввел набор так называемых фрактальных уравнений
⎧ x(k + 1) = wx(k )(1 − x(k )),
⎪
2
⎪ x(k + 1) = x (k ) + θ ,
⎪
1
⎪
),
⎨ x(k + 1) = w( x(k ) +
(
)
x
k
⎪
⎪ x(k + 1) = wx 2 (k ) + θ ,
⎪
⎪⎩ x(k + 1) = wx 3 (k ) + θ ,
(9.67)
в которых x(k ) представляет собой комплексную переменную, порождающую
достаточно сложные геометрические фрактальные конструкции [257].
Как уже отмечалось, хаос внешне очень напоминает случайный процесс,
хотя им и не является, в связи с чем возникла задача идентификации сигналов,
состоящая в определении по имеющемуся набору данных их природы:
случайной или детерминированной хаотической. На практике получили
208
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
распространение несколько способов: от простейших типа спектра мощности и
отображения Пуанкаре до более сложных, связанных с числами Ляпунова,
фрактальной размерностью и показателем Херста.
Одним из признаков хаотической системы является появление на её
выходе широкого спектра частот при подаче на вход гармонического или
постоянного сигнала. И хотя этот спектр внешне напоминает спектр белого
шума, автокорреляционная функция хаотического процесса в отличие от
дельта-функции белого шума имеет протяженный характер.
Отображение Пуанкаре представляет собой фазовый портрет системы на
плоскости x(k ) и Δx(k ) = x(k + 1) − x(k ) . Если это отображение «размазано» по
всей фазовой плоскости, то перед нами стохастический процесс, если же
возникает детерминированная кривая, то мы имеем дело с хаосом.
С помощью чисел Ляпунова проверяется чувствительность системы к
вариациям начальных условий. Если в фазовом пространстве задать в качестве
начальных условий вектор x(0) , определенный в гиперсфере малого радиуса ε ,
то в процессе функционирования системы эта гиперсфера деформируется в
эллипсоид с максимальной полуосью
ε (k ) = ε 2 λk ,
(9.68)
где λ - число Ляпунова, определяемое с помощью соотношения [9]
x( N )
1
lg
.
N →∞ N
x ( 0)
λ ( x(0), ε ) = lim
(9.69)
Положительное число Ляпунова свидетельствует о том, что перед нами
хаотический сигнал.
Показатель фрактальной размерности характеризует геометрическую
структуру странного аттрактора и является своеобразной мерой заполнения
пространства фазовым портретом идентифицируемого сигнала. Сразу же
заметим, что нецелая фрактальная размерность является основным признаком
наличия хаоса.
Рассмотрим
нелинейную
динамическую
систему,
описываемую
уравнением
x(k + 1) = Ψ ( x(k )).
(9.70)
Выделив некоторое произвольное состояние y в окрестности её
аттрактора, опишем вокруг этой точки малую гиперсферу радиуса ε . Зададим
далее функцию распределения наблюдений относительно y в виде
1
N →∞ N
ρ ( y ) = lim
N
∑ δ ( y − x(k )),
(9.71)
k =1
209
где δ ( y − x(k )) - n -мерная дельта-функция; N - число наблюдений.
Отметим также, что функция ρ ( y ) для странного аттрактора является
своеобразным аналогом функции плотности распределения случайной
величины.
Введем также некоторую функцию f ( y ) такую, что
∞
∫ f ( y) ρ ( y)dy =
f < ∞,
(9.72)
−∞
являющуюся мерой изменения числа точек в гиперсфере в процессе
уменьшения её радиуса ε до нуля.
Для точек, лежащих внутри гиперсферы, выполняется условие
y − x(k ) < ε
(9.73)
ε − y − x(k ) > 0.
(9.74)
или, что то же самое,
При этом функция (9.72) может быть определена в виде
⎞
⎛
⎟
⎜ 1 N
f ( y) = ⎜
h(ε − y − x(l ) )⎟
∑
⎟
⎜ N − 1 ll =≠1k
⎠
⎝
q −1
(9.75)
,
где q - неотрицательное целое число, h(x) - функция Хэвисайда:
⎧1, если x ≥ 0,
h( x ) = ⎨
⎩0 в противном случае.
(9.76)
Подставляя далее (9.71) и (9.75) в (9.72), получаем выражение
⎞
⎛
⎟
⎜ 1 N
R ( q, ε ) = ∫ ⎜
h(ε − y − x(l ) )⎟
∑
N − 1 l =1
⎟
−∞ ⎜
l ≠k
⎠
⎝
q −1
∞
⎛1
⎜⎜
⎝N
N
⎞
k =1
⎠
∑ δ ( y − x(k )) ⎟⎟dy,
(9.77)
которое с учетом очевидного соотношения для дельта-функции
∞
∫ f ( y)δ ( y − x(k ))dy =
f ( x(k )),
(9.78)
−∞
210
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
можно переписать в форме
⎞
⎛
⎟
⎜ 1 N
1
R ( q, ε ) = ∑ ⎜
h(ε − x(k ) − x(l ) ) ⎟
∑
N k =1 ⎜ N − 1 l =1
⎟
l ≠k
⎠
⎝
N
q −1
.
(9.79)
Функция (9.79) носит название корреляционной и имеет смысл
вероятности того, что две точки x(k ) и x(l ) в окрестности аттрактора находятся
на расстоянии ε друг от друга. Предельное поведение этой функции при ε → 0
описывается соотношением
R ( q, ε ) = ε
( q −1) Dq
,
(9.80)
где показатель степени Dq называется фрактальной размерностью аттрактора.
Логарифмируя далее (9.80), можно формально определить фрактальную
размерность в виде
log R(q, ε )
,
ε →0 ( q − 1) log ε
Dq = lim
(9.81)
при этом при q = 2 (9.81) приобретает простой вид, наиболее часто
используемый для вычислений и именуемый в данном случае корреляционной
размерностью аттрактора D2 .
Рассмотренные способы идентификации хаоса обладают общим
недостатком: невозможностью работы в реальном времени, в темпе с
контролируемой системой и как следствие, трудностью определения моментов
изменения свойств наблюдаемых сигналов. Преодолеть указанное затруднение
можно, используя достаточно популярный в анализе фрактальных временных
рядов показатель Херста H [254, 261], связанный с корреляционной функцией
и позволяющий оценить уровень хаотичности либо стохастичности
идентифицируемого временного ряда.
В общем случае показатель Херста может быть вычислен с помощью
выражения
S (k )
= (αk ) H ,
σ (k )
где S (k ) - размах последовательности накопленных отношений
рассчитываемый согласно соотношениям
(9.82)
y (l , k ) ,
211
⎧S (k ) = max y (l , k ) − min y (l , k ),
1≤l ≤ k
1≤l ≤ k
⎪
k
⎪
⎪ y (l , k ) = ∑ ( x(l ) − x (l ) ),
l =1
⎪
l
⎨
1
⎪ x (l ) = ∑ x( p ),
l p =1
⎪
⎪
1 k
⎪ x (k ) = ∑ x(l );
k l =1
⎩
(9.83)
σ (k ) - среднеквадратическое отношение
1 k
σ (k ) =
(x(l ) − x (k ) )2 ;
∑
k l =1
(9.84)
α - неотрицательный параметр, в общем случае выбираемый из сугубо
эмпирических соображений.
Как видно, для вычисления показателя Херста нужно иметь выборку
наблюдений. Получаемые при этом оценки имеют усредненный характер. Для
расчета в реальном времени соотношения (9.83), (9.84) следует записать в
рекуррентной форме. Несложно видеть, что [263]
x (k + 1) = x ( k ) +
σ 2 (k + 1) = σ 2 (k ) +
1
(x(k + 1) − x (k ) ),
k +1
(
(9.85)
)
1
(x(k + 1) − x (k + 1) )2 − σ 2 (k ) ,
k +1
y (l , k + 1) = y (l , k ) + ( x(k + 1) − x (k + 1) ),
y max (k + 1) = max{y max (k ), y (l , k + 1)} =
= y max (k ) − 0,5(1 − sign( y max (k ) − y (l , k + 1) )( y max (k ) − y (l , k + 1) )),
y min (k + 1) = min{y min (k ), y (l , k + 1)} =
(9.86)
(9.87)
(9.88)
= y min (k ) − 0,5(1 + sign( y min (k ) − y (l , k + 1) )( y min (k ) − y (l , k + 1) )),
(9.89)
S (k + 1) = y max (k + 1) − y min (k + 1),
(9.90)
откуда следует
H (k + 1) =
log S ( k + 1) − log σ (k + 1)
.
log α + log(k + 1)
(9.91)
212
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
Анализ выражения (9.91) показывает, что результат вычислений
существенным образом зависит от неопределенного параметра α и объема
имеющейся выборки, что может привести к получению для одной системы
качественно противоположных результатов.
Данную проблему легко разрешить с помощью нейросетевых технологий.
Для этого следует переписать (9.82) в виде
log
S (k )
= H log α + H log k ,
σ (k )
(9.92)
ввести обучающий сигнал
d (k ) = log
S (k )
,
σ (k )
(9.93)
настраиваемую структуру типа адаптивного линейного ассоциатора
y (k ) = θ + H log k
(9.94)
и воспользоваться алгоритмом обучения Уидроу-Хоффа для получения оценок
искомых параметров:
⎛θ (k + 1) ⎞ ⎛θ (k ) ⎞ d (k ) − θ (k ) − H (k ) log k
⎟⎟ +
⎜⎜
⎟⎟ = ⎜⎜
(
1
)
(
)
H
k
+
H
k
1 + (log k ) 2
⎠
⎝
⎠ ⎝
log α ( k + 1) =
θ (k + 1)
H (k + 1)
.
⎛1
⎞
⎟⎟,
⋅ ⎜⎜
log
k
⎝
⎠
(9.95)
(9.96)
На рис. 9.18 приведена архитектура для расчета показателя Херста H и
параметра системы α .
Наблюдая в реальном времени за вариациями показателя Херста, можно
сделать выводы о природе исследуемого сигнала. Так колебания H (k )
относительно уровня 0.5 свидетельствуют о стохастической природе
временного ряда, резкие уклонения от этого значения являются верным
признаком возникновения хаотических движений в системе.
Более сложной задачей, возникающей в анализе хаотических сигналов,
является динамическая реконструкция, состоящая в восстановлении модели,
генерирующей исследуемый временной ряд, по выборке x(1), x(2), …, x(k ), … .
При этом подобно классической задаче идентификации [46, 65, 109, 119] эта
проблема может рассматриваться в двух аспектах: параметрическая
реконструкция, когда структура модели задана, а требуется восстановить её
параметры, и структурная, когда априори не известны ни структура, ни
параметры модели.
213
+
x(k )
Σ
1
+
k
Σ
x (k )
+
−
z −1
+
Σ
−
x( k ) − x ( k )
×
+
−
Σ
1
+
k
+
σ 2 (k + 1)
Σ
•
z −1
+
S (k )
+
Σ
+
−
1
Σ
+
−1
+
+
1
Σ
−
−1
+
−
+
−
Σ
1
y min ( k )
Σ
×
−
Σ
θ
+
Σ
−
0.5
1
−
×
Σ
Σ
Алгоритм
обучения
z −1
z −1
+
d (k )
•
•
+
Σ
k
+
H
y max (k )
+
z −1
•
•
logα (k + 1)
H (k + 1)
Рис. 9.18 – Схема для расчета показателя Херста
Рассмотрим вначале ситуацию, когда реконструируемый
генерируется простейшей из моделей Мандельброта (9.67)
сигнал
xc (k + 1) = xc2 (k ) + θ ,
(9.97)
⎧ xc (k ) = x1 (k ) + ix 2 (k ),
⎨
⎩θ = θ 1 + iθ 2 , i = − 1.
(9.98)
где
Предполагается, что параметры θ 1 и θ 2 неизвестны.
Такая временная последовательность может быть получена с помощью
элементарной схемы, приведенной на рис. 9.19.
Переписав (9.97) в виде
⎛ x1 (k + 1) ⎞ ⎛ x12 (k ) − x 22 (k ) ⎞ ⎛θ 1 ⎞
⎟ + ⎜⎜ ⎟⎟ =
⎟⎟ = ⎜⎜
x (k + 1) = ⎜⎜
⎟
⎝ x 2 (k + 1) ⎠ ⎝ 2 x1 (k ) x 2 (k ) ⎠ ⎝θ 2 ⎠
⎛ψ 1 ( xc (k )) ⎞ ⎛θ 1 ⎞
⎟⎟ + ⎜⎜ ⎟⎟ = ψ ( xc (k ) ) + θ ,
= ⎜⎜
x
k
ψ
(
(
))
⎝ 2 c
⎠ ⎝θ 2 ⎠
(9.99)
введя вектор ошибок
214
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
×
+
+
z −1
Σ
x1 (k )
−
θ1
1
θ2
+
×
×
2
+
Σ
x2 (k )
z −1
Рис. 9.19 – Генератор хаоса
⎛ e1 (k ) ⎞
⎟⎟ = x(k ) I 2 − x (k ) = x( k ) I 2 − ψ ( xC (k − 1) ) − θ
e (k ) = ⎜⎜
⎝ e2 (k ) ⎠
(9.100)
и критерий обучения
E (k ) =
1
e (k )
2
2
=
2
1 ~
x (k ) − θ ,
2
(9.101)
можно записать рекуррентную процедуру его минимизации в виде
(
)
θ (k + 1) = θ (k ) + η (k ) ~x (k ) − θ (k ) ,
(9.102)
T
~
x (k ) = x(k ) I 2 − ψ ( xc (k − 1) ), I 2 = (1, 1) .
(9.103)
где
Несложно видеть, что (9.103) совпадает с алгоритмом самообучения
Кохонена (4.428), при этом восстановленные параметры позволяют получить
пару прогнозных значений наблюдаемого ряда в виде
xˆ (k + 1) = ψ ( x c (k ) ) + θ (k + 1).
(9.104)
Рассмотрим далее более сложную структуру комплексного хаотического
процесса
215
(
)
⎛ x1 (k + 1) ⎞ ⎛ w11 x12 (k ) − x 22 (k ) + θ 1 ⎞
⎟=
⎟⎟ = ⎜⎜
x (k + 1) = ⎜⎜
⎟
x
(
k
+
1
)
θ
w
x
(
k
)
x
(
k
)
+
⎝ 2
⎠ ⎝
⎠
21 1
2
2
(9.105)
⎛ w11ψ 1 ( xc (k ) ) + θ 1 ⎞ ⎛ w11 θ 1 ⎞ ⎛ ψ 1 ( xc (k ) ) 1⎞
⎟⎟ = ⎜⎜
⎟⎟ I 2 = WΨ ( xc (k ) )I 2 ,
⎟⎟⎜⎜
= ⎜⎜
ψ
θ
ψ
w
x
(
k
)
+
x
(
k
)
1
(
)
(
)
θ
w
2⎠
c
⎝ 21
2⎠ ⎝ 2
⎝ 21 2 c
⎠
где - символ скоттова произведения.
Переписав (9.105) покомпонентно
⎧⎪ x1 (k + 1) = (w11 , θ 1 )(ψ 1 ( xc (k )), 1)T = w1 Ψ1 ( xc (k ) ),
⎨
⎪⎩ x 2 (k + 1) = (w21 , θ 2 )(ψ 2 ( xc (k )), 1)T = w2 Ψ2 ( xc (k ) ),
(9.106)
можно уточнять неизвестные параметры с помощью стандартного алгоритма
Уидроу – Хоффа в форме
x(k ) − w1 (k )Ψ1 ( xc (k − 1) ) T
⎧
Ψ1 ( xC (k − 1) ),
⎪w1 (k + 1) = w1 (k ) + η
1 + ψ 12 ( xC (k − 1) )
⎪
⎨
⎪w (k + 1) = w (k ) + η x(k ) − w2 (k )Ψ2 ( xc (k − 1) ) Ψ T ( x (k − 1) )
2
2
c
⎪⎩ 2
1 + ψ 22 ( xc (k − 1) )
(9.107)
и на их основе строить пару одношаговых прогнозов
xˆ (k + 1) = W (k + 1)Ψ ( xC (k ) )I 2 .
(9.108)
Комплексный прогноз вещественного процесса x(k ) может быть
некоторым образом «свернут» с целью получения более точных результатов.
Для этого можно использовать простейшую аддитивную форму
xˆ (k + 1) = cxˆ1 (k + 1) + (1 − c )xˆ 2 (k + 1),
(9.109)
где c - некоторый параметр, определяющий точность прогнозирования.
Введя (k × 1) - векторы сигналов и ошибок
⎧ X (k ) = ( x(1), x( 2), …, x(k ) )T ,
⎪
T
⎪ Xˆ (k ) = ( xˆ (1), xˆ ( 2), …, xˆ (k ) ) ,
⎪ˆ
T
⎪ X i (k ) = ( xˆ i (1), xˆ i (2), …, xˆ (k ) ) , i = 1, 2,
⎨
⎪V (k ) = X (k ) − Xˆ (k ),
⎪
ˆ
⎪Vi (k ) = X (k ) − X i (k ), i = 1, 2,
⎪V (k ) = cV (k ) + (1 − c)V (k )
1
2
⎩
(9.110)
216
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
и решив дифференциальное уравнение
∂ V (k )
2
∂c
= 0,
(9.111)
можно получить пару соотношений
V2 (k ) − V1 (k )
⎧
T
,
2
⎪c(k ) = V2 ( k )
−
(
)
(
)
V
k
V
k
2
1
⎪
⎨
⎪1 − c(k ) = V T (k ) V1 (k ) − V2 (k ) .
1
2
⎪
V1 (k ) − V2 ( k )
⎩
(9.112)
Подставляя (9.112) в последнее уравнение (9.110), получаем
V (k ) = V2T (k )
(
V2 (k ) − V1 (k )
V2 (k ) − V1 (k )
2
V1 (k ) + V1T (k )
= V1 (k )V ( k ) − V2 ( k )V (k )
T
2
T
1
)
V1 (k ) − V2 (k )
V1 (k ) − V2 (k )
V1 (k ) − V2 (k )
V1 (k ) − V2 (k )
2
2
V2 ( k ) =
(9.113)
,
откуда следует
(
)
(
)
2
2
2
2
⎛
⎞
V (k ) = ⎜ V2 ( k ) − V1T ( k )V2 (k ) V1 (k ) + V1 (k ) − V1T (k )V2 (k ) V2 (k ) ⎟ ⋅
⎝
⎠ (9.114)
⋅ V1 ( k ) − V2 (k )
−4
.
Используя (9.114), несложно получить систему неравенств
(
)
2
2
⎧
V1 (k ) − V1T (k )V2 (k )
2
2
⎪ V (k ) − V1 (k ) = −
≤ 0,
2
⎪⎪
V1 (k ) − V2 (k )
⎨
2
2
⎪
V2 (k ) − V1T (k )V2 (k )
2
2
≤ 0,
⎪ V ( k ) − V2 ( k ) = −
2
V1 ( k ) − V2 (k )
⎪⎩
(
)
(9.115)
свидетельствующую о том, что точность прогноза (9.109) никогда не может
быть хуже, чем точность любой из компонент (9.108).
Для работы в реальном времени полученные соотношения следует
представить в рекуррентной форме, что можно сделать, введя новые
переменные
217
⎧V21 (k ) = V2 (k ) − V1 (k ),
⎪e ( k + 1) = x(k + 1) − xˆ (k + 1),
⎪1
1
⎨
⎪e2 ( k + 1) = x(k + 1) − xˆ 2 (k + 1),
⎪⎩e21 (k + 1) = e2 (k + 1) − e1 (k + 1)
(9.116)
e2 (k + 1)e21 (k + 1)
η (k )
⎧
,
⎪c(k + 1) = η (k + 1) c(k ) +
η (k + 1)
⎨
⎪η ( k + 1) = η (k ) + e 2 (k + 1).
⎩
21
(9.117)
и переписав (9.112) в виде
С учетом очевидных выражений
⎧V21 (k ) = Xˆ 1 (k ) − Xˆ 2 (k ),
⎨
⎩e21 ( k + 1) = xˆ1 (k + 1) − xˆ 2 (k + 1)
(9.118)
e2 (k + 1)( xˆ1 (k + 1) − xˆ 2 (k + 1) )
η (k )
⎧
+
=
+
,
c
k
(
)
c
k
(
1
)
⎪
η (k + 1)
η (k + 1)
⎨
⎪η (k + 1) = η ( k ) + ( xˆ (k + 1) − xˆ (k + 1) )2 .
⎩
1
2
(9.119)
окончательно получаем
На рис. 9.20 приведена схема нейрона, осуществляющего динамическую
реконструкцию хаотического процесса согласно соотношениям (9.107), (9.108),
(9.119).
Подобная схема может быть построена для любой из моделей хаоса (9.58)
- (9.67), подразумевая при этом, что внутренняя структура процесса известна.
Если же такой информации нет, возникает задача структурной реконструкции,
возможность решения которой определяется так называемой геометрической
теоремой вложения задержек [9], гласящей о том, что поведение нелинейной
динамической системы
⎧ x(k + 1) = Ψ ( x( k )),
⎨
⎩ y (k ) = F ( x(k )) + ξ (k ),
(9.120)
(где F ( x(k )) - скалярная функция, ξ (k ) - аддитивный случайный шум) может
быть достаточно точно аппроксимировано с помощью некоторого нелинейного
преобразования вектора наблюдений Y (k ) = ( y (k − 1), y (k − 2), …, y (k − p) )T , где p
- положительное целое число, называемое нормализованной вложенной
задержкой и удовлетворяющее условию
218
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
p ≥ 2n + 1.
(9.121)
z −1
×
+
Σ
w11
Σ
+
−
xˆ1 (k )
c
+
+
θ1
1
+
θ2
×
×
x(k )
+
w21
Σ
xˆ (k )
+
Σ
1− c
xˆ 2 (k )
z −1
Алгоритмы обучения (9.107), (9.119)
Рис. 9.20 – Нейрон для динамической реконструкции хаоса
В [260] для решения задачи прогнозирования хаотических временных
рядов было предложено использовать радиально-базисные нейронные сети,
благодаря их вычислительной простоте и высокой скорости обучения.
В [264] предложена архитектура многослойной радиально-базисной сети,
предназначенной для реконструкции и идентификации дискретных сигналов
произвольной структуры. Данная сеть приведена на рис. 9.21 и представляет
собой конструкцию, построенную из элементарных нейронов, отличающихся
между собой видом функций активации и алгоритмами обучения.
Анализируемый сигнал y (k ) подается на входной слой сети,
представляющий собой цепочку элементов задержки z −1 , в результате чего в
этом слое формируется вектор, образованный задержанными значениями
временного ряда Y (k ) = ( y (k − 1), y (k − 2), …, y (k − p) )T . Первый скрытый слой
образован h (h >> p ) нейронами, реализующими радиально-базисное
преобразование вектора входов Y (k ) вида
(
ϕ i ( k ) = Φ i Υ ( k ) − ci
2
Σ i−1
),
i = 1, 2, … , h,
(9.122)
а второй слой содержит линейные ассоциаторы, вычисляющие взвешенную
сумму
219
h
u j (k ) = ∑ w ji (k )ϕ i (k ),
j = 0, 1, 2, … , m.
(9.123)
i =1
z −1
y (k − 1)
u 0 (k ) = yˆ (k ) +
z −1
Φ
−
Σ
sign
Σ
y1d (k )
u1 (k )
−
d1 ( k )
Σ
+
sign
Φ
z −1
y (k − p)
Σ
wm1
z −1
y ( k − 2)
w01
w11
Φ
Φ
Σ
y 2d (k )
u 2 (k )
−
d 2 (k )
Σ
+
sign
w0 h
wmh
Σ
u m (k )
y md (k )
−
Σ
d m (k )
+
e0 (k ) e1 (k ) e2 (k ) em (k )
Алгоритм
обучения
Рис. 9.21 – Нейронная сеть для динамической реконструкции и идентификации
сигналов
Выход нулевого ассоциатора u 0 (k ) является прогнозирующим выходом
сети, на котором появляется реконструированное значение входного сигнала
u 0 (k ) = yˆ (k ) , а остальные сигналы u j (k ), j = 1, 2, …, m преобразуются с помощью
активационной сигнум-функции
y j (k ) = sign u j (k ),
j = 1, 2, …, m.
(9.124)
Таким образом, данная архитектура содержит p элементов задержки, h
радиально-базисных нейронов, адаптивный линейный ассоциатор, m
персептронов Розенблатта с активационными сигнум-функциями и общим
количеством (m + 1)h настраиваемых синаптических весов. По нулевому выходу
yˆ (k ) - это фактически схема нейросетевого прогнозирования (см. рис. 4.8), а
остальные выходы y dj (k ) являются диагностирующими и служат для
идентификации сигналов: стохастический, хаотический, полигармонический и
т. п.
Для обучения сети по нулевому выходу может быть использован любой из
линейных алгоритмов, рассмотренных в подразделе 4.3, в том числе и один из
наиболее популярных – алгоритм Уидроу-Хоффа
220
9 НЕЙРОДИНАМИКА И РЕКУРРЕНТНЫЕ СЕТИ
w0 (k + 1) = w0 (k ) + η
y (k ) − w0T (k )ϕ (k )
ϕ (k )
2
= w0 (k ) + ηe0 (k ) ϕ (k )
−2
,
(9.125)
где ϕ (k ) = (ϕ 1 (k ), ϕ 2 (k ), …, ϕ h (k ) )T - вектор выходных сигналов радиальнобазисного слоя.
Для остальных выходов применяется персептроный алгоритм обучения
(
)
w j (k + 1) = w j (k ) + η (k ) d j (k ) − sign wTj (k )ϕ (k ) ϕ (k ) =
= w j (k ) + η ( k )e j (k )ϕ (k ),
j = 1, 2, … , m,
(9.126)
где d j (k ) ∈ {−1, 1} - обучающий сигнал, принимающий значение 1 , если
контролируемая последовательность находится в j -м состоянии, например,
хаотическом, и − 1 - в противном случае. Естественно, что в обучающей
выборке должны присутствовать все возможные состояния сигнала, ибо в
противном
случае
некоторые
из
«не
предъявленных»
структур
последовательности y (k ) сеть просто не распознает.
Вводя общий критерий идентификации
m
m
m
j =1
j =1
j =1
(
)
E (k ) = ∑ E j (k ) =∑ e j (k )u j (k ) = ∑ d j (k )u j (k ) − u j (k ) =
m
(
(9.127)
)
= ∑ d j (k ) − sign wTj ϕ (k ) wTj ϕ (k ),
j =1
можно записать алгоритм
персептронов в форме
одновременного
W (k + 1) = W (k ) +
обучения
d (k ) − sign W (k )ϕ (k )
l + ϕ (k )
2
всех
ϕ T (k ),
выходных
(9.128)
где d (k ) = (d1 (k ), d 2 (k ), …, d m (k ) )T ,
sign (u1 (k ), u 2 (k ),… , u m ( k ) ) = (sign u1 ( k ), sign u 2 (k ), … , sign u m (k ) ) ,
T
T
⎛ w1T (k ) ⎞
⎜
⎟
⎜ w2T (k ) ⎟
W (k + 1) = ⎜
⎟ - (m × h) - матрица настраиваемых синаптических весов, l
⎜
⎟
⎜ wT ( k ) ⎟
⎝ m ⎠
- параметр регуляризации (см. например, (4.71)). Можно заметить, что
процедура (9.128) является обобщением алгоритма обучения, предложенного в
[47].
221
Таким образом, предложенная нейронная сеть, являющаяся развитием
радиально-базисных структур, обеспечивает наряду с реконструкцией
(прогнозированием
в
терминах
традиционных
нейронных
сетей)
идентификацию сигналов, т.е. обнаружение в реальном времени возникающих
изменений и диагностику временных последовательностей в условиях
структурной и параметрической неопределенности.
222
10 НЕЙРОННЫЕ СЕТИ АССОЦИАТИВНОЙ ПАМЯТИ
10 НЕЙРОННЫЕ СЕТИ АССОЦИАТИВНОЙ ПАМЯТИ
Одним из важных свойств биологического мозга является способность к
запоминанию информации и ее последующему восстановлению с помощью
системы ассоциаций, при этом однажды увиденный когда-то образ может быть
опознан даже спустя длительное время, несмотря на все произошедшие с ним
изменения. Эту функцию мозга моделирует достаточно широкий класс ИНС,
называемых нейронными сетями ассоциативной памяти [4, 7, 9].
Такая искусственная память представляет собой, как правило, нейронную
сеть либо с прямой передачей информации, либо рекуррентную, которая в
режиме обучения накапливает предъявляемые ей образы (чаще всего в
векторной форме), а в режиме восстановления вызывает их из памяти,
ассоциируя вновь предъявляемые данные с ранее увиденными.
В отличие от стандартных блоков памяти ЦВМ, в ассоциативной памяти
информация «размазывается» по всему множеству нейронов, входящих в сеть,
что естественно повышает надежность ее хранения; доступ к информации
производится по содержанию, а не по адресу; предусмотрена возможность
устойчивой работы с искаженной или неполной информацией, что позволяет
правильно опознавать по «зашумленному» фрагменту образ в целом.
На рис. 10.1 приведена простейшая архитектура ИНС ассоциативной
памяти, представляющая собой по сути элементарную однослойную сеть с
прямой передачей информации.
x1 ( k )
ψ
y1 (k )
x2 (k )
ψ
y2 ( k )
ψ
ym (k )
x3 (k )
xn (k )
Рис. 10.1 – Элементарная ИНС ассоциативной памяти
Основное отличие этой сети, состоит в том, что если обычная ИНС
реализует однозначное отображение
R m ∋ y (k ) = F ( x(k ) ∈ R n ),
(10.1)
то ассоциативная память (АП) отображает в y (k ) все возможные векторы
входов x , принадлежащие некоторой окрестности x(k ) такой, что x − x(k ) < ε .
К настоящему времени распространение получили три основные типа АП:
¾ гетероассоциативные сети, реализующие отображение
223
x ∈ R n → y (k ) ∈ R m ,
(10.2)
для всех x , принадлежащих окрестности x − x(k ) < ε ;
¾ автоассоциативные сети, являющиеся специальным
гетероассоциативных и реализующих отображение
x ∈ R n → x(k ) ∈ R n
подклассом
(10.3)
для всех x , принадлежащих окрестности x − x(k ) < ε , т.е. ассоциирующие
каждый образ с самим собой. Основная функция таких сетей – восстановление
неполной и искаженной информации, например, узнавание образа по обрывку
старой фотографии;
¾ сети для распознавания образов, также являющиеся частным случаем
гетероассоциативных, в которых каждый входной вектор x
ассоциируется со скаляром y (k ) , т.е.
x ∈ R n → y (k ) ∈ R1
(10.4)
для всех x , принадлежащих окрестности x − x(k ) < ε . Основная задача,
решаемая такой сетью – идентификация «имени» входного образа.
На рис. 10.2 приведены три основных типа АП.
x1 (k )
x2 (k )
x n (k )
Гетероассоциативная
сеть
x1 (k )
x2 ( k )
x n (k )
y1 (k )
y 2 (k )
x1 (k )
x2 (k )
ym (k )
x n (k )
Сеть для расспознавания
образов
Автоассоциативная
сеть
x1 (k )
x2 (k )
x n (k )
y (k )
Рис. 10.2 – Типы ИНС ассоциативной памяти
10.1 Корреляционная матрица-память
Если в качестве нейронов ψ схемы, приведенной на рис. 10.1,
использовать обычные линейные ассоциаторы, приходим к АП, получившей
название корреляционной матрицы-памяти [264].
Рассмотрим вначале простейшую ситуацию, когда заданный набор
входных образов x(1), x(2),… , x( N ) необходимо ассоциировать с заданным же
224
10 НЕЙРОННЫЕ СЕТИ АССОЦИАТИВНОЙ ПАМЯТИ
набором выходных образов y (1), y (2),… , y ( N ) . Вводя в рассмотрение (n × N ) матрицу стимулов или ключей X = ( x(1), x(2),…, x( N )) и (m × N ) -матрицу
запомненных образов Y = ( y (1), y (2), …, y ( N )) , несложно записать отображение,
реализуемое гетероассоциативной
Y = WX
(10.5)
X = WX ,
(10.6)
и автоассоциативной памятью
где W − (m × n) - матрица подлежащих определению синаптических весов.
В простейшем случае когда m = n = N и X − (n × n) - невырожденная
матрица (все векторы-ключи x(k ) , k = 1, 2,…, N линейно независимы), матрица
W может быть найдена путем решения системы линейных уравнений
W = YX −1 .
(10.7)
Рассмотренный пример имеет сугубо иллюстративный характер;
фактически же каждый ключ x(k ) может быть ассоциирован с запомненным
образом y (k ) с помощью собственной матрицы весов w(k )
y (k ) = w(k ) x(k ), k = 1, 2, … , N
(10.8)
или в скалярной форме
n
y j (k ) = ∑ w ji (k ) xi (k ), j = 1, 2, … , m,
(10.9)
i =1
где w ji (k ) - синаптические веса j − го нейрона, соответствующие k − й паре
ассоциируемых образов.
Таким образом, для каждой пары x(k ) , y (k ) существует матрица w(k ) , а
для всего множества образов может быть задана обобщенная матрица
синаптических весов
N
W = ∑ w(k ),
(10.10)
k =1
определяющая усредненную связь между входами и выходами ассоциативной
памяти. Несложно видеть, что (10.10) может вычисляться рекуррентно
W (k + 1) = W (k ) + w(k + 1), W (0) = 0 ⋅ I ,
(10.11)
225
при этом чем больше N , тем меньше влияние каждой отдельной пары образов
на конечный результат.
Дж. Андерсон постулировал [265], что в качестве оценки матрицы W
можно использовать выражение
N
W ( N ) = ∑ y (k ) x T (k ) = YX T ,
(10.12)
k =1
имеющее также рекуррентную форму
W (k + 1) = W (k ) + y (k + 1) x T (k + 1), W (0) = 0 ⋅ I .
(10.13)
Для случая нормированных и центрированных векторов x(k ) , y (k )
выражение (10.12) описывает корреляционную матрицу сигналов, а
рекуррентное соотношение (10.13) представляет собой модификацию
рассмотренного в подразделе 4.7.1 хэббовского правила обучения.
Таким образом, обучение корреляционной матрицы-памяти сводится к
рекуррентному вычислению ее синаптических весов с помощью правила
(10.13) в процессе последовательного предъявления обучающих пар образов
x(k ), y (k ), k = 1, 2, …, N .
Процесс восстановления запомненной информации состоит в том, что при
предъявлении сети одного из ранее показанных образов x( p ) или достаточно
близкого к нему ( x − x( p) < ε ) на выходе должен появиться сигнал y ( p) ,
p = 1, 2, … , N .
Итак, при подаче на вход АП ключа x( p ) фактический сигнал на выходе
согласно (10.12) имеет вид
N
(
)
N
(
)
y = ∑ y (k ) x (k ) x( p ) = x ( p ) x( p ) y ( p ) + ∑ x T ( k ) x( p ) y (k ) .
T
k =1
T
k =1
k≠ p
(10.14)
Если же векторы-стимулы предварительно пронормированы так, что
x(k ) = 1, k = 1, 2, …, N ,
(10.15)
то (10.14) может быть переписано в форме
N
(
)
y = y ( p ) + ∑ x T (k ) x( p ) y (k ) = y ( p ) + ν ( p ),
k =1
k≠ p
(10.16)
где y ( p ) - представляет собой полезную часть сигнала y , т.е. желаемый отклик
сети, а ν ( p ) - вектор шума (crosstalk), описывающий корреляцию между
226
10 НЕЙРОННЫЕ СЕТИ АССОЦИАТИВНОЙ ПАМЯТИ
ключевым вектором x( p) и остальными стимулами x(k ), k ≠ p , накопленными
АП. Именно вектор ν ( p) и порождает ошибки в процессе восстановления.
Вводя косинус угла между векторами x( p ) и x(k )
cos( x( k ), x( p )) = cosθ =
x T (k ) x( p )
,
x(k ) x( p)
(10.17)
который с учетом (10.15) вычисляется как
cos( x( k ), x( p )) = cosθ = x T (k ) x( p ),
(10.18)
шумовую компоненту можно переписать в виде
N
ν ( p) = ∑ cos( x(k ), x( p) ) y (k ),
(10.19)
k =1
k≠ p
откуда следует, что при ортогональных входных векторах
cos ( x(k ), x( p )) = 0 при k ≠ p ,
(10.20)
т.е. восстановление производится безошибочно.
Поскольку в n -мерном пространстве может существовать не более n
ортогональных векторов, очевидно, что корреляционная матрица-память точно
может восстановить не больше n образов.
Вместе с тем в реальных ситуациях входные векторы достаточно редко
бывают ортогональными, а поэтому ошибки при восстановлении неизбежны. В
связи с этим достаточно остро встает вопрос о предельной емкости АП или, что
то же самое, о максимальном количестве образов, которое может быть надежно
запомнено.
В связи с этим для заданной обучающей выборки X , Y вводится понятие
общности, как нижней границы всех возможных произведений
ε 1 = min{x T (k ) x( p)} .
∀k , p
(10.21)
Чем больше значение ε 1 для данной выборки, тем чаще будет ошибаться
сеть в режиме восстановления и, наоборот, чем ниже эта граница, тем надежнее
работает сеть, предельная емкость которой определяется рангом матрицы
W ( N ) , т.е. rank W (k ) ≤ min{n, m}.
Улучшить характеристики корреляционной матрицы-памяти можно,
модифицировав правила ее обучения на основе идей псевдообращения и
ортогонального проецирования [4, 122].
227
Матрицы w(1), w(2),… , w( N ) в (10.8), (10.10) можно интерпретировать
геометрически, для чего рассмотрим вначале матрицу синаптических весов
w(1) = x(1) x T (1)
(10.22)
автоассоциативной памяти.
Любой входной вектор x , поданный в сеть, проецируется на линейное
подпространство, образованное вектором x(1) , поскольку
w(1) x = x(1) x T (1) x = x T (1) xx(1) = a1 x(1),
(10.23)
где a1 - некоторая константа.
Таким образом матрица w(1) представляет собой в общем случае
неортогональный проекционный оператор в одномерное подпространство, что
также можно сказать и о любой из матриц w(2), w(3),…, w( N ) . Матрица
N
N
k =1
k =1
W ( N ) = ∑ x( k ) x T (k ) = ∑ w(k )
(10.24)
с этой точки зрения описывает линейное преобразование, проецирующее
вектор x на линейное подпространство натянутое на векторы x(1), x(2),… , x( N )
так, что
W ( N ) x = w(1) x + w(2) x + … + w( N ) x = a1 x(1) + a 2 x(2) + … + a N x( N ).
(10.25)
При этом W ( N ) в общем случае не является ортогональным проектором.
Подобная интерпретация подтверждает вывод о том, что хэббовское
обучение позволяет обеспечить хорошее восстановление при ортогональных
обучающих входах, что возможно только при N ≤ n . В противном случае
шумовая составляющая
v( p ) =
∑ (x
N
k =1
k≠ p
T
)
(k ) x( p ) x(k ) =
N
∑ a k x( k )
(10.26)
k =1
k≠ p
может просто подавить полезный сигнал.
Переходя к более общему случаю, вернемся к отображению (10.5) при
m ≠ n ≠ N , неортогональных входах x(1), x(2),… , x( N ) и необратимой матрице
X . Именно эта ситуация наиболее часто возникает при решении реальных
задач.
Естественно, что о решении системы уравнений (10.7) в данном случае не
может быть и речи, однако из линейной алгебры известно [122], что матричная
сферическая норма
228
10 НЕЙРОННЫЕ СЕТИ АССОЦИАТИВНОЙ ПАМЯТИ
Y − WX = Tr (Y − WX )T (Y − WX )
(10.27)
минимизируется матрицей
W = YX + ,
(10.28)
где X + − ( N × n) - матрица псевдообратная к X . Матрица X + является в
некотором смысле наилучшей аппроксимацией обратной, всегда существует,
единственна и если X обратима, то X + = X −1 .
Псевдообратная матрица имеет целый ряд характерных свойств, среди
которых нам потребуются
⎧⎪ XX + X = X ,
⎨ +
⎪⎩ X XX + = X + ,
x + (k ) = x T (k ) x(k )
(10.29)
−2
,
(10.30)
а также симметричность XX + и X + X .
Сферическая норма (10.27) имеет ясную интерпретацию с точки зрения
2
подразумевает минимизацию
задачи обучения АП. Минимизация Y − WX
суммы квадратичных норм векторов y (k ) − Wx(k ) для всех пар ассоциируемых
образов k = 1, 2,…, N . Несложно видеть корректность тождества
Wx(k ) = y (k ) + (Wx(k ) − y (k )),
(10.31)
а поскольку желаемым результатом на выходе сети есть сигнал y (k ) , то член
Wx(k ) − y (k ) может рассматриваться как crosstalk ν (k ) (10.16), минимизация
которого подавляет шум, вызывающий ошибки в процессе восстановления.
Возвращаясь
к
выражениям
(10.22)-(10.26),
описывающим
неортогональное проецирование на подпространство натянутое на множество
векторов-стимулов, и используя операцию псевдообращения, найдем оператор
ассоциативной памяти, обеспечивающий ортогональное проецирование на это
подпространство.
Преимущества ортогонального проецирования поясним на примере
автоассоциирования.
Автоассоциативная память каждый входной образ должна ассоциировать с
ближайшим к нему вектором-стимулом и именно этот стимул должен
появляться на выходе в качестве результата. В случае неортогонального
проецирования возможно возникновение неверных ассоциаций, что
иллюстрируется рис. 10.3.
229
x
x
~
x
~
x
x(2)
x (1)
x̂
x̂
x(2)
x(1)
Рис. 10.3 – Проекции вектора x
Входной вектор x проецируется ортогонально и неортогонально на
пространство, натянутое на векторы x(1) и x(2) . Пусть вектор x ближе к x(2) ,
чем к x(1) , при этом его ортогональная проекция x̂ также ближе к x(2) . В
случае же неортогонального проецирования проекция может оказаться ближе к
x(1) , как это показано на правом рисунке, что естественно ведет к
неправильным результатам. Ясно, что ортогональная проекция лучше.
Используем в качестве расстояния между входными и ключевыми
векторами их скалярное произведение
D = x T x(k ) = ( xˆ + ~
x ) x( k ) = xˆ T x(k ),
(10.32)
где x̂ - ортогональная проекция на векторное подпространство стимулов, а
~
x = x − xˆ . Уравнение (10.32) говорит о том, что в смысле введенного расстояния
в результате ортогонального проецирования исходная информация не
искажается.
Рассмотрим далее N n − мерных векторов x(1), x(2),… , x( N ), N < n и введем
ортогональную проекцию x̂ произвольного входного вектора x ≠ 0 на
подпространство, натянутое на N введенных ключей.
В этом случае
x = xˆ + ~
x,
(10.33)
где ~x ортогонален x(1), x(2),… , x( N ) . Найдем далее (n × n) − матрицу-оператор
W такую, что
Wx = x̂.
(10.34)
Поскольку ~x = x − xˆ , то матрица W должна удовлетворять уравнениям
~
x = (I − W ) x
(10.35)
и
230
10 НЕЙРОННЫЕ СЕТИ АССОЦИАТИВНОЙ ПАМЯТИ
XT~
x =0
(10.36)
в силу ортогональности ~x всем x(k ) .
Решение (10.35) может быть записано в виде
~
x = ( I − ( XX + ) T ) x,
(10.37)
XT~
x = X T ( I − ( XX + ) T ) x = ( X T − X T X + X T ) x = ( X T − X T ) x = 0.
(10.38)
поскольку в этом случае
T
Анализируя (10.35) и (10.37) с учетом симметричности XX + , приходим к
выводу, что оператор
W = XX +
(10.39)
и ортогональная проекция единственны. Таким образом, ортогональная
проекция вектора x может быть вычислена путем его умножения на матрицу
XX + .
Рассмотрим далее ситуацию, когда количество стимулов N больше, чем
размерность входного пространства n . Поставим в соответствие набору
стимулов x(1), x(2),… , x( N ) N действительных чисел y (1), y (2),… , y ( N ) и введем
в рассмотрение (1 × n) - матрицу W такую, что
y T = WX ,
(10.40)
где y T = ( y (1), y (2),… , y ( N )) − (1 × N ) − вектор.
Как известно, в общем случае не существует точного решения этой
системы из N линейных уравнений с n неизвестными, однако минимизация
векторной нормы y T − WX
2
приводит к решению
W = yT X + ,
(10.41)
являющемуся по сути оценкой наименьших квадратов стандартного
регрессионного анализа.
Для нахождения псевдообратной матрицы предложено достаточно много
численных процедур [122], однако для работы в реальном времени гораздо
удобнее отыскивать веса непосредственно матрицы W путем минимизации на
каждом такте квадратичной нормы
2
E j (k ) = y (k ) − Wx(k ) .
(10.42)
231
Для этого может быть использована элементарная ИНС с прямой
передачей информации, архитектура которой приведена на рис. 10.4. Данная
сеть содержит лишь линейные ассоциаторы и блоки умножения. На каждом
n
такте осуществляется сравнение сигналов y j (k ) и u j (k ) = ∑ w ji xi (k ), ошибки
i =1
e j (k ) = y j (k ) − u j (k ) возводятся в квадрат, суммируются, после чего с помощью
любого из линейных алгоритмов обучения, рассмотренных в подразделе 4.3,
осуществляется настройка синаптических весов w ji , j = 1,2,…, m; i = 1,2,…, n
путем минимизации критерия обучения (10.42).
W = {w ji }
x1 ( k )
x2 ( k )
xn (k )
Σ
u1 ( k ) +
Σ
u2 (k )
Σ
um (k )
w11 +
w21
+
++
wm1 +
+
+
+
+ +
w2 n
+
wmn
Δw ji (k )
Σ
−
+
y1 (k )
−
Σ
+
e1 ( k )
Σ
e (k )
e2 ( k )
y2 ( k )
−
ym (k )
m
× × ×
+
+
Алгоритм
обучения
Σ
+
E j (k )
Рис. 10.4 – ИНС для определения синаптических весов ассоциативной памяти
Таким образом, корреляционная матрица-память должна работать
совместно с нейронной сетью, вычисляющей ее параметры.
Несмотря на достаточно высокие надежность и точность рассмотренной
АП, ее использование для решения практических задач весьма ограничено в
силу слишком большого числа синаптических весов, резко возрастающего при
обработке образов, заданных в виде матрицы.
232
10 НЕЙРОННЫЕ СЕТИ АССОЦИАТИВНОЙ ПАМЯТИ
10.2 Автомат собственных векторов
Наряду с ИНС с прямой передачей информации ассоциативная память
может быть реализована и на основе рекуррентных сетей, простейшая из
которых, называемая автоматом собственных векторов [4], приведена на рис.
10.5.
z −1
z −1
z −1
x1 (k ) w
11 +
w21 +
x2 ( k )
w1n
xn (k )
Σ
++
wn1 +
+
+
+
+ +
w2 n
wnn
+
x1 (k + 1)
Σ
x2 (k + 1)
Σ
xn ( k + 1)
Рис. 10.5 – Автомат собственных векторов
Данная сеть, содержащая n линейных ассоциаторов и n элементов
задержки z −1 , реализует линейное отображение
x(k + 1) = Wx(k )
(10.43)
и используется в качестве автоассоциативной памяти.
Возможность применения этой сети в качестве АП связана с
существованием для заданной матрицы W фиксированного вектора x * такого,
что
Wx * = x * ,
(10.44)
являющегося собственным вектором матрицы W с единичным собственным
числом.
Автомат собственных векторов представляет собой линейную
динамическую систему в пространстве состояний, устойчивость которой
определяется собственными значениями матрицы W .
233
Заметим, что далеко не все матрицы синаптических весов обеспечивают
устойчивые состояния сети. Так, например, оператор поворота на 90 0 в
двумерном пространстве
⎛ 0 1⎞
⎟⎟
W = ⎜⎜
⎝ −1 0⎠
не имеет устойчивых состояний, вместо которых существует множество
циклов.
В качестве ассоциативной памяти может использоваться рекуррентная сеть
с матрицей W , имеющей n линейно независимых собственных векторов
x1 , x 2 , …, x n и n собственных чисел λ1 , λ 2 ,…, λ n , удовлетворяющих уравнению
Wx i = λi x i , i = 1,2, … , n,
(10.45)
при этом без потери общности собственные числа можно упорядочить так,
чтобы λ1 > λ 2 > … λ n .
Пусть λ1 > 0 и x(0) - ненулевой n − мерный произвольный вектор, который
может быть выражен в виде линейной комбинации n собственных векторов
x(0) = a1 x1 + a 2 x 2 + … + a n x n .
(10.46)
Если все коэффициенты ai ненулевые, то сигнал на выходе ИНС после
одного такта работы сети может быть записан в виде
x(1) = Wx(0) = W (a1 x1 + a 2 x 2 + … + a n x n ) = a1λ1 x1 + a 2 λ 2 x 2 + … + a n λ n x n , (10.47)
а после k тактов – в виде
x(k ) = a1λ1k x1 + a 2 λk2 x 2 + … + a n λkn x n .
(10.48)
Ясно, что при больших k значение λ1k «подавляет» все остальные компоненты
(10.48), т.е. входной вектор x(0) в процессе итераций подтягивается к вектору
x1 , таким образом ассоциируясь с ним. В качестве иллюстрации рассмотрим
матрицу синаптических весов
⎛ 2 0⎞
⎟⎟
W = ⎜⎜
0
1
⎠
⎝
с собственными векторами x1 = (1,0) T , x 2 = (0,1) T и собственными числами
λ1 = 2, λ 2 = 1 . После k итераций любой начальный вектор x(0) = ( x1 (0), x 2 (0)) T с
234
10 НЕЙРОННЫЕ СЕТИ АССОЦИАТИВНОЙ ПАМЯТИ
x1 (0) ≠ 0 преобразуется в x(k ) = (2 k x1 (0), x 2 (0)) T сколь угодно близкий (в смысле
угла) к собственному вектору x1 = (1,0) T . На языке теории динамических систем
вектор x * = (1,0) T является аттрактором всех векторов с ненулевой первой
компонентой.
Таким образом, если в качестве собственных векторов матрицы W
использовать векторы-стимулы x(1), x(2),… , x( N ), N ≤ n , автомат собственных
векторов приобретает свойства автоассоциативной памяти.
10.3 Ассоциативная память Хопфилда
Ассоциативная память Хопфилда представляет собой по сути
рекуррентную нейронную сеть Хопфилда, рассмотренную в подразделе 9.1 и
используемую в качестве автоассоциативной памяти, адресуемой по
содержанию. Память Хопфилда предназначена для запоминания N бинарных
n − мерных векторов ( N < n) , при этом каждому из векторов-стимулов
x(k ), k = 1, 2, … , N соответствует определенное устойчивое состояние (аттрактор)
сети.
Нейроны памяти Хопфилда имеют активационную сигнум-функцию
⎛ n
⎞
x j ( k + 1) = sign u j (k + 1) = sign⎜⎜ ∑ w ji x(k ) + θ j ⎟⎟,
⎝ i =1
⎠
k = 1, 2, …, N ; j , i = 1, 2,… , n,
(10.49)
а отображение, реализуемое сетью, может быть записано в виде
x(k + 1) = sign(Wx(k ) + θ ),
(10.50)
где W − (n × n) − матрица синаптических весов, θ − (n × 1) − вектор смещений,
часто полагаемый нулевым.
Данная память обучается с помощью модифицированного хэббовского
правила, учитывающего тот факт, что диагональные элементы матрицы
синаптических весов должны быть нулевыми
⎧w ji (k ) + x j (k + 1) xi (k + 1) при j ≠ i,
w ji (k + 1) = ⎨
⎩0 при j = i,
(10.51)
или
N
W ( N ) = ∑ x(k ) x T (k ) − NI = XX T − NI .
(10.52)
k =1
Иногда выражение (10.52) нормируется на размерность входного пространства
235
W (N ) =
(
)
1 N
N
1
x( k ) x T (k ) − I = XX T − NI ,
∑
n k =1
n
n
(10.53)
что придает синаптическим весам сети w ji смысл коэффициентов взаимной
корреляции.
После предъявления сети первого вектора-стимула x(1) , ее матрица
синаптических весов приобретает вид
w(1) = x(1) x T (1) − I .
(10.54)
При этом энергетическая функция E ( x) (при нулевых смещениях) может быть
записана в форме
1
1
E ( x) = − x T w(1) x = − x T ( x(1) x T (1) − I ) x,
2
2
(10.55)
а с учетом того, что для биполярных бинарных векторов выполняется условие
x T x = n,
(10.56)
(10.55) можно переписать следующим образом:
n
1
E ( x) = − ( x T x(1)) 2 + .
2
2
(10.57)
Минимум (10.57) достигается в точке [4] x * = x(1) , при этом
E( x* ) = −
n2 n
+ .
2 2
(10.58)
Это означает, что любой предъявляемый образ x сетью с матрицей весов
(10.54) будет ассоциирован с аттрактором x * = x(1) .
В случае N линейно независимых образов-стимулов, синаптическая
матрица приобретает форму
N
W ( N ) = ∑ w(k ) = ( x(1) x T (1) − I ) + ( x(2) x T (2) − I ) + … +
k =1
(10.59)
+ ( x( N ) x T ( N ) − I ) = x(1) x T (1) + x(2) x T (2) + … + x( N ) x T ( N ) − NI ,
при этом, если сети после обучения вновь предъявить образ x(1) , внутренний
сигнал активации u (1) принимает значение
236
10 НЕЙРОННЫЕ СЕТИ АССОЦИАТИВНОЙ ПАМЯТИ
u (1) = W ( N ) x(1) = x(1) x T (1) x(1) + x(2) x T ( 2) x(1) + … +
N
+ x( N ) x T ( N ) x(1) − Nx(1) = (n − N ) x(1) + ∑ a1k x(k ),
(10.60)
k =2
где коэффициенты a1k представляют собой скалярные произведения вектора
x(1) на все остальные N − 1 ключей x(2), x(3),…, x( N ) . При N < n и малости
crosstalk-члена ∑ a1k x(k ) приходим к условию, описывающему устойчивое
функционирование памяти
sign u (k ) = sign x(k ).
(10.61)
Естественно, что наилучшие условия возникают при ортогональных
стимулах, когда все скалярные произведения a1k обращаются в нуль, однако
поскольку в реальных задачах обучающие векторы x(k ) практически никогда
не ортогональны, условие (10.61) обеспечивается за счет первого слагаемого
(n − N ) x(1) суммы (10.60). При этом обычно полагается N = 0.15n , т.е. в общем
случае память Хопфилда характеризуется невысокой емкостью.
В ряде случаев при высоком уровне корреляции векторов-стимулов с
помощью хэббовского обучения не удается найти матрицу синаптических
весов, обеспечивающую устойчивое функционирование памяти, в связи с чем в
[4] для обучения сети Хопфилда было предложено использовать так
называемый персептронный алгоритм настройки синаптических весов.
Название «персептронный алгоритм» связано с тем, что каждый нейрон
памяти Хопфилда представляет собой по сути элементарный персептрон
Розенблатта с сигнум-функцией активации и смещением θ j .
Для того, чтобы произвольный вектор x = ( x1 , x 2 ,… , x n ) T соответствовал
устойчивому состоянию-аттрактору сети, синаптические веса должны
удовлетворять системе неравенств вида
⎧− для первого нейрона : sign x1 (0 + w12 x 2 + w13 x3 + … + w1n x n − θ 1 ) < 0,
⎪− для второго нейрона : sign x ( w x + 0 + w x + … + w x − θ ) < 0,
⎪
2
21 1
23 3
2n n
2
(10.62)
⎨
⎪
⎪− для n − го нейрона : sign x n ( wn1 x1 + wn 2 x 2 + … + wn n −1 x n −1 + 0 − θ n ) < 0.
⎩
Данная
система
неравенств
содержит
n(n − 1) 2
неизвестных
синаптических весов и n смещений. Для нахождения неизвестных параметров
введем (n + n(n − 1) 2) − мерный вектор v , содержащий синаптические веса
w ji ( j < i ) и смещения, такой, что
v = ( w12 , w13 , … , w1n , w23 , w24 , … , w2 n , … , wn −1, n , − θ 1 ,−θ 2 , … ,−θ n ) T ,
n −1
n−2
1
(10.63)
n
237
и n вспомогательных (n + n(n − 1) 2) − мерных векторов
⎧ z1 = ( x 2 , x3 , …, x n ,0, 0, … ,1,0, …,0) T ,
⎪
n
n −1
⎪
⎪ z 2 = ( x1 ,0, … , 0, x3 , … , x n ,0, 0, …, 0,1,… ,0) T ,
⎪
n
n −1
n−2
⎨
⎪
⎪
⎪ z n = (0,0, …, x1 , 0,0, …, x 2 ,0, 0, … , 0,0, …,1) T ,
⎪⎩
n
n −1
n−2
(10.64)
после чего система (10.62) может быть переписана в виде
⎧− для первого нейрона : sign x1 z1T v > 0,
⎪
T
⎪− для второго нейрона : sign x 2 z 2 v > 0,
⎨
⎪
⎪− для n − го нейрона : sign x z T v > 0.
n n
⎩
(10.65)
Система неравенств (10.65) описывает по сути задачу линейного
разделения
векторов
z1 , z 2 ,…, z n
путем
нахождения
вектора
v,
удовлетворяющего каждому из неравенств, и может быть решена, например, с
помощью алгоритма обучения (4.108) или любой из стандартных процедур,
используемых в теории распознавания образов [94-97].
В случае, если необходимо запомнить N векторов x(1), x(2),… , x( N ) ,
рассмотренные выше преобразования осуществляются над каждым из
векторов-стимулов, в результате чего возникает задача линейного разделения
Nn вспомогательных векторов z p , p = 1,2,…, Nn .
Таким образом задача нахождения синаптических весов и смещений
памяти Хопфилда может быть сведена к задаче обучения элементарного
персептрона Розенблатта с сигнум-функцией активации и n(n + 1) 2
настраиваемыми весами. При этом на каждом такте может подстраиваться
только один нейрон. Так, например, решение первого неравенства из системы
(10.63) позволяет уточнить параметры w12 , w13 ,…, w1n ,θ 1 и т.д.
Несмотря на свою небольшую емкость, сеть Хопфилда благодаря простоте
реализации получила достаточно широкое распространение в качестве
ассоциативной памяти.
10.4 Двунаправленная ассоциативная память
Обобщением
автоассоциативной
памяти
Дж. Хопфилда
является
238
10 НЕЙРОННЫЕ СЕТИ АССОЦИАТИВНОЙ ПАМЯТИ
гетероассоциативная (двунаправленная) память Б. Коско [266], архитектура
которой приведена на рис. 10.6.
x1 (k ) w
11 +
w21
+
+
wm1 +
+
x2 (k )
+
+
+
w1n
+ +
xn (k ) w2 n +
wmn
Σ
w11
w21
Σ
Σ
Σ
x1 (k + 1)
Σ
x2 (k + 1)
Σ
xn (k + 1)
w1n
w2 n
wmn
y1 (k )
y2 ( k )
ym (k )
Рис. 10.6 – Двунаправленная ассоциативная память
Данная сеть кроме входного и выходного содержит скрытый слой, при
этом организация архитектуры позволяет осуществлять встречный обмен
информацией между скрытым и выходным слоями за счет того, что матрицы
синаптических весов этих слоев являются взаимно транспонированными.
При подаче на вход сети n − мерного бинарного вектора x(1) на выходе
скрытого слоя появляется m − мерный векторный сигнал
y (1) = sign (Wx(1) + θ x ),
(10.66)
который поступает на выходной слой, генерирующий вектор
x(2) = sign (W T y (1) + θ y ).
(10.67)
По каналу обратной связи x(2) передается на вход, в результате чего в
скрытом слое вычисляется
y (2) = sign (Wx(2) + θ x ),
(10.68)
x(3) = sign (W T y (2) + θ y ).
(10.69)
а в выходном –
239
После k итераций сеть порождает пару
⎧⎪ y (k ) = sign (Wx(k ) + θ x ),
⎨
T
⎪⎩ x(k + 1) = sign(W y (k ) + θ y ),
(10.70)
минимизируя при этом энергетическую функцию
E ( x, y ) = −
1 T
1
1
y Wx + θ xT y + θ yT x.
2
2
2
(10.71)
В результате устойчивые состояния сети (аттракторы) могут быть описаны
системой уравнений
⎧⎪ y * = sign (Wx * + θ x ),
⎨ *
T *
⎪⎩ x = sign (W y + θ y ).
(10.72)
Двунаправленная память обучается с помощью хэббовского правила
(10.13). Несложно видеть, что при этом после предъявления первого стимула
сеть формирует первый аттрактор
y = sign( y (1) x T (1) x) = sign y (1) = y (1),
(10.73)
если 0 < cos( x(1), x) ≤ 1 , и
x = sign( x(1) y T (1) y ) = sign x(1) = x(1),
(10.74)
если 0 < cos( y (1), y ) ≤ 1 .
В случае, если необходимо запомнить (n × N ) − матрицу ключевых образов,
синаптические веса сети вычисляются согласно формуле (10.12) в виде
N
W ( N ) = ∑ y (k ) x T (k ) = YX T ,
(10.75)
k =1
где N - максимальное количество запоминаемых образов, определяемое
оценкой
N≤
n
2 log 2 n
(10.76)
в случае нулевых смещений θ x и θ y и оценкой
240
10 НЕЙРОННЫЕ СЕТИ АССОЦИАТИВНОЙ ПАМЯТИ
N ≤ 2n ,
(10.77)
если каждый нейрон сети имеет свое ненулевое смещение.
Двунаправленная ассоциативная память может использоваться и в
качестве автоассоциативной, обладая при этом более высокой емкостью и
скоростью сходимости по сравнению с памятью Хопфилда.
10.5 B S B-модель
Еще одна архитектура ассоциативной памяти была предложена Дж.
Андерсоном [267] и получила название «Brain-State-In-A-Box Model» (BSBмодель).
BSB-модель представляет собой нелинейную динамическую систему с
амплитудными ограничениями, охваченную положительной обратной связью.
На рис. 10.7 приведена блок-схема BSB-модели.
β
z −1
x(k )
β x(k )
W
+
+
Σ
y (k )
Ψ
x(k + 1)
Рис. 10.7 – Блок-схема BSB-модели
Динамика этой системы определяется парой уравнений
⎧ y (k ) = x( k ) + βWx(k ),
⎨
⎩ x(k + 1) = Ψ ( y (k )),
(10.78)
где β -малая положительная величина, называемая параметром обратной связи.
Наличие положительной обратной связи приводит к тому, что подаваемые
в BSB-модель сигналы усиливаются до тех пор, пока все нейроны сети,
активационная функция которых имеет вид ограничителя (рис. 1.4 в), не войдут
в насыщение. Отличительной особенностью данной ИНС является возможность
работы с аналоговыми входными образами, которые переводятся в бинарные
формы, определяющие аттракторы системы.
Блок схемы, обозначенный W , представляет собой по сути однослойную
ИНС, образованную элементарными линейными ассоциаторами, а блок Ψ
является набором кусочно-линейных функций с уровнями насыщения ± 1 , что
естественно ограничивает вектор состояний x(k ) вершинами n − мерного
гиперкуба с центром в начале координат.
241
При подаче в сеть n − мерного аналогового вектора x(1) модель вычисляет
y (1) = ( I + βW ) x(1)
(10.79)
x(2) = Ψ ( y (1)),
(10.80)
и
причем сигнал x(2) сверху и снизу жестко ограничен по амплитуде. Итерации
продолжаются пока не будет достигнуто устойчивое состояние в одной из
вершин гиперкуба. Наличие положительной обратной связи заставляет
поданный в сеть сигнал увеличиваться по норме до достижения грани
гиперкуба, после чего усиленный сигнал «скользит» по грани или ребру пока не
достигнет одного из углов «ящика», выйти откуда он уже не может.
Для обучения BSB-модели используется автоассоциативное правило
Уидроу-Хоффа (4.381) в форме
W (k + 1) = W (k ) + η (k )( x( k + 1) − W (k ) x(k + 1)) x T (k + 1).
Целью обучения является нахождение матрицы синаптических
обеспечивающей существование N устойчивых состояний таких, что
x(k ) = Wx(k ), k = 1, 2, …, N .
(10.81)
весов,
(10.82)
В [9] была предложена модификация BSB-модели вида
x(k + 1) = Ψ (αx(k ) + βWx(k ) + δx(1)),
(10.83)
в которой используются фактор забывания 0 < α ≤ 1 и малый параметр δ ,
обеспечивающий постоянное «присутствие» в модели запоминаемого образастимула x(1) . Данная модель характеризуется более высокой скоростью
сходимости и устойчивостью к ошибкам.
BSB-модель, являясь автоассоциативной памятью, решает по сути задачу
кластеризации заданного массива данных. Это следует из того факта, что
вершины гиперкуба в процессе обработки информации действуют как точечные
аттракторы с выраженными областями притяжения, которые делят n − мерное
пространство признаков на соответствующее множество хорошо определенных
областей. Если центры-прототипы кластеров известны заранее, их можно
связать с вершинами гиперкуба, после чего BSB-модель может работать
вообще без обучения только за счет автовозбуждения, вызываемого
положительной обратной связью. При этом предъявляемые сети образы
автоматически будут «стягиваться» к ближайшим вершинам гиперкуба –
центрам кластеров.
242
11 АДАПТИВНЫЕ РЕЗОНАНСНЫЕ НЕЙРОННЫЕ СЕТИ
11 АДАПТИВНЫЕ РЕЗОНАНСНЫЕ НЕЙРОННЫЕ СЕТИ
С конца 60-х годов прошлого столетия С. Гроссберг с группой коллег
исследовал нейроархитектуры, предназначенные для автоматической
классификации образов (кластеризации), при этом основная проблема,
возникшая в ходе работ, была связана с устранением противоречий между
устойчивостью и пластичностью сети, т.е. способностью ИНС запоминать
новую информацию без разрушения ранее накопленной. В результате
предпринятых исследований была создана теория адаптивного резонанса и на
ее основе разработана целая группа архитектур [268-271] таких, как ART 1,
предназначенная для работы с бинарными векторами, ART 2, обрабатывающая
сигналы с произвольными действительными значениями, ART 3, имеющая
иерархическую структуру и описываемая системой дифференциальных
уравнений, соответствующих динамике некоторых химических реакций,
FUZZY ART, осуществляющая нечеткую кластеризацию, ARTMAP,
представляющая собой комбинацию из двух резонансных сетей и др. В общем
случае все ART-сети имеют аналогичную архитектуру и реализуют
однотипную стратегию кластеризации на основе самообучения, основным
преимуществом которой является возможность работы в реальном времени при
априорно неизвестном количестве классов.
Адаптивные резонансные сети являются «ближайшими родственниками»
двунаправленной ассоциативной памяти (см. подраздел 10.4) и подобно ей
содержат две взаимодействующих нейроподсистемы, которые вступают в
резонанс в процессе накопления и восстановления обрабатываемых образов.
На рис. 11.1 приведена базовая структура ART-сети, состоящая из
нейроподсистемы сравнения FC , нейроподсистемы распознавания FR и
управляющей подсистемы, координирующей работу FC и FR в процессе их
резонансного взаимодействия.
Данная сеть содержит n нейронов в подсистеме сравнения FC , число
которых совпадает с размерностью входного вектора x , и m нейронов в
подсистеме распознавания по количеству запоминаемых образов, которое
может увеличиваться в процессе работы ИНС, при этом все нейроны каждой из
нейроподсистем связаны друг с другом восходящими и нисходящими связями,
определяемыми (m × n) и (n × m) - матрицами настраиваемых синаптических
весов W = {w ji } и V = {vij } соответственно. Заметим также, что синаптический
вес w ji связывает i − й нейрон в FC с j − м нейроном в FR , а vij - j − й нейрон в
FR с i − м нейроном в FC . Кроме того, узлы нейроподсистемы распознавания
охвачены латеральными обратными связями, обеспечивающими работу FR в
режиме «победитель получает все» (см. подраздел 4.7.8), в результате чего в
каждый момент времени только один нейрон в FR может находиться в
активном состоянии.
243
y
Нейроподсистема
распознавания
FR
Управляющая
подсистема
Нисходящие
связи
Восходящие
связи
V = {vij }
W = {w ji }
(top-down)
(bottom-up)
Нейроподсистема
сравнения
FC
x
Рис. 11.1 – Блок-схема адаптивной резонансной нейронной сети
В процессе своей работы адаптивные резонансные сети реализуют так
называемую комбинированную парадигму распознавания-обучения [6]. Первый
предъявляемый образ автоматически считается центром (эталоном,
прототипом) первого кластера и именно он определяет весовые параметры
связи FC с единственным нейроном подсистемы FR . Следующий образ
сравнивается с прототипом первого кластера и если они в некотором смысле
близки, то происходит уточнение весов w1i и vi1 . В противном же случае в FR
формируется второй нейрон-эталон второго кластера. Таким образом в
результате циклического обмена информацией по восходящим-нисходящим
связям реализуется одновременное самообучение-восстановление, состоящее в
том, что в подсистеме FC определяется «близость» предъявляемого образа к
ранее накопленным эталонам, а в подсистеме FR выясняется к какому из
кластеров конкретно принадлежит показанный вектор. Если при этом окажется,
что данный образ расположен «далеко» от всех центров, управляющая
подсистема сформирует в подсистеме распознавания новый нейрон.
Работу адаптивной резонансной сети рассмотрим для случая, когда
априорно полагается, что данные могут быть разбиты на m кластеров, при
этом, если фактическое число кластеров окажется меньше чем m , то некоторые
из нейронов подсистемы FR никогда не будут принимать активное состояние, в
противном же случае, если m окажется меньшим фактического количества
кластеров, сеть должна будет сформировать новый нейрон.
244
11 АДАПТИВНЫЕ РЕЗОНАНСНЫЕ НЕЙРОННЫЕ СЕТИ
Начальные значения синаптических весов сети обычно полагаются
равными
w ji (0) =
1
, vij (0) = 1, i = 1,2,…, n; j = 1,2,…, m
n +1
(11.1)
и поскольку они определяют эталон, соответствующий j − му нейрону в FR , все
нейроны подсистемы распознавания в исходном состоянии находятся в равных
условиях.
После подачи на вход сети предварительно пронормированного с
помощью выражения (4.398) n − мерного образа-вектора x нейроподсистема
сравнения FC вычисляет скалярное произведение
n
y j = ∑ w ji (0) xi = wTj (0) x, j = 1,2, …, m,
(11.2)
i =1
если сеть только начала работу или
n
y j = ∑ w ji (k ) xi = wTj (k ) x, j = 1,2, …, m,
(11.3)
i =1
если уже было отработано k итераций.
С учетом нормированности входных сигналов и прототипов кластеров
соотношения (11.2), (11.3) есть не что иное, как косинусы углов между
предъявляемым образом и имеющимися эталонами, определяющие «близость»
образа к имеющимся центрам.
Вычисленные скалярные произведения далее поступают в подсистему
распознавания FR , где определяется максимальное значение
y *j = max { y j },
j
(11.4)
т.е. нейрон-победитель, чьи параметры наиболее близки к предъявленному
образу. Для этого обычно используется сеть поиска максимума MAXNET [242],
архитектура которой приведена на рис. 11.2.
Как видно, MAXNET достаточно близка к рекуррентной сети Хэмминга
(см. подраздел 9.2) и в процессе своей работы в ускоренном времени реализует
отображение
⎧ y j (0) = y j ,
⎪⎪
m
⎨ y ( p + 1) = ψ ( y ( p ) − ε ∑ y ( p )),
j
l
⎪ j
l =1
⎪⎩
l≠ j
(11.5)
245
z −1
z −1
z −1
1
y1
−ε
+
+
+
Σ
u1 ( p + 1)
ψ
y1 ( p + 1)
u2 ( p + 1)
ψ
y2 ( p + 1)
um ( p + 1)
ψ
y N ( p + 1)
+
−ε
−ε
y2
1
+
+
+
Σ
+
−ε
−ε
ym
−ε
+
+
+
Σ
+
1
Рис. 11.2 – Нейроподсистема распознавания FR - нейросеть MAXNET
где p − индекс итераций ускоренного машинного времени; ε ≤ m −1 положительный скалярный параметр, определяющий характер сходимости
процесса поиска максимума; ψ (u ) - линейно-пороговая функция активации
нейронов сети с нулевым порогом θ l , вид которой приведен на рис. 11.3.
246
11 АДАПТИВНЫЕ РЕЗОНАНСНЫЕ НЕЙРОННЫЕ СЕТИ
ψ (u )
1
u
1
Рис. 11.3 – Активационная функция сети MAXNET
На каждой итерации машинного времени p = 0,1,2,… большие сигналы на
выходах одних нейронов подавляют более слабые сигналы на выходах других
нейронов так, что если в начале работы сигнал на выходе одного из нейронов
имел максимальное значение, то в конце функционирования все выходы
нейронов, кроме максимального, примут значения близкие к нулю. Таким
образом сеть реализует стратегию «победитель получает все».
MAXNET определяет какой из входных сигналов имеет максимальное
значение, «назначая» тем самым нейрон-победитель подсистемы FR , но при
этом в процессе конкуренции само значение этого сигнала теряется. В случае,
если необходимо иметь и само значение y j , можно использовать каскадную
схему, построенную на нейронах для сравнения двух чисел (рис. 4.33) и
приведенную на рис. 11.4. В результате попарного сравнения на выходе схемы
появляется максимальное из m сравниваемых чисел.
y1
AN1
max { y1 , y 2 }
y2
AN 2
max { y1 , y2 , y3}
y3
ym
AN m−1
max { y1 , y2 ,…, ym }
Рис. 11.4 – Схема для выделения максимального сигнала
После того, как в подсистеме FR найден нейрон-победитель, начинается
фаза нисходящей верификации, когда сигнал y *j через синаптические связи vij
возвращается в подсистему FC в виде
247
xˆ i = vij y *j ,
(11.6)
после чего происходит сравнение с предъявленным образом x . Так для
бинарных векторов, чьи компоненты принимают значения ± 1 осуществляется
проверка неравенства
n
n
i =1
i =1
∑ xˆi > ρ ∑ xi
(11.7)
или, что тоже самое
n
n
i =1
i =1
∑ vij y *j > ρ ∑ xi ,
(11.8)
где 0 < ρ < 1 - так называемый параметр сходства, определяющий меру
«близости» вектора x к центру j − го кластера. Чем больше значение этого
параметра, тем более «жестко» осуществляется классификация, а при ρ = 1
каждый образ отличный от предыдущих порождает новый кластер.
Если неравенства (11.6), (11.7) выполняются, происходит уточнение
синаптических весов в виде [6]
⎧ dw ji (t )
= ηδ * ( −α w ji (t ) + w ji (t ) xi ),
⎪⎪
dt
⎨
⎪ dvij (t ) = ηδ * (−α v (t ) + w (t ) x )
ij
ji
i
⎪⎩ dt
(11.9)
в непрерывном времени или
w ji (k ) xi
⎧
*
w
k
(
1
)
δ
,
+
=
⎪ ji
n
⎪
0.5 + ∑ w ji (k ) xi
⎨
i =1
⎪
*
⎪vij (k + 1) = δ vij (k ) xi
⎩
(11.10)
– в дискретном времени [48].
Здесь, как и ранее, η > 0 - скалярный параметр, определяющий скорость
обучения; 0 ≤ α ≤ 1 - фактор забывания, а
⎧1, если j − тый нейрон в FR является победителем,
⎩0 для всех остальных нейронов.
δ* =⎨
(11.11)
248
11 АДАПТИВНЫЕ РЕЗОНАНСНЫЕ НЕЙРОННЫЕ СЕТИ
Если же контрольные неравенства не выполняются, то обычно делается
попытка найти новый нейрон-победитель, исключив из рассмотрения
предыдущий. В конце концов если не будет найден подходящий к данному
образу кластер, можно либо смягчить условия классификации, уменьшив
значение параметра сходства ρ , либо сформировать в нейроподсистеме
распознавания новый нейрон-прототип, чьи параметры определяются
последним неотклассифицированным образом.
Несмотря на свои достоинства, связанные с переменным числом кластеров
и возможностью работы в реальном времени, адаптивные резонансные
нейронные сети получили достаточно ограниченное распространение из-за
своей громоздкости и низкой помехоустойчивости, провоцирующей
неограниченный рост числа нейронов в подсистеме распознавания.
249
12 НЕЙРОННЫЕ СЕТИ ОПОРНЫХ ВЕКТОРОВ
Нейронные сети опорных векторов, известные также как машины опорных
векторов (Support Vector Machines - SVM), впервые введенные в [272],
представляют собой архитектуры с прямой передачей информации и являются
обобщением таких популярных конструкций, как многослойные персептроны
(подраздел 2.3), радиально-базисные (раздел 3) и полиномиальные (раздел 5)
сети. Эти ИНС реализуют метод минимизации эмпирического риска [273-275] и
находят применение при решении задач распознавания образов,
аппроксимации, идентификации, эмуляции и т.п. (подраздел 4.2).
Ключевым понятием при синтезе этих сетей являются опорные векторы
(крайние векторы согласно первоначальной терминологии В. Н. Вапника [274]),
представляющие собой малое подмножество наиболее информативных данных
из обучающей выборки и определяемые в процессе обучения.
Рассмотрение метода минимизации эмпирического риска начнем с
простейшей задачи распознавания образов, когда задана обучающая выборка с
известной классификацией данных {x(k ), d (k )}kN=1 и имеется два линейно
разделимых класса. При этом для одного из этих классов обучающий сигнал
принимает значение d (k ) = +1 , а для другого - d (k ) = −1 . Уравнение
разделяющей гиперплоскости при этом имеет вид
wT x + θ = 0
(12.1)
(здесь w − (n × 1) -вектор весов, подлежащих определению и называемый в [274]
обобщенным портретом, θ - скаляр, определяющий смещение), а
принадлежность данных конкретному классу определяется парой неравенств
⎧⎪wT x( k ) + θ ≥ 0 для d (k ) = +1,
⎨ T
⎪⎩w x( k ) + θ < 0 для d (k ) = −1.
(12.2)
Для заданной обучающей выборки, обобщенного портрета w и смещений
θ в рассмотрение вводится область разделения ρ , определяемая расстоянием
от разделяющей гиперплоскости до ближайших к ней точек x(k ) из разных
классов. Задача минимизации эмпирического риска состоит в нахождении
гиперплоскости с максимально возможной областью разделения. При этом
точки ближайшие к этой оптимальной гиперплоскости и называются опорными
(крайними) векторами. Рис. 12.1 иллюстрирует вид оптимальной
гиперплоскости и опорных векторов.
Записав оптимальную гиперплоскость в виде
x T w* + θ * = 0,
(12.3)
250
12 НЕЙРОННЫЕ СЕТИ ОПОРНЫХ ВЕКТОРОВ
x2
Оптимальная
гиперплоскость
ρ
Опорные
векторы
x1
Рис. 12.1 – Оптимальная гиперплоскость и опорные векторы
можно ввести разделяющую функцию
D ( x ) = x T w* + θ * ,
(12.4)
определяющую расстояние от точки x до гиперплоскости (12.3). При этом сам
вектор x может быть представлен в виде суммы
x = xˆ + r
w*
w*
,
(12.4)
где x̂ - проекция x на гиперплоскость (12.3); r - алгебраический параметр
расстояния, принимающий значение больше нуля на «положительной» стороне
гиперплоскости и меньше нуля на «отрицательной» так, как это показано на
рис. 12.2.
Поскольку по определению D( xˆ ) = 0 , очевидно, что
D ( x ) = x T w* + θ * = r w* ,
(12.6)
откуда
r=
D( x)
w*
.
(12.7)
Элементарный анализ (12.7) показывает, что расстояние от начала координат
251
( x = 0) до гиперплоскости (12.3) есть θ * w*
−1
; если смещение θ * положительно,
то начало координат находится на положительной стороне, если же θ * < 0 - на
отрицательной, при θ * = 0 разделяющая гиперплоскость проходит через начало
координат.
x2
x
r
x̂
•
•
θ
*
Оптимальная
гиперплоскость
w*
x1
Рис. 12.2 – Геометрическая интерпретация разделяющей функции
Основываясь на этих рассуждениях, В. Н. Вапник и А. Я. Червоненкис
показали [273], что оптимальная разделяющая гиперплоскость должна
удовлетворять более жестким нежели (12.2) неравенствам, а именно:
⎧⎪ x T (k ) w* + θ * ≥ 1 для d (k ) = +1,
⎨ T
⎪⎩ x (k ) w* + θ * ≤ −1 для d (k ) = −1.
(12.8)
При этом пары x(k ), d (k ) , обращающие любое из неравенств (12.8) в равенство,
являются опорными векторами и поскольку именно они расположены наиболее
близко к разделяющей гиперплоскости, их тяжелее всего классифицировать.
Идея, лежащая в основе SVM, состоит в том, что определение опорных
векторов в заданной обучающей выборке позволяет классифицировать все
остальные данные.
Из (12.7) следует, что для любого опорного вектора x s расстояние до
оптимальной гиперплоскости вычисляется следующим образом [9]:
⎧ 1
для d s = +1,
⎪
*
D( x s ) ⎪ w
r=
=⎨
w*
⎪− 1 для d s = −1,
⎪ w*
⎩
(12.9)
где знак “+” указывает, что x s лежит на положительной, а “ - ” на
отрицательной стороне оптимальной гиперплоскости.
252
12 НЕЙРОННЫЕ СЕТИ ОПОРНЫХ ВЕКТОРОВ
Из соотношений (12.9) видно, что зона разделения определяется
выражением
ρ = 2r =
2
w*
,
(12.10)
а ее максимизация эквивалентна минимизации евклидовой нормы вектора весов
w.
Таким образом, с формальной точки зрения задача минимизации
эмпирического риска состоит в том, что для заданной обучающей выборки
{x (k ), d (k )}kN=1 необходимо минимизировать целевую функцию
E ( w) =
1
w
2
2
(12.11)
при ограничениях вида (12.8) или, что то же самое,
d (k )( wT x( k ) + θ ) ≥ 1, k = 1,2, … , N .
(12.12)
Несложно видеть, что выражения (12.11), (12.12) задают стандартную
задачу квадратичного программирования, для решения которой существует
целый арсенал методов [160, 194].
В качестве одного из наиболее простых и наглядных методов анализа этой
задачи можно использовать метод неопределенных множителей Лагранжа,
связанный с нахождением особых точек специально сконструированной
функции (лагранжиана), имеющей в данном случае вид
N
L( w,θ , λ ) = E ( w) − ∑ λ (k )(d (k )( wT x(k ) + θ ) − 1) =
k =1
N
1
= wT w − ∑ λ (k )(d (k )( wT x(k ) + θ ) − 1),
2
k =1
(12.13)
где λ (k ) - неотрицательные неопределенные множители Лагранжа.
Нахождение оптимального решения сводится к отысканию седловой точки
лагранжиана (12.13), определяемой системой Куна-Таккера [160]
⎧
⎪∇ w L( w,θ , λ ) = 0,
⎪
⎪ ∂L( w,θ , λ )
= 0,
⎨
∂
θ
⎪
⎪ ∂L( w,θ , λ )
⎪ ∂λ (k ) ≤ 0, λ (k ) ≥ 0, k = 1,2, … , N .
⎩
(12.14)
253
Из первого уравнения (12.14) следует, что искомый вектор весов
определяется выражением
N
w = ∑ λ (k )d (k ) x(k ),
(12.15)
k =1
а из второго уравнения видно, что
N
∑ λ (k )d (k ) = 0.
(12.16)
k =1
Анализ выражений (12.15), (12.16) показывает, что для единственной
оптимальной гиперплоскости может существовать множество множителей
Лагранжа, определить которые в аналитической форме невозможно. Можно
лишь отметить, что в седловой точке должно выполняться условие
λ (k )(d (k )( wT x(k ) + θ ) − 1) = 0 для всех k = 1, 2,… , N .
(12.17)
Обойти возникшую сложность можно, рассмотрев двойственную задачу
квадратичного программирования, решение которой эквивалентно построению
обобщенного портрета [274]. Корректность такого приема опирается на
фундаментальное положение общей теории нелинейного программирования
[160], гласящее о том, что если исходная задача оптимизации имеет решение, то
существует и дуальная к ней задача, также имеющая решение, причем прямое и
двойственное решение совпадают.
Двойственная к (12.11), (12.12) задача состоит в нахождении по данным
обучающей выборки {x(k ), d ( k )}kN=1 множителей Лагранжа, максимизирующих
целевую функцию
N
E (λ ) = ∑ λ ( k ) −
k =1
1N N
λ ( k )λ ( p ) d ( k ) d ( p ) x T ( k ) x ( p )
∑∑
2 k =1 p =1
(12.18)
при ограничениях
⎧N
⎪∑ λ (k )d (k ) = 0,
⎨ k =1
⎪λ (k ) ≥ 0, k = 1,2, …, N .
⎩
(12.19)
Здесь важно отметить, что двойственная задача сформулирована на той же
обучающей выборке, что и исходная, а максимизируемая функция E (λ ) зависит
254
12 НЕЙРОННЫЕ СЕТИ ОПОРНЫХ ВЕКТОРОВ
только от обучающих данных в форме всех возможных скалярных
произведений x T (k ) x( p ), k , p = 1,2, … , N .
Определив
с
помощью
любого
из
методов
квадратичного
программирования (чаще всего используется метод сопряженных градиентов)
оптимальные множители Лагранжа λ* (k ) и применяя (12.15), несложно
вычислить вектор оптимальных весов
N
w* = ∑ λ* (k )d (k ) x( k )
(12.20)
k =1
и далее, используя определение опорного вектора, найти оптимальное значение
параметра смещения
θ * = 1 − w*T x s при d s = +1.
(12.21)
Переход от линейной задачи разделения к более общей нелинейной
проблеме осуществляется на основе теоремы Т. Кавера [85], устанавливающей
существование нелинейного преобразования исходного входного пространства
в новое пространство более высокой размерности, где входные образы будут
линейно разделимы. Напомним, что именно эта идея лежит в основе радиальнобазисных нейронных сетей (раздел 3), в рамках которых, однако, проблема
оптимальности разделяющей гиперплоскости не обсуждалась. Эта задача была
решена В. Н. Вапником и А. Я. Червоненкиком [273], которые ввели
оптимальную разделяющую гиперплоскость не во входном пространстве, а в
так называемом пространстве признаков повышенной размерности.
Итак, для произвольного вектора x из n − мерного входного пространства
вводится множество {ϕ i ( x)}ih=1 нелинейных преобразований в h − мерное (h >> n)
пространство признаков, задаваемых априорно для всех i = 1,2,…, h . Тогда
разделяющая гиперплоскость может быть определена в виде
h
∑ wiϕ i ( x) + θ = 0
(12.22)
∑ wiϕ i ( x) = wT ϕ ( x) = 0,
(12.23)
i =1
или
h
i =0
где ϕ 0 ( x) ≡ 1 , w0 = θ , w = ( w0 , w1 , w2 ,…, wh ) T , ϕ ( x) = (ϕ 0 ( x), ϕ1 ( x), ϕ 2 ( x),… , ϕ h ( x)) T образ, индуцированный входным сигналом x в пространство признаков.
Тогда, адаптируя уравнение (12.15) к нелинейной ситуации, можно
записать выражение, определяющее веса
255
N
w = ∑ λ ( k )d (k )ϕ ( x(k )),
(12.24)
k =1
после чего, объединяя (12.23) и (12.24), получить уравнение разделяющей
гиперплоскости в виде
N
∑ λ (k )d (k )ϕ T ( x(k ))ϕ ( x) = 0.
(12.25)
k =1
Значение ϕ T ( x(k ))ϕ ( x) представляет собой скалярное произведение двух
векторов, индуцированных в пространстве признаков входным сигналом x(k ) .
Вводя в рассмотрение так называемые ядра скалярных произведений
h
Φ ( x, x(k )) = ϕ T ( x)ϕ ( x(k )) = ∑ ϕ i ( x)ϕ i ( x(k )), k = 1, 2,… , N ,
(12.26)
i =0
можно построить оптимальную гиперплоскость в пространстве признаков, не
вводя это пространство в явном форме:
N
∑ λ (k )d (k )Φ( x, x(k )).
(12.27)
k =1
Использование ядер (12.26) позволяет получить уравнение разделяющей
гиперповерхности нелинейной во входном пространстве, но линейной в
пространстве признаков.
Решая двойственную задачу максимизации целевой функции
N
E (λ ) = ∑ λ ( k ) −
k =1
1 N N
∑∑ λ (k )λ ( p)d (k )d ( p)Φ( x(k ), x( p))
2 k =1 p =1
(12.28)
при ограничениях
⎧N
⎪∑ λ (k )d (k ) = 0,
⎨ k =1
⎪0 ≤ λ (k ) ≤ a, k = 1,2,…, N
⎩
(12.29)
(здесь a - априорно заданный положительный параметр), можно получить
оптимальные значения весовых коэффициентов в виде
N
w* = ∑ λ* (k )d (k )ϕ ( x(k )).
(12.30)
k =1
256
12 НЕЙРОННЫЕ СЕТИ ОПОРНЫХ ВЕКТОРОВ
Как отмечалось выше, машина опорных векторов, архитектура которой
приведена на рис. 12.3, является обобщением целого рода нейросетей с прямой
передачей информации.
Так, если в качестве ядра принять выражение
Φ ( x, x(k )) = tanh (γ 0 x T x(k ) + γ 1 ), γ 0 > 0, γ 1 ≥ 0,
x1
x2
Φ ( x, x s (1))
Φ ( x, x (2))
s
(12.31)
1
w0
w1
w2
Σ
y
wh
xn
Φ ( x, x s (h))
Рис. 12.3 – Машина опорных векторов
SVM приобретает свойства двухслойного персептрона, ядру
⎞
⎟
⎟
⎠
(12.32)
Φ ( x, x (k )) = ( x T x( k ) + 1) l , l ≥ 1
(12.33)
⎛ x − x(k )
Φ ( x, x(k )) = exp⎜ −
⎜
σ2
⎝
2
соответствует радиально-базисная, а
- полиномиальная нейронные сети.
Основным отличием сети опорных векторов от традиционных является то,
что размерность пространства признаков, а следовательно и количество
нейронов в скрытом слое может быть определено заранее и равно числу
опорных векторов в обучающей выборке, т.е. векторов, удовлетворяющих
условию
⎧⎪ϕ T ( x s ( p )) w* = 1 для d ( p ) = +1,
⎨ T s
⎪⎩ϕ ( x ( p )) w* = −1 для d ( p ) = −1, p = 1,2, …, h < N .
(12.34)
Возможности ИНС опорных векторов рассмотрим на примере построения
нелинейной регрессии по заданной выборке данных [9]. В общем случае эта
задача решается на основе минимизации целевой функции, связанной с
квадратами ошибок обучения [132, 170-177], что определяется в основном
257
простотой математических преобразований. Для решения этой задачи на основе
нейроподхода наиболее часто используются многослойные персептроны и
радиально-базисные сети, также тесно связанные с квадратичными критериями
качества.
Преимуществом SVM является простота адаптации к неквадратичным
целевым функциям, например к критерию наименьших модулей, обладающему
выраженными робастными свойствами [276]:
E ( k ) = e( k ) = d ( k ) − y ( k ) .
(12.35)
Расширение (12.35) было предложено В. Н. Вапником, который ввел
целевую функцию с зоной нечувствительности
⎧ d (k ) − y (k ) − ε при d (k ) − y (k ) ≥ ε ,
E (k ) = ⎨
⎩0 в противном случае,
(12.36)
где ε - заранее заданный неотрицательный параметр.
Эта функция равна нулю, если абсолютное значение ошибки меньше ε , и
линейно возрастает, если ошибка превосходит этот порог так, как это показано
на рис. 12.4.
E (k )
−ε
0
ε
e(k )
Рис. 12.4 – Целевая функция с зоной нечувствительности
Введем в рассмотрение нелинейный объект, подлежащий идентификации
d (k ) = F ( x(k )) + ξ (k )
(12.37)
по заданной выборке данных {x(k ), d ( k )}kN=1 , при этом ни вид функции F , ни
характер возмущения ξ априори неизвестны.
В качестве оценки d (k ) будем использовать выходной сигнал машины
опорных векторов
h
y (k ) = ∑ wiϕ i ( x( k )) =wT ϕ ( x(k )),
(12.38)
i =0
258
12 НЕЙРОННЫЕ СЕТИ ОПОРНЫХ ВЕКТОРОВ
полученный в результате минимизации функции эмпирического риска
Ek =
1
N
N
∑ E (k )
(12.39)
k =1
при ограничениях
2
w ≤ a0 ,
(12.40)
где a0 - некоторая наперед заданная константа.
Вводя в рассмотрение неотрицательные вспомогательные переменные
0
b (k ) ≥ 0 ,
b0 (k ) ≥ 0 ,
k = 1,2, …, N ,
перепишем
функцию
с
зоной
нечувствительности (12.36) в виде
⎧⎪d (k ) − wT ϕ ( x(k )) ≤ ε + b 0 (k ),
⎨ T
⎪⎩w ϕ ( x( k )) − d (k ) ≤ ε + b0 ( k ),
(12.41)
после чего рассмотрим задачу квадратичного программирования, связанную с
оптимизацией критерия
E ( w, b 0 , b0 ) =
⎞
⎛ N
1 T
w w + a⎜⎜ ∑ (b 0 ( k ) + b0 (k )) ⎟⎟
2
⎠
⎝ k =1
(12.42)
при ограничениях (12.41), причем константа a должна выбираться
пользователем в процессе решения.
Задача построения нелинейной регрессии сводится к отысканию седловой
точки лагранжиана
L( w, λ0 , λ0 , b 0 , b0 , γ 0 , γ 0 ) =
⎞
⎛ N
1 T
w w + a⎜⎜ ∑ (b 0 (k ) + b0 (k )) ⎟⎟ −
2
⎠
⎝ k =1
N
− ∑ λ0 (k )( wT ϕ ( x(k )) − d (k ) + ε + b 0 (k )) −
k =1
N
(12.43)
− ∑ λ0 (k )(d (k ) − w ϕ ( x(k )) + ε + b0 (k )) −
T
k =1
N
− ∑ (γ 0 (k )b 0 ( k ) + γ 0 ( k )b0 (k )),
k =1
где λ0 (k ), λ0 (k ) - неопределенные неотрицательные множители Лагранжа, а
γ 0 (k ), γ 0 (k ) вводят ограничения на их значения.
Решение системы Куна-Таккера, имеющее вид
259
N
⎧
w
=
∑ (λ0 (k ) − λ0 (k ))ϕ ( x(k )),
⎪
k =1
⎪
⎪ 0
0
⎨γ (k ) = a − λ (k ),
⎪γ (k ) = a − λ ( k ),
0
⎪ 0
⎪⎩
(12.44)
в данном случае неконструктивно, поскольку множители Лагранжа так и
остаются неопределенными, в связи с чем следует перейти к двойственной
задаче максимизации функции
N
N
E (λ , λ 0 ) = ∑ d ( k )(λ (k ) − λ 0 (k )) − ε ∑ (λ0 (k ) − λ 0 (k )) −
0
k =1
N
0
k =1
N
1
− ∑∑ (λ0 ( k ) − λ 0 (k ))(λ0 ( p ) − λ 0 ( p )) Φ ( x(k ), x( p ))
2 k =1 p =1
(12.45)
при ограничениях
⎧N 0
⎪∑ (λ (k ) − λ0 (k )) = 0,
⎪⎪ k =1
0
⎨0 ≤ λ (k ) ≤ c,
⎪0 ≤ λ (k ) ≤ c,
0
⎪
⎪⎩k = 1,2,… , N .
(12.46)
Решение задачи квадратичного программирования (12.45), (12.46)
позволяет получить оптимальную робастную модель объекта (12.37) в условиях
неопределенности как о самом объекте, так и действующих на него
возмущениях.
Необходимо однако отметить, что подход, связанный с использованием
опорных векторов, с вычислительной точки зрения весьма громоздок,
процедура оптимизации содержит достаточно много свободных параметров,
которые выбираются пользователем и могут оказывать существенное влияние
на качество получаемого решения, а сама SVM может работать только в
пакетном режиме на выборке фиксированного объема.
260
13 САМООРГАНИЗУЮЩИЕСЯ КАРТЫ
13 САМООРГАНИЗУЮЩИЕСЯ КАРТЫ
В данном разделе рассматривается специальный класс нейронных сетей,
получивших название самоорганизующихся и предназначенных в основном для
решения задач кластеризации и гетероассоциации (подраздел 4.2.2). Наиболее
известной из этих сетей является самоорганизующаяся карта Т. Кохонена
(SOM) [3], реализующая отображение входного пространства X с помощью
некоторого оператора F в выходное пространство Y так, как это показано на
рис. 13.1.
X
Y
yj
Xi
w*j
F
Рис. 13.1 – Отображение F : X → Y
Как видно из рисунка, входное пространство X разбито на подобласти X i ,
которые накрываются «картой», при этом любой образ, принадлежащий
подобласти X i , возбуждает только один нейрон w*j самоорганизующейся сети.
В основе карты Кохонена лежит нейробиологическая модель Д. Виллшоу –
К. фон дер Мальсбурга [4,9], основанная на том, что многие отделы мозга
имеют планарную структуру, при этом качественно разнородная информация
отображается в разные участки мозга, а обучение происходит за счет
хэббовской самоорганизации синаптических связей.
Свойства самоорганизации сети связаны с тем, что настройка
синаптических весов происходит без наличия внешнего обучающего сигнала,
т.е. в режиме самообучения, при этом каждый поступающий на вход сигнал
вызывает адаптацию тех или иных параметров ИНС. Существенно, что этот
процесс может протекать непрерывно, обеспечивая возможность решения
задачи в реальном времени.
Самоорганизующаяся карта имеет крайне простую архитектуру с прямой
передачей информации и кроме нулевого рецепторного слоя содержит
единственный слой нейронов, именуемый иногда слоем Кохонена [7]. Каждый
нейрон слоя Кохонена связан с каждым рецептором нулевого слоя прямыми
связями и со всеми остальными нейронами поперечными внутрислойными
261
(латеральными) связями. Именно латеральные связи обеспечивают
возбуждение одних нейронов и торможение других.
Благодаря такой организации сети, каждый нейрон получает всю
информацию об анализируемом образе и генерирует на своем выходе
соответствующий отклик, после чего в слое Кохонена возникает режим
конкуренции (подраздел 4.7.8), в результате которой определяется
единственный нейрон-победитель с максимальным выходным сигналом. Этот
сигнал по латеральным связям обеспечивает возбуждение ближайших
«соседей» победителя и подавление реакции далеко отстоящих узлов. Таким
образом в процессе конкурентного самообучения формируются группы
нейронов, каждый из которых максимальным откликом реагирует на образы из
соответствующих подобластей X i входного пространства X , что позволяет
карте Кохонена кроме уже отмеченных проблем кластеризации и ассоциации
успешно справляться с квантованием непрерывного входного пространства в
компактные дискретные подмножества, понижением его размерности при
минимальной потере информации, выделением наиболее информативных
признаков анализируемых образов, т.е. со всем тем, что так или иначе связано с
компрессией больших объемов информации [29].
Самоорганизующиеся карты могут иметь различную топологию, хотя
наиболее часто рецепторы и нейроны располагаются в узлах одно (1D)- или
двумерной (2D) решетки так, как это показано на рис. 13.2.
Возможны, конечно, решетки и большей размерности, однако в основном
на практике используются структуры, выполняющие преобразование входного
сигнала-образа произвольной размерности в одно- или двумерную карту,
сохраняющую некоторым образом топологическую упорядоченность входного
пространства.
y
x
x
y
Входные
образы
Входные
образы
слой Кохонена
слой Кохонена
а)
б)
262
13 САМООРГАНИЗУЮЩИЕСЯ КАРТЫ
y
x
Входные
образы
слой Кохонена
в)
Рис. 13.2 – Топология карт Кохонена
Простейшая карта Кохонена, приведенная на рис. 13.3 имеет 1D
топологию, n рецепторов и m (m < n) нейронов в слое Кохонена, каждый из
которых характеризуется собственным вектором синаптических весов w j ,
j = 1,2,… , m, при этом сам нейрон – это, как правило, либо адаптивный
линейный ассоциатор, либо обучаемый соответствующим образом персептрон
Розенблатта.
x1
w1
y1
x2
w2
y2
x3
w3
y3
xn
wm
ym
Рис. 13.3 – 1D-карта Кохонена
263
Каждый нейрон сети получает n -мерный входной вектор x и генерирует
на своем выходе сигнал y j , зависящий от вектора синаптических весов w j ,
настроенных с помощью алгоритма самообучения на определенную область
входного пространства X i . Близкие в смысле используемой метрики входные
векторы x(k ) и x( p) могут возбуждать либо один и тот же нейрон w j , либо два
нейрона-соседа, например, w j и w j +1 или w j и w j −1 . В некоторых случаях
нейрон-победитель w*j с максимальным выходным сигналом y j может
возбуждать и своих ближайших соседей так, что y j > y j +1 , y j −1 > y j + 2 , y j −2 > .
В основе алгоритма самоорганизации карты Кохонена лежат принципы
конкурентного самообучения, изложенные в подразделе 4.7.
Как и любая другая процедура обучения, работа алгоритма начинается с
инициализации синаптических весов сети, которые обычно выбираются с
помощью генератора случайных чисел, при этом желательно, чтобы для
каждого из нейронов выполнялось условие w j (0) = 1 .
Процедура самоорганизации реализуется в три основных этапа:
конкуренции, кооперации и синаптической адаптации [9] и начинается с
анализа образа x(k ) , поступающего с рецепторного слоя на все нейроны слоя
Кохонена. Для каждого из нейронов вычисляется расстояние
D ( x(k ), w j (k )) = x(k ) − w j (k ) ,
(13.1)
причем, если входы предварительно пронормированы с помощью (4.398) так,
что x(k ) = 1 , а в качестве расстояния (13.1) используется евклидова метрика, то
мерой близости между векторами x(k ) и w j (k ) может служить скалярное
произведение
D ( x( k ), w j (k )) = x T (k ) w j (k ) = cos( x(k ), w j ( k )) = cosθ j .
(13.2)
Далее определяется нейрон-победитель, «ближайший» ко входному образу
такой, что
D ( x( k ), w* (k )) = min D ( x(k ), w j (k )),
j
(13.3)
после чего в простейшем случае, «перепрыгивая» через этап кооперации,
можно подстроить синаптические веса сети с помощью правила обучения
(4.436)
⎧⎪w j (k ) + η (k )( x(k ) − w j (k )), если j − тый нейрон победил,
w j (k + 1) = ⎨
⎪⎩w j (k ) в противном случае.
(13.4)
264
13 САМООРГАНИЗУЮЩИЕСЯ КАРТЫ
Несложно видеть, что процедура (13.4) реализует принцип «победитель
получает все», при этом вектор синаптических весов нейрона-победителя
«подтягивается» ко входному вектору на расстояние, определяемое шагом
поиска η (k ) так, как это показано на рис. 4.36.
Регулирование величины шага обычно производится, исходя из
эмпирических соображений [3, 4, 6, 7, 9, 29], а общая рекомендация сводится к
тому, что он должен монотонно уменьшаться в процессе самообучения. С этой
рекомендацией согласуется введенная нами процедура (4.423)
2
η (k ) = r −1 (k ), r (k ) = α r (k − 1) + x(k ) = α r (k − 1) + 1, 0 < α ≤ 1,
(13.5)
при этом при α = 1 параметр шага η (k ) = 1 k , т.е. удовлетворяет условиям
Дворецкого. Варьируя фактором забывания α ,
достаточно широкий интервал изменения шага поиска
несложно
1
≤ η ( k ) ≤ 1.
k
обеспечить
(13.6)
Одной из особенностей карты Кохонена является наличие этапа
кооперации в процессе самоорганизации, когда нейрон-победитель определяет
так называемую локальную область топологического соседства, в которой
возбуждается не только он сам, но и его ближайшее окружение, при этом более
близкие к победителю нейроны возбуждаются сильнее, чем удаленные. Эта
топологическая область определяется функцией соседства ϕ ( j , l ) , зависящей от
расстояния D( w j (k ), wl (k )) между победителем w*j (k ) и любым из нейронов
слоя Кохонена l = 1, 2,… , m и некоторого параметра, задающего ее «ширину».
Как правило, ϕ ( j , l ) - это потенциальная (ядерная) функция, симметричная
относительно максимума в точке D( w*j (k ), w*j (k )) = 0 и принимающая в ней
единичное значение, монотонно убывающая с ростом расстояния и
стремящаяся к нулю при D( w*j (k ), wl (k )) → ∞ .
Наиболее часто в качестве функций соседства используются гауссиан
[277], конус (треугольник) [4], параболоид (перевернутая квадратичная
функция) [278], «мексиканская шляпа» [29] и целый ряд других [279].
Использование функций соседства приводит к модифицированному
правилу обучения Кохонена
wl (k + 1) = wl (k ) + η (k )ϕ ( j , l , k )( x(k ) − wl (k )), l = 1, 2,… , m,
(13.7)
реализующему принцип «победитель получает больше» (winner takes most)
вместо традиционного «победитель получает все». Естественно, что при
265
ϕ ( j , l ) = δ jl = 1 при j = l и 0 в остальных случаях, приходим к стандартному
алгоритму (13.4), обеспечивающему на каждом такте настройку единственного
нейрона w*j (k ) . Использование же в качестве ϕ ( j , l ) ядерных функций ведет к
тому, что все нейроны сети в большей или меньшей мере подтягивают векторы
своих синаптических весов к текущему образу x(k ) .
Анализ сходимости процессов конкурентного самообучения, проведенный
М. Котрелом и Дж. Фортом [280] (см. также [4]), показал, что в процессе
настройки синаптических весов, должен уменьшаться не только шаг поиска
η (k ) , но и параметр ширины функции соседства ϕ ( j , l , k ) , которая таким
образом становится зависимой от текущего времени k = 0,1, 2,… .
Для гауссовской функции
⎛ w* ( k ) − w ( k )
j
l
⎜
ϕ ( j , l ) = exp⎜ −
2
σ
⎜
⎝
2
⎞
⎟
⎟
⎟
⎠
(13.8)
Г. Риттером и К. Шультеном [281, 282] было предложено для настройки
параметра ширины σ использовать процедуру
⎛ k⎞
⎟⎟,
β
⎝
⎠
σ (k ) = σ (0) exp⎜⎜ −
(13.9)
где β > 0 - скалярный параметр, определяющий скорость уменьшения силы
влияния нейрона победителя на свое окружение. Естественно, что при этом
меняется и форма области топологического соседства, приобретающая вид
⎛ w* ( k ) − w ( k )
j
l
⎜
ϕ ( j , l , k ) = exp⎜ −
2
σ (k )
⎜
⎝
2
⎞
⎟
⎟.
⎟
⎠
(13.10)
Заметим также, что экспоненциальное убывание параметра ширины может
быть обеспечено и с помощью более простого, чем (13.9) выражения
σ (k ) = β σ (k − 1), 0 < β < 1.
(13.11)
В [9] для обучения самоорганизующейся карты предлагается вообще не
определять победителя как такового, а в качестве наиболее универсальной
функции соседства использовать выходной сигнал каждого нейрона yl (k ) так,
что
266
13 САМООРГАНИЗУЮЩИЕСЯ КАРТЫ
wl (k + 1) = wl (k ) + η (k )ϕ ( j , l , k ) ( x(k ) − wl ( k )) =
(13.12)
= wl (k ) + η (k ) y l (k ) ( x(k ) − wl (k )), l = 1,2, …, m.
Несложно заметить, что (13.12) представляет собой модифицированное
правило обучения (4.396) входной звезды С. Гроссберга [283] и обеспечивает не
только притяжение к образу x(k ) близких к нему нейронов, но и отталкивание
тех узлов, выход которых находится в «противофазе» ко входному сигналу.
Если в качестве нейронов слоя Кохонена используются линейные
ассоциаторы, то (13.12) можно переписать в форме
wl ( k + 1) = wl (k ) + η (k ) wlT (k ) x(k )( x(k ) − wl (k )),
(13.13)
а если кроме того wl (k ) = x(k ) = 1 , то и в более простом виде
wl (k + 1) = wl (k ) + η (k ) cos( x(k ), wl (k )) ( x(k ) − wl ( k )) =
= wl (k ) + η (k ) cosθ l (k ) ( x(k ) − wl (k )).
(13.14)
Таким образом, приходим к биполярной функции соседства, приведенной
на рис. 13.4 и обеспечивающей более широкие возможности процессу
самоорганизации.
1
−
−π
ϕ ( j, l , k )
π
π
2
2
π
θ (k )
−1
Рис. 13.4 – Биполярная функция соседства
Еще один подход к самоорганизации сети Кохонена основан на
использовании порядковых статистик и получил название алгоритма
нейронного газа [284, 285]. При этом подходе все нейроны ранжируются в
порядке возрастания расстояний D( x(k ), wl (k )) так, что
D ( x(k ), w* (k )) < D ( x( k ), w1 (k )) < D( x(k ), w 2 (k )) < … < D( x(k ), w m−1 (k )), (13.15)
267
где верхний индекс обозначает ранг R( wl (k )) каждого нейрона в слое после
предъявления образа x(k ) , т.е.
R( w* (k )) = 0 < R( w1 (k )) = 1 < R( w 2 (k )) = 2 < … < R( w m −1 (k )) = m − 1.
(13.16)
Несложно видеть, что при нормированных входах удобно использовать
ранжировки
1 ≥ cosθ * (k ) > cosθ 1 (k ) > cos θ 2 (k ) > … > cosθ m −1 (k ) ≥ −1
(13.17)
y * (k ) > y 1 (k ) > y 2 (k ) > … > y m −1 (k ).
(13.18)
или
Для каждого из нейронов определяется значение функции соседства
⎛ R( wl (k )) ⎞
⎟
λ (k ) ⎟⎠
⎝
ϕ ( x(k ), wl (k )) = exp⎜⎜ −
(13.19)
(здесь λ (k ) - параметр ширины) и производится уточнение синаптических
весов согласно формуле
wl (k + 1) = wl ( k ) + η (k )ϕ ( x(k ), wl (k ))( x( k ) − wl (k )).
(13.20)
Несложно видеть, что параметры нейрона с нулевым рангом w* (k )
(фактически нейрона-победителя) при этом уточняются с помощью процедуры
(13.4).
Аналогично предыдущему параметры алгоритма в процессе самообучения
должны уменьшаться, например, с помощью соотношений [281]
⎛λ
λ (k ) = λ max ⎜⎜ min
⎝ λ max
⎞
⎟⎟
⎠
k
N
⎛η ⎞
, η (k ) = η (0)⎜⎜ min ⎟⎟
⎝ η (0) ⎠
k
N
,
(13.21)
где N – объем обучающей выборки, λmax – максимально возможное значение
ширины, λ min , η min – минимальные значения соответствующих параметров.
Весь процесс самоорганизации имеет две временные фазы [3]: начальная
фаза упорядочения, в которой происходит топологическое разбиение входного
пространства, и последующая фаза сходимости, в которой осуществляется
точная настройка синаптических весов. По окончании этого процесса
нейронная сеть в принципе может решать поставленные задачи без уточнения
весов, однако, если появится входной образ, который не будет отнесен ни к
268
13 САМООРГАНИЗУЮЩИЕСЯ КАРТЫ
одному из сформированных кластеров, картой должен быть образован
дополнительный нейрон в слое Кохонена, несущий информацию об этом
образе, при этом весьма желательно, чтобы вновь включился процесс
самообучения.
Поскольку процесс обучения карт Кохонена происходит значительно
быстрее, чем настройка многослойной сети с помощью обратного
распространения ошибок [7], эти ИНС наиболее эффективны для работы в
реальном времени, когда настройка синаптических весов и обработка входных
сигналов протекают параллельно.
269
14 НЕЙРОННЫЕ СЕТИ ВЕКТОРНОГО КВАНТОВАНИЯ
Еще одним классом нейронных сетей, предназначенных для решения задач
кластеризации и компрессии информации, являются сети векторного
квантования, имеющие архитектуру подобную самоорганизующимся картам и
так же как и SOM введенные Т. Кохоненом [286]. В основе этих сетей лежит
техника
векторного
квантования
[287-290],
нашедшая
широкое
распространение в задачах сжатия аудио- и видеосигналов [215]. Основная
идея, лежащая в основе этой техники, состоит в компактном представлении
больших массивов информации, заданных в виде n − мерных векторов x(k ) ,
k = 1,2, …, N в форме ограниченного набора прототипов, или центроидов w j ,
j = 1,2, …, m , достаточно хорошо аппроксимирующих исходное пространство
X . В результате квантования пространства X формируется так называемая
кодовая книга, кодовые слова (они же векторы реконструкции) которой и
описывают прототипы кластеров, число которых m задается априорно. В
системах передачи информации, использующих векторное квантование, и
«передатчик» и «приемник» снабжаются этой кодовой книгой, с помощью
которой на передающем конце системы входной сигнал кодируется, а на
приемном – восстанавливается. Входной сигнал x(k ) сравнивается со всеми
кодовыми словами книги, среди которых выбирается определенное w j , в
некотором смысле ближайшие к x(k ) . По каналу связи передается только
индекс j , с помощью которого приемник реконструирует x(k ) в форме оценки
w j так, как это показано на рис. 14.1.
Передатчик
x( k ) ∈ X ,
x(k )
j ( x(k )) = arg min x(k ) − w j
j
2
Канал
передачи
информации
Приемник
j ( x(k ))
w j , j = 1,2,…, m
wj ∈ X ,
wj
Рис. 14.1 – Векторный квантователь
Принципиальным моментом разработки систем векторного квантования
является выбор метрики, определяющей близость кодируемых сигналов к
прототипам кластеров, наиболее общей из которых является метрика
Ф. Итакуры-С. Сайто [291], имеющая вид
D ( x(k ), w j ) = ( x( k ) − w j ) T D( x)( x(k ) − w j ) = x(k ) − w j
2
D( x)
,
(14.1)
где D (x) - некоторая положительно определенная симметрическая матрица.
Частным случаем (14.1) является популярная метрика П. Махаланобиса
270
14 НЕЙРОННЫЕ СЕТИ ВЕКТОРНОГО КВАНТОВАНИЯ
D ( x(k ), w j ) = ( x(k ) − w j ) T Σ −1 ( x(k ) − w j ) = x(k ) − w j
где Σ = Μ{( x(k ) − x )( x(k ) − x ) T }
рецепторное поле типа (3.14).
В простейшем случае при
-
ковариационная
D ( x(k ), w j ) = x(k ) − w j
2
Σ −1
,
матрица,
2
(14.2)
задающая
(14.3)
приходим к так называемому квантователю Вороного [292], осуществляющему
разбиение входного пространства на клетки, каждой из которых соответствует
свой прототип w j , j = 1,2,…, m .
На рис. 14.2 приведен пример разбиения двумерного пространства на
четыре клетки Вороного, при этом входные векторы x(k ) , k = 1,2, … , N
обозначены крестиками, а прототипы кластеров w j , j = 1, 2, 3, 4 - кружками.
x2
w3
w1
w2
w4
x(k )
x1
Рис. 14.2 – Квантование по Вороному
Именно на основе квантователя Вороного Т. Кохоненом была предложена
техника обучаемого векторного квантования и соответствующая ей
искусственная нейронная сеть, архитектура которой полностью совпадает с 1Dсамоорганизующейся картой, приведенной на рис. 13.3. Принципиальная
разница между самоорганизующимися картами (SOM) и сетями векторного
квантования (LVQ) состоит в принципах их обучения. Если в основе SOM
лежит конкурентное самообучение, то для LVQ-сетей характерно
контролируемое обучение с учителем, хотя элементы конкуренции при этом не
исключаются.
271
Итак, для каждого предварительно пронормированного входного вектора
x(k ) ( x( k ) = 1) определяется свой нейрон-победитель, синаптические веса w*j
которого соответствуют прототипу определенного кластера. Иначе говоря,
победителем является нейрон с минимальным расстоянием до входного вектора
D( x(k ), w*j (k )) = min x(k ) − w j (k )
2
j
(14.4)
или, что то же самое,
D ( x(k ), w*j (k )) = max x T (k ) w j (k ) = max cos( x(k ), w j (k )).
j
j
(14.5)
Поскольку обучение является контролируемым, то принадлежность
вектора x(k ) к конкретной области X j пространства X известна, что позволяет
рассмотреть две типичные ситуации, возникающие в обучаемом векторном
квантовании:
¾ входной вектор x(k ) и нейрон-победитель w*j принадлежат одной и
той же клетке Вороного;
¾ входной вектор x(k ) и нейрон-победитель w*j принадлежат разным
клеткам Вороного.
Тогда соответствующее LVQ-правило обучения может быть записано в
виде
⎧w*j (k ) + η ( k )( x(k ) − w*j (k )), если x(k ) и w*j (k )
⎪
принадлежат одной клетке,
⎪
⎪ *
(14.6)
w j (k + 1) = ⎨w j (k ) − η (k )( x(k ) − w*j ( k )), если x(k ) и w*j ( k )
⎪
принадлежат разным клеткам,
⎪
⎪w j (k ) для нейронов, не победивших в момент k .
⎩
Правило (14.6) имеет достаточно ясный физический смысл: если нейронпобедитель и предъявленный образ относятся к одному классу, то прототип
w*j (k ) подтягивается к x(k ) ; в противном случае прототип w*j (k ) отталкивается
от x(k ) , увеличивая тем самым расстояние D( x(k ), w*j (k )) . Заметим, что на этой
же идее «притяжения-отталкивания» основаны различные модификации
алгоритмов обучения сетей векторного квантования [3, 30, 279, 286].
Что касается выбора величины шага поиска η (k ) , то общая рекомендация
состоит в том, что он должен монотонно уменьшаться в процессе
контролируемого обучения. В [293] доказана сходимость процедуры
обучаемого векторного квантования в предположении, что параметр η (k )
изменяется в соответствии с условиями Дворецкого. Это позволяет выбирать
272
14 НЕЙРОННЫЕ СЕТИ ВЕКТОРНОГО КВАНТОВАНИЯ
шаг поиска согласно алгоритму Гудвина-Рэмеджа-Кэйнеса [127, 128] или, что
то же самое, с помощью выражения (13.5) при α = 1 . Несложно заметить, что
при x(k ) = 1
1
k
η (k ) = ,
(14.7)
т.е. алгоритм (14.5) превращается в стандартную процедуру стохастической
аппроксимации. При α < 1 алгоритм приобретает следящие свойства
необходимые в случае, если центроиды кластеров дрейфуют во времени.
Необходимо отметить также, что нормирование выходных сигналов x(k )
вовсе не гарантирует того, что прототипы кластеров также будут отвечать
условию w j = 1 , а невыполнение этого условия делает невозможным в
качестве оценки расстояния использовать скалярное произведение (14.5).
Обойти данное затруднение несложно, модифицировав правило обучения (14.6)
следующим образом:
⎧
⎪
⎪
⎪
⎪
⎪
⎪
w j (k + 1) = ⎨
⎪
⎪
⎪
⎪
⎪
⎪⎩
w*j (k ) + η (k )( x(k ) − w*j (k ))
w (k ) + η (k )( x(k ) − w (k ))
*
j
*
j
, если x(k ) и w*j (k )
принадлежат одной клетке,
w*j (k ) − η (k )( x( k ) − w*j (k ))
w (k ) − η (k )( x( k ) − w (k ))
*
j
*
j
, если x(k ) и w*j (k )
(14.8)
принадлежат разным клеткам,
w j (k )
w j (k )
для нейронов, не победивших в момент k .
Инициализация алгоритма обучаемого векторного квантования может
быть осуществлена различными способами, из которых в качестве простых, но
достаточно эффективных можно отметить:
¾ выбор в качестве w j (0), j = 1, 2,…, m любых m векторов x(k ) ,
принадлежащих разным клеткам Вороного;
¾ случайный выбор w j (0) в заданном интервале изменения входных
сигналов.
Условия останова алгоритма обучения в стационарном случае связаны, как
правило, со стабилизацией положения прототипов всех кластеров; в
нестационарном же случае процесс обучения протекает непрерывно.
Весьма интересным и перспективным приложением нейронных сетей
векторного квантования является адаптивное распознавание образов с
помощью схемы, приведенной на рис. 14.3 [9, 215].
273
Обучающий
сигнал
x(k )
Самоорганизующаяся
карта Кохонена
Признаки
y (k )
Нейронная сеть
векторного
квантования
Классы
образов
Рис. 14.3 – Гибридная схема адаптивного распознавания образов на основе
SOM и LVQ
Как видно, данная гибридная схема состоит из двух последовательно
соединенных однотипных архитектур, первая из которых (карта Кохонена)
работает в режиме самообучения, а вторая (нейросеть векторного квантования)
– контролируемого обучения. Из поступающего на вход системы вектораобраза x(k ) достаточно высокой размерности карта Кохонена выделяет
относительно малый набор признаков y (k ) , т.е. фактически осуществляет
понижение размерности входного пространства без существенной потери
информации. На втором этапе LVQ-сеть обучается классификации
поступающих образов y (k ) с помощью внешнего обучающего сигнала. Такая
организация процесса распознавания позволяет увеличить его быстродействие
и надежность.
274
15 НЕЙРОННЫЕ СЕТИ ВСТРЕЧНОГО РАСПРОСТРАНЕНИЯ
15 НЕЙРОННЫЕ СЕТИ ВСТРЕЧНОГО РАСПРОСТРАНЕНИЯ
Еще одним примером гибридных ИНС являются нейронные сети
встречного
распространения
(Counterpropagation
neural
networks),
предложенные Р. Хехт-Нильсеном [294 - 296] в качестве альтернативы
многослойным сетям с прямой передачей информации, обучаемым на основе
обратного распространения ошибок. Эти сети сокращают время обучения, как
минимум, на порядок по сравнению с многослойными персептронами [4, 7,
215], хотя несколько проигрывают им по точности. Исходно эти сети были
разработаны для аппроксимации по экспериментальным данным некоторого
отображения y = F (x) и нахождения обратного оператора x = F −1 ( y ) , хотя в
последствии применялись в основном в задачах распознавания образов,
компрессии данных, а также в качестве ассоциативной памяти.
В простейшем случае сеть встречного распространения представляет собой
гибрид самоорганизующейся карты Т. Кохонена (раздел 13) и звезд
С. Гроссберга (подразделы 4.7.2, 4.7.3) и соответственно сочетает в себе
конкурентное самообучение с контролируемым обучением с учителем.
К настоящему времени известен ряд вариантов сетей встречного
распространения, простейшим из которых является однонаправленная ИНС,
чья архитектура приведена на рис. 15.1.
Данная сеть предназначена для аппроксимации некоторого априори
неизвестного оператора F : X → Y , отображающего n − мерное пространство
входов в m − мерное пространство выходов, по данным обучающей выборки
x(1), y (1); x( 2), y (2);…; x( N ), y ( N ) .
Как видно из рисунка, нулевой слой сети содержит n + m рецепторов и
условно может быть разбит на две секции, одна из которых передает на
скрытый слой образ x(k ) = ( x1 (k ), x 2 (k ),… , x n (k )) T , а другая – на выходной слой
образ y (k ) = ( y1 (k ), y 2 (k ),…, y m (k ))T . Скрытый слой, именуемый также слоем
Кохонена, представляет собой по сути самоорганизующуюся карту, содержит h
нейронов и реализует отображение
u (k ) = W K x(k ),
(15.1)
где u (k ) = (u1 (k ), u 2 (k ),…, u h (k ))T , W K = {wliK }, l = 1,2,…, h; i = 1, 2,…, n − (h × n) −
матрица настраиваемых синаптических весов. Выходной слой, именуемый
также слоем Гроссберга, образован m выходными звездами и реализует
отображение
yˆ (k ) = V G u (k ),
(15.2)
V G = {v Gjl }, j = 1,2, … , m; l = 1,2, … , h − (m × h) − матрица
настраиваемых
где
синаптических весов. Поскольку в качестве нейронов сети обычно
275
используются адаптивные линейные ассоциаторы, несложно
преобразования, осуществляемые отдельными нейронами:
записать
⎧⎪u l (k ) = wlKT x(k ), l = 1,2, …, h;
⎨
GT
⎪⎩ yˆ j (k ) = v j u (k ), j = 1,2,… , m
(15.3)
yˆ ( k ) = V GW K x(k ).
(15.4)
и сетью в целом:
x1 (k )
x2 (k )
w1K
K
2
w
u1 (k )
u 2 (k )
v1G
yˆ1 (k )
v2G
yˆ 2 (k )
v3G
yˆ 3 (k )
vmG
yˆ m (k )
x3 (k )
K
3
u3 (k )
w
xn (k )
u h (k )
K
h
w
y1 (k )
y2 ( k )
y3 (k )
ym (k )
Нулевой слой
n + m рецепторов
Слой Кохонена
h нейронов
Слой Гроссберга
m нейронов
Рис. 15.1 – Однонаправленная нейронная сеть встречного распространения
Обучение сети встречного распространения происходит в два этапа. На
первом этапе по данным выборки x(1), x(2),… , x( N ) в слое Кохонена происходит
процесс самоорганизации, в результате которого входное пространство
разбивается на множество кластеров, при этом, как правило, реализуется
стратегия самообучения типа «победитель получает все»:
276
15 НЕЙРОННЫЕ СЕТИ ВСТРЕЧНОГО РАСПРОСТРАНЕНИЯ
⎧⎪wlK (k ) + η w (k )( x(k ) − wlK (k )), если l − тый нейрон победил,
(15.5)
w (k + 1) = ⎨ K
⎪⎩wl (k ) в противном случае.
K
l
На втором этапе по выборке x(1), y (1); x(2), y (2);…; x( N ), y ( N ) настраивается
выходной слой в соответствии с правилом обучения выходной звезды (4.403):
v Gjl (k + 1) = v Gjl (k ) + η v (k )u l (k )( y j ( k ) − v Gjl (k )),
(15.6)
⎧1, если l − тый нейрон победил,
u l (k ) = ⎨
⎩0 в противном случае,
(15.7)
где
т.е. фактически происходит уточнение только тех весов, которые связывают
нейроны слоя Гроссберга с нейроном-победителем слоя Кохонена.
В результате, если на обученную сеть подать образ x( p ) , не
принадлежащий обучающей выборке, то сначала в слое Кохонена будет
установлена его принадлежность определенному кластеру, после чего нейронпобедитель «возбудит» выходные звезды так, что на их выходах появятся
сигналы, соответствующие координатам прототипа (центроида) этого кластера.
В принципе, не возникает особых затруднений и в том случае, если
обучение сети встречного распространения необходимо производить в
реальном времени. Для этого, с целью обеспечения условия (15.7), достаточно
между слоями Кохонена и Гроссберга подключить сеть MAXNET (раздел 11)
так, как это показано на рис. 15.2.
y (k )
x(k )
K
Самоорганизующаяся W (k ) x(k ) Нейронная сеть u (k )
карта Кохонена
MAXNET
Слой
Гроссберга
yˆ ( k )
Рис. 15.2 – Трехслойная сеть встречного распространения
Еще более простым решением, позволяющим непрерывно обучать
стандартную архитектуру сети встречного распространения, является
использование в слое Кохонена биполярных функций соседства и
соответственно алгоритма обучения (13.12). Тогда общее правило обучения
ИНС можно записать в виде
⎧⎪wlK ( k + 1) = wlK (k ) + η w ( k )u l (k )( x(k ) − wlK (k )), l = 1,2, …, h;
⎨ G
G
G
⎪⎩v j (k + 1) = v j (k ) + η v (k )u (k )( y j (k ) E h − v j ( k )), j = 1,2,… , m,
(15.8)
277
где E h − (h × 1) − вектор, состоящий из единиц.
Несложно заметить, что в этом случае слой Кохонена состоит из входных
звезд, а слой Гроссберга – из выходных.
В качестве примера такого подхода можно привести архитектуру
автоассоциативной памяти, приведенную на рис. 15.3 и обучаемую с помощью
правила (15.8), принимающего в данном случае вид
⎧⎪wlK ( k + 1) = wlK (k ) + η w ( k )u l (k )( x(k ) − wlK (k )), l = 1,2, … , h;
⎨ G
⎪⎩vi (k + 1) = viG (k ) + η v (k )u (k )( xi (k ) E h − viG (k )), i = 1,2, … , n.
x1 (k )
w1K
x2 (k )
K
2
u1 (k )
u 2 (k )
w
K
3
x3 (k )
u3 (k )
w
v1G
xˆ1 (k )
v2G
xˆ2 (k )
v3G
xˆ3 (k )
vnG
xˆn (k )
(15.9)
u h (k )
K
h
xn (k )
w
Рис. 15.3 – Автоассоциативная память на основе ИНС встречного
распространения
Скорость обучения сетей встречного распространения может быть
увеличена, если слой Гроссберга настраивать не с помощью правила обучения
выходной звезды (4.403), а путем минимизации стандартной локальной целевой
функции
E j (k ) =
1
2
( y j (k ) − v GT
j u ( k )) ,
2
(15.10)
278
15 НЕЙРОННЫЕ СЕТИ ВСТРЕЧНОГО РАСПРОСТРАНЕНИЯ
что ведет к оптимальному по быстродействию алгоритму Качмажа-УидроуХоффа
v Gj (k + 1) = v Gj (k ) + η v (k )u (k )( y j (k ) − v GT
j ( k )u ( k )),
(15.11)
где
η v (k ) = u (k )
−2
(15.12)
обеспечивает процессу настройки весов выходного слоя высокие «скоростные»
характеристики.
Развитием архитектуры, приведенной на рис. 15.1, являются сплайн-сети
встречного распространения [4], общий вид которых показан на рис. 15.4.
w1K
u1 (k )
x1 (k )
w1S
v1G
yˆ1 (k )
v2G
yˆ 2 (k )
v3G
yˆ 3 (k )
vmG
yˆ m ( k )
u 2 (k )
K
2
w
x2 (k )
w2S
w3K
u3 (k )
x3 (k )
w3S
K
h
u h (k )
w
xn (k )
whS
y1 (k )
y2 ( k )
y3 (k )
ym (k )
Рис. 15.4 – Сплайн-сеть встречного распространения
279
Данная сеть обладает улучшенными аппроксимирующими свойствами за
счет того, что в скрытый слой дополнительно введены сплайн-нейроны, в
качестве которых могут выступать либо адаптивные линейные ассоциаторы,
либо радиально-базисные элементы, либо любые иные формальные нейроны с
нелинейными функциями активации. Каждый из сплайн-нейронов wlS
управляется соответствующим ему нейроном Кохонена wlK так, что в каждый
момент обучения k настраивается только сплайн-нейрон, соответствующий
нейрону-победителю Кохонена. Настройка такой сети осуществляется путем
минимизации критерия
E (k ) =
1
y ( k ) − yˆ (k )
2
2
(15.13)
по синаптическим весам v Gjl и wliS , что автоматически приводит к
необходимости применения обратного распространения ошибок, а,
следовательно, к снижению скорости обучения.
Однонаправленные
сети
встречного
распространения
обладают
единственным преимуществом перед другими сетями, восстанавливающими
отображение y = F (x) - высокой скоростью обучения, однако если фактор
времени не является определяющим, эти ИНС явно проигрывают другим по
точности аппроксимации.
Вместе с тем, уникальными свойствами восстановления не только
F : X → Y , но и обратного отображения F −1 : Y → X обладают двунаправленные
(полные) сети встречного распространения, архитектура которых приведена на
рис. 15.5.
Данная сеть имеет n + m входов и столько же выходов, которые могут быть
разбиты на секции, и фактически представляет собой комбинацию двух
однонаправленных сетей с общим слоем Кохонена. Обучение этой сети
аналогично настройке однонаправленной структуры с той лишь разницей, что
на
первом
этапе
кластеризации
подвергается
полная
выборка
x(1), y (1); x( 2), y (2);…; x( N ), y ( N ) , каждый элемент которой может быть
представлен в виде составного вектора
z ( k ) = x ( k ) ⊕ y ( k ) = ( x T ( k ) y T ( k )) T .
Несложно заметить, что в этом случае может быть использована процедура
обучения (15.9) в форме
⎧⎪wlK ( k + 1) = wlK (k ) + η w ( k )u l (k )( z ( k ) − wlK (k )), l = 1,2, …, h;
⎨ G
G
G
⎪⎩v p (k + 1) = v p (k ) + η v (k )u (k )( z p (k ) E h − v p (k )), p = 1,2, … , n + m,
(15.14)
при этом обученная сеть может работать в нескольких различных режимах
одновременно: восстановления прямого оператора F : X → Y , восстановления
обратного оператора F −1 : Y → X , а также как авто- и гетероассоциативная
память.
280
15 НЕЙРОННЫЕ СЕТИ ВСТРЕЧНОГО РАСПРОСТРАНЕНИЯ
Нейронные сети встречного распространения обеспечивают высокое качество
обработки информации в условиях интенсивных помех [7], обладают
достаточным быстродействием, хотя иногда могут быть критичны к выбору
числа нейронов h в слое Кохонена.
x1 (k )
K
1
w
u1 (k )
x2 (k )
xn (k )
w2K
y1 (k )
w3K
y2 ( k )
w4K
ym (k )
whK
Нулевой слой
n + m рецепторов
u 2 (k )
u3 (k )
u4 (k )
u h (k )
Слой Кохонена
h нейронов
v1G
xˆ1 (k )
v2G
xˆ2 (k )
vnG
xˆn (k )
vnG+1
yˆ1 (k )
vnG+ 2
yˆ 2 ( k )
vnG+ m
yˆ m (k )
Слой Гроссберга
n + m нейронов
Рис. 15.5 – Двунаправленная (полная) нейронная сеть встречного
распространения
281
16 АНСАМБЛИ НЕЙРОННЫХ СЕТЕЙ
В предыдущих разделах было рассмотрено множество искусственных
нейронных сетей, отличающихся друг от друга архитектурами, типом
образующих их нейронов, критериями и алгоритмами обучения, начальными
условиями, способами организации обучающих выборок, при этом можно
заметить, что зачастую одна и та же задача могла бы быть решена с помощью
различных ИНС, выбор единственной и «наилучшей» из которых обычно не
подкрепляется строгими формальными соображениями.
Качество решения конкретной поставленной задачи (эмуляции,
прогнозирования, распознавания образов, обратного моделирования,
управления и т.п.) может быть существенно повышенно с помощью ансамблей
(комитетов, смесей, банков) нейросетей [4, 9, 33, 297-302], в которых одни и те
же данные параллельно обрабатываются несколькими ИНС, выходные сигналы
которых далее некоторым образом комбинируются в объединенную оценку,
превосходящую по качеству результаты, получаемые с помощью локальных
сетей, входящих в ансамбли так, как это показано на рис. 16.1.
ИНС1
x(k )
ИНС2
ИНСh
y1 (k )
y 2 (k )
Слой
объединения
y * (k )
yh (k )
Рис. 16.1 – Ансамбль нейронных сетей
На практике наибольшее распространение получили два подхода к
объединению сетей в ансамбли: модульный [4] и основанный на взвешенном
усреднении [298] и хотя содержательно они достаточно отличаются друг от
друга, их объединяет то, что оба они используют линейную комбинацию
выходных сигналов своих членов в той или иной форме [9]. Модульный подход
имеет достаточно эвристический характер в отличие от более математически
строгого взвешенного усреднения, хотя и здесь остается элемент
субъективизма, связанный с выбором членов ансамбля. Эта задача обычно
решается с помощью тех или иных эвристик, хотя и имеются более или менее
строгие результаты, основанные на генетическом программировании [300] или
постепенном наращивании сложности сетей-членов ансамбля [4].
282
16 АНСАМБЛИ НЕЙРОННЫХ СЕТЕЙ
В настоящем разделе мы подробно остановимся на адаптивном подходе к
объединению нейросетей-членов ансамбля [303-309], предназначенному для
работы в реальном времени в темпе поступления новых данных и
позволяющему автоматически выявлять «наилучшие» локальные сети,
наибольшим образом приспособленные для решения конкретной задачи.
Пусть сигнал, подлежащий обработке, задан в форме n − мерной
временной последовательности x(k ) , k = 1,2, … , а выходной сигнал l − того
члена ансамбля есть m − мерная последовательность yl (k ), l = 1,2,…, h . Введем в
рассмотрение объединенную оценку
h
y (k ) = ∑ wl y l (k ) = y (k ) w,
*
(16.1)
l =1
где w = ( w1 , w2 ,…, wh ) T - вектор неизвестных весовых коэффициентов,
определяющих близость сигналов yl (k ) к обучающему сигналу d (k ) и
отвечающих условию несмещенности [33]
E hT w = 1,
y (k ) = ( y1 (k ), y 2 (k ),… , y h (k )) − (m × h) −
(16.2)
матрица,
E h − (h × 1) −
вектор,
составленный из единиц.
Вектор весовых коэффициентов w может быть найден с помощью метода
неопределенных множителей Лагранжа, для чего следует ввести
(k × m) − матрицу обучающих сигналов, (k × mh) − матрицу выходных сигналов
ансамбля:
⎛ y1T (1)
⎛ d T (1) ⎞
⎜ T
⎜ T
⎟
⎜ y1 (2)
⎜ d ( 2) ⎟
D(k ) = ⎜
⎟, Y (k ) = ⎜
⎜
⎜
⎟
⎜ d T (k ) ⎟
⎜ y T (k )
⎝
⎠
⎝ 1
y 2T (1)
y 2T (2)
y 2T ( k )
y hT (1) ⎞
⎟
T
y h (2) ⎟
⎟,
⎟
y hT (k ) ⎟⎠
(16.3)
(k × m) -матрицу ошибок
e k = D(k ) − Y (k ) I m ⊗ w
(16.4)
и функцию Лагранжа
283
1
L( w, λ ) = Tr (e kT e k ) + λ ( wT E h − 1) =
2
1
= Tr ( D(k ) − Y (k ) I m ⊗ w) T ( D(k ) − Y (k ) I m ⊗ w) + λ ( wT E h − 1) =
2
1 k
2
= ∑ d ( p ) − y ( p ) w + λ ( wT E h − 1).
2 p =1
Здесь I m − (m × m) − единичная матрица, ⊗ - символ
произведения, λ - неопределенный множитель Лагранжа.
Решение системы уравнений Куна-Таккера
(16.5)
тензорного
k
⎧
L
(
w
,
λ
)
∇
=
∑ (− y T ( p)d ( p) + y T ( p) y( p)w) + λE h = 0,
⎪ w
p =1
⎨
⎪∂L( w, λ ) ∂λ = wT E − 1 = 0
h
⎩
(16.6)
позволяет получить искомый вектор весов в виде
1 − E hT w*
w = w + P(k ) T
Eh ,
E h P(k ) E h
(16.7)
−1
⎧
⎛ k T
⎞
⎪ P(k ) = ⎜ ∑ y ( p) y ( p) ⎟ ,
⎜
⎟
⎪
⎝ p =1
⎠
⎨
k
⎪ *
T
⎪w = P (k )∑ y ( p )d ( p ) = P ( k )r (k )
p =1
⎩
(16.8)
*
где
– оценка стандартного метода наименьших квадратов.
С тем, чтобы оценить свойства полученного вектора весов (16.7),
перепишем это выражение в несколько иной форме. С учетом того, что
последовательность ошибок может быть представлена в виде
e( k ) = d (k ) − y (k ) w = d (k ) E hT w − y (k ) w = (d ( k ) E hT − y (k )) w = v(k ) w,
(16.9)
лагранжиан (16.5) можно переписать в форме
1 k T T
1
L( w, λ ) = ∑ w v ( p )v( p ) w + λ ( wT E h − 1) = wT V (k ) w + λ ( wT E h − 1), (16.10)
2 p =1
2
284
16 АНСАМБЛИ НЕЙРОННЫХ СЕТЕЙ
после чего, решая систему уравнений
⎧∇ w L( w, λ ) = V (k ) w + λE h = 0,
⎨
T
⎩∂L( w, λ ) ∂λ = w E h − 1 = 0,
(16.11)
⎧⎪w = V −1 (k ) E h ( E hT V −1 (k ) E h ) −1 ,
⎨
⎪⎩λ = − E hT V −1 ( k ) E h ,
(16.12)
получаем
при этом функция Лагранжа (16.10) в седловой точке имеет значение
L* ( w, λ ) = ( E hT V −1 (k ) E h ) −1 .
(16.13)
Рассмотрим далее произвольную пару векторов a и b и запишем
неравенство Коши-Шварца в форме
1
(a T b) 2 = (a T V 2 (k )V
1
2
2
≤ V (k )a V
−
1
2
−
1
2
1
(k )b) 2 = ((V 2 (k )a ) T (V
−
1
2
(k )b)) 2 ≤
(16.14)
2
(k )b
−1
= (a V (k )a )(b V (k )b).
T
T
Введем также (h × 1) − вектор E h ,l , образованный нулями кроме l − го элемента,
который равен единице, и перепишем (16.14) в виде
( E hT E h,l ) 2 ≤ ( E hT,lV (k ) E h ,l )( E hT V −1 (k ) E h ),
(16.15)
1 ≤ vll (k )( E hT V −1 (k ) h ),
(16.16)
откуда следует
или
k
vll (k ) = ∑ d ( p ) − y l ( p )
p =1
2
k
= ∑ vl ( p )
p =1
2
≥ ( E hT V −1 E h ) −1 = L* ( w, λ ),
(16.17)
где vll (k ) - диагональный элемент матрицы V (k ) .
Из (16.17) следует, что объединенный выходной сигнал y * (k ) не уступает
по точности наилучшему из локальных выходов yl (k ) , сформированному
l − той сетью, входящей в ансамбль.
285
С тем, чтобы обеспечить обработку информации в реальном времени,
выражение (16.7) следует представить в рекуррентной форме, которая с
помощью формулы Шермана-Моррисона-Вудбери приобретает вид
⎧ P(k + 1) = P(k ) − P (k ) y T (k + 1)( I m + y (k + 1) P(k ) y T (k + 1)) −1 y (k + 1) P(k ) =
⎪
= ( I m − P(k ) y T (k + 1) y (k + 1)) −1 P(k ),
⎪
⎪
T
(16.18)
⎨r (k + 1) = r ( k ) + y (k + 1)d (k + 1),
⎪ *
⎪w (k + 1) = P(k + 1)r (k + 1),
⎪w(k + 1) = w* (k + 1) + P(k + 1)( E T P( k + 1) E ) −1 (1 − E T w* (k + 1)) E .
h
h
h
h
⎩
Громоздкость алгоритма (16.18), являющегося по сути гауссовсконьютоновской процедурой нелинейного программирования, связана прежде
всего с необходимостью обращения на каждом такте времени k матриц
размерности (m × m) , что заставляет прибегать к более простым градиентным
алгоритмам настройки вектора весов w(k ) . Достаточно эффективная процедура
может быть получена, если для поиска седловой точки лагранжиана
использовать градиентный алгоритм Эрроу-Гурвица, имеющий вид [160]
⎧w(k + 1) = w(k ) − η w ( k )∇ w L( w, λ ),
⎨
⎩λ (k + 1) = λ (k ) + η λ (k ) ∂L( w, λ ) ∂λ ,
(16.19)
или для конкретной функции (16.5) –
⎧⎪w(k + 1) = w(k ) + η w ( k )( y T (k )e w (k ) − λ ( k ) E h ),
⎨
⎪⎩λ (k + 1) = λ (k ) + η λ (k )( wT (k ) E h − 1),
(16.20)
e w ( k ) = d (k ) − y * ( k ) = d (k ) − y ( k ) w(k ).
(16.21)
где
Процедура Эрроу-Гурвица сходится к седловой точке лагранжиана при
достаточно общих предположениях о значениях параметров шага η w (k ), η λ (k ) ,
однако для сокращения времени настройки, можно попытаться эти параметры
оптимизировать. Домножим слева первое соотношение (16.19) на y (k ) и
вычтем обе части полученного выражения из d (k ) , т.е.
и
y (k ) w(k + 1) = y (k ) w(k ) − η w y (k )∇ w L( w, λ ),
(16.22)
d (k ) − y (k ) w(k + 1) = d (k ) − y (k ) w( k ) + η w y (k )∇ w L( w, λ ).
(16.23)
286
16 АНСАМБЛИ НЕЙРОННЫХ СЕТЕЙ
Левая часть (16.23) описывает апостериорную ошибку ewA (k ) , полученную
после одного такта настройки параметров, т.е.
e wA ( k ) = e w (k ) + η w (k ) y (k )∇ w L( w, λ ).
(16.24)
Вводя квадрат нормы этой ошибки
e wA (k )
2
2
= e w ( k ) + 2η w (k )e wT (k ) y ( k )∇ w L( w, λ ) + η w2 (k ) y (k )∇ w L( w, λ )
2
(16.25)
и минимизируя его по η w (k ) , т.е. решая дифференциальное уравнение
∂ e wA (k )
2
∂η w = 0,
(16.26)
получаем оптимальное значение шага поиска
η w (k ) = −
e wT (k ) y (k )∇ w L( w, λ )
y (k )∇ w L( w, λ )
2
.
(16.27)
Тогда алгоритм (16.19), (16.20) окончательно может быть записан в виде
⎧∇ L( w, λ , k ) = −( y T (k )e (k ) − λ (k ) E ),
w
h
⎪ w
T
⎪
e w (k ) y (k )∇ w L( w, λ , k )
∇ w L( w, λ , k ),
⎨w(k + 1) = w(k ) +
2
y
k
L
w
λ
k
∇
(
)
(
,
,
)
⎪
w
⎪
T
⎩λ (k + 1) = λ (k ) + η λ ( k )( w ( k ) E h − 1).
(16.28)
Несложно видеть, что процедура (16.28) с вычислительной точки зрения
гораздо проще чем (16.18), а при отсутствии ограничений (16.2) представляет
собой обобщение на многомерный случай алгоритма обучения КачмажаУидроу-Хоффа.
Элементам весового вектора можно придать смысл вероятностей или
уровней принадлежности, определяющих «вклад» каждого из членов ансамбля
в объединенный результат, если в оптимизируемый лагранжиан ввести
дополнительное ограничение на неотрицательность получаемых весов, т.е.
h
E hT μ = ∑ μ l = 1, 0 ≤ μ l ≤ 1,
(16.29)
l =1
287
где μ = ( μ1 , μ 2 ,…, μ h ) T − вектор неотрицательных весовых коэффициентов в
объединенном сигнале
h
y μ* (k ) = ∑ μ l y l (k ) = y (k ) μ .
(16.30)
l =1
Вводя в рассмотрение лагранжиан
1
L( μ , λ , ρ ) = Tr e kT e k + λ ( μ T E h − 1) − ρ T μ =
2
1
= Tr ( D(k ) − Y (k ) I m ⊗ μ ) T ( D (k ) − Y (k ) I m ⊗ μ ) + λ ( μ T E h − 1) − ρ T μ = (16.31)
2
1 k
2
= ∑ d ( p ) − y ( p ) μ + λ ( μ T E h − 1) − ρ T μ
2 p =1
(здесь ρ − (h × 1) − вектор неотрицательных
Лагранжа) и систему уравнений Куна-Таккера
неопределенных
множителей
⎧∇ μ L( μ , λ , ρ ) = 0,
⎪
⎨∂L( μ , λ , ρ ) ∂λ = 0,
⎪ ρ ≥ 0, l = 1,2, … , h,
⎩ l
(16.32)
⎧μ = P ( k )(r (k ) − λE h + ρ ),
⎪
E hT P (k )r (k ) − 1 + E hT P (k ) ρ
⎨
λ
=
,
⎪
T
E
P
k
E
(
)
h
h
⎩
(16.33)
решение которой имеет вид
и применив далее процедуру Эрроу-Гурвица-Удзавы, получаем алгоритм
настройки вектора весовых коэффициентов μ в виде
⎧
E hT w* (k + 1) − 1 + E hT P (k + 1) ρ ( k )
*
×
⎪μ ( k + 1) = w ( k + 1) − P (k + 1)
E hT P (k + 1) E h
⎪
⎪
× E h + P (k + 1) ρ (k ),
⎨
⎪ ρ (k + 1) = Pr ( ρ (k ) − η (k ) μ (k )),
+
ρ
⎪
⎪⎩
(16.34)
288
16 АНСАМБЛИ НЕЙРОННЫХ СЕТЕЙ
где Pr+ (•) - проектор на положительный ортант.
Первое соотношение (16.34) можно преобразовать к виду
μ (k + 1) = w(k + 1) − P(k + 1)
E hT P (k + 1) ρ (k )
E h + P ( k + 1) ρ (k ) =
E hT P (k + 1) E h
⎛
P (k + 1) E h E hT
= w(k + 1) + ⎜⎜ I h − T
E h P (k + 1) E h
⎝
⎞
⎟ P (k + 1) ρ (k ),
⎟
⎠
(16.35)
где w(k + 1) определяется соотношением (16.7), I h − (h × h) − единичная матрица,
I h − P (k + 1) E h E hT ( E hT P (k + 1) E h ) −1 − проектор
на гиперплоскость
μ T Eh = 1 .
Несложно
видеть
также,
что
вектор
−1
T
T
( I h − P (k + 1) E h E h ( E h P( k + 1) E h ) ) P (k + 1) ρ (k ) ортогонален вектору E h , что
позволяет переписать (16.35) в простой форме
⎧⎪μ (k + 1) = w(k + 1) + Prμ T Eh =1 ( P (k + 1) ρ (k )),
⎨
⎪⎩ ρ (k + 1) = Pr+ ( ρ ( k ) − η ρ ( k ) μ (k )).
(16.36)
Тогда окончательно рекуррентный алгоритм настройки весовых векторов
w , w и μ приобретает вид
*
⎧
⎪ P (k + 1) = P (k ) − P (k ) y T (k + 1)( I + y (k + 1) P (k ) y T (k + 1)) −1 y (k + 1) P (k ) =
m
⎪
⎪
= ( I m − P (k ) y T ( k + 1) y (k + 1)) −1 P (k ),
⎪
T
⎪r ( k + 1) = r (k ) + y (k + 1)d ( k + 1),
⎪ *
(16.37)
⎨w (k + 1) = P( k + 1)r (k + 1),
⎪
T
T *
−1
*
⎪w(k + 1) = w ( k + 1) + P(k + 1)( E h P(k + 1) E h ) (1 − E h w (k + 1)) E h ,
⎪
E hT P(k + 1) ρ (k )
E h + P(k + 1) ρ (k ),
⎪μ (k + 1) = w(k + 1) − P(k + 1) T
E h P( k + 1) E h
⎪
⎪ ρ (k + 1) = Pr ( ρ ( k ) − η ( k ) μ (k )).
+
ρ
⎩
Процедура вычисления оценок вкладов членов ансамбля (16.34) может
быть существенно упрощена, если для поиска седловой точки лагранжиана
(16.31) аналогично предыдущему воспользоваться градиентным алгоритмом
289
⎧μ ( k + 1) = μ (k ) − η μ (k )∇ μ L( μ , λ , ρ ),
⎪
T
⎨λ (k + 1) = λ (k ) + η λ (k )( μ ( k ) E h − 1),
⎪ ρ (k + 1) = Pr ( ρ (k ) − η (k ) μ (k )),
+
ρ
⎩
(16.38)
⎧μ (k + 1) = μ (k ) + η μ (k )( y T (k )eμ (k ) − λ (k ) E h + ρ (k )),
⎪⎪
T
⎨λ (k + 1) = λ (k ) + η λ ( k )( μ (k ) E h − 1),
⎪ ρ (k + 1) = Pr ( ρ (k ) − η ( k ) μ (k )),
+
ρ
⎪⎩
(16.39)
eμ (k ) = d (k ) − y (k ) μ (k ) = d (k ) − y μ* (k ).
(16.40)
или
где
Проводя преобразования аналогичные (16.22) – (16.26), можно получить
оптимальное значение шага поиска
η μ (k ) = −
e μT (k ) y ( k )∇ μ L( μ , λ , ρ )
y ( k )∇ μ L( μ , λ , ρ )
2
,
(16.41)
после чего окончательно записать алгоритм настройки вектора μ (k ) :
⎧∇ μ L( μ , λ , ρ , k ) = −( y T (k )eμ ( k ) − λ (k ) E h + ρ ( k )),
⎪
e μT (k ) y (k )∇ μ L( μ , λ , ρ , k )
⎪
∇ μ L( μ , λ , ρ , k ),
⎪μ (k + 1) = μ ( k ) +
2
y (k )∇ μ L( μ , λ , ρ , k )
⎨
⎪
⎪λ ( k + 1) = λ (k ) + η λ (k )( μ T ( k ) E h − 1),
⎪
⎩ ρ (k + 1) = Pr+ ( ρ (k ) − η ρ (k ) μ (k )).
(16.42)
Несложно видеть, что в случае неотрицательности всех компонент вектора
μ (k ) , алгоритм (16.42) автоматически приобретает форму процедуры (16.28).
На рис. 16.2 приведена архитектура искусственной нейронной метасети,
решающей задачу объединения ансамбля локальных сетей.
На вход метасети поступает обрабатываемый многомерный сигнал x(k ) ,
подающийся далее на первый слой, образованный h параллельно
функционирующими ИНС, решающими одну и туже задачу (фильтрации,
прогнозирования и т.п.), отличающимися друг от друга нейронами,
архитектурами, алгоритмами обучения и формирующими набор векторных
локальных выходов yl (k ), l = 1,2,…, h . Эти локальные сигналы поступают на
выходной слой, образованный двумя нейронами (ALA), представляющими
290
16 АНСАМБЛИ НЕЙРОННЫХ СЕТЕЙ
собой по сути многомерные аналоги стандартных адаптивных линейных
ассоциаторов и вычисляющими объединенные выходные сигналы
⎧⎪ y * (k ) = y ( k ) w(k ),
⎨ *
⎪⎩ y μ (k ) = y (k ) μ (k ),
ALAw ,
(16.43)
ALAμ .
d (k )
w(k + 1), λ (k + 1)
ИНС1
y1 (k )
y* (k )
ALAw
x(k )
ИНС2
+
−
ew (k )
Σ
+
yμ* ( k )
ALAμ
ИНСh
Алгоритм
обучения
y 2 (k )
−
Σ
eμ (k )
yh (k )
w(k + 1), λ (k + 1), ρ (k + 1)
Рис. 16.2 – Искусственная нейронная метасеть
Обучение нейронов ALAw и ALAμ производится с помощью алгоритмов
(16.28) и (16.42) соответственно.
Использование нейронной метасети позволяет повысить качество
обработки информации на основе ансамбля ИНС и определить сетипобедители,
наилучшим
образом
приспособленные
к
решению
рассматриваемой задачи и вносящие наибольший вклад в ее решение.
291
17 КОДИРОВАНИЕ СИГНАЛОВ В
ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЯХ
В настоящем и последующих разделах более подробно будут рассмотрены
примеры решения ряда практических задач обработки информации и
управления в условиях структурной и параметрической неопределенности о
свойствах процессов и объектов.
Как мы уже отмечали в подразделе 4.2.3, способность нейросетей
аппроксимировать неизвестные отображения «вход-выход» обеспечила им
широкое применение в задачах эмуляции в рамках схемы, приведенной на рис.
4.4 и обеспечивающей восстановление многомерного статического
отображения
d = f (x),
(17.1)
где d и x - (m × 1) и (n × 1) − векторы выходов и входов идентифицируемого
объекта соответственно, f (•) - неизвестная вектор-функция, которую
необходимо оценить с помощью заданной обучающей выборки
{x(k ), d (k )}, k = 1,2, … , N .
Некоторые проблемы, связанные с синтезом нейроэмуляторов,
определяются необходимостью предварительной обработки поступающих в
него сигналов, несущих информацию о входных и выходных переменных
объекта. Такая обработка предполагается и в некоторых адаптивных системах
управления [109] с целью повышения скорости сходимости процесса
идентификации и предусматривает центрирование и нормирование
наблюдаемых переменных объекта.
При этом для линейного объекта управления с n входами xi (k ), i = 1,2,… , n
и m выходами d j (k ) , j = 1,2,…, m формируется m моделей
n
y j (k ) = a j 0 + ∑ a ji xi (k ),
(17.2)
i =1
где a ji - настраиваемый параметр линейной адаптивной модели, описывающий
связь между j − м выходом и i − м входом объекта.
Переход к кодированным переменным
d j (k ) − d j (k ) ~
x ( k ) − xi ( k )
~
d j (k ) =
, xi ( k ) = i
σ di ( k )
σ xi (k )
(17.3)
(здесь средние и стандарты вычисляются согласно известным выражениям
292
17 КОДИРОВАНИЕ СИГНАЛОВ В ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЯХ
1
⎞2
⎛1 k
1
z (k ) = ∑ z ( p ), σ z (k ) = ⎜⎜ ∑ ( z ( p ) − z (k )) 2 ⎟⎟ )
k p =1
⎠
⎝ k p =1
k
(17.4)
приводит к преобразованным моделям вида
n
~
y j (k ) = ∑ a~ ji ~
xi (k ),
(17.5)
~
d j (k ) = ~
xi (k ) = 0, σ d~ (k ) = σ ~xi (k ) = 1,
(17.6)
i =1
у которых
j
а параметры a~ ji - суть частные коэффициенты корреляции
− 1 ≤ a~ ji = ry j xi ≤ 1.
(17.7)
Между параметрами моделей (17.2) и (17.5) существует однозначная связь
⎧~
~ = σ xi a ,
0
,
a
a
=
⎪ j0
ji
ji
σdj
⎪
⎨
n
σ
σ
⎛
⎪
~ d j x ⎞⎟, , a = d j a~ ,
⎜
a
d
a
=
−
∑
j
j
ji
i
ji
ji
0
⎪
⎟
⎜
σ
σ
=
1
i
x
x
i
i
⎠
⎝
⎩
(17.8)
при этом структура (17.5) может быть настроена гораздо быстрее, хотя в общем
случае без такой предварительной обработки сигналов можно было бы и
обойтись.
В задачах нейроэмуляции возникает более сложная ситуация. Дело в том,
что в формальных нейронах многослойных сетей используются функции
активации, области значений которых лежат в достаточно узких пределах:
обычно это интервалы между нулем и единицей для сигмоидальной функции и
между − 1 и + 1 для гиперболического тангенса. В действительности области
определения переменных реального объекта управления гораздо шире этих
интервалов и подача фактических значений сигналов в эмулятор приводит к
параличу нейросети. В связи с этим используются различные процедуры
предварительной обработки сигналов (центрирование, нормирование,
масштабирование, шкалирование) [7, 20, 310, 311], ставящие своей целью
избежать это нежелательное явление. Любая из перечисленных процедур в
отдельности не в состоянии предусмотреть все ситуации, возникающие при
работе с реальным объектом, а потому имеет смысл использовать
универсальный алгоритм обработки и кодирования сигналов объекта перед их
подачей в нейроэмулятор.
293
При обработке сигналов в режиме реального времени оценки среднего и
стандарта целесообразно вычислять с помощью рекуррентных процедур,
описанных в подразделе 4.7.6
1
⎧
z
k
z
k
+
=
+
(
1
)
(
)
( z (k + 1) − z ( k )),
⎪
k +1
⎪
1
⎪ 2
2
(( z (k + 1) − z (k + 1)) 2 − σ z2 (k )),
⎨σ z (k + 1) = σ z (k ) +
k +1
⎪
2
⎪σ (k + 1) = σ (k + 1)
z
⎪ z
⎩
(17.9)
и реализуемых с помощью нейронов, приведенных на рис. 4.31 и 4.32.
Эти нейроны позволяют осуществлять центрирование и нормирование
переменных в темпе с процессом адаптивной идентификации, однако для
нейроэмуляции этого явно недостаточно. Дело в том, что если сигналы объекта
являются стохастическими последовательностями, подчиняющиеся, например,
нормальному закону распределения, то и область изменения центрированного и
нормированного сигнала ~z (k ) будет лежать, как минимум, в интервале [-3, 3],
что шире области изменения стандартных функций активации.
В связи с этим необходимо провести масштабирование сигнала ~z (k ) с
помощью линейного преобразования
zˆ (k ) = b0 + b~
z (k ),
(17.10)
где параметры b0 и b задают требуемые интервалы.
Вводя интервал возможного изменения сигнала ~z (k )
Δ ~z = ~
z max − ~
z min
(17.11)
и интервал варьирования масштабированной переменной zˆ (k )
Δ zˆ = zˆ max − zˆ min
(17.12)
полагается 0.1 ≤ zˆ (k ) ≤ 0.9 для сигмоидальной функции и
− 0.9 ≤ zˆ (k ) ≤ 0.9 для гиперболического тангенса [7]), а также масштабирующий
параметр
(обычно
Δz =
Δ zˆ zˆ max − zˆ min
=
,
Δ ~z ~
z max − ~
z min
(17.13)
можно записать преобразование (17.10) в виде
294
17 КОДИРОВАНИЕ СИГНАЛОВ В ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЯХ
zˆ (k ) = ( zˆ min − Δ z ~z min ) + Δ z ~
z ( k ),
(17.14)
или с учетом (17.3)
⎛ z (k ) − z (k ) ~ ⎞
− z min ⎟⎟ + zˆ min =
zˆ (k ) = Δ z ⎜⎜
σ
k
(
)
z
⎝
⎠
(17.15)
⎛
⎛ z (k ) ~ ⎞ ⎞
Δz
= ⎜⎜ zˆ min − Δ z ⎜⎜
+ z min ⎟⎟ ⎟⎟ +
z (k ).
σ
σ
(
k
)
(
k
)
⎝
⎠
z
z
⎝
⎠
Для реализации выражения (17.15) целесообразно ввести в рассмотрение
нейрон-кодер входных сигналов нейроэмулятора xi (k ) , схема которого
приведена на рис. 17.1, а условное обозначение – на рис. 17.2.
~
xi min
+
xi (k )
Σ
1
+
k
xi (k ) −
Σ
Σ
+
xˆ i min
xˆi max
+
Σ
−
Σ
•
•
+
−
−
+
~
xi max
z −1
•
•
~
xi ( k )
+
−
Σ
+
Σ
×
×
+
+
Σ
−
Δxi
xˆ i ( k )
~
xi ( k )
xi (k )
+
Σ
−
1
k
+
+
Σ
σ x2i (k )
σ xi (k )
•
z −1
Рис. 17.1 – Схема нейрона-кодера входного сигнала
σ xi (k ) - стандарт
xi (k ) - среднее
xi (k )
C
xˆ i (k ) - кодированный сигнал
- масштабирующий параметр
Δxi
~
x (k )
i
- центрированный, нормированный сигнал
Рис. 17.2 – Нейрон – кодер входного сигнала
295
Не менее важную проблему, чем кодирование входных сигналов,
составляет обратное преобразование – декодирование к реальным значениям
переменных объекта управления. Для решения этой задачи можно
воспользоваться соотношениями вида
⎧~
z (k ) = zˆ (k )Δ−z1 + ( ~
z min − Δ−z1 zˆ min ),
⎨
~
⎩ z (k ) = σ z (k ) z (k ) + z (k ),
или
z (k ) =
σ z (k )
Δz
(17.16)
zˆ (k ) + ( z (k ) + σ z (k )(~z min − zˆ min Δ−z1 )),
(17.17)
которые могут быть реализованы в форме нейрона-декодера выходного сигнала
y j (k ) , приведенного на рис. 17.3, 17.4.
~
d j min
dˆ j min
•
•
σ d j (k )
•
•
Δd j
−
+
Σ
×
×
+
+
Σ
y j (k )
+
yˆ j (k )
d j (k )
Рис. 17.3 – Схема нейрона-декодера выходного сигнала
~
d j min
dˆ
j min
σ d j (k )
Δd j
D
y j (k )
yˆ j (k )
d j (k )
Рис. 17.4 – Нейрон – декодер выходного сигнала
296
17 КОДИРОВАНИЕ СИГНАЛОВ В ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЯХ
На рисунках
yˆ j (k )
dˆ j min ≤ yˆ j (k ) ≤ dˆ j max , а
обозначает сигнал на выходе нейроэмулятора
y j (k ) - его декодированное значение, являющееся
оценкой выходного сигнала реального объекта d j (k ) .
Применение подобных кодирующих и декодирующих нейронов
обеспечивает дополнительные возможности нейросетевым системам эмуляции,
управления, прогнозирования и т.п., предназначенным для работы в реальном
времени. При этом нейронная сеть дополняется слоями из вспомогательных
нейронов так, как это показано на схеме нейроэмуляции объекта управления,
приведенной на рис. 17.5.
В такой системе входы реального объекта x1 (k ), x 2 (k ),…, x n (k ) через слой
кодирующих
нейронов
C
поступают
в
нейроэмулятор,
будучи
преобразованными к виду xˆ1 (k ), xˆ 2 (k ),…, xˆ n (k ) . Алгоритм обучения на основе
выходов нейронной сети yˆ1 (k ), yˆ 2 (k ),… , yˆ m (k ) и сигналов реального объекта
d1 (k ), d 2 ( k ),… , d m (k ) , пропущенных через слой кодирующих нейронов,
производит настройку сети путем минимизации принятой функции от ошибок
обучения eˆ j (k ) = dˆ j (k ) − yˆ j (k ) . Обученный таким образом нейроэмулятор, схема
которого приведена на рис. 17.5, будет представлять собой модель реального
объекта, при этом выходные сигналы нейросети yˆ j (k ) с помощью
декодирующих нейронов D преобразуются в оценки y j (k ) фактических
выходов d j (k ) .
x1 (k )
x2 (k )
d1 ( k )
d 2 (k )
Объект
управления
xn (k )
d m (k )
C
C
C
C
yˆ1 (k )
−
xˆ1 (k )
Искусственная
xˆ 2 (k )
xˆ n (k )
нейронная
сеть
Алгоритм
обучения
yˆ 2 (k )
yˆ m (k )
eˆ1 (k )
eˆ2 (k )
C
dˆ1 (k )
+
C
dˆ 2 ( k ) dˆ m (k )
Σ
−
+
Σ
−
+
Σ
D
y1 (k )
D
y 2 (k )
D
y m (k )
eˆm (k )
Рис. 17.5 – Схема нейроэмуляции объекта управления
297
18 НЕЙРОСЕТЕВАЯ КОМПРЕССИЯ ДАННЫХ
Важной проблемой, возникающей при обработке больших массивов
наблюдений, является сжатие данных с целью выделения наиболее
существенной информации и выявления неких латентных факторов, неявным
образом определяющих природу изучаемого явления. Одним из наиболее
эффективных подходов к решению этой проблемы является аппарат
факторного анализа [220, 221], нашедший широкое применение в задачах
обработки эмпирических данных в различных областях: психологии,
социологии, технике, экономике, медицине, криминалистике и т.д.
Основная идея факторного анализа, допускающая наличие априорно
неизвестных скрытых факторов, ведет к следующей неформальной задаче:
наблюдая большое количество измеряемых параметров (показателей), выявить
небольшое число параметров-факторов, определяющих в основном поведение
измеряемых параметров, или иначе: зная значения большого количества
функций измеряемых параметров, установить соответствующие значения
общих для всех функций аргументов-факторов и восстановить вид этих
функций.
Исходной информацией для факторного анализа является ( N × n) -матрица
наблюдений
x n (1) ⎞ ⎛ x T (1) ⎞
⎟
⎟ ⎜
x n (2) ⎟ ⎜ x T (2) ⎟
⎟
⎟ ⎜
⎟,
⎟=⎜
x n (k ) ⎟ ⎜ x T (k ) ⎟
⎟
⎟ ⎜
⎟
⎟ ⎜
⎟
T
⎜
x n ( N ) ⎠ ⎝ x ( N ) ⎟⎠
x 2 (1)
⎛ x1 (1)
⎜
⎜ x1 (2) x 2 (2)
⎜
X (N ) = ⎜
⎜ x1 (k ) x 2 (k )
⎜
⎜
⎜ x (N ) x (N )
2
⎝ 1
(18.1)
образованная массивом из N n − мерных векторов x(k ) = ( x1 (k ), x 2 (k ),… , x n ( k )) T ,
и автокорреляционная (n × n) − матрица
R( N ) =
1
N
N
∑ ( x(k ) − x ( N ))( x(k ) − x ( N ))T =
k =1
1
N
N
∑ ~x (k ) ~x T (k ),
(18.2)
k =1
где
1
x (k ) =
N
N
∑ x(k ),
(18.3)
~
x (k ) = x(k ) − x (k )
(18.4)
k =1
- центрированные относительно среднего по массиву данных векторы
измеряемых показателей.
298
18 НЕЙРОСЕТЕВАЯ КОМПРЕССИЯ ДАННЫХ
Одним их наиболее распространенных и эффективных методов
нахождения факторов является метод главных компонент, или компонентный
анализ, нашедший широкое применение в задачах сжатия данных,
распознавания образов, кодирования, обработки изображений, спектрального
анализа и т.п. и известный также в теории распознавания образов как
преобразование Карунена-Лоэва [95, 96].
Задача компонентного анализа состоит в проецировании векторов данных
из исходного n -мерного пространства в m -мерное (m < n) пространство
главных компонент и сводится к поиску системы w1 , w2 ,…, wm ортонормальных
собственных векторов матрицы R(N ) таких, что w1 = ( w11 , w12 ,…, w1n ) T
соответствует наибольшему собственному значению λ1 матрицы R (N ) , w2 второму по величине собственному значению λ2 и т.д. Иначе говоря, проблема
сводится к отысканию решений матричного уравнения
( R( N ) − λ j I n ) w j = 0
(18.5)
таких, что λ1 ≥ λ 2 ≥ ≥ λ m ≥ ε ≥ 0 и w j = 1.
Размерность же пространства главных компонент m определяется, как
правило, из эмпирических соображений и требуемой степени сжатия массива
данных.
Таким образом, в алгебраических терминах решение факторной задачи
тесно связано с проблемой собственных значений и нахождением ранга
корреляционной матрицы; в геометрическом смысле – это задача перехода в
пространство более низкой размерности с минимальной потерей информации; в
статистическом смысле – это задача нахождения множества ортонормальных
векторов в пространстве входов, «принимающих» на себя максимально
возможную вариацию данных, и, наконец, в алгоритмическом смысле – это
задача последовательного определения набора собственных векторов
w1 , w2 , … , wm
путем оптимизации множества локальных критериев,
формирующих глобальную целевую функцию
Ek =
1 m k 1 m k
E j = ∑∑ ( wTj ~
x ( p )) 2
∑
k j =1
k j =1 p =1
(18.6)
при ограничениях wTj wl = 0 j ≠ l , wTj w j = 1 .
Первая главная компонента w1 может быть найдена путем максимизации
критерия (4.422)
E1k =
1 k
( w1T ~
x ( p )) 2
∑
k p =1
(18.7)
299
путем решения задачи нелинейного программирования с помощью
неопределенных множителей Лагранжа.
Однако, если обработка данных должна производиться в реальном
времени, на первый план выходят нейросетевые технологии, среди которых в
первую очередь следует отметить правило самообучения и нейрон Э. Оя,
подробно рассмотренные в подразделе 4.7.5.
Именно с помощью правила Оя в виде
x (k ) − w1 (k ) y1 (k )),
⎧w1 (k + 1) = w1 (k ) + η ( k ) y1 ( k )( ~
⎨
T
~
⎩ y1 (k ) = w1 (k ) x (k ), w1 (0) ≠ 0
(18.8)
может быть выделена первая главная компонента.
Далее, следуя процедуре стандартного анализа главных компонент, из
каждого вектора ~x (k ), k = 1,2,… , N вычитается его проекция на первую главную
компоненту и вычисляется первая главная компонента разностей, являющаяся
второй главной компонентой исходных данных и ортонормальная первой.
Третья главная компонента вычисляется путем проекции каждого исходного
вектора ~x (k ) на первые две компоненты, вычитания этой проекции из ~x (k ) и
нахождения первой главной компоненты разностей, являющейся третьей
главной компонентой исходного массива данных. Остальные главные
компоненты вычисляются рекурсивно согласно описанной стратегии.
Именно эта идея рекурсивного вычисления главных компонент положена в
основу алгоритма, предложенного Т. Сэнгером [312] и в модифицированной
форме имеющего вид [223]
⎧w j (k + 1) = w j (k ) + η (k )e j ( k ) y j (k ),
⎪
⎪e j (k ) = e j −1 (k ) − w j (k ) y j (k ),
⎪
T
~
⎨ y j (k ) = w j ( k ) x (k ), w j (0) ≠ 0,
⎪
~
⎪e0 ( k ) = x (k ), j = 0,1,2, … , m,
2
⎪η ( k ) = r −1 (k ), r ( k ) = αr (k − 1) + ~
x ( k ) , 0 ≤ α ≤ 1.
⎩
(18.9)
Несложно видеть, что первая главная компонента вычисляется с помощью
алгоритма Оя, далее проекции входных векторов на w1 (k ) вычитаются из
входов и разности обрабатываются следующим нейроном и т.д.
На рис. 18.1 приведена схема модифицированной искусственной
нейронной сети Т. Сэнгера, набранной из нейронов Э. Оя и реализующей
алгоритм (18.9).
Первый слой сети образован нейронами-кодерами, осуществляющими
предварительную обработку сигналов путем их центрирования и нормирования
с помощью соотношений (17.3) и (17.9). Далее сигналы ~x1 (k ), ~x2 (k ),…, ~xn (k )
300
18 НЕЙРОСЕТЕВАЯ КОМПРЕССИЯ ДАННЫХ
обрабатываются во втором скрытом слое, образованном m нейронами Оя,
+
~
x1 (k )
−
Σ
x1 (k )
C
−
η (k )
+
Σ
×
Σ
−
×
η (k )
+
C
−
+
−
Σ
×
−
Σ
−
−
×
η (k )
+
−
+
Σ
−−
×
×
+
z −1
+
Σ
z −1
+
Σ
+
+
+
Σ
z −1
Σ
+
z −1
θ
Нейрон Оя
+
×
+
y2 ( k )
wm1 (k )
+
η (k )
Σ
w2 n (k )
×
η (k )
θ
Нейрон Оя
+
z −1
y1 (k )
w21 (k )
×
η (k )
Σ
w1n (k )
+
×
~
xn (k )
w11 (k )
×
×
+
Σ
+
×
xn (k )
z −1
×
×
+
Σ
+
×
+
−
×
×
Нейрон Оя
+
Σ
ym ( k )
θ
wmn (k )
Рис. 18.1 – Нейронная сеть Т. Сэнгера
301
после чего поступают на выходной слой, сформированный элементами с
активационными функциями-выпрямителями с зоной нечувствительности (рис.
1.3):
⎧u , если u ≥ θ ,
⎩0 в противном случае,
ψ (u ) = ⎨
(18.10)
что позволяет выделить информативные сигналы y j (k ) и отсеять шум.
Нейронная сеть Сэнгера является эффективным средством сжатия информации
с минимальными потерями точности, однако ее возможности ограничены тем,
что реализуя по сути стандартную технику факторного анализа, она решает
линейную задачу, в то время как основным преимуществом нейросетевых
технологий является возможность работы в сугубо нелинейных ситуациях.
Задача нелинейного факторного анализа эффективно может быть решена с
помощью автоассоциативного трехслойного персептрона [27, 33, 216],
известного еще под названием «Бутылочное горлышко» (Bottle neck).
На рис. 18.2 приведена схема автоассоциативного обучения многослойного
персептрона, в процессе которого минимизируется модификация глобальной
целевой функции (4.323) в виде
E k = ∑ E (k ) =
k
x(k )
W [1]
u [1] (k )
Ψ [1]
n
n
1
1
[ 3]
2
x
k
−
o
k
=
e 2j (k ).
(
(
)
(
))
∑∑
∑∑
j
j
2 k j =1
2 k j =1
o[1] (k )
W [2 ]
u [ 2] (k )
Ψ [2 ]
o[ 2 ] ( k )
W [3]
u [ 3] ( k )
(18.11)
o[ 3] ( k )
Ψ [3]
−
+
Σ
y (k )
Алгоритм
обучения
e(k )
Рис. 18.2 – Автоассоциативный трехслойный персептрон
В качестве алгоритма обучения может быть использована любая процедура
обратного распространения ошибок с тем отличием, что в качестве обучающего
образа d (k ) используется сам входной сигнал x(k ) , подлежащий сжатию.
Возвращаясь к схеме трехслойного персептрона на рис. 2.4, отметим, что на
нулевой слой поступает n -мерный вектор входных сигналов x(k ) (n0 = n) ,
первый скрытый слой содержит n1 = n нейронов, второй скрытый слой n2 = n < n нейронов и выходной слой - n3 = n нейронов. Целью ассоциативного
обучения является восстановление на выходе сети сигнала o [3] (k ) , наилучшим
302
18 НЕЙРОСЕТЕВАЯ КОМПРЕССИЯ ДАННЫХ
образом аппроксимирующего входной сигнал x(k ) . Собственно же сжатие
информации происходит во втором скрытом слое, содержащем меньшее число
нейронов чем первый и выходной слои. Именно с выхода второго скрытого
слоя снимается «сжатый» сигнал y (k ) = o [ 2 ] (k ), при этом в результате такого
подхода к компрессии информации достигается оптимальное решение задачи
нелинейного факторного анализа [33].
Заметим также, что если в качестве нейронов персептрона «Бутылочное
горлышко» использовать адаптивные линейные ассоциаторы, приходим к
решению стандартной задачи компонентного анализа, решаемой нейросетью
Сэнгера, имеющей тем не менее преимущество перед многослойным
персептроном по скорости обучения.
303
19 ПРОГНОЗИРОВАНИЕ ВРЕМЕННЫХ РЯДОВ С ПОМОЩЬЮ
НЕЙРОННЫХ СЕТЕЙ
В настоящем разделе рассмотрена задача прогнозирования многомерных
стохастических временных рядов в условиях структурной и параметрической
неопределенности, кратко отмеченная в подразделе 4.2.5 (рис. 4.8). Поскольку в
общем случае природа наблюдаемой последовательности неизвестна, наиболее
адекватным для прогнозирования в данной ситуации является применение
искусственных нейронных сетей, позволяющих по прошлым наблюдениям
восстанавливать нелинейное отображение вида [313 - 321]
x(k ) = F ( x(k − 1), x(k − 2),… , x(k − n A )) + e(k ) = xˆ (k ) + e(k ),
(19.1)
где xˆ (k ) - оценка (прогноз) значения x(k ) , полученная на выходе нейросети,
представляющей в данном случае нелинейную авторегрессионную (NAR)
модель, e(k ) - ошибка прогнозирования.
Возможность и эффективность использования NAR-модели (19.1) в
задачах прогнозирования определяется теоремой Тэкенса о диффеоморфизме
[322], устанавливающей существование порядка модели n A , который
обеспечивает сколь угодно малое значение ошибки e(k ) , и универсальными
аппроксимирующими свойствами ИНС.
В качестве основы для построения NAR-моделей чаще всего используются
многослойные сети с прямой передачей информации, входной (нулевой) слой
которых образован линиями элементов чистой задержки z −1 с отводами.
На рис. 19.1 приведена архитектура многослойной сети, а на рис. 19.2 –
схема стандартного формального статического нейрона l − го слоя, l = 1,2, … , L ,
с точностью до обозначений совпадающие со схемами на рис. 2.4 б, 1.2.
[1]
x
n1 × 1
W [1]
u
[2 ]
Ψ [1]
Первый скрытый слой
x[ 2 ]
n2 × 1
W [2]
u [3]
Ψ [2 ]
x
[ 3]
n3 × 1
Второй скрытый слой
x[ L ]
W [L]
u
[ L +1]
Ψ[ L ]
nL ×1
x̂
n L +1 × 1
Выходной скрытый слой
Рис. 19.1 – L -слойная нейронная сеть с прямой передачей информации
На первый скрытый слой сети поступает n = n1 = n A = n [A1] - мерный вектор
x [1] , сформированный в нулевом слое с помощью элементов задержки z −1
( z −1 x(k ) = x( k − 1)) и образованный прошлыми значениями прогнозируемого
временного ряда x(k − 1), x(k − 2),… , x(k − n [A1] ) . Выходным сигналом первого
скрытого слоя является (n2 × 1) − вектор x [ 2] , подающийся на вход второго
скрытого слоя и т.д. На выходе L -го (выходного) слоя появляется прогнозный
m = n L +1 -мерный вектор x̂ . Таким образом каждый слой имеет nl входов и nl +1
304
19 ПРОГНОЗИРОВАНИЕ ВРЕМЕННЫХ РЯДОВ С ПОМОЩЬЮ
НЕЙРОННЫХ СЕТЕЙ
выходов и характеризуется (nl +1 × (nl + 1)) -матрицей синаптических весов W [l ] и
(nl +1 × nl +1 ) -диагональным оператором Ψ [l ] , образованным нелинейными
активационными функциями ψ [jl ] , j = 1,2,… , nl +1 .
x
[l ]
0
≡1
[l ]
1
x
w
u [jl1+1]
[l ]
j1
w
x2[l ]
w[jl2]
[l ]
nl
[l ]
jn l
x
u[jl0+1] = w[jl0]
[l ]
j0
u [jl2+1]
+
+
+
Σ
u[jl +1]
ψ [lj ]
x[jl +1]
+
u [jnl +1]
w
l
Рис. 19.2 – Статический нейрон
«Строительным блоком» такой сети является стандартный статический
нейрон, реализующий нелинейное отображение
⎛ nl
⎞
⎛ nl
⎞
x [jl +1] = ψ [jl ] (u [jl +1] ) = ψ [jl ] ⎜⎜ ∑ u [jil +1] ⎟⎟ = ψ [jl ] ⎜⎜ ∑ w[jil ] xi[l ] ⎟⎟,
⎝ i =0
⎠
⎝ i =0
⎠
(19.2)
nl + 1 синаптических весов w[lji] которого подлежат уточнению в процессе
обучения нейронной сети.
Всего сеть содержит
L
∑ (nl + 1)nl +1
неизвестных параметров, настраиваемых
l =1
с помощью процедуры обратного распространения ошибок (подраздел 4.6), и
состоит по сути из двух частей: статической ИНС, отвечающей за нелинейное
отображение, и динамической памяти на элементах задержки, позволяющей
сформировать на выходе сигнал, являющийся функцией времени. Именно эти
сети известные также как ИНС с временными задержками (подраздел 9.5)
получили наиболее широкое распространение в задачах прогнозирования
временных последовательностей самой различной природы.
Общим недостатком прогнозирующих нейронных сетей на статических
нейронах является чрезвычайно большое число настраиваемых весов и низкая
скорость обучения, что, естественно, вызывает серьезные проблемы, особенно
при работе в реальном времени.
305
В связи с этим Э. Ваном было предложено [323-326] в прогнозирующих
нейронных сетях вместо статических нейронов использовать их динамические
аналоги (подразделы 1.7, 9.5), у которых синаптические веса образованы
цифровыми адаптивными нерекурсивными фильтрами с конечной импульсной
характеристикой (КИХ-фильтры, FIR-фильтры) [68] так, как это показано на
рис. 19.3.
xi[l ] (k )
w[jil ]0
z −1
w[jil 1]
xi[ 2 ] (k − 1)
+
z −1
+
w[jil ]2
xi[l ] (k − 2)
+
Σ
u [jil +1] (k )
+
z −1
l]
w[jin
[l ]
xi[l ] ( k − n[Al ] )
A
Рис. 19.3 – Синапс – КИХ-фильтр
Несложно видеть, что
l]
[l ]
[l ]
u [jil +1] (k ) = w[jil ]0 xi[l ] (k ) + w[jil 1] xi[l ] (k − 1) + … + w[jin
[ l ] x i ( k − n A ),
(19.3)
u [jil +1] (k ) = W ji[l ]T X i[l ] (k ),
(19.4)
A
или
где W ji[l ] = ( w[jil ]0 , w[jil 1] ,…, w[jinl ] [ l ] )T , X i[l ] (k ) = ( xi[l ] (k ), xi[l ] (k − 1),…, xi[l ] (k − n[Al ] ))T
A
− ((n [Al ] +
+ 1) × 1) - векторы.
Тогда нелинейное отображение, реализуемое динамическим КИХнейроном, условное изображение которого приведено на рис. 19.4, можно
записать в виде
x
[ l +1]
j
(k ) = ψ
[ l +1]
j
(u
[ l +1]
j
nl
⎛ nl [l +1] ⎞
⎞
[l ] ⎛
⎜
⎟
⎜
(k )) = ψ ⎜ ∑ u ji (k ) ⎟ = ψ j ⎜ ∑ W ji[l ]T X i[l ] (k ) ⎟⎟.
⎝ i =0
⎠
⎝ i =0
⎠
[l ]
j
(19.5)
306
19 ПРОГНОЗИРОВАНИЕ ВРЕМЕННЫХ РЯДОВ С ПОМОЩЬЮ
НЕЙРОННЫХ СЕТЕЙ
x0[l ] (k ) ≡ 1
[l ]
1
x (k )
x2[l ] (k )
x
[l ]
nl
(k )
u[jl0+1] (k )
[l ]
j0
w
W
[l ]
j1
W j[2l ]
W
[l ]
jn l
u[jl1+1] (k )
+
u[jl2+1] (k )
+
+
Σ
u[jl +1] (k )
ψ [lj ]
x[jl +1] (k )
+
u[jnl +1] ( k )
l
Рис. 19.4 – Динамический КИХ-нейрон
И хотя динамический нейрон содержит nl (n[Al ] + 1) + 1 параметров, что
превышает количество синаптических весов обычного нейрона, сеть,
построенная из таких узлов, содержит много меньше параметров, чем
стандартная архитектура на статических нейронах с линиями задержки на
входе. В [324] было доказано, что в сети на статических нейронах с линиями
задержки количество параметров растет в геометрической зависимости от n A , в
то время как в ИНС на динамических нейронах число настраиваемых
синаптических весов есть линейная функция от n A и L , кроме того такая сеть
обладает универсальными динамическими аппроксимирующими свойствами
[327]. Для обучения ИНС на динамических нейронах в [323, 325] была введена
градиентная процедура, получившая название обратного распространения
ошибок во времени (Temporal error backpropagation - TBP). Используя
стандартный одношаговый критерий обучения
E (k ) =
1
e( k )
2
2
=
1
d (k ) − xˆ (k )
2
2
(19.6)
(здесь d (k ) - обучающий сигнал, в качестве которого в задачах
прогнозирования принимается текущее значение x(k ) ), можно записать в
общем виде алгоритм его минимизации
W ji[l ] (k + 1) = W ji[l ] (k ) − η [l ] (k )∇ W [ l ] E (k ),
ji
(19.7)
где параметр шага η [l ] (k ) , определяющий скорость обучения, в ТВР-процедуре
обычно принимается постоянным [323-326].
Применяя далее цепное правило дифференцирования в виде
307
∇W [ l ] E (k ) =
ji
∂E (k )
∇ W [ l ] u [jl +1] ( k ),
[ l +1]
ji
∂u j ( k )
получаем
W ji[ l ] (k + 1) = W ji[ l ] (k ) − η [l ] (k )
∂E (k )
∇ W [ l ] u [jl +1] (k ),
[ l +1]
ji
∂u j (k )
(19.8)
(19.9)
после чего с учетом очевидных соотношений
nl
nl
i =0
i =0
u [jl +1] (k ) = ∑ u [jil +1] (k ) =∑ W ji[l ]T X i[l ] (k )
(19.10)
∇ W [ l ] u [jl +1] (k ) = X i[ l ] (k ),
(19.11)
и
ji
можно ввести локальную ошибку
∂E (k )
= δ [jl +1] (k )
[ l +1]
∂u j (k )
(19.12)
и окончательно представить алгоритм обучения (19.9) в форме
W ji[l ] (k + 1) = W ji[l ] (k ) − η [l ] (k )δ [jl +1] X i[l ] (k ).
(19.13)
Процесс вычисления локальных ошибок, следуя обычной методике
обратного распространения, начинается с выходного слоя, выходной сигнал
которого является и выходом сети в целом, т.е.
xˆ (k ) = x [ L +1] (k ).
(19.14)
Поскольку
2
δ
[ L +1]
j
∂E (k )
1 ∂ e( k )
[l ] /
[ L +1]
(k ) = [ L +1]
=
=
−
e
(
k
)
ψ
(k )),
j
j (u j
[ L +1]
∂u j (k ) 2 ∂u j ( k )
(19.15)
алгоритм настройки нейронов выходного слоя сразу же можно записать в виде
/
W ji[ L ] (k + 1) = W ji[ L ] (k ) + η [ L ] (k )e j (k )ψ [l ] (u [jL +1] (k )) X i[ L ] (k ) =
= W ji[ L ] (k ) + η [ L ] ( k )e j (k ) J i[ L ] (k ).
(19.16)
Скорость настройки сети существенным образом зависит от значения
скалярного параметра η [ L ] (k ) и может быть увеличена путем использования
308
19 ПРОГНОЗИРОВАНИЕ ВРЕМЕННЫХ РЯДОВ С ПОМОЩЬЮ
НЕЙРОННЫХ СЕТЕЙ
процедур более сложных чем градиентные, например, алгоритма ЛевенбергаМарквардта (4.214), принимающего в данном случае вид
W ji[ L ] (k + 1) = W ji[ L ] (k ) + e j (k )( J i[ L ] (k ) J i[ L ]T (k ) + βI ) −1 J i[ L ] (k ),
(19.17)
а после несложных преобразований (подраздел 4.4) достаточно простую форму
W
[ L]
ji
(k + 1) = W
[ L]
ji
(k ) +
e j (k ) J i[ L ] ( k )
β + J i[ L ] (k )
2
,
(19.18)
представляющую собой нелинейное обобщение алгоритма Качмажа-УидроуХоффа.
Для скрытых слоев сети локальная ошибка может быть записана в форме
[ l +1]
nl +1 n A + k
∂u q[ l +1] (t )
∂E (k ) ∂u q (t ) nl +1 n A + k [l +1]
∂E (k )
=
= ∑ ∑ δ q (t )
(k ) = [l ]
=∑ ∑
∂u [jl ] (k )
∂u j ( k ) q =1 t = k ∂u q[l +1] (t ) ∂u [jl ] (k ) q =1 t = k
[l ]
δ
[l ]
j
[l ]
nl +1 n A + k
= ψ [jl −1] (u [jl ] (k ))∑
/
[l ]
∑ δ q[l +1] (t )
q =1 t = k
∂u [jql +1] (t )
∂x [jl ] (k )
(19.19)
.
С учетом соотношения
u
[ l +1]
jq
(t ) =
n[Al ]
w[jql ]k ′ x [jl ] (t − k ′)
∑
′
(19.20)
k =0
получаем выражение
∂u [jql +1] (t )
l]
[l ]
⎧⎪w[jqt
− k при 0 ≤ t − k ≤ n A ,
=⎨
∂x[jl ] ( k ) ⎪⎩0 в противном случае,
(19.21)
откуда локальная ошибка окончательно приобретает вид
δ (k ) = ψ
[l ]
j
[ l −1] /
j
[l ]
nl +1 n A + k
(u (k ))∑
[l ]
j
∑ δ q[l +1] w[jqtl ] −k =
q =1 t = k
[l ]
nl +1 n A
l]
= ψ [jl −1] (u [jl ] (k ))∑∑ δ q[ l +1] (k + r ) w[jqr
=
/
(19.22)
q =1 r = 0
=ψ
[ l −1] /
j
nl +1
(u (k ))∑ Δ[ql +1]T (k )W jq[ l ] ,
[l ]
j
q =1
309
где Δ[ql ] (k ) = (δ q[l ] (k ), δ q[l ] (k + 1),… , δ q[l ] (k + n [Al −1] ) ) T .
С учетом (19.22) алгоритм обратного распространения ошибок во времени
может быть записан в виде
W ji[l ] (k + 1) = W ji[l ] (k ) − η [l ] (k )δ [jl +1] (k ) X i[l ] (k ),
(19.23)
⎧− e (k )ψ [ L ] / (u [ L +1] (k )), если l = L,
j
j
⎪ j
[l ]
n
δ j (k ) = ⎨
l +1
[ l −1] /
(u [jl ] (k ))∑ Δ[ql +1]T (k )W jq[l ] (k ), если 1 < l ≤ L − 1.
⎪ψ
q =1
⎩
(19.24)
где
С целью оптимизации по скорости процесса обучения в скрытых слоях
перепишем алгоритм их настройки в форме
⎛ nl +1
⎞ /
W ji[l ] (k + 1) = W ji[l ] (k ) − η [l ] ( k )⎜⎜ ∑ Δ[ql +1]T (k )W jq[l ] ( k ) ⎟⎟ψ [jl ] (u [jl +1] (k )) X i[l ] (k ) =
⎝ q =1
⎠
/
= W ji[ l ] ( k ) + η [l ] (k )e[jl +1] (k )ψ [jl ] (u [jl +1] ( k )) X i[l ] (k ) =
(19.25)
= W ji[ l ] ( k ) + η [l ] (k )e[jl +1] (k ) J i[ l ] (k ),
после чего, применяя алгоритм Левенберга-Марквардта и формулу ШерманаМоррисона, окончательно получаем простую адаптивную процедуру
W ( k + 1) = W (k ) +
[l ]
ji
[l ]
ji
e [jl +1] (k ) J i[l ] (k )
β + J i[l ] (k )
2
, 1 ≤ l ≤ L.
(19.26)
С целью придания алгоритму (19.26) сглаживающих свойств, которые
необходимы при обработке «зашумленных» сигналов, процедура обучения
может быть модифицирована в форме типа (4.216)
⎧ [l ]
e [jl +1] ( k ) J i[l ] (k )
[l ]
, 1 ≤ l ≤ L,
⎪⎪W ji (k + 1) = W ji (k ) +
[l ]
β
(
k
)
i
⎨
2
⎪ [l ]
[l ]
[l ]
⎪⎩ β i (k + 1) = αβ i (k ) + J i (k ) , 0 ≤ α ≤ 1.
(19.27)
Нейронная сеть на динамических нейронах может работать в двух
режимах: обучения и собственно прогнозирования, при этом, благодаря
внутренней памяти КИХ-нейронов, в режиме обучения на вход ИНС
достаточно подавать лишь одно значение прогнозируемой последовательности
так, как это показано на рис. 19.5.
310
19 ПРОГНОЗИРОВАНИЕ ВРЕМЕННЫХ РЯДОВ С ПОМОЩЬЮ
НЕЙРОННЫХ СЕТЕЙ
z −1
ИНС
x(k − 1)
Aлгоритм
обучения
xˆ (k )
e(k )
−
Σ
+
x(k )
Рис. 19.5 – Динамическая нейронная сеть в режиме обучения
Более глубокая предыстория сигнала формируется в динамических
нейронах скрытых слоев. Таким образом при прогнозировании одномерных
временных рядов ИНС имеет только один вход, в то время как использование
статических нейронов приводит к тому, что сеть должна иметь, как минимум,
n A входов.
Режим прогнозирования, иллюстрируемый рис. 19.6, реализуется еще
проще, при этом выходной сигнал-прогноз сети по обратной связи через
элемент задержки z −1 подается на ее вход.
z −1
xˆ (k − 1)
ИНС
xˆ (k )
Рис. 19.6 – Динамическая нейронная сеть в режиме прогнозирования
Таким образом, прогнозирующая нейронная сеть на динамических
нейронах – КИХ-фильтрах, имея стандартную архитектуру многослойной ИНС
с прямой передачей информации, имеет меньшее количество настраиваемых
синаптических весов, а следовательно более высокую скорость обучения.
311
20 АНАЛИЗ КВАЗИПЕРИОДИЧЕСКИХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
В задачах технической и медицинской диагностики, экологического
мониторинга, обработки сигналов различной природы таких, как
электрокардиограммы, сейсмограммы, экономические показатели, финансовые
ряды, вибросигналы и т.п., достаточно часто возникает проблема выделения,
оценивания и прогнозирования в реальном времени «зашумленного»
полигармонического сигнала, описание которого может быть задано
уравнением
m
m
j =1
j =1
x(k ) = ∑ (a j cos ω j k + b j sin ω j k ) + ξ (k ) = ∑ c j sin(ω j k + ϕ j ) + ξ (k ),
(20.1)
где m - возможное число синусоидальных компонент в анализируемом сигнале,
a j , b j , c j , ϕ j - неизвестные параметры отдельных компонент, 0 < ω j = 2πf j T0 < π
- неизвестные (возможно изменяющиеся) частоты, подлежащие оцениванию, T0
- период квантования непрерывного сигнала, ξ (k ) - стохастическая компонента
с нулевым первым и ограниченным вторым центральным моментами.
Использование традиционного Фурье-анализа в ряде случаев
наталкивается на существенные затруднения, среди которых следует отметить,
во-первых, жесткую связь между объемом обучающей выборки и числом
членов разложения m , которое в итоге может неограниченно возрастать, вовторых, кратностью всех частот (гармоник), по которым производится
разложение, в-третьих, серьезными проблемами, возникающими при работе в
реальном времени.
В случае, если анализируемый сигнал содержит ограниченное, хотя
априори и неизвестное число синусоид некратных частот, классическое
разложение Фурье не только затруднительно, но и просто неэффективно, в
связи
с
чем
и возникает
задача
анализа квазипериодических
последовательностей, для решения которой можно использовать многоэтапную
схему оценивания, введенную и исследованную в [328-331].
В рамках этой схемы в соответствие выражению (20.1) ставится
адекватное ему уравнение авторегрессии
m
∏ (1 − 2 cos ω j z −1 + z −2 ) x(k ) = ξ (k ),
(20.2)
j =1
после чего производится
¾ оценивание параметров модели (20.2);
¾ восстановление неизвестных частот ω j ;
¾ нахождение параметров модели (20.1).
Перепишем уравнение (20.2) во временной области
312
20 АНАЛИЗ КВАЗИПЕРИОДИЧЕСКИХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
m −1
x(k ) = ∑ wm , j +1 ( x(k + j − m) + x(k − j − m)) − x( k − 2m) + ξ (k ) =
j =0
= wm1 2 x(k − m) + wm 2 ( x(k + 1 − m) + x(k − 1 − m)) + wm 3 ( x(k + 2 − m) +
(20.3)
+ x(k − 2 − m)) + … + wmm ( x(k − 1) + x(k − 2m + 1)) − x(k − 2m) + ξ (k ) =
= wmT x(k , m) − x(k − 2m) + ξ (k )
(здесь wm = ( wm1 , wm 2 ,… , wmm ) T − (m × 1) - вектор неизвестных параметров,
однозначно связанных с частотами ω j , x(k , m) = (2 x(k − m), x(k − m + 1) +
+ x(k − m − 1), x( k − m + 2) + x(k − m − 2),…, x(k − 1) + x(k − 2m + 1))T
-
вектор
предыстории) и введем критерий оценивания
E mk =
k
∑ ( x( p) + x( p − 2m) − wmT x( p, m)) 2 ,
(20.4)
p = 2 m +1
минимизация которого с помощью стандартной процедуры метода наименьших
квадратов позволяет получить вектор оценок wm (k ) по конечной выборке
наблюдений.
Неизвестные частоты ω j связаны с параметрами wmj соотношением
m −1
wm1 + ∑ wm , j +1 cos jω = cos mω
(20.5)
j =1
и могут быть найдены путем отыскания m корней степенного полинома от
аргумента cos ω .
Таким образом, с помощью оценок wm (k ) можно найти оценки частот
ω j (k ) , после чего определить параметры a j (k ), b j (k ) минимизацией целевой
функции
m
⎛
⎞
Eˆ = ∑ ⎜⎜ x( p ) − ∑ (a j cos ω j (k ) p + b j sin ω j (k ) p ) ⎟⎟
p = 2 m +1 ⎝
j =1
⎠
k
2
k
m
путем решения обычной системы нормальных уравнений.
Как результат реализации этой схемы могут
отфильтрованная оценка процесса x(k )
быть
xˆ m ( p, k ) = wmT (k ) x( p, m) − x( p − 2m), 2m + 1 ≤ p ≤ k
(20.6)
получены
(20.7)
и одношаговый прогноз
xˆ m (k + 1) = wmT (k ) x(k + 1, m) − x(k − 2m + 1).
(20.8)
313
Основными
недостатками
этой
схемы
являются,
во-первых,
невозможность ее реализации в реальном масштабе времени, а, во-вторых,
необходимость априорного задания числа синусоид m , присутствующих в
контролируемом сигнале x(k ) . Преодолеть указанное затруднение возможно с
помощью нейросетевых технологий [332-338].
Для этого поставим в соответствие уравнению (20.3) обучаемый нейрон
типа адаптивного линейного ассоциатора
xˆ m (k ) = wmT (k ) x(k , m) − x( k − 2m),
(20.9)
синаптические веса которого можно настраивать с помощью какого-либо из
алгоритмов, рассмотренных в подразделе 4.3. В простейшем случае это может
быть либо экспоненциально взвешенный метод наименьших квадратов (4.46) в
форме
⎧
Pm ( k − 1)( x(k ) + x(k − 2m) − wmT (k ) x(k , m))
x(k , m),
⎪wm (k + 1) = wm (k ) +
α + x T (k , m) Pm (k − 1) x(k , m)
⎪
(20.10)
⎨
T
⎞
⎛
P
k
x
k
m
x
(
−
1
)
(
,
)
(
,
)
(
−
1
)
k
m
P
k
1
⎪ P (k ) = ⎜ P (k − 1) − m
m
⎟,
m
T
⎟
⎜
⎪ m
α
α
+
(
,
)
(
−
1
)
(
,
)
x
k
m
P
k
x
k
m
m
⎠
⎝
⎩
либо алгоритм типа (4.53)
⎧⎪wm (k + 1) = wm (k ) + ar −1 (k )( x(k ) + x(k − 2m) − wmT (k ) x(k , m)) x( k , m),
⎨
2
⎪⎩r ( k ) = αr (k − 1) + x( k , m) , 0 ≤ α ≤ 1, 0 < a < 2.
(20.11)
Поскольку в общем случае количество синусоидальных компонент в
сигнале x(k ) неизвестно, сформируем слой из m параллельных нейронов,
отличающихся друг от друга тем, что первый нейрон выделяет одну синусоиду,
второй – две, третий – три и, наконец, m -тый – m синусоид, т.е.
⎧ xˆ1 (k ) = w11 (k )2 x( k − 1) − x(k − 2),
⎪ xˆ ( k ) = w (k )2 x( k − 2) + w (k )( x(k − 1) + x(k − 3)) − x(k − 4),
21
22
⎪ 2
⎪ xˆ 3 (k ) = w31 (k ) 2 x(k − 3) + w32 (k )( x(k − 2) + x(k − 4)) +
⎪
+ w33 (k )( x(k − 1) + x(k − 5)) − x(k − 6),
⎪
⎪⎪ xˆ ( k ) = w (k )2 x( k − 4) + w (k )( x(k − 3) + x(k − 5)) +
4
41
42
(20.12)
⎨
+ w43 ( k )( x(k − 2) + x(k − 6)) + w44 (k )( x(k − 1) + x(k − 7)) − x(k − 8),
⎪
⎪
⎪
⎪ xˆ m (k ) = wm1 (k )2 x(k − m) + wm 2 (k )( x(k + 1 − m) + x(k − 1 − m)) +
⎪
+ wm3 (k )( x(k + 2 − m) + x(k − 2 − m)) + … +
⎪
⎪⎩
+ wmm (k )( x(k − 1) + x(k − 2m + 1)) − x(k − 2m).
314
20 АНАЛИЗ КВАЗИПЕРИОДИЧЕСКИХ ПОСЛЕДОВАТЕЛЬНОСТЕЙ
Каждый из нейронов системы (20.12) с той или иной степенью точности
аппроксимирует реальный процесс, однако, для получения наилучших
результатов можно воспользоваться ансамблем нейронов (раздел 16),
объединяющим все сигналы xˆ j (k ) . Одновременно с этим можно вычислить и
вероятность того, что j -тый нейрон слоя наилучшим образом восстанавливает
анализируемый процесс x(k ) , путем решения системы уравнений Куна-Таккера
(16.32).
На рис. 20.1 приведена архитектура многослойной нейронной сети для
анализа квазипериодических последовательностей для случая m = 4 .
Входной слой этой сети образован элементарными задержками z −1 так, что
на
следующий
слой
одновременно
поступают
сигналы
x(k − 1), x(k − 2),…, x(k − 2m) . Первый скрытый слой образован набором обычных
сумматоров, формирующих m векторов x(k , j ), j = 1,2,3,4 = m , которые далее
подаются на второй скрытый слой, образованный адаптивными линейными
ассоциаторами, реализующими отображение (20.9). В этом слое и производится
обучение синаптических весов w ji , j = 1,2,…, m; i = 1,2,…, j с помощью
алгоритмов (20.10) или (20.11). На выходе этого слоя формируется вектор
оценок xˆ (k ) = ( xˆ1 (k ), xˆ 2 (k ),…, xˆ m (k )) T , который в выходном слое объединяется по
типу (16.43), в результате чего на выходе нейронной сети появляется
оптимальная оценка
m
x * (k ) = ∑ w*j (k ) xˆ j (k ).
(20.13)
j =1
Обучение выходного слоя производится с помощью процедур (16.18) или
(16.28) и (16.37) или (16.42), при этом с помощью весового вектора μ (k ) (16.29)
можно оценить реальное число синусоид в анализируемом сигнале.
Рассмотренная нейронная сеть, как и ее модификации [332-338], может
быть использована для анализа широкого класса сигналов произвольной
природы,
содержащих
периодические
компоненты.
315
+
x(k )
Σ
z −1
x( k − 1)
2
z −1
x ( k − 2)
Σ
+
x(k − 3)
z −1
x (k − 4)
z
+
Σ
z −1
Σ
w
+
−
w21
+
Σ
+
+
Σ
−
Σ
w31
w32
+
Σ
+
−
+
Σ
w2*
+
2
+
+
x (k − 5)
+
+
+
+
Σ
w3*
−
+
Σ
w33
+
Σ
+
2
w42
+
x (k − 6)
z −1
x (k − 7)
−
w41
+
Σ
−
*
1
w22
+
−1
w11
Σ
−
2
+
z −1
+
w43
+
+
+
Σ
+
−
w44
z −1
x (k − 8)
Рис. 20.1 – Нейронная сеть для анализа квазипериодических последовательностей
w4*
+
Σ
+
x * (k )
316
21 ОБНАРУЖЕНИЕ ИЗМЕНЕНИЙ СВОЙСТВ СТОХАСТИЧЕСКИХ
ПОСЛЕДОВАТЕЛЬНОСТЕЙ С ПОМОЩЬЮ НЕЙРОСЕТЕВОГО
ПОДХОДА
21 ОБНАРУЖЕНИЕ ИЗМЕНЕНИЙ СВОЙСТВ СТОХАСТИЧЕСКИХ
ПОСЛЕДОВАТЕЛЬНОСТЕЙ С ПОМОЩЬЮ НЕЙРОСЕТЕВОГО
ПОДХОДА
Задача
обнаружения
изменений
свойств
стохастических
последовательностей тесно связана с проблемой диагностики объектов и
систем различного назначения и широко изучена с различных позиций [339351]. Для ее решения предложено множество подходов, связанных большей
частью с идеями математической статистики, теории случайных процессов,
распознавания образов, кластер-анализа и т.п. Не вдаваясь в критику
имеющихся результатов, заметим лишь, что достаточно жесткие
предположения о статистических свойствах реальных временных рядов
ограничивают возможности традиционных методов.
Более универсальным представляется многомодельный подход [344, 349,
224, 303 – 305, 307], суть которого состоит в том, что диагностируемый сигнал
проходит через множество моделей, каждая из которых основана на своей
определенной гипотезе относительно характера возможных изменений. Если
определенные гипотезы действительно выполняются, то сигналы обновлений
на выходе соответствующих моделей должны быть малыми. Таким образом
решающий механизм по сути основан на отыскании той модели, на выходе
которой обновления минимальны, а вероятность соответствующей гипотезы
максимальна.
Достоинства
этого
подхода
несомненны,
однако
реальная
последовательность обычно настолько многообразна, что никакая из моделей
(как правило линейных) полностью не отражает ее изменяющихся свойств.
Последние годы характеризуются всплеском исследований в области
диагностирующих нейронных сетей [352-360, 87, 179, 224, 361-364]. В
настоящем разделе рассматривается искусственная нейронная сеть,
предназначенная для обнаружения в реальном времени изменений свойств
контролируемого сигнала x(k ) и сочетающая в себе достоинства
многомодельного подхода и аппроксимирующие свойства прогнозирующих
ИНС (раздел 19). Изменение свойств стохастической последовательности
фиксируется с помощью диагностирующего вектора, элементы которого
являются синаптическими весами выходного нейрона.
Архитектура данной ИНС приведена на рис. 21.1 и представляет собой
сеть элементарных нейронов, отличающихся между собой видом
активационных функций и алгоритмами обучения, являющимися в общем
случае градиентными процедурами безусловной или условной оптимизации.
Контролируемая стохастическая последовательность x(k ) подается на
входной (нулевой) слой сети образованный элементами задержки z −1 , в
результате чего на выходе этого слоя формируется набор задержанных
значений временного ряда x(k − 1), x(k − 2),…, x(k − n A ) , при этом чем больше
317
значение n A , тем более широкими диагностирующими возможностями
обладает нейронная сеть.
Первый скрытый слой образован стандартными формальными нейронами
с нелинейными активационными функциями ψ j , на входы которых подаются
задержанные значения сигнала x(k ) и по цепи обратной связи – задержанные
значения выходных сигналов (прогнозов) xˆ j (k ), j = 1,2,…, n A .
В результате обработки сигнала нейронами первого слоя на их выходах
появляются прогнозные оценки
x(k − 1)
x(k )
w11
z −1
+ ψ
1
+
v11
wn A 1
xˆ1 (k )
w1*
z −1
w21
z −1
+
x(k − 2)
v22
+ ψ2
+
+
x(k − 3)
w32
z −1
x(k − n A )
+
Σ
+
xˆ3 (k )
1 − w2*
Σ
y 2 (k )
wn*A −1
z −1
…
z −1
+
xˆ n A (k )
1− w
*
n A −1
vn A1
y μ* (k )
+
z −1
A
v n An A
+
Σ
μ 2 + μ nA −1
A
wn An A
+
w2*
z −1
w
+ + n1
+ ψn
+
+
+ +
μ1
y1 (k )
z −1
++
+ ψ3
++ +
z −1
1− w
*
1
v21
z −1
z −1
wnA 3
+
xˆ 2 (k )
+
y nA −1 (k )
Σ
z −1
Рис. 21.1 – Диагностирующая нейронная сеть
⎧ xˆ1 (k ) = ψ 1 ( x(k − 1), xˆ1 (k − 1)),
⎪ xˆ (k ) = ψ ( x(k − 1), x(k − 2), xˆ (k − 1), xˆ (k − 2)),
⎪ 2
2
2
2
⎨
⎪
⎪ xˆ n (k ) = ψ n ( x(k − 1),…, x(k − n A ), xˆ n (k − 1),…, xˆ n (k − n A )),
⎩ A
A
A
A
(21.1)
соответствующие нелинейным процессам авторегрессии-скользящего среднего
(NARMA – модели) порядка от 1 до n A . Таким образом нейроны первого
скрытого слоя формируют элементарные «кирпичики», из которых во втором
скрытом слое «собираются» прогнозы последовательности x(k ) . Задачей,
решаемой сетью, является определение текущего значения порядка NARMAпроцесса и моментов возможного его изменения в реальном времени.
318
21 ОБНАРУЖЕНИЕ ИЗМЕНЕНИЙ СВОЙСТВ СТОХАСТИЧЕСКИХ
ПОСЛЕДОВАТЕЛЬНОСТЕЙ С ПОМОЩЬЮ НЕЙРОСЕТЕВОГО
ПОДХОДА
Во втором скрытом слое, образованном n A − 1 адаптивными линейными
ассоциаторами, производится попарное объединение прогнозов с целью
получения оценок y j (k ), j = 1,2,…, n A − 1 :
⎧ y1 (k ) = F ( xˆ1 (k ), xˆ 2 (k ), w1* ), xˆ1 (k ) ≡ y 0 (k ),
⎪
*
*
⎪ y 2 (k ) = F ( y1 (k ), xˆ 3 (k ), w2 , w1 ),
⎨
⎪
⎪ y (k ) = F ( y
ˆ n A (k ), wn*A −1 , wn*A − 2 , …, w1* )
n A − 2 ( k ), x
⎩ n A −1
(21.2)
и весовых коэффициентов w*j , характеризующих точность объединяемых
y j −1 (k ), xˆ j +1 (k ) и объединенного y j (k ) прогнозов. Следует отметить, что хотя во
втором слое формально производится попарное объединение, на
содержательном уровне это не совсем так. Если первый нейрон второго
скрытого слоя строит объединенный прогноз на основе xˆ1 (k ) и xˆ 2 (k ) , то y 2 (k )
уже содержит в себе xˆ1 (k ) , xˆ 2 (k ) и xˆ 3 (k ), y3 (k ) − xˆ1 (k ), xˆ 2 (k ), xˆ 3 (k ) и xˆ 4 (k ) и так
далее. Именно во втором скрытом слое формируются оптимальные
одношаговые прогнозы, отличающиеся друг от друга объемом используемой
w* ( k ) = ( w1* (k ), w2* (k ),…, wn*A −1 (k )) T
предыстории. Вектор текущих весов
описывает качество прогнозирования, достигаемое во втором скрытом слое в
каждый текущий момент времени, а изменение соотношений между его
элементами уже само по себе свидетельствует об изменении структуры и
параметров сигнала x(k ) . Заметим также, что уже на уровне этого слоя по
номеру соответствующего нейронна можно установить, сколько нейронов
первого слоя потребуется для удовлетворительной аппроксимации
контролируемой последовательности.
В результате обученная нейронная сеть обеспечивает требуемое качество
прогнозирования входного сигнала на уровне второго скрытого слоя, при этом
в единственном нейроне – адаптивном линейном ассоциаторе выходного слоя
формируются
оценки
«вкладов»
(диагностических
признаков
T
μ (k ) = ( μ1 (k ), μ 2 (k ),…, μ n A −1 (k )) ) каждого из прогнозов y j (k ) в общую модель
контролируемого
сигнала.
Наибольшему
«вкладу»
соответствует
максимальный вес μ j (k ) , являющийся аналогом вероятности гипотезы о том,
что «истинное» состояние x(k ) наилучшим образом описывается оценкой
y j (k ) . Максимальное значение μ j (k ) определяет порядок наилучшей NARMAмодели в момент времени k , а непрерывное уточнение вектора μ (k ) с
помощью соответствующего алгоритма обучения позволяет обнаруживать
момент изменения свойств.
319
После возникшей разладки, когда свойства контролируемого сигнала
претерпели изменения, «вклады» отдельных y j (k ) соответственно изменяются
и оптимальный прогноз обеспечивается уже иной комбинацией нейронов
второго слоя. При этом, естественно, изменяются соответствующие μ j (k ) , что
и фиксируется на уровне выходного нейрона.
Особенностью рассматриваемой диагностирующей нейросети является то,
что каждый слой настраивается с помощью собственного алгоритма обучения.
Наиболее просто дело обстоит в первом скрытом слое, где выходной
сигнал j -го нейрона может быть представлен в виде
j
⎞
⎛ j
xˆ j ( k ) = ψ j ⎜⎜ ∑ w ji ( k ) x(k − i ) + ∑ v ji (k ) xˆ j (k − i ) + w j 0 ( k ) ⎟⎟ =
i =1
⎠
⎝ i =1
T
= ψ j ( S j (k ) X j ( k )), j = 1,2, …, n A ,
(21.3)
S j (k ) = ( w j 0 (k ), w j1 (k ),…, w jj (k ), v j1 (k ),…, v jj ( k )) T − ((2 j + 1) × 1)
вектор
где
настраиваемых
синаптических
весов,
T
X j (k ) = (1, x(k − 1), … , x( k − j ), xˆ j (k − 1),…, xˆ j ( k − j ))
- вектор входов той же
размерности.
Вводя ошибку прогнозирования j -го нейрона первого слоя
e j (k ) = x(k ) − xˆ j ( k ) = x(k ) − ψ j ( S Tj (k ) X j (k ))
(21.4)
и квадратичный критерий обучения, можно записать в общем виде
градиентную процедуру настройки синаптических весов
S j (k + 1) = S j (k ) + η j (k )e j (k )∇ S j ψ j ( S Tj (k ) X j (k ))
(21.5)
и использовать практически любой из алгоритмов, описанных в подразделе 4.4.
Во втором скрытом слое производится попарное объединение выходных
сигналов первого слоя в виде
y j (k ) = w*j (k ) y j −1 ( k ) + (1 − w*j (k )) xˆ j +1 (k ),
(21.6)
где y 0 (k ) ≡ xˆ1 (k ) ; w*j (k ), j = 1,2,… , n A − 1 - веса, определяющие сравнительную
точность прогнозов y j −1 (k ) и xˆ j +1 (k ) и обеспечивающие несмещенность оценки
y j (k ) .
С ним, чтобы найти оптимальные значения w*j (k ) , введем (k × 1) -векторы
наблюдений и ошибок
320
21 ОБНАРУЖЕНИЕ ИЗМЕНЕНИЙ СВОЙСТВ СТОХАСТИЧЕСКИХ
ПОСЛЕДОВАТЕЛЬНОСТЕЙ С ПОМОЩЬЮ НЕЙРОСЕТЕВОГО
ПОДХОДА
⎧ X (k ) = ( x(1), x(2),…, x(k )) T ,
⎪
T
⎪Y j (k ) = ( y j (1), y j (2),…, y j (k )) ,
⎪ˆ
T
⎨ X j (k ) = ( xˆ j (1), xˆ j (2),… , xˆ j (k )) ,
⎪
⎪V j (k ) = X (k ) − Y j (k ), V j −1 (k ) = X (k ) − Y j −1 (k ),
⎪V
ˆ
⎩ x , j +1 (k ) = X (k ) − X j +1 (k )
(21.7)
и запишем очевидное соотношение
V j ( k ) = w*j (k )V j −1 (k ) + (1 − w*j (k ))V x , j +1 (k ),
(21.8)
после чего, решив уравнение
∂ V j (k )
∂w*j
2
= 0,
(21.9)
получаем
V x , j +1 (k ) − V j −1 (k )
⎧ *
T
w
k
V
k
,
(
)
(
)
=
⎪ j
x , j +1
2
V
k
V
k
(
)
(
)
−
⎪⎪
x , j +1
j −1
⎨
⎪1 − w* (k ) = V T (k ) V j −1 (k ) − V x , j +1 (k ) .
j
j −1
2
⎪
V j −1 ( k ) − V x , j +1 (k )
⎪⎩
(21.10)
Несложно показать, что
2
2
⎧
T
⎛⎜ V
⎞⎟
−
(
)
(
)
(
)
k
V
k
V
k
j −1
x , j +1
⎪
2
2
⎝ x , j +1
⎠ ≤ 0,
⎪ V j (k ) − V x , j +1 (k ) = −
2
⎪⎪
V j −1 (k ) − V x , j +1 (k )
⎨
2
⎪
⎛⎜ V ( k ) 2 − V T (k )V
⎞⎟
(
)
k
j −1
x , j +1
2
2
⎪
⎝ j −1
⎠ ≤ 0,
−
=
−
(
)
(
)
V
k
V
k
j −1
2
⎪ j
V j −1 (k ) − V x , j +1 (k )
⎪⎩
(21.11)
т.е. точность объединенного прогноза y j (k ) никогда не может быть ниже
точности объединяемых прогнозов y j −1 (k ) и xˆ j +1 . Весовой коэффициент w*j (k )
задает «вклад» y j −1 (k ) в y j (k ) и тем самым меру близости реального процесса
x(k ) к y j −1 (k ) или xˆ j +1 . Вариация значения w*j (k ) может служить признаком
изменения
свойств
последовательности
x(k ) ,
а
вектор
321
w* ( k ) = ( w1* (k ), w2* (k ),…, wn*A −1 (k )) T
может использоваться в качестве вектора
диагностических признаков.
Для работы в реальном времени целесообразно представить (21.10) в
рекуррентной форме. Вводя обозначения
⎧v j −1 (k + 1) = x(k + 1) − y j −1 (k + 1),
⎪
⎨v x , j +1 (k + 1) = x(k + 1) − xˆ j +1 (k + 1),
⎪
⎩ε j (k + 1) = v x , j +1 (k + 1) − v j −1 (k + 1),
(21.12)
v x , j +1 (k + 1)ε j (k + 1)
γ j (k ) *
⎧ *
+
=
+
w
(
k
)
,
w
(
k
1
)
⎪ j
j
γ j (k + 1)
γ j (k + 1)
⎨
⎪
2
⎩γ j (k + 1) = γ j ( k ) + ε j ( k + 1).
(21.13)
можно записать
Если при работе в реальном времени удобнее использовать не сигналы
обновлений, а непосредственно контролируемую последовательность x(k ) и ее
прогнозы, то используя очевидное соотношение
ε j (k + 1) = x(k + 1) − xˆ j +1 (k + 1) − x(k + 1) + y j −1 (k + 1) =
= y j −1 (k + 1) − xˆ j +1 (k + 1),
(21.14)
алгоритм настройки весов второго скрытого слоя (21.13) можно переписать в
виде
v x , j +1 (k + 1)( y j −1 (k + 1) − xˆ j +1 (k + 1) )
γ j (k ) *
⎧ *
+
=
+
w
k
w
k
(
)
,
(
1
)
⎪ j
j
+
+
k
k
γ
γ
(
1
)
(
1
)
j
j
⎨
⎪
2
⎩γ j (k + 1) = γ j (k ) + ( y j −1 (k + 1) − xˆ j +1 (k + 1)) .
(21.15)
Выходной слой диагностирующей нейронной сети образован адаптивным
линейным ассоциатором, в котором производится объединение выходов
второго скрытого слоя y (k ) = ( y1 (k ), y 2 (k ),…, y n A −1 (k )) T в форме
y μ (k ) =
*
n A −1
∑ μ j (k ) y j (k ) = μ T (k ) y(k ),
(21.16)
j =1
при этом, если на элементы вектора μ (k ) наложить ограничения типа (16.29)
322
21 ОБНАРУЖЕНИЕ ИЗМЕНЕНИЙ СВОЙСТВ СТОХАСТИЧЕСКИХ
ПОСЛЕДОВАТЕЛЬНОСТЕЙ С ПОМОЩЬЮ НЕЙРОСЕТЕВОГО
ПОДХОДА
⎧n A −1
T
⎪ ∑ μ j (k ) = μ (k ) E n A −1 = 1,
⎨ j =1
⎪μ (k ) ≥ 0, j = 1,2,… , n − 1,
A
⎩ j
(21.17)
им можно придать смысл вероятностей определенных гипотез, одна из которых
состоит в том, что истинная структура процесса x(k ) наиболее близка к
структуре прогноза y j (k ) , чья вероятность μ j (k ) максимальна.
Для определения диагностического вектора вероятностей μ (k ) введем в
рассмотрение лагранжиан
2
n A −1
⎛
⎞
⎛ n A −1
⎞ n A −1
⎜
⎟
⎜
L( μ , λ , ρ ) = ∑ ⎜ x( p ) − ∑ μ j y j ( p ) ⎟ + λ ⎜ ∑ μ j − 1⎟⎟ − ∑ ρ j μ j =
j =1
p =1 ⎝
⎠
⎝ j =1
⎠ j =1
= ( X (k ) − Y (k ) μ ) T ( X (k ) − Y (k ) μ ) + λ ( μ T E n A −1 − 1) − ρ T μ ,
k
(21.18)
где Y (k ) = (Y1 (k ), Y2 ( k ),… , Yn A −1 (k )) − (k × (n A − 1)) - матрица, λ - неопределенный
множитель
Лагранжа,
ρ − ((n A − 1) × 1)
вектор
неотрицательных
неопределенных множителей Лагранжа, отвечающих условиям дополнительной
нежесткости.
Вектор μ (k ) может быть найден либо путем решения системы уравнений
Куна-Таккера
⎧
⎪∇ L( μ , λ , ρ ) = −2Y (k ) X (k ) + 2Y T (k )Y (k ) μ + λE
n A −1 − ρ = 0,
⎪ μ
⎪ ∂L( μ , λ , ρ )
= μ T E n A −1 − 1 = 0,
⎨
∂λ
⎪
⎪ ∂L( μ , λ , ρ )
= − μ j ≤ 0, ρ j ≥ 0, j = 1,2, … , n A − 1,
⎪
∂ρ j
⎩
(21.19)
либо, что более удобно при работе в реальном времени, с помощью процедуры
Эрроу-Гурвица, которая в общем случае имеет вид
⎧μ (k + 1) = μ (k ) − η μ (k )∇ μ L( μ , λ , ρ , k ),
⎪
⎨λ (k + 1) = λ (k ) + η λ (k ) ∂L( μ , λ , ρ , k ) ∂λ ,
⎪ ρ ( k + 1) = Pr ( ρ (k ) + η (k )∇ L( μ , λ , ρ , k ))
+
ρ
ρ
⎩
(21.20)
и является по сути алгоритмом обучения выходного нейрона.
С учетом (21.19) система (21.20) может быть переписана в виде
323
⎧μ (k + 1) = μ (k ) + η μ (k )(2eμ (k ) y (k ) − λ (k ) E n A −1 + ρ (k )),
⎪⎪
T
⎨λ (k + 1) = λ ( k ) + η λ ( k )( μ E n A −1 − 1),
⎪
⎪⎩ ρ (k + 1) = Pr+ ( ρ (k ) − η ρ ( k ) μ (k )),
(21.21)
где eμ (k ) = x(k ) − μ T (k ) y (k ) = x(k ) − y μ* (k ) - ошибка прогнозирования выходного
нейрона.
С тем, чтобы оптимизировать по скорости процесс обучения в выходном
слое, домножим первое соотношение (21.21) слева на y T (k ) и обе части
полученного уравнения вычтем из x(k ) :
2
x(k ) − y T (k ) μ (k + 1) = x(k ) − y T (k ) μ (k ) − η μ (k )(2e μ (k ) y (k ) −
− λ (k ) y T (k ) E n A −1 + y T (k ) ρ (k )).
(21.22)
Выражение в левой части (21.22) представляет собой апостериорную
ошибку eμA (k ) (раздел 16) после одного такта настройки:
2
e μA ( k ) = e μ ( k ) − η μ (k )(2e μ (k ) y (k ) − λ (k ) y T (k ) E n A −1 + y T (k ) ρ ( k )).
(21.23)
Решив уравнение
∂ (eμA (k )) 2
∂η μ
= 0,
(21.24)
несложно получить оптимальное значение шага обучения
η μ (k ) =
eμ (k )
2
2eμ (k ) y (k ) − λ (k ) y T (k ) E n A −1 + y T (k ) ρ (k )
,
(21.25)
после чего записать алгоритм настройки выходного слоя в окончательном виде
eμ (k )(2e μ (k ) y (k ) − λ (k ) E n A −1 + ρ ( k ))
⎧
μ
(
k
1
)
μ
(
k
)
,
+
=
+
⎪
2
T
T
2
e
(
k
)
y
(
k
)
λ
(
k
)
y
(
k
)
E
y
(
k
)
ρ
(
k
)
−
+
⎪
n A −1
μ
⎪
⎨
⎪
T
⎪λ ( k + 1) = λ (k ) − η λ ( k )( μ E n A −1 − 1),
⎪ ρ (k + 1) = Pr ( ρ (k ) − η (k ) μ (k )).
+
ρ
⎩
(21.26)
Можно заметить, что если в процессе обучения будут выполнены условия
(21.17), процедура (21.26) автоматически приобретает форму
324
21 ОБНАРУЖЕНИЕ ИЗМЕНЕНИЙ СВОЙСТВ СТОХАСТИЧЕСКИХ
ПОСЛЕДОВАТЕЛЬНОСТЕЙ С ПОМОЩЬЮ НЕЙРОСЕТЕВОГО
ПОДХОДА
μ (k + 1) = μ (k ) +
x(k ) − μ T (k ) y (k )
y (k )
2
y (k ),
(21.27)
представляющую собой стандартный алгоритм Качмажа-Уидроу-Хоффа.
Таким образом, рассмотренная диагностирующая ИНС обеспечивает
наряду с традиционным в теории и практике нейросетей прогнозированием и
раннее обнаружение разладок в реальном времени.
325
22 НЕЙРОСЕТЕВАЯ ИДЕНТИФИКАЦИЯ ДИНАМИЧЕСКИХ СИСТЕМ
Последние годы для решения задачи идентификации динамических
нелинейных многомерных систем, функционирующих в условиях структурной
и параметрической неопределенности, все чаще используются динамические
рекуррентные нейронные сети (раздел 9) благодаря, прежде всего, своим
универсальным аппроксимирующим свойствам и возможности учета
внутренней динамики системы [23, 32, 42, 91, 226, 365-368].
Для описания динамических объектов и систем наиболее широкое
распространение получили два основных типа моделей: модели в пространстве
«вход-выход» и в пространстве состояний.
Исходной информацией для построения модели «вход-выход» служат
данные наблюдений за ее входными и выходными сигналами x(k ) , d (k ) (рис.
4.4), заданные либо в форме пакета на фиксированном временном интервале
k = 1,2, … , N , либо поступающие в реальном времени. Как правило,
математическим описанием такой модели служит многомерное нелинейное
уравнение авторегрессии-скользящего среднего с экзогенными входами
(NARMAX-MIMO - модель), имеющее вид
d (k ) = f (d ( k − 1), d (k − 2),…, d (k − nV ), x(k − 1), x(k − 2),…, x(k − nW )),
(22.1)
где d (k ) , x(k ) − (m × 1), (n × 1) − векторы выходов и входов, nV , nW - порядки
запаздываний, выбираемые обычно достаточно большими, f (•) - неизвестная
статическая нелинейная функция, отображающая прошлые значения входных и
выходных сигналов в текущие значения выходов.
На рис. 22.1 приведена схема NARMAX-MIMO – модели (22.1), при этом
на вход статического блока f (•) поступает nV m + nW n сигналов, а выходной
сигнал имеет размерность m × 1 .
Для идентификации динамической системы в пространстве «вход-выход»
наиболее часто используется две структуры: параллельная (рис. 22.2) и
последовательно-параллельная (рис. 22.3).
В параллельной структуре объект идентификации и нейросеть имеют общие
входы и раздельные выходы, в то время как в последовательно-параллельной
схеме на вход нейросети поступают не только задержанные входы
динамической системы, но и ее «прошлые» выходы.
Естественно, что последовательно-параллельная структура обеспечивает
более высокое качество идентификации, хотя с вычислительной точки зрения
более сложна.
В обеих структурах в качестве ИНС может использовать любая
архитектура
с
прямой
передачей
информации,
обладающая
аппроксимирующими свойствами, например, многослойный персептрон,
радиально-базисная или Σ − Π нейронные сети.
326
22 НЕЙРОСЕТЕВАЯ ИДЕНТИФИКАЦИЯ ДИНАМИЧЕСКИХ СИСТЕМ
x(k )
z −1
x( k − 1)
z −1
x(k − nw + 1)
z −1
d (k + 1)
f (•)
d (k − nv + 1)
z −1
z −1
d ( k − 1)
z −1
d (k )
z −1
Рис. 22.1 - NARMAX-MIMO – модель
d (k )
Динамическая
система
x(k )
Σ
y (k )
z −1
x(k − 1)
x ( k − 2)
−
z −1
y (k − 1)
ИНС
z −1
+
F (•)
z −1
z −1
y (k − 2)
z −1
x(k − n w )
y ( k − nv )
Алгоритм
обучения
e( k ) = d ( k ) − y ( k )
Рис. 22.2 – Структура параллельной идентификации
327
d (k )
Динамическая
система
x (k )
Σ
y (k )
z −1
x(k − 1)
x ( k − 2)
−
z −1
y ( k − 1)
ИНС
z −1
+
z −1
F (•)
y (k − 2)
z −1
z −1
x(k − nw )
y ( k − nv )
Алгоритм
обучения
e( k ) = d ( k ) − y ( k )
Рис. 22.3 – Структура последовательно-параллельной идентификации
Модель в пространстве состояний имеет вид
⎧ x(k + 1) = Ψ ( x(k ), u (k )),
⎨
⎩d (k ) = Φ ( x(k )),
(22.2)
где x(k ), u (k ), d (k ), − (n × 1), (r × 1), (m × 1) - векторы состояний, управлений и
выходов соответственно, Ψ (•), Φ(•) - статические нелинейные отображения,
априори неизвестные. На рис. 22.4 приведена схема системы идентификации
объекта управления, заданного в пространстве состояний, особенностью
которой является наличие двух нейронных сетей, одна из которых
аппроксимирует неизвестное отображение Ψ (•) , а вторая - Φ (•) . При этом
предполагается, что все состояния x(k ) измеримы, а сам объект устойчив [226].
В качестве ИНС1 и ИНС2 в этой схеме могут быть использованы те же
нейросети, то применяются в структурах на рис. 22.2, 22.3, однако более
предпочтительным для идентификации в пространстве состояний является
использование [32] рекуррентных сетей Элмена и Джордана (подразделы 9.3,
9.4), в которых в контекстные слои «встроена» обратная связь с задержкой на
один такт.
328
22 НЕЙРОСЕТЕВАЯ ИДЕНТИФИКАЦИЯ ДИНАМИЧЕСКИХ СИСТЕМ
x(k + 1)
u (k )
Ψ (•)
d (k )
+
−1
z I
x(k )
Φ (•)
z −1 I
−
ИНС1
Σ
ИНС2
xˆ (k + 1)
Алгоритм
обучения1
Алгоритм
обучения2
e1 (k + 1) = x(k + 1) −
− xˆ (k + 1)
y (k )
+
−
Σ
e2 (k + 1) = d (k + 1) −
− y (k + 1)
Рис. 22.4 – Система идентификации в пространстве состояний
Главным недостатком рассмотренных схем, в основе которых лежат
ставшие уже традиционными архитектуры и алгоритмы обучения, является
низкая скорость настройки, определяемая большим числом синаптических
весов, которое растет геометрически в зависимости от количества входных
сигналов nV m + nW n . В связи с этим Э. Бэком и А. Цоем [369 – 372] в развитие
идей Э. Вана (раздел 19) были предложены локально рекуррентные нейронные
сети, архитектура которых приведена на рис. 22.5 и практически совпадает с
архитектурой прогнозирующей многослойной ИНС, приведенной на рис. 19.1.
W [1]
x(k ) = x (k ),
[1]
n = n1
u[ 2] (k )
Ψ [1]
x[ 2 ] ( k )
W [2]
u [ 3] ( k )
Ψ [2 ]
…
x [ 3] ( k ) x[ L ] ( k )
W [ L]
u[ L+1] (k )
Ψ[ L ]
y ( k ) = x[ L+1] (k ),
m = nL+1
Рис. 22.5 – Многослойная локально рекуррентная нейронная сеть
Основное отличие этой сети состоит в конструкции нейронов, образующих
многослойную архитектуру, чьи синапсы являются цифровыми адаптивными
рекуррентными фильтрами с бесконечной импульсной характеристикой (БИХ –
фильтры, IIR -фильтры) [54, 373].
Для обучения этих сетей была предложена группа градиентных
алгоритмов [371, 374], в основе которых лежит концепция обратного
распространения ошибок.
Необходимо отметить широкие функциональные возможности локально
рекуррентных сетей. Так, кроме исходной NARMAX-модели, данные сети
«перекрывают» популярные в теории нелинейной идентификации модели
Винера
329
y (k ) = g ( H ( z −1 ) x(k )),
(22.3)
y (k ) = H ( z −1 ) g ( x(k ))
(22.4)
Гаммерштейна
и Урысона
h
y (k ) = ∑ H j ( z −1 ) g j ( x(k )),
(22.5)
j =1
где g (•) - некоторая статическая нелинейная функция, H ( z −1 ) = B( z −1 ) A −1 ( z −1 ) линейная компонента модели, образованная полиномами от оператора сдвига
назад z −1 .
Базовым элементом локально рекуррентной нейронной сети является
динамический БИХ-нейрон (22.6), синапсы которого являются по сути
адаптивными БИХ-фильтрами (рис. 22.7).
Отображение, реализуемое БИХ-синапсами и динамическим нейроном l го слоя сети, в целом может быть записано в виде
u
[ l +1]
ji
=
[l ]
nW
l ] [ l +1]
( k ) = ∑ w x (k − p ) + ∑ v [jip
u ji ( k − p ) =
p =0
[l ]
ji
[l ]
ji
x (k ) ≡ 1
x1[ l ] (k )
W (z )
−1
V (z )
[l ]
2
x (k )
x
[l ]
nl
(k )
w
[l ]
j1
W j[2l ]
W
(22.6)
xi[ l ] (k ) = S [jil ]T X i[ l ] (k ),
[ l +1]
j
nl
(k ) = ∑ u [jil +1] (k ),
(22.7)
i =0
u[jl0+1] (k )
[l ]
j0
W
p =1
−1
u
[l ]
0
nV[ l ]
[l ] [l ]
jip i
[l ]
jn l
u[jl1+1] (k )
u
[ l +1]
j2
(k )
+
+
+
Σ
u[jl +1] (k )
ψ [lj ]
x[jl +1] (k )
+
u [jnl +1] (k )
l
Рис. 22.6 – Динамический БИХ-нейрон
330
22 НЕЙРОСЕТЕВАЯ ИДЕНТИФИКАЦИЯ ДИНАМИЧЕСКИХ СИСТЕМ
xi[l ] (k )
w[jil ]0
z −1
w[jil 1]
xi[ l ] (k − 1)
z −1
w[jil ]2
xi[l ] (k − 2)
z −1
l]
w[jin
[l ]
xi[l ] (k − nw[l ] )
++ +
+
+ Σ
+
+
w
u[jil +1] (k − nv[l ] )
l]
v [jin
[l ]
v
u [jil +1] (k )
z −1
u [jil +1] (k − 2)
v[jil ]2
z −1
u [jil ] (k − 1)
v[jil 1]
z −1
Рис. 22.7 – Синапс-БИХ-фильтр
x [jl +1] (k ) = ψ [jl ] (u [jl +1] (k )),
(22.8)
где
[l ]
nW
nV[ l ]
l] − p
W ( z ) = ∑ w z , V ( z ) = ∑ v [jip
z ,
[l ]
ji
−1
p =0
[l ]
jip
−p
l]
[l ]
[l ]
[l ]
S [jil ] = ( w[jil ]0 , w[jil 1] ,…, w[jin
)T ,
[ l ] , v ji1 , v ji 2 , … , v
jin[ l ]
W
V
[l ]
ji
−1
(22.9)
p =1
X i[ l ] (k ) = ( xi[ l ] (k ), xi[l ] (k − 1),…, xi[ l ] ( k − nW[l ] ),
u [jil +1] (k − 1),…, u [jil +1] (k − nV[ l ] ))T .
Можно заметить, что динамический БИХ-нейрон является объединением
линейного адаптивного рекуррентного фильтра со стандартным нелинейным
331
статическим нейроном, при этом для
соотношения, реализуемые БИХ-фильтрами:
линейной
nW
nV
p =0
p =1
части
u (k ) = ∑ w p (k ) x(k − p ) + ∑ v p (k )u (k − p ),
справедливы
(22.10)
nW
u=
∑ wp
p =0
nv
1− ∑vp
(22.11)
,
p =1
где u (k ) , x(k ) - выходной и входной сигналы фильтра соответственно, w p (k ) настраиваемые коэффициенты скользящего среднего (МА), v p (k ) настраиваемые коэффициенты авторегрессии (AR), u - установившееся
значение на выходе фильтра после окончания процесса настройки. Отметим
также, что адаптивный БИХ-фильтр представляет собой настраиваемую модель
авторегрессии-скользящего среднего вида
V ( k , z −1 )u (k ) = W ( k , z −1 ) x(k ).
(22.12)
Таким образом, каждый синапс содержит n [Sl ] = nV[l ] + nW[l ] + 1 настраиваемых
l]
= nl (nV[l ] + nW[ l ] + 1) + 1 , каждый слой параметров, каждый нейрон n[AN
n
[l ]
ANL
= nl +1 (nl (n
[l ]
V
+n
[l ]
W
+ 1) + 1) , а
L -слойная сеть имеет
L
∑ nl +1
нейронов с
l =1
L
n ANN = ∑ (nl +1 (nl (nV[l ] + nW[l ] + 1) + 1)) настраиваемыми синаптическими весами.
l =1
Наиболее эффективным алгоритмом настройки локально рекуррентных
нейронных сетей на сегодня является процедура рекурсивного обратного
распространения ошибок (Recursive error backpropagation – RBP [374]),
обеспечивающая минимизацию критерия обучения
N
E k = ∑ E (k ) =
k =1
1 N
∑ e( k )
2 k =1
2
=
1 N nL +1 2
∑ ∑ e j (k ),
2 k =1 j =1
(22.13)
где e(k ) = (e1 (k ), e2 (k ),… , enL +1 (k ))T , e j (k ) = d j (k ) − x [jL +1] (k ) = d j (k ) − y j (k ) , d j (k ) внешний обучающий сигнал, в качестве которого в задаче идентификации
используют текущее значение выхода идентифицируемой системы.
Для синтеза алгоритма обучения необходимо ввести в рассмотрение
ошибку обратного распространения
332
22 НЕЙРОСЕТЕВАЯ ИДЕНТИФИКАЦИЯ ДИНАМИЧЕСКИХ СИСТЕМ
e[jl +1] (k ) = −
∂E k
∂x [jl +1] (k )
(22.14)
и локальную ошибку
δ
[ l +1]
j
∂E k
(k ) = − [l +1]
,
∂u j (k )
(22.15)
связанные между собой соотношением
/
δ [jl +1] (k ) = e [jl +1] (k )ψ [jl ] (u [jl +1] ( k )).
(22.16)
Применяя цепное правило дифференцирования, можно записать вариацию
параметров скользящего среднего за эпоху обучения в виде
Δw
[l ]
jip
N
= ∑ Δw (k ) = −η
k =1
[l ]
jip
[l ]
[ l +1]
N
∂E k
∂E k ∂u j ( k )
[l ]
,
= −η ∑ [l +1]
l]
l]
(k ) ∂w[jip
∂w[jip
k =1 ∂u j
(22.17)
где
[ l +1]
∂E k ∂u j (k )
Δw (k ) = w (k + 1) − w (k ) = −η (k ) [ l +1]
=
l]
∂u j (k ) ∂w[jip
[l ]
jip
[l ]
jip
[l ]
jip
= η [l ] (k )δ [jl +1] (k )
[l ]
∂u [jl +1] (k )
(22.18)
l]
∂w[jip
– изменение весов на одном такте настройки.
Для коэффициентов авторегрессии используем аналогичные соотношения
Δv
[l ]
jip
N
l]
= ∑ Δv [jip
(k ),
Δv (k ) = η ( k )δ
[l ]
jip
(22.19)
k =1
[l ]
[ l +1]
j
(k )
∂u [jl +1] (k )
l]
∂v [jip
.
(22.20)
Вводя общее обозначение для синаптических весов s [ljip] , можно записать
алгоритм настройки отдельного параметра
Δs (k ) = η (k )δ
[l ]
jip
[l ]
[ l +1]
j
(k )
∂u [jl +1] (k )
l]
∂s [jip
(22.21)
и синапса в целом
333
S [jil ] (k + 1) = S [jil ] ( k ) + η [l ] ( k )δ [jl +1] (k )∇ S ji u [jl +1] (k ) =
/
= S [jil ] (k ) + η [l ] (k )e[jl +1] (k )ψ [jl ] (u [jl +1] (k ))∇ S ji u [jl +1] (k ),
(22.22)
для реализации которого необходимо вычислить производные в (22.18) и
(22.20), локальную ошибку δ [jl +1] (k ) , а также задать параметр шага η [l ] (k ) .
Используя известное соотношение из теории адаптивной фильтрации [54,
68, 373] для фильтра (22.10)
nV
∂u (k )
∂u (k − t )
1
= x(k − p ) + ∑
=
x(k − p ),
∂w p
∂w p
V (k , z −1 )
t =1
(22.23)
nV
∂u (k )
∂u (k − t )
1
= u (k − p) + ∑
=
u ( k − p ),
∂v p
∂v p
V (k , z −1 )
t =1
(22.24)
а также с учетом того, что
∂u [jl +1] (k )
l]
∂s [jip
=
∂u [jil +1] ( k )
l]
∂s [jip
(22.25)
,
получаем
∂u [jl +1] ( k )
l]
∂w[jip
∂u [jl +1] (k )
l]
∂v [jip
nV[ l ]
= x (k − p ) + ∑ v
[l ]
i
=u
[ l +1]
ji
t =1
nV[ l ]
[l ]
jit
(k − p) + ∑ v
t =1
∂u [jl +1] (k − t )
[l ]
jit
l]
∂w[jip
∂u [jl +1] (k − t )
l]
∂v [jip
(22.26)
,
.
(22.27)
Для вычисления локальной ошибки δ [jl +1] (k ) можно воспользоваться
соотношением (22.16), в котором ошибка обратного распространения e[jl +1] (k ) в
общем случае имеет вид
e
[ l +1]
j
[ l +1]
nl +1 N
∂E k ∂u q (k )
∂E k
( k ) = − [ l +1]
= −∑∑ [ l +1]
∂x j (k )
(k ) ∂x [jl +1] (k )
q =1 k =1 ∂u q
(22.28)
для всех l ≤ L .
С учетом ошибки выходного слоя можно окончательно записать
334
22 НЕЙРОСЕТЕВАЯ ИДЕНТИФИКАЦИЯ ДИНАМИЧЕСКИХ СИСТЕМ
⎧e j (k ), если l = L,
⎪
e[jl +1] (k ) = ⎨nl +1 N [l +1]
∂u qj[l +1] (k + r )
, если 1 < l < L,
⎪∑∑ δ q (k + r )
[ l +1]
∂
x
(
k
)
j
⎩ q =1 r =1
(22.29)
где частные производные во втором соотношении имеют вид [374]
∂u qj[l +1] (k + r )
∂x [jl +1] ( k )
[ l +1]
[l ]
⎛ wqjr
, если 0 ≤ r ≤ nW[ l ] ⎞ min {nW ,r } [l ] ∂u qj ( k + r − p )
⎟ + ∑ v qjp
. (22.30)
=⎜
[ l +1]
⎜ 0 в противном случае ⎟
∂
x
k
(
)
p =1
j
⎝
⎠
[l ]
Вводя обозначение
/
ψ [jl ] (u [jl +1] (k ))∇ S ji u [jl +1] (k ) = J i[l ] (k ),
(22.31)
перепишем (22.22) в виде
S [jil ] (k + 1) = S [jil ] (k ) + η [l ] (k )e[jl +1] (k ) J i[l ] (k ),
(22.32)
после чего, используя технику преобразования алгоритма ЛевенбергаМаркварта [362] и вводя в процедуру обучения сглаживающие свойства,
окончательно приходим к достаточно простому выражению типа (19.27)
⎧ [l ]
e [jl +1] ( k ) J i[l ] (k )
[l ]
, 1 ≤ l ≤ L,
⎪⎪S ji (k + 1) = S ji ( k ) +
[l ]
β
(
k
)
i
⎨
2
⎪ [l ]
[l ]
[l ]
⎪⎩ β i (k + 1) = αβ i (k ) + J i (k ) , 0 ≤ α ≤ 1.
(22.33)
Таким образом процесс обучения многослойной локально рекуррентной
сети может быть реализован в виде следующей последовательности шагов:
¾ вычисление ошибки обратного распространения e[jl +1] (k ) с помощью
соотношения (22.29) для всех k = 1,2, … , N ;
¾ вычисление локальной ошибки δ [jl +1] (k ) с помощью соотношения
(22.16) для всех k = 1,2,…, N ;
¾ вычисление производных сигнала внутренней активации u [jl +1] (k ) по
настраиваемым синаптическим весам с помощью соотношений
(22.26), (22.27);
¾ вычисление
оптимального
значения
параметра
шага
[l ]
[l ]
−1
η (k ) = ( β i (k )) с помощью второго соотношения (22.33);
¾ уточнение вектора параметров каждого синапса S [jil ] (k ) с помощью
первого соотношения (22.33);
335
¾ вычисление локальных приращений весов с помощью соотношений
(22.18), (22.20);
¾ уточнение синаптических весов за эпоху с помощью соотношения
(22.17), (22.19).
Несмотря на некоторую численную громоздкость процесса обучения
локально рекуррентных сетей, сокращение числа настраиваемых весов
позволяет повысить скорость процесса идентификации, что особенно важно
при работе с нестационарными динамическими объектами управления.
336
23 УПРАВЛЕНИЕ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ
23 УПРАВЛЕНИЕ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ
Управление динамическими объектами и системами в условиях
структурной и параметрической неопределенности является еще одним важным
направлением в приложениях нейронных сетей, которому в настоящее время
уделяется достаточно много внимания [22, 23, 25, 28, 29, 31, 34, 38, 90, 226, 375378].
Нейросетевые системы управления, или нейрорегуляторы имеют ряд
существенных преимуществ перед обычными системами автоматического
управления, среди которых особенно следует выделить возможности обработки
больших объемов сенсорной информации [32], высокое быстродействие,
достигаемое благодаря распараллеливанию вычислений [23], возможность
работы с существенно нелинейными объектами, о структуре и параметрах
которых практически ничего неизвестно [226].
Как показано в [379-381], нейрорегуляторы являются развитием
адаптивных систем управления [65, 98-102] и подобно им условно могут быть
разбиты на два класса: непрямые и прямые системы (подразделы 4.2.4).
На рис.23.1, 23.2 приведены основные схемы адаптивного управления, а на
рис.23.3, 23.4 – структура непрямого и прямого нейрорегуляторов.
Эталонная
модель
y * (k )
+
d (k )
Σ
Настраиваемая
модель
eI (k )
−
ec (k )
−
Σ
+
Адаптивный
регулятор
u (k )
Объект
управления
y (k )
Рис. 23.1 – Адаптивная непрямая система управления
На вход любой из систем управления поступает внешний задающий сигнал
d (k ) , который подается параллельно на регулятор и эталонную модель,
определяющую желаемое поведение объекта управления. Заметим, что наличие
эталонной модели не является обязательным, при этом цель управления
определяется требованием устойчивого и точного слежения выходом объекта
y (k ) за внешним сигналом (уставкой) d (k ) .
337
Эталонная
модель
y * (k )
+
e(k )
d (k )
Σ
−
u (k )
Адаптивный
регулятор
y (k )
Объект
управления
Рис. 23.2 – Адаптивная прямая система управления
Эталонная
модель
eI (k )
d (k )
−
ИНСI
нейроэмулятор
u (k − nW )
ЛЗ
u (k − 1)
u (k − nu )
u (k − 1)
ЛЗ
+
y (k − nV )
ЛЗ
ИНСС
нейрорегулятор u (k )
Σ
yˆ ( k )
y (k − 1)
+
Нелинейный
объект
управления
y (k − n y )
y * (k )
y (k )
−
Σ
eC (k )
ЛЗ
…
y (k − 1)
Рис. 23.3 – Нейросетевая непрямая система управления
338
23 УПРАВЛЕНИЕ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ
В адаптивной непрямой системе управления параллельно объекту
подключена настраиваемая модель, параметры которой непрерывно
уточняются с помощью того или иного алгоритма адаптивного оценивания,
минимизирующего в реальном времени целевую функцию от ошибки
идентификации e I (k ) = y (k ) − yˆ (k ) , где y (k ) - выходой сигнал реального
объекта, yˆ (k ) - выход настраиваемой модели.
Эталонная
модель
+
d (k )
e(k )
ИНС
нейрорегулятор u (k )
−
Нелинейный
объект
управления
y * (k )
Σ
y (k )
u ( k − nu )
ЛЗ
u (k − 1)
ЛЗ
…
y (k − n y )
y ( k − 1)
Рис. 23.4 - Нейросетевая прямая система управления
Получаемые параметры настраиваемой модели используются регулятором в
качестве оценок параметров объекта управления, при этом вырабатываемые
регулятором
управляющие
воздействия
u (k )
определяются
путем
аналитической минимизации принятого критерия управления, являющегося
функцией от ошибки управления eC (k ) = y * (k ) − y (k ) , где y * (k ) - выходной
сигнал эталонной модели. Чем точнее настраиваемая модель отслеживает
поведение реального объекта, тем меньше ошибка идентификации eI (k ) и тем
точнее выход объекта следит за желаемой траекторией y * (k ) . Качество работы
адаптивной непрямой системы полностью определяется эффективностью
процесса идентификации, поскольку в конечном итоге, как можно понять,
анализируя элементарное соотношение
eC (k ) = y * (k ) − yˆ ( k ) − e I (k ),
(23.1)
процесс управления сводится к отслеживанию адаптивной моделью поведения
эталонной модели.
339
Адаптивная прямая система управления имеет более простую структуру
(рис. 23.2) и в своей работе использует только одну ошибку, как правило
e(k ) = y * (k ) − y ( k ) . В процессе работы такой системы настраиваются параметры
регулятора путем численной оптимизации принятого критерия управления. И
хотя на первый взгляд прямые системы представляются более
привлекательными с позиций простоты их реализации, все же непрямые
системы получили более широкое распространение, благодаря высоким
быстродействию и помехоустойчивости.
Непрямой нейрорегулятор (рис. 23.3) весьма близок по структуре к
непрямой системе на рис. 23.1 с тем лишь отличием, что вместо линейных
настраиваемой модели и регулятора, содержит две нейросети ИНСI и ИНСС,
исполняющих функции нейроэмулятора, вычисляющего в реальном времени
параметры чувствительности ∂y j ∂u i , и собственно нейрорегулятора,
обеспечивающего в процессе непрерывного обучения минимизацию принятого
критерия управления. Элементы схемы, обозначенные ЛЗ, представляют собой
линии элементов задержки z −1 , необходимые для учета как динамики
нелинейного объекта, так и собственно процесса управления.
Прямой нейрорегулятор (рис. 23.4), как видно, структурно практически не
отличается от системы управления, приведенной на рис. 23.2 и содержит
единственную нейросеть, обеспечивающую оптимизацию принятого критерия
управления по данным наблюдений за входами и выходами нелинейного
объекта.
В качестве примера рассмотрим задачу управления одномерным
нелинейным динамическим объектом, описываемым уравнением типа (22.1)
y (k ) = f ( y (k − 1), y (k − 2),…, y (k − nV ), u (k − 1), u (k − 2),… , u (k − nW )),
(23.2)
с помощью непрямой нейросистемы, схема которой приведена на рис. 23.5.
В качестве нейроэмулятора и нейрорегулятора в данной схеме
используются стандартные трехслойные персептроны (рис. 2.4), причем ИНСI
реализует отображение
yˆ (k + 1) = FI ( y (k ),… , y (k − nV + 1), u (k ),… , u (k − nW + 1)) = FI ( X (k + 1)),
(23.3)
а ИНСС u (k ) = FC ( y (k ),… , y (k − n y ), u (k − 1),…, u (k − nu ), d ( k + 1),… , d (k − n d )) T =
= FC (U (k )),
(23.4)
где векторы X (k ) = ( y (k − 1),…, y (k − nV ), u (k − 1),…, u (k − nW ))T , U (k ) = ( y (k ),…,
y ( k − n y ), u (k − 1),… , u (k − nu ), d (k + 1),… , d (k − n d )) T
имеют
размерности
(nV + nW ) × 1 и (n y + nu + nd + 3) × 1 соответственно, при этом в рамках концепции
340
23 УПРАВЛЕНИЕ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ
регуляторов пониженного порядка [382] размерность
принимается всегда меньше размерности X (k ) .
вектора
U (k )
eI (k + 1)
ИНСI
нейроэмулятор
∂y (k + 1)
∂u (k )
d (k + 1)
y (k − nV + 1)
ЛЗ
ЛЗ
u (k − 1)
ИНСС
нейрорегулятор u (k )
y (k )
Нелинейный
объект
управления
y ( k + 1)
u (k − nu )
d (k )
ЛЗ
ЛЗ
u ( k − 1)
d ( k − nd )
eC (k + 1)
+
Σ
+
u (k − nW + 1)
μ (k + 1)
−
ˆy ( k + 1)
Σ
ЛЗ
y (k − n y )
…
y (k )
−
Рис. 23.5 – Нейросетевая непрямая система управления
нелинейным динамическим объектом (23.2)
Не останавливаясь на работе нейроэмулятора ИНСI, решающего
стандартную задачу идентификации динамического объекта (раздел 22),
рассмотрим
процесс
настройки
трехслойного
персептрона
ИНСС,
преобразующего векторный входной сигнал U (k ) в скалярное управляющее
воздействие
u (k ) = Ψ [3] (W [ 3] Ψ [ 2] (W [ 2] Ψ [1] (W [1]U (k ))))
(23.5)
и содержащего в первом слое n1 = n0 = n y + nu + nd + 3 нейронов, 1 < n2 ≤ n1
нейронов во втором и единственный нейрон (n3 = 1) в выходном слое.
В качестве критерия управления используется локальная целевая функция
341
1
E (u (k )) = (d (k ) − f ( y ( k ),…, y (k − nV + 1), u (k ),…, u (k − nW + 1))) 2 =
2
1
= eC2 (k + 1),
2
(23.6)
обеспечивающая слежение выходом объекта за внешним задающим сигналом с
минимальной дисперсией и получившая широкое распространение в теории
адаптивного цифрового управления.
Для обучения нейронной сети применяется процедура обратного
распространения ошибок (подраздел 4.6), согласно которой синаптические веса
выходного нейрона уточняются с помощью рекуррентного алгоритма
w[3] (k + 1) = w[ 3] (k ) − η [3] ( k )(∇ w[ 3] E (u (k )))T ,
(23.7)
или через приращение
Δw[ 3] (k ) = w[ 3] (k + 1) − w[ 3] (k ) = −η [3] (k )(∇ w[ 3 ] E (u (k )))T =
= −η [ 3] (k )
∂E (u (k ))
(∇ w[ 3] u [3] ( k )) T ,
[ 3]
∂u (k )
(23.8)
где
u [ 3] (k ) = w[ 3] (k )o [ 2] (k ).
(23.9)
Вводя в рассмотрение локальную ошибку выходного нейрона
δ [ 3] ( k ) = −
∂E (u (k ))
∂E (u (k )) ∂eC (k + 1)
=
=−
[ 3]
∂eC ( k + 1) ∂u [3] (k )
∂u ( k )
∂y ( k + 1) ∂ψ [3]
= eC ( k + 1)
=
∂u (k ) ∂u [3] (k )
= eC ( k + 1)
(23.10)
∂y ( k + 1) [3] /
(ψ ) ,
∂u (k )
запишем дельта-правило настройки третьего выходного слоя в виде
Δw[ 3] (k ) = η [ 3] (k )δ [3] ( k )(o [ 2] (k )) T .
(23.11)
С целью ускорения процесса обучения можно воспользоваться
модифицированным алгоритмом (4.215), принимающим в данном случае форму
w (k + 1) = w (k ) +
[ 3]
[ 3]
δ [3] (k )(o [ 2 ] (k ))T
∂y (k + 1) [3] / [ 2 ]
(ψ ) o (k )
β+
∂u (k )
2
.
(23.12)
342
23 УПРАВЛЕНИЕ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ
Используя методику обратного распространения, запишем процедуру
обучения второго скрытого слоя в виде
Δw[j2] (k ) = −η [ 2] (k )(∇ w[ 2 ] E (u (k )))T = −η [ 2 ] (k )
j
∂E (u (k ))
(∇ w[ 2 ] u [j2 ] (k )) T =
[ 2]
j
∂u j (k )
(23.13)
= η [ 2 ] (k )δ [j2] (k )(o [1] (k )) T ,
где
δ
Оптимизация
алгоритму
[ 2]
j
процедуры
w (k + 1) = w (k ) +
[ 2]
(k ) = δ
[ 3]
[ 3]
j
(k ) w (k )
по
∂ψ [j3]
∂u [j2 ] (k )
скорости
(23.14)
.
приводит
δ [ 2 ] (k )(o [1] (k ))T
[ 2]
β+δ
[ 3]
(k ) w (k )(ψ
[ 3]
j
[ 2] /
[1]
) o (k )
2
к
рекуррентному
, j = 1,2, …, n 2 . (23.15)
И, наконец, для первого скрытого слоя справедливы соотношения
Δw[j1] (k ) = η [1] (k )δ [j1] (k )(o [ 0] (k )) T = η [1] (k )δ [j1] (k )U T (k ),
(23.16)
(здесь
δ (k ) =
[1]
j
∂ψ [j1]
∂u
[ 2]
j
n2
δ i[ 2] (k ) wij[ 2 ] (k ))
∑
(k )
(23.17)
i =1
и
δ [j1] (k )U T (k )
w (k + 1) = w (k ) +
[1]
j
[1]
j
β+
n2
∑ δ i[ 2] (k ) wij[ 2] (k )(ψ [j1] ) / U (k )
2
, j = 1,2, … , n1 . (23.18)
i =1
Таким образом с помощью алгоритмов (23.12), (23.15), (23.18)
обеспечивается максимальная скорость настройки всех нейронов регулятора
ИНСС.
В случае нестационарного объекта управления в системе предусмотрен
диагностический выход μ (k + 1) , предназначенный для обнаружения
возможных изменений в объекте, которые достаточно просто могут быть
выявлены с помощью алгоритма Хэгглунда [383], для данного случая
принимающего вид
343
⎧⎪θ (k + 1) = ηθ θ (k ) + Δw[3] (k ), 0 ≤ ηθ < 1,
⎨
⎪⎩μ ( k + 1) = sign(θ T (k + 1) Δw[3] (k )),
(23.19)
при этом появление сигнала μ (k ) = +1 в течение нескольких тактов подряд
свидетельствует о возникшей разладке.
Экспериментальные исследования [376, 377] показали достаточно
высокую эффективность рассмотренного непрямого нейрорегулятора.
В [384] описана нейросетевая прямая система управления нелинейным
динамическим объектом (23.2), в которой в качестве нейрорегулятора
используется двухслойный персептрон, который в процессе обучения
восстанавливает как модель объекта, так и рекуррентно вычисляет
управляющие воздействия с помощью однотипных градиентных процедур.
В качестве критерия управления применяется локальная целевая функция,
используемая в теории адаптивных стохастически эквивалентных систем и
имеющая вид
E (u (k )) =
1
1
(d (k + 1) − yˆ (k + 1)) 2 = e 2 (k + 1),
2
2
(23.20)
где
yˆ (k + 1) = FI ( X (k + 1)) = W [ 2] (k ) Ψ [1] (W [1] (k ) X ( k + 1) + θ [1] (k )) + θ [ 2] (k ) =
= W [ 2] (k ) tanh(W [1] (k ) X (k + 1) + θ [1] (k )) + θ [ 2] (k ).
(23.21)
Для настройки синаптических весов и смещений модели (23.21)
используется стандартная процедура обратного распространения ошибок, а
управляющий сигнал вычисляется с помощью градиентного алгоритма
u (k + 1) = u (k ) − η u (k )
∂yˆ (k + 1)
∂E (u (k ))
= u (k ) + η u (k )e(k + 1)
.
∂u (k )
∂u (k )
(23.22)
Дифференцируя (23.21) по u (k ) , получаем
∂yˆ (k + 1)
dX (k + 1)
= W [ 2] (k )sech 2 (W [1] (k ) X ( k + 1) + θ [1] ( k ))W [1] (k )
∂u ( k )
du ( k )
(23.23)
dX (k + 1)
= E nV + nW ,nV +1 = (0,0, …,0,1,0, …,0) T ),
du (k )
(23.24)
(здесь
после чего можно окончательно записать
344
23 УПРАВЛЕНИЕ НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ
u (k + 1) = u (k ) + ηu (k )e(k + 1)W [ 2] (k )sech 2 (W [1] (k ) X (k + 1) + θ [1] (k )) ⋅
⋅ W [1] (k )
dX (k + 1)
.
du (k )
(23.25)
Как видно, прямой подход к синтезу нейрорегуляторов гораздо проще с
вычислительной точки зрения, однако часто проигрывает непрямому по
быстродействию.
Хотелось бы заметить, что в этом разделе рассмотрены простейшие схемы
нейроуправления достаточно близкие к традиционным адаптивным системам.
На сегодня известны десятки, если не сотни нейрорегуляторов, отличающихся
друг от друга используемыми архитектурами ИНС, критериями управления,
алгоритмами обучения, уровнем априорной информации, ограничениями и т.д.,
однако, что весьма отрадно, подавляющее большинство задач управления
может быть сведено к проблеме безусловной или условной оптимизации [385],
успешно решаемой с помощью искусственных нейронных сетей.
345
ЗАКЛЮЧЕНИЕ
ЗАКЛЮЧЕНИЕ
В этой книге авторы попытались рассмотреть и проанализировать
архитектуры, алгоритмы обучения и возможные применения ряда
искусственных нейронных сетей, причем выбор конкретных ИНС
определяется, прежде всего, личными вкусами и пристрастиями так, что о
полноте изложения всего, что нам известно в этой области, говорить не
приходится. В связи с этим наше внимание в основном было сосредоточено на
задачах управления и обработки информации в условиях неопределенности, т.е.
на том, чем нам пришлось заниматься в течение всей нашей научной
деятельности.
Еще нам очень хотелось показать, что нейросети – это не наукообразные
рассуждения о прелестях искусственного интеллекта, не картинки с кружками и
стрелочками, не набор рецептов типа как разбогатеть, предсказывая курсы
акций и валют, чем, к сожалению, грешит множество популярных книжек,
изданных на русском языке. На наш взгляд, ИНС – это отличный инженерный
аппарат для инженеров-компьютерщиков, требующий инженерной же
математической подготовки.
На формирование наших взглядов повлияло множество наших коллег и
друзей как в Украине, так и за рубежом, назвать которых всех просто не
возможно из боязни нечаянно кого-нибудь забыть. Всем им мы глубоко
благодарны.
Тем не менее, первый соавтор хотел бы выразить особую благодарность
проф. Л. Заде, который подробно растолковал, что есть наука, именуемая
Computational Intelligence, какова в ней роль математики, чем стоит заниматься
и что можно ожидать в будущем.
Мы благодарны также аспирантам Е. Винокуровой и А. Чапланову,
проделавшим большую работу по набору трудночитаемой рукописи и
выискиванию в ней множества огрехов, не обнаруженные из которых лежат на
нашей совести.
Всем нашим возможным читателям, которые доберутся до конца этой
книги, также большое спасибо.
346
СПИСОК ЛИТЕРАТУРЫ
СПИСОК ЛИТЕРАТУРЫ
1. Schoeneburg E., Hansen N., Gawelczyk A. Neuronale Netzwerke. – Haar bei
Muenchen: Markt – u.– Technik Verl., 1990. – 301 S.
2. Neural Networks: Theory and Applications / Ed. by R.J. Mammone. – Boston:
Academic Press, 1991. – 524 p.
3. Kohonen T. Self-Organizing Maps – Berlin: Springer-Verlag, 1995. – 362 p.
4. Rojas R. Neural Networks. A Systematic Introduction. – Berlin: SpringerVerlag, 1996. – 502 p.
5. Scherer A. Neuronale Netze. Grundlagen und Anwendungen. – Braunschweig /
Wiesbaden: Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, 1997. – 249 S.
6. Schalkoff R.J. Artificial Neural Networks. – N.Y.: The McGraw–Hill Comp.,
Inc., 1997. – 422 p.
7. Tsoukalas L. H., Uhrig R. E. Fuzzy and Neural Approaches in Engineering. –
N.Y.: John Wiley & Sons, Inc., 1997. – 587 p.
8. Abe S. Neural Network and Fuzzy Systems: Theory and Applications. –
Boston: Kluwer Academic Publishers, 1997. – 258 p.
9. Haykin S. Neural Networks. A Comprehensive Foundation. – Upper Saddle
River, N.J.: Prentice Hall, Inc., 1999. – 842 p.
10. McCulloch W. S., Pitts W. A logical calculus of ideas immanent in nervous
activity // Bull. Math. Biophysics. – 1943. – 5. – P. 115-133.
11. Розенблатт Ф. Обобщение восприятий по группам преобразований / В
кн.: «Самоорганизующиеся системы». – М.: Мир, 1964. – С. 65-112.
12. Розенблатт Ф. Модель памяти на нейронных сетях // Автоматика. – 1965.
– № 5, – 1966.–№2, 4.
13. Стоун І. Бунт розуму // Всесвіт. – 1991. – № 4. – С. 3 – 52. – № 5. – С. 121
– 163.
14. Hagan M. T., Demuth H. B., Beale M. Neural Network Design. – Boston:
PWS Publishing Company, 1996. – 729 p.
15. Golden R. M. Mathematical Methods for Neural Network Analysis and
Design. –Cambridge, Massachusetts: The MIT Press, 1996. – 420 p.
16. Braun H. Neuronale Netze. Optimierung durch Lernen und Evolution. –
Berlin: Springer – Verlag, 1997. – 279 S.
17. Dracopoulos D. C. Evolutionary Learning Algorithms for Neural Adaptive
Control. – Berlin: Springer – Verlag, 1997. – 211 p.
18. Shepherd A. J. Second-Order Methods for Neural Networks. – London:
Springer–Verlag, 1997. – 145 p.
19. Wasserman P. D. Neural Computing: Theory and Practice – N.Y.: Van
Nostrand Reinhold, 1989. – 230 p.
20. Masters T. Practical Neural Network Recipes in C++. – San Diego: Academic
Press, Inc., 1993. – 493 p.
21. Rogers J. Object-Oriented Neural Networks in C++. – San Diego: Academic
Press, 1997. – 310 p.
22. Neural Networks for Control / Ed. by T. Miller. – Cambridge: MIT Press,
1991. – 524 p.
347
23. Handbook of Intelligent Control: Neural, Fuzzy and Adaptive Approaches/ Ed.
by D. A. White, D. A. Sofge. –N.Y.: Van Nostrand Reinhold, 1992. – 568 p.
24. Kosko B. Neural Networks and Fuzzy Systems: A Dynamical Systems
Approach to Machine Intelligence. – Englewood Cliffs, N.J.: Prentice Hall, 1992. –
449 p.
25. Neural Networks for Control and Systems / Ed. by K. Warwick – London:
Peregrinus, 1992. – 260 p.
26. Neural Networks for Signal Processing / Ed. by B. Kosko. – Englewood Cliffs.
N.Y.: Prentice Hall, 1992. – 399 p.
27. Cichocki A., Unbehauen R. Neural Networks for Optimization and Signal
Processing. – Stuttgart: Teubner, 1993. – 526 p.
28. Harris C. J., Moore C. G., Brown M. Intelligent Control. Aspects of Fuzzy
Logic and Neural Nets. – Singapore: World Scientific. – 1993. – 380 p.
29. Advances in Intelligent Control / Ed. by C. J. Harris. – London: Taylor and
Francis, 1994. – 373 p.
30. Zell A. Simulation Neuronale Netze. – Bonn: Addison Wesley, 1994. – 624 S.
31. Wang H., Liu G. P., Harris C.J., Brown M. Advanced Adaptive Control. –
Oxford: Pergamon, 1995. – 262 p.
32. Pham D. T., Liu X. Neural Networks for Identification, Prediction and Control.
– London: Springer–Verlag, 1995. – 238 p.
33. Bishop C. M. Neural Networks for Pattern Recognition. – Oxford: Clarendon
Press, 1995. – 482 p.
34. Omatu S., Khalid M., Yusof R., Neuro-Control and its Applications. – London:
Springer–Verlag, 1995. – 255 p.
35. Masters T. Neural, Novel & Hybrid Algorithms for Time Series Prediction. –
N.Y.: John Wiley & Sons, Inc., 1995. – 514 p.
36. Braun H., Feulner J., Malaka R. Praktikum Neuronale Netze. – Berlin:
Springer – Verlag, 1996.–242 S.
37. Beltratti A., Margarita S., Terna P. Neural Networks for Economic and
Financial Modeling. – London: Int. Thomson Computer Press, 1996. – 287 p.
38. Zbikowski R., Hunt K. J. Neural Adaptive Control Technology. – Singapore:
World Scientific, 1996. – 347 p.
39. Jialong He Automatic Speaker Identification by Artificial Neural Networks. –
Aachen: Shaker-Verlag, 1997. – 193 p.
40. Zirilli J. S. Financial Prediction Using Neural Networks. – London: Int.
Thomson Computer Press, 1997. – 135 p.
41. Kingdom J. Intelligent Systems and Financial Forecasting. – Berlin: Springer–
Verlag, 1997. – 227 p.
42. Nelles O., Ernst S., Isermann R. Neuronale Netze zur Identification
nichtlinearer, dynamischer Systeme: Ein Ueberblick // Automatisierungstechnik. –
1997. – 45. – № 6. – S. 251-262.
43. Neural Network Systems Techniques and Applications. Vol 1-7 / Ed. by
C. T. Leondes. – San Diego: Academic Press, 1998.
44. Фогель Л., Оуэнс А., Уолш М. Искусственный интеллект и эволюционное
моделирование. – М.: Мир, 1969. – 230 с.
348
СПИСОК ЛИТЕРАТУРЫ
45. Цыпкин Я. З. Основы информационной теории идентификации. – М.:
Наука, 1984. – 320 с.
46. Льюнг Л. Идентификация систем. Теория для пользователя. –
М.:Наука,1991. – 432 с.
47. Цыпкин Я. З. Основы теории обучающихся систем. – М.: Наука, 1970. –
252 с.
48. Круглов В. В., Борисов В. В. Искусственные нейронные сети. Теория и
практика. – М.: Горячая линия – Телеком, 2001. – 382 с.
49. Ежов А. А., Шумский С. А. Нейрокомпьютинг и его приложения в
экономике и бизнесе. – М.: Изд-во МИФИ, 1998. – 224 с.
50. Галушкин А. И. Теория нейронных сетей. – М.: ИПРЖР, 2000. – 416 с.
51. Ротштейн А. П. Интеллектуальные технологии идентификации: нечеткие
множества, генетические алгоритмы, нейронные сети. – Винница:
УНІВЕРСУМ-Вінниця, 1999. – 320 с.
52. Горбань А. Н., Россиев Д. А. Нейронные сети на персональном
компьютере. – Новосибирск: Наука, 1996. – 276 с.
53. Нейроинформатика
/
А. Н. Горбань,
В. Л. Дунин-Барковский,
Е. М. Миркес и др. – Новосибирск: Наука, 1998. – 160 с.
54. Адаптивные фильтры / Под ред. К. Ф. Н. Коуэна, П. М. Гранта. – М.:
Мир, 1988. – 329 с.
55. Бабак В. П., Хандецький В. С., Шрюфер Е. Обробка сигналів. – К.:
“Либідь”, 1999. – 496 с.
56. Haykin S. Adaptive Filter Theory. – Upper Saddle River, N.J.: Prentice Hall,
1996. – 987 p.
57. Hecht-Nielsen R. Kolmogorov’s mapping neural network existence theorem //
IEEE First Ann. Int. Conf. on Neural Networks. – San Diego. – 1987. – 3. – P. 11-13.
58. Hecht-Nielsen R. Theory of the backpropagation neural network // Int. Joint
Conf. on Neural Networks. – Washington, D.C. – 1989. – 1. – P. 593-606.
59. Cybenko G. Approximation by superposition of a sigmoidal function // Math.
Contr. Sign. Syst. – 1989. – 2. – P. 303-314.
60. Hornik K., Stinchcombe M., White H. Multilayer feedforward networks are
universal approximators // Neural Networks. – 1989. – 2. – P. 359-366.
61. Hornik K. Approximation capabilities of multiplayer feedforward networks //
Neural Networks. – 1991. – 4. – P. 251-257.
62. Бодянский Е. В., Кулишова Н. Е., Руденко О. Г. Об одной модели
формального нейрона // Доповіді НАН України. – 2001. – № 4. – С. 69-73.
63. Бодянский Е.В., Кулишова Н. Е., Руденко О. Г. Обобщенный алгоритм
обучения формального нейрона // Кибернетика и системный анализ. – 2002. –
№ 5. – С. 176-182.
64. Orcutt G., Winokur H. First order autoregression: Inference estimation and
prediction // Econometrica. – 1969. – 37. – P. 1-14.
65. Изерман Р. Цифровые системы управления. – М.: Мир, 1984. – 541 с.
66. Widrow B., Hoff Jr. M. E. Adaptive switching circuits // 1960 IRE Western
Electric Show and Connection Record. – 1960. – Part 4. – P. 96-104.
349
67. Widrow B., Lee M. 30 years of adaptive neural networks: perceptron, adaline
and backpropagation // Proc. IEEE. – 1990. – 78. – P. 1415-1442.
68. Уидроу Б., Стирнз С. Адаптивная обработка сигналов. – М.: Радио и
связь, 1989. – 440 с.
69. Минский М., Пейперт С. Персептроны. – М.: Мир, 1971. – 262 с.
70. Scarcelli F., Tsoi A. S. Universal approximation using feedforward neural
networks: a survey of some existing methods and some new results // Neural
Networks. – 1998. – 11. – P. 15-37.
71. Moody J. Darken C. J. Fast learning in networks of locally-tuned processing
units// Neural Computation. – 1989. – 1. – P. 281-294.
72. Айзерман М. А., Браверман Э. М., Розоноэр Л. И. Метод потенциальных
функций в теории обучения машин. – М.: Наука, 1970. – 384 с.
73. Parzen E. On the estimation of a probability density function and the mode //
Ann. Math. Statist. – 1962. – 38. – P. 1065-1076.
74. Надарая Э. А. О непараметрических оценках плотности вероятности и
регрессии // Теория вероятностей и ее применение. – 1965. – 10. – № 1. – С. 199203.
75. Живоглядов В. П., Медведев А. В. Непараметрические алгоритмы
адаптации. – Фрунзе: Илим, 1974. – 214 с.
76. Медведев А. В.
Адаптация
в
условиях
непараметрической
неопределенности // Адаптивные системы и их приложения. – Новосибирск:
Наука, 1978. – С. 4-34.
77. Раудис Ш. Ю.
Оптимизация
непараметрического
алгоритма
классификации // Адаптивные системы и их приложения. – Новосибирск:
Наука, 1978. – С. 57-61.
78. Медведев А. В.
Непараметрические
алгоритмы
идентификации
нелинейных динамических систем // Стохастические системы управления. –
Новосибирск: Наука, 1979. – С. 15-22.
79. Варядченко Т. В., Катковник В. Я. Непараметрический метод обращения
функций регрессии // Стохастические системы управления. – Новосибирск:
Наука, 1979. – С. 4-14.
80. Hartman E. J., Keeler J. D., Kowalski J. Layered neural networks with
Gaussian hidden units as universal approximations // Neural Computation. – 1990. –
2. – P. 210-215.
81. Park J., Sandberg I. W. Universal approximation using radial-basis-function
networks // Neural Computation. – 1991. – 3. – P. 246-257.
82. Leonard J. A., Kramer M. A., Ungar L. H. Using radial basis functions to
approximate a function and its error bounds // IEEE Trans. on Neural Networks. –
1992. – 3. – P. 614-627.
83. Sunil E. V. T., Yung C. Sh. Radial basis function neural network for
approximation and estimation of nonlinear stochastic dynamic systems // IEEE Trans.
on Neural Networks. – 1994. – 5. – P. 594-603.
84. Poggio T., Girosi F. A Theory of Networks for Approximation and Learning //
A. I. Memo № 1140, C.B.I.P. Paper № 31. – Massachussetts Institute of Technology,
1994. – 63 p.
350
СПИСОК ЛИТЕРАТУРЫ
85. Cover T. M. Geometrical and statistical properties of systems of linear
inequalities with applications in pattern recognition // IEEE Trans. on Electronic
Computers. – 1965. – 14. – P. 326-334.
86. Chen S., Cowan C. F. N., Grant P. M. Orthogonal least squares learning
algorithm for radial basis function networks// IEEE. Trans. on Neural Networks. –
1991. – 2. – P. 302-308.
87. Бодянский Е. В., Воробьев С. А., Ламонова Н. С. Математическое
моделирование разладок в активных системах на основе искусственных
нейронных сетей // Сб. тр. Междунар. научн. конф. «Эргономика на
автомобильном транспорте». – Харьков, 1997. – С. 17-19.
88. Webb A. R., Shannon S. Shape-adaptive radial-basis functions // IEEE. Trans.
on Neural Networks. – 1998. – 9. – P. 1155-1165.
89. Rodriguez R. J., Mingo L. F., Castellanos J. A new algorithm to compute
centeres in radial basis function neural networks // Proc. EUFIT’98. – Aahen,
Germany, 1998. – P. 292-296.
90. Brown M., Harris C. J. Neural networks for modelling and control / Ed. by
C. J. Harris "Advances in Intelligent Control". – London: Taylor and Francis, 1994. –
P. 17-55.
91. Chen S., Billings S. A. Neural networks for nonlinear dynamic system
modelling and identification / Ed. by C. J. Harris "Advances in Intelligent Control". –
London: Taylor and Francis, 1994. – P. 85-112.
92. Craddock R. J., Warwick K. Multi-layer radial basis function networks. An
extension to the radial basis function // Proc. Int. Conf. on Neural Networks
ICNN’96, Washington, DC, June 3-6, 1996. – V.2 – P. 700-704.
93. Wilamowski B. M., Jaeger R. C. Implementation of RBF type networks by
MLP networks // Proc. Int. Conf. on Neural Networks ICNN’96, Washington, DC,
June 3-6, 1996. – V.3 – P. 1670-1675.
94. Фу К. Последовательные методы в распознавании образов и обучении
машин. – М.: Наука, 1971. – 256 с.
95. Фукунага К. Введение в статистическую теорию распознавания образов.
– М.: Наука,1979. – 368 с.
96. Патрик Э. А. Основы теории распознавания образов. – М.: Сов. радио,
1980. – 408 с.
97. Растригин Л. А., Эренштейн Р. Х. Метод коллективного распознавания. –
М.: Энергоиздат, 1981. – 80 с.
98. Фомин В. Н., Фрадков А. Л., Якубович В. А. Адаптивное управление
динамическими объектами. – М.: Наука, 1981. – 448 с.
99. Деревицкий Д. П., Фрадков А. Л. Прикладная теория дискретных
адаптивных систем управления. – М.: Наука, 1981. – 216 с.
100. Real-Time Computer Control / Ed. by S. Bennet, D. A. Linkens. – London:
Peter Peregrinus, 1984. – 254 p.
101. Industrial Digital Control Systems / Ed. by K. Warwick, D. Rees. – London:
Peter Peregrinus, 1986. – 439 p.
102. Первозванский А. А. Курс теории автоматического управления. – М.:
Наука, 1986. – 616 с.
351
103. Amari S., Cardoso J.-F. Blind source separation semiparametric statistical
approach // IEEE Trans. on Signal Processing. – 1997. – 45. – P. 2692-2700.
104. Montgomery D. C., Johnson L. A., Gardiner J. S. Forecasting and Time
Series Analysis. – N.Y.: Mc Graw-Hill, 1990. – 394 p.
105. Растригин Л. А. Системы экстремального управления. – М.: Наука,
1974. – 632 с.
106. Kaczmarz S. Angenаeherte Ausloesung von Systemen linearer Gleichungen//
Bull. Int. Acad. Polon. Sci. – 1937. – Let.A. – S. 355-357.
107. Kaczmarz S. Approximate solution of systems of linear equations // Int. J.
Control. – 1993 – 53. – P. 1269-1271.
108. Райбман Н. С., Чадеев В. М.. Адаптивные модели в системах
управления. – М.: Сов. радио, 1966. – 156 с.
109. Райбман Н. С., Чадеев В. М.. Построение моделей процессов
производства. – М.: Энергия, 1975. – 376 с.
110. Бодянский Е. В., Руденко О. Г. Адаптивные модели в системах
управления техническими объектами. – К.: УМК ВО, 1988. – 212 с.
111. Зайцев И. Д., Бодянский Е. В., Руденко О. Г. Применение адаптивных
алгоритмов идентификации при разработке математического обеспечения
АСУТП химических производств. – Черкассы: ОНИИТЭХИМ, 1989. – 89 с.
112. Avedjan A. D. Bestimmung der Parameter linearer Modellen stationaerer
und nichtstationaerer Stoerungen // Messen-Steuern-Regeln. – 1971. – № 9. – S. 348350.
113. Nagumo J., Noda A. A learning method for system identification // IEEE
Trans. on Autom. Control. – 1967. – 12. – P. 282-237.
114. Фаддеев Д. Е., Фаддеева В. Н. Вычислительные методы линейной
алгебры. – М., Л.: ГИФМЛ, 1963. – 623 с.
115. Вазан М. Стохастическая аппроксимация. – М.: Мир, 1972. – 289 с.
116. Бодянский Е. В.,
Буряк Ю. О.,
Содин М. Л.
Адаптивный
конечношаговый алгоритм идентификации // АСУ и приборы автоматики. –
Харьков: Выща шк. – 1987. – Вып. 84. – С. 53-57.
117. Бодянський Є. В., Борячок М. Д. Оптимальне керування стохастичними
об’єктами в умовах невизначеності. – К.: ІСДО, 1993. – 164 с.
118. Аведьян Э. Д. Модифицированные алгоритмы Качмажа для оценки
параметров линейных объектов // Автоматика и телемеханика. – 1975. – № 5. –
С. 64-69.
119. Перельман И. И. Оперативная идентификация объектов управления. –
М.: Энергоатомиздат, 1982. – 272 с.
120. Шильман С. В. Итеративное линейное оценивание с регулируемым
объемом предыстории // Автоматика и телемеханика. – 1983. – № 5. – С. 93-98.
121. Чуев Ю. В.,
Михайлов Ю. Б.,
Кузьмин И. В.
Прогнозирование
количественных характеристик процессов. – М.: Сов. радио,1975. – 400 с.
122. Алберт А. Регрессия, псевдоинверсия и рекуррентное оценивание. – М.:
Наука, 1977. – 224 с.
352
СПИСОК ЛИТЕРАТУРЫ
123. Бодянский Е. В., Буряк Ю. О., Содин М. Л. Адаптивные алгоритмы
идентификации с конечной памятью. – Харьков, 1984. – 47 с. Рук. деп. в
УкрНИИНТИ 05.02.1985, № 218Ук.–85 Деп.
124. Бодянский Е. В., Котляревский С. В., Ачкасов А. Е., Вороновский Г. К.
Адаптивные регуляторы пониженного порядка. – Харьков: ХГАХ, 1996. –
114 с.
125. Цыпкин Я. З. Адаптация и обучение в автоматических системах. – М.:
Наука, 1968. – 400 с.
126. Бодянский Е. В.,
Плисс И. П.,
Соловьева Т. В.
Многошаговые
оптимальные упредители многомерных нестационарных стохастических
процессов // Доклады АН УССР. – 1986. – Сер. А. – № 12. – с. 47-49.
127. Goodwin G. C., Ramadge P. J., Caines P. E. Discrete time stochastic
adaptive control // SIAM J. Control and Optimization. – 1981. – 19. – P. 829-853.
128. Goodwin G. C., Ramadge P. J., Caines P. E. A globally convergent adaptive
predictor // Automatica. – 1981. – 17. – P. 135-140.
129. Бодянский Е. В., Плисс И. П. Об одном модифицированном алгоритме
одновременного действия для идентификации объектов управления.– Харьков,
1981.–13 с. Рук. деп. в ВИНИТИ 16.09.1981, № 4474–81 Деп.
130. Бодянский Е. В., Плисс И. П. Об одном многошаговом адаптивном
алгоритме идентификации нестационарных объектов. – Харьков, 1984. – 8 с.
Рук. деп. в УкрНИИНТИ 03.02.1984, № 183 Ук – Д 84.
131. Бодянский Е. В., Чайников С. И., Ачкасов А. Е., Вороновский Г. К.
Адаптивные алгоритмы управления в АСУ ТП и оценка их эффективности на
ранних стадиях проектирования. – Харьков: ХОУС, 1995. – 134 с.
132. Демиденко Е. З. Линейная и нелинейная регрессия. – М: Финансы и
статистика, 1981. – 302 с.
133. Копысицкий Т. И., Сергеенкова Е. В. Применение смещенных оценок
при разработке моделей для АСУ ТП нефтепереработки и нефтехимии. – М.:
ЦНИИТЭнефиихим, 1982. – 58 с.
134. Бодянский Е. В., Плисс И. П. Об одном адаптивном алгоритме
смещенного оценивания. // Тез. докл. Всесоюзн. семинара «Эволюционное
моделирование и обработка данных радиофизического эксперимента». – М.,
1984 – С. 50-51.
135. Бодянский Е. В.,
Плисс И. П.
О
рекуррентных
процедурах
двухпараметрического смещенного оценивания // АСУ и приборы и
автоматики. – Харьков: Выща шк. – 1987. – Вып. 83. – С. 109-110.
136. Ермаков С. М., Панкратьев Ю. Д. Смещенные оценки и метод
регуляризации // Вестник ЛГУ. – 1970. – 2. – № 7. – С. 27-30.
137. Жуковский Е. Л., Липцер Р. Ш. О рекуррентном способе вычисления
нормальных решений линейных алгебраических уравнений // Журнал выч. мат.
и мат. физики. – 1972. – 12. – № 4. – С. 343-357.
138. Руденко О. Г. Об одном рекуррентном регуляризованном алгоритме
оценивания параметров линейного объекта // Доповіді НАН України. – 2000. –
№ 9. – С. 112-114.
353
139. Бодянский Е. В., Плисс И. П. Адаптивное ридж-оценивание. – Харьков,
1984. – 10 с. Рук. деп. в УкрНИИНТИ 02.10.1984, № 1558 Ук – 84 Деп.
140. Рубан А. И., Ялатдинов Р. Р. Исследование адаптивных робастных
алгоритмов идентификации параметров нестационарных объектов. – Томск,
1985. – 20 с. Рук. деп. в ВИНИТИ 11.07.1985., № 5637 – 85 Деп.
141. Schweppe F. C. Uncertain Dynamic Systems. – Englewood Cliffs., N. J.:
Prentice Hall, Inc., 1973. – 533 p.
142. Norton J. P. An Introduction to Identification. – London: Academic Press
Inc., 1986. – 310 p.
143. Черноусько Ф. Л. Оценивание состояния динамических систем. Метод
эллипсоидов. – М.: Наука, 1988. – 320 с.
144. Fogel E., Huang Y. F. On the value of information in system identification –
bounded noise case // Automatica. – 1982. – 18. – P. 229-238.
145. Norton J. P. Identification and application of bounded parameter models //
Automatica. – 1987. – 23. – P. 497-507.
146. Halwass M. “Least-Squares”-Modifikationen in Vegenwart begrenzter
Stoerungen // Messen-Stoerung-Regeln. – 1990. – 33. – №. 8. – S. 351-355.
147. Norton J. P., Mo S. H. Parameter bounding identification algorithms for time
varying systems // Math. and Comp. in Simul. – 1990. – 32. – P. 537-544.
148. Canudas de Wit C., Carrillo J. A modified EW-RLS algorithm for systems
with bounded disturbances // Automatica. – 1990. – 26. – P. 599-606.
149. Arruda L. V. R., Favier Y. A review and comparison of robust estimation
methods // Preprints 9-th IFAC/IFORS Symp “Identification and System Parameter
Estimation”. – Vol.2 – Budapest, 1991. – P. 1027-1032.
150. Maksarov D. Y., Norton J. P. State bounding with ellipsoidal set description
of the uncertainty // Int J. Control. – 1996. – 65. – P. 847-866.
151. Арчакова А. В., Бодянский Е. В., Сухарев С. А. Об одном алгоритме
рекуррентного оценивания с использованием метода эллипсоидов. //
Радиоэлектроника и информатика.–1997. – № 1. – С. 77-79.
152. Haegglund T. Recursive estimation of slowly time–varying parameters //
Proc. IFAC/IFORS Symp. “Identification and System Parameter Estimation” – York,
UK, 1985. – P. 1137-1142.
153. Арчакова А. В., Бодянский Е. В., Сухарев С. А. Об одном алгоритме
технической диагностики на основе множественного идентификационного
подхода // Радиоэлектроника и информатика. – 1998. – № 2 (03). – С. 37-40.
154. Shynk J. J. Performance surfaces of a single-layer perceptron // IEEE Trans.
on Neural Networks. – 1990. – 1. – P. 268-274.
155. Бодянский Е. В., Бобровский Ю. А. Адаптивная идентификация,
прогнозирование и управление на основе квадратичных моделей. – Харьков,
1987. – 33 с. Рук. деп. в УкрНИИНТИ 25.05.1987, № 1515 – Ук 87.
156. Бодянский Е. В., Удовенко С. Г., Ачкасов А. Е., Вороновский Г. К.
Субоптимальное управление стохастическими процессами. – Харьков: Основа,
1997. – 140 с.
354
СПИСОК ЛИТЕРАТУРЫ
157. Kruschke J. K., Movellan J. R. Benefits of gain: speeded learning and
minimal layers backpropagation networks // IEEE Trans. on Syst., Man and Cybern.
– 1991. – 21. – P. 273-280.
158. Darken C., Moody J. Towards faster stochastic gradient research // Advances
Neural Information Processing Systems. – San Mateo, 1991. – 1. – P. 1009-1016.
159. Polyak B. T. New method of stochastic approximation type // Automation
and Remote Control. – 1990. – 51. – P. 937-946.
160. Поляк Б. Т. Введение в оптимизацию. – М: Мир, 1984. – 541 с.
161. Schmidhuber J. Accelerated learning in back-propagation nets //
Connectionism in Perspective. – Amsterdam: Elsevier, 1989. – P. 439-445.
162. Chan L. W., Fallside F. An adaptive learning algorithm for backpropagation
networks // Computer Speech and Language. – 1987. – 2. – P. 205-218.
163. Johansson E. M., Dowla F. V., Goodman D. M. Backpropagation learning
for multiplayer feed-forward networks using the conjugate gradient method // Int. J.
Neural Systems. – 1992. – 2. – P. 291-301.
164. Charalambous C. Conjugate gradient algorithm for efficient training of
artificial neural networks // IEE Proc. – Part G. – 1992. – 139. – P. 301-310.
165. Silva F. M., Almeida L. B. Speeding up backpropagation / Ed. by
R. Eckmiller “Advances of Neural Computers.” – North-Holland: Elsevier Science
Publishers. – B.V., 1990. – P. 151-158.
166. Tollenaere T. Super SAB: fast adaptive backpropagation with good scaling
properties // Neural Networks. – 1990. – 3. – P. 561-573.
167. Veitch A. C., Holmes G. A modified quickprop algorithm // Neural
Computation. – 1991. – 3. – P. 310-311.
168. Jacobs R. A. Increased rates of convergence through learning rate adaptation
// Neural Networks. – 1988. – 1. – P. 295-307.
169. Fahlman S. E., Lebiere C. The cascade-correlation learning architecture / Ed.
by D. S. Touretzky “Advances in Neural Information Processing Systems.” – San
Mateo, CA: Morgan Kaufman, 1990. – P. 524-532.
170. Бард Й. Нелинейное оценивание параметров. – М.: Статистика, 1979. –
349 с.
171. Evans P. J., Betz R. E. New results and applications of adaptive control to
classes of nonlinear systems // Ricerche di Automatica. – 1982. – 13. – P. 277-297.
172. Allen D. M. Parameter estimation for nonlinear models with emphasis on
compartmental models // Biometrics. – 1983. – 39. – P. 629-637.
173. Billings S. A., Voon W. S. F. Least squares parameter-estimation algorithms
for nonlinear systems // Int. J. Syst. Sci. – 1984. – 15. – P. 601-615.
174. Lindstroem P., Wedin P.-A. A new linesearch algorithm for nonlinear
squares problem // Math. Progr. – 1984. – 29. – P. 268-296.
175. Lachmann K. H. Selbsteinstellende nichtlineare Regelalgorithmen fuer eine
bestimmte Klasse nichtlinearer Prozesse // Automatisierungstechnik. – 1985. – 33. –
№ 7. – S. 210-218.
176. Hartley H. The modified Gauss-Newton method for the fitting of nonlinear
regression function of least squares // Technometrics. – 1961. – №3. – P. 269-280.
355
177. Marquardt D. An algorithm for least squares estimation of nonlinear
parameters // SIAM J. Appl. Math. – 1963. – № 11. – P. 431-441.
178. Бодянский Е. В. Адаптивные алгоритмы идентификации нелинейных
объектов управления // АСУ и приборы автоматики. – Харьков: Выща шк.,
1987. – Вып. 81. –С. 43-46.
179. Бодянский Е. В., Воробьев С. А. Рекуррентная нейронная сеть для
обнаружения
изменений
свойств
нелинейных
стохастических
последовательностей// Автоматика и телемеханика. – 2000. – № 7. – С. 55–67.
180. Бодянский Е. В., Попов С. В. Прогнозирующая нейронная сеть и
алгоритмы ее обучения // Радіоелектроніка. Інформатика. Управління. – 2000. –
№ 1. – С. 60-64.
181. Bodyanskiy Ye., Kolodyazhniy V., Stephan A. An adaptive learning
algorithm for a neuro-fuzzy network / Ed. by B. Reusch "Computational Intelligence.
Theory and Applications." – Berlin – Heidelberg – New York: Springer, 2001. –
P. 68-75.
182. Brooks S. H. A discussion of random methods for seeking maxima // Oper.
Research – 1985. – 6. – P. 244-253.
183. Растригин Л. А. Статистические методы поиска. – М.: Наука, 1968. –
376 с.
184. Растригин Л. А., Рипа К. К. Автоматическая теория случайного поиска.
– Рига: Зинатне, 1973. – 343 с.
185. Растригин Л. А. Случайный поиск в процессах адаптации. – Рига:
Зинатне, 1973. – 132 с.
186. Solis F. J., Wets J. B. Minimization by random search techniques // Math. of
Operation Research. – 1981. – 9. – P. 19-30.
187. Box G. E. P. Evolution operation: A method for increasing industrial
productivity // Applied Statistics. – 1957. – 6. – P. 81-101.
188. Spendley W., Hext G. R., Himsworth F. R. Sequential application of simplex
design in optimization and evolutionary operation // Technometrics. – 1962. – 4. –
P. 441-461.
189. Nelder J. A., Mead R. A simplex method for function minimization //
Computer J. – 1965. – 7. – P. 308-313.
190. Горский В. Г.,
Адлер Ю. П.
Планирование
промышленных
экспериментов. – М.: Металлургия, 1974. – 264 с.
191. Holland J. H. Adaptation in Natural and Artificial Systems. An Introductory
Analisis with Application to Biology, Control and Artificial Intelligence. – London:
Bradford Book Edition, 1994. – 211 p.
192. Батищев Д. И. Генетические алгоритмы решения экстремальных задач –
Воронеж: Воронеж. гос. техн. ун-т., 1995. – 69 с.
193. Вороновский Г. К., Махотило К. В., Петрашев С. Н., Сергеев С. А.
Генетические алгоритмы, искусственные нейронные сети и проблемы
виртуальной реальности. – Харьков: Основа, 1997. – 112 с.
194. Курейчик В. М. Генетические алгоритмы. Состояние. Проблемы.
Перспективы // Известия РАН. Теория и системы управления. – 1999. – № 1. –
С. 144-160.
356
СПИСОК ЛИТЕРАТУРЫ
195. Реклейтис Г., Рейвиндран А., Рэгсдел К. Оптимизация в технике: Кн. 1.
– М.: Мир, 1986. – 349 с.
196. Химмельблау Д. М. Прикладное нелинейное программирование. – М.:
Мир, 1975. – 534 с.
197. Бодянский Е. В., Муравьев С. В. Синтез комбинированного алгоритма
поиска глобального экстремума функции многих переменных // АСУ и
приборы автоматики. – Харьков: Выща шк., 1979. – Вып. 50. –С. 66-74.
198. Налимов В. В., Чернова Н. А. Статистические методы планирования
экстремальных экспериментов. – М.: Наука, 1965. – 340 с.
199. Задачи статистической оптимизации. – Рига: Зинатне, 1971. – 232 с.
200. Бодянский Е. В.,
Илюнин О. К.,
Муравьев С. В.
О
задаче
экспериментальной оптимизации технологических объектов в условиях помех
// АСУ и приборы автоматики. – Харьков: Выща шк., 1979. – Вып. 52. –С. 97-99.
201. Бодянский Е. В. Об одном комбинированном алгоритме адаптационной
оптимизации // АСУ и приборы автоматики. – Харьков: Выща шк., 1979. –
Вып. 51. – С. 36-40.
202. Box M. J. A new method of constrained optimization and a comparison with
other methods // Computer J. – 1965. – 8. – P. 42-52.
203. Салыга В. И., Удовенко С. Г., Бодянский Е. В., Шамша Б. В. О
применении метода эволюционного планирования для оптимизации
технологических процессов / В кн. «Повышение эффективности,
совершенствование процессов и аппаратов химических производств» –
Харьков, 1976. – С. 25-27.
204. Бодянский Е. В., Илюнин О. К., Муравьев С. В. О применении
адаптивных методов в планировании эксперимента // АСУ и приборы
автоматики. – Харьков: Выща шк., 1978. – Вып. 45. –С. 62-65.
205. Whitley D. A Genetic Algorithm Tutorial // Technical Report CS – 93 – 103.
– Colorado State Univesity, 1993. – 40 p.
206. Holland J. H. Genetic algorithms and the optimal allocations of trails //
SIAM J. of Computing. – 1973. – 2. – P. 88-105.
207. Дюк В., Самойленко А. Data mining. – СПб: Питер, 2001. – 368 с.
208. Dorado J., Santos A., Rabunal J. R., Pedreira N., Pazos A. Hybrid twopopulation genetic algorithm / Ed. by B. Reusch “Computational Intelligence. Theory
and Application”. – Berlin – Heidelberg – New-York: Springer, 2001. – P. 464-470.
209. Seifipour N., Menhaj M. B. A GA-based algorithm with a very fast rate of
convergence / Ed. by B. Reusch “Computational Intelligence. Theory and
Application”. – Berlin – Heidelberg – New-York: Springer, 2001. – P. 185-193.
210. Koza J. R., Rice J. P. Genetic generation of both the weights and architecture
for neural network // Proc. Int. Joint Conf. Neural Netwurks „IJCNN’91“. – 1991. –
Part II. – P. 397-404.
211. Werbos P. Backpropagation through time. What it does and how to do it //
Proc. IEEE. – 1990. – 78. – P. 1550-1560.
212. Hogg R. V. Adaptive robust procedures: a partial review and some
suggestions for future applications and theory // JASA. – 1969. – № 348. – P. 909927.
357
213. Rey J. W. W. Robust Statistical Methods. – Berlin – Heidelberg – New
York: Springer– Verlag, 1978. – 128 p.
214. Hogg R. V. Statistical robustness: one view of its use in applications today //
The American Statistician. – 1979. – 33. – P. 108-115.
215. Karaiannis N. B., Venetsanopoulos A. N. Fast learning algorithm for neural
networks // IEEE Trans. on Circuits and Systems. – 1992. – 39. – P. 453-474.
216. Ham F. M., Kostanic I. Principles of Neurocomputing for Science &
Engineering. – N.Y.: Mc Graw-Hill, Inc., 2001. – 642 p.
217. Amary S. Mathematical theory of neural learning // New Generation
Computing. – 1991. – 8. – P. 281-294.
218. Oja E. A simplified neuron model as a principal component analyzer// J. of
Math. Biology. – 1982. – 15. – P. 267-273.
219. Oja E. Neural networks, principal components, and subspaces// Int. J. of
Neural Systems. – 1989. – 1. – P. 61-68.
220. Лоули Д., Максвелл А.. Факторный анализ как статистический метод.–
М.: Мир, 1967. – 144 с.
221. Иберла К. Факторный анализ. – М.: Статистика, 1980. – 398 с.
222. Chen T., Hua Y., Yan W.-Y. Global convergence of Oja’s subspace
algorithm for principal component extraction // IEEE Trans. on Neural Networks. –
1988. – 9 – P. 58-67.
223. Бодянский Е. В., Запорожец О. В., Путятина Т. В., Рагулина О. Е.
Нейросетевая модель факторного анализа // Проблемы бионики. – Харьков,
1999. – Вып.51. – С. 84-90.
224. Бодянський Є. В., Михальов О. І., Плісс І. П. Адаптивне виявлення
розладнань в об’єктах керування за допомогою штучних нейронних мереж. –
Дніпропетровськ: Системні технології, 2000. – 140 с.
225. Ивахненко А. Г. Самообучающиеся системы распознавания и
автоматического управления. – Киев: Техніка, 1969 – 392 с.
226. Narendra K. S., Parthasarathy K. Identification and control of dynamical
systems using neural networks // IEEE Trans. on Neural Networks. – 1990. – 1. –
P. 4-26.
227. Billings A., Chen S. Extended model set, global data and threshold model
identification of severly nonlinear systems // Int. J. Control – 1989. – 50. – P. 18971923.
228. Ивахненко А. Г.
Системы
эвристической
самоорганизации
в
технической кибернетике. – Киев: Техніка, 1971. – 372 с.
229. Specht D. F. A general regression neural network // IEEE Trans. on Neural
Networks – 1991. – 2. – P. 568-576.
230. Бодянский Е. В., Колодяжный В. В., Кулишова Н. Е. Прогнозирующая
∑-Π искусственная нейронная сеть // Матеріали Міжнар. конф. з управління
«Автоматика –2001». – Одеса, 2001. – Т.2. – С. 141.
231. Бодянский Е. В., Кулишова Н. Е. ∑-Π искусственная нейронная сеть на
обобщенных формальных нейронах // Сб. науч. труд. 7-ой Международной
конференции «Теория и техника передачи, приема и обработки информации»:
Сб. научных трудов. – Харьков: ХТУРЭ, 2001. – с. 404-405
358
СПИСОК ЛИТЕРАТУРЫ
232. Бодянский Е. В., Кулишова Н. Е. Обобщенный алгоритм обучения
прогнозирующей искусственной ∑-Π нейронной сети // Проблемы бионики. –
2001.– Вып. 54. – С. 10-14.
233. Гришин В. А., Дятлов В. А., Милов А. Г. Модели, алгоритмы и
устройства идентификации сложных систем. – Л.: Энергоатомиздат, 1985. –
104 с.
234. Бодянский Е В., Колодяжный В. В. Об одном алгоритме обучения
нейро-фаззи-предиктора // Адаптивні системи автоматичного управління. –
Дніпропетровськ: Системні технології, 2000. – Вип. 3 (23). – С. 29-36.
235. Specht D. F. Probabilistic neural networks // Neural Networks. – 1990. – 3. –
P. 109-118.
236. Биргер И. А. Техническая диагностика. – М.: Машиностроение, 1978. –
240 с.
237. Каллан Р. Основные концепции нейронных сетей. – М.: Издательский
дом «Вильямс», 2001. – 288 c.
238. Hirsch M. W. Convergent activation dynamics in continuous time networks
// Neural Networks. – 1989. – 2. – P. 331-349.
239. Справочник по теории автоматического управления / Под. ред.
А. А. Красовского. – М.: Наука, 1987. – 712 с.
240. Hopfield J. J. Neural networks and physical systems with emergent
collective computational abilities // Proc. Nat. Academy of Sciences USA. – 1982. –
79. – P. 2554-2558.
241. Hopfield J. J., Tank D. W. Neural computation of decisions in optimization
problems // Biolog. Cybernetics. – 1985. – 52. – P. 141-152.
242. Lippmann R. P. An introduction to computing with neural nets // IEEE
Acoustics, Speech. and Signal Processing Magazine. – 1987. – April. – P. 4-22.
243. Elmen J. L. Finding structure in time // Cognitive Science. – 1990. – 14. –
P. 179-212.
244. Jordan M. I. Constrained supervised learning // Journal of Mathematical
Psychology. – 1992. – 36. – P. 396-452.
245. Waibel A., Hanazama T., Hinton G. E., Shikano K., Lang K. L. Phoneme
recognition using time delay neural networks // IEEE Trans. on Acoustics, Speech.
and Signal Processing. – 1989. – 37. – P. 328-339.
246. Waibel A., Sawai H., Shikano K. Modularity and scaling in large phonemic
neural networks // IEEE Trans. on Acoustics, Speech and Signal Processing. – 1989.
– 37. – P. 1888-1898.
247. Hinton G. E., Sejnowski T. J. Optimal perceptual inference // Proc. IEEE
Comp. Soc. Conf. on Computer Vision and Pattern Recognition. – Washington, DC,
1983. – P. 448-453.
248. Ackley D. H., Hinton G. E., Sejnowski T. J. A learning algorithm for
Boltzmann machines // Cognitive Science. – 1985. – 9. – P. 147-169.
249. Kirkpatrick S., Gelatt C. D. Jr., Vecchi M. P. Optimization by simulated
annealing // Science. – 1983. – 220. – P. 671-680.
359
250. Metropolis N., Rosenbluth A. W., Rosenbluth M. N., Teller A. H., Teller E.
Equation of state calculations by fast computing machines // J. of Chemical Physics.
– 1953. – 21. – P. 1087-1092.
251. Кельманс Г. К., Позняк А. С., Черницер А. В. Локально-оптимальное
управление объектами с неизвестными параметрами // Автоматика и
телемеханика. – 1982. - № 10. – С. 80-93.
252. Neal R. M. Connectionist learning of belief networks // Artificial
Intelligence. – 1992. – 56. – P. 71-113.
253. Мун Ф. Хаотические колебания. – М.: Мир, 1990. – 312 с.
254. Гласс Л., Мэки М. От часов к хаосу. Ритмы жизни. – М.: Мир, 1991. –
248 с.
255. Берже П., Помо И., Видаль К. Порядок в хаосе. – М.: Мир, 1991. – 368 с.
256. Abarbanel H. D. I., Frison T. W., Trimring L. S. Obtaining order in a world
of chaos // IEEE Signal Processing Magazine. – 1998. – № 3. – P. 49-65.
257. Кроновер Р. М. Фракталы и хаос в динамических системах. Основы
теории. – М.: Постмаркет, 2000. – 352 с.
258. Intelligent Hybrid Systems: Fuzzy Logic, Neural Networks, and Genetic
Algorithm / Ed. by Da Ruan. – Boston: Kluwer Academic Publishers, 1997. – 258 p.
259. Osana Yu., Hagiwara W. Separation of superimposed pattern and many-tomany association by chaotic neural networks // Proc. IEEE Int. Joint Conf. on Neural
Networks “IJCNN’98”. – Anckorage, Alaska, 1998. – P. 514-519.
260. Rojas I., Gonzalez J., Canas A., Diaz A. F., Rojas F. J., Rodriguez M. Shortterm prediction of chaotic time series by using RBF network with regression
weights// Int. J. of Neural Systems. – 2000. – 10. – P. 353–364.
261. Федер Е. Фракталы. – М.: Мир, 1991. – 254 с.
262. Mandelbrot B. B. Die fraktale Geometrie der Natur. – Basel: Birkhaeuser
Verlag, 1991. – 491 S.
263. Королькова Е.Е., Плисс И.П., Чапланов А.П., Шило А.В. Об одном
нейросетевом алгоритме вычисления показателя Херста // Вісник
Національного технічного університету «Харківський політехнічний інститут».
Системний аналіз, управління та інформаційні технології. – Харків: НТУ
«ХПІ». – 2001. - №8. – С. 48-50.
264. Бодянский Е. В., Кучеренко Е. И., Чапланов А. П. Диагностика и
прогнозирование временных рядов с помощью многослойной радиальнобазисной нейронной сети // Труды VIII Всероссийской конференции
«Нейрокомпьютеры и их применение».-М.: Век книги, 2002. – С. 209-213 (CD).
265. Anderson J. A. A simple neural network generating an interactive memory //
Mathematical Biosciences. – 1972. – 14. – P. 197-220.
266. Kosko B. Bidirectional associative memories // IEEE Trans. on Syst., Man
and Cybern. – 1988. – 18. – P. 49-60.
267. Anderson J. A. Cognitive and psychological computation with neural models
// IEEE Trans. on Syst., Man and Cybern. – 1983. – 13. – P. 799-815.
268. Grossberg S. Nonlinear neural networks: principles, mechanisms and
architectures // Neural Networks. – 1988. – 1. – P.17-61.
360
СПИСОК ЛИТЕРАТУРЫ
269. Carpenter G. A., Grossberg S. The ART of adaptive pattern recognition by a
self-organizing neural network // Computer. – 1988. – March. – P. 77-88.
270. Carpenter G. A., Grossberg S. ART 2: self-organization of stable category
recognition codes for analog input patterns // Applied Optics. – 1987. – 26. – P. 49194930.
271. Carpenter G. A., Grossberg S. ART 3:hierarchical search using chemical
transmitters in self-organizing pattern recognition architecture // Neural Networks. –
1990. – 3. – P.129-152.
272. Cortes C., Vapnik V. Support vector networks // Machine Learning. – 1995.
– 20. – P. 273-297.
273. Вапник В. Н., Червоненкис А. Я. Теория распознавания образов
(статистические проблемы обучения). – М.: Наука, 1974. – 416 с.
274. Вапник В. Н. Восстановление зависимостей по эмпирическим данным.
– М.: Наука, 1979. – 448 с.
275. Vapnik V. N. The Nature of Statistical Learning Theory. – N.Y.: Springer,
1995. – 188 p.
276. Мудров В. И., Кушко В. Л. Методы обработки измерений. – М.: Сов
радио, 1976. – 192 с.
277. Lo Z.-P., Yu Y., Bavarian B. Analysis of the convergence properties of
topology preserving neural networks // IEEE Trans. on Neural Networks. – 1993. – 4.
– P.207-220.
278. Bodyanskiy Ye., Chaplanov O., Kolodyazhniy V., Otto P. Adaptive
quadratic radial basis function network for time series forecasting // Proc. East West
Fuzzy Coll. - Zittau /Goerlitz: HS, 2002. - P. 164-172.
279. Бодянский Е. В., Руденко О. Г. Основы теории искусственных
нейронных сетей. – Харьков: ТЕЛЕТЕХ, 2002. – 317с.
280. Cottrel M., Fort J. A stochastic model of retinotopy: a self-organizing
process // Biological Cybernetics. – 1986. – 53. – P.405 – 411.
281. Ritter H., Schulten K. On stationary state of the Kohonen self-organizing
sensory mapping // Biological Cybernetics. – 1986. – 54. – P.234 – 249.
282. Ritter H., Schulten K. Convergence properties of Kohonen’s topology
conserving maps: fluctuation, stability, and dimension selection // Biological
Cybernetics. – 1988. – 60. – P.59 – 71.
283. Grossberg S. Classical and instrumental learning by neural networks / In
“Progress in Theoretical Biology”. – N.Y.: Academic Press, 1974. – 3. – P. 51-141.
284. Martinez M., Berkovich S., Schulten K. “Neural-gas” network for vector
quantization and its application to time series prediction // IEEE Trans. on Neural
Networks. – 1993. – 4. – P.558 – 569.
285. Осовский С. Нейронные сети для обработки информации. – М.:
Финансы и статистика, 2002. – 344 с.
286. Kohonen T. Improved version of learning vector quantization // Proc. Int.
Joint. Conf. on Neural Networks – San Diego, CA, 1990. – 1. – P.545 – 550.
287. Linde Y., Buzo A., Gray R. M. An algorithm for vector quantizer design //
IEEE Trans. on Communications. – 1980. – 28. – P. 84-95.
361
288. Gray R. M. Vector quantization // IEEE Acoustics, Speech and Signal
Processing Magazine. – 1984. – 1. – P. 4 - 29.
289. Nasrabadi N. M., King R. A. Image coding using vector quantization: a
review // IEEE Trans. on Communications. – 1988. – 36. – P. 957-971.
290. Luttrell S. P. Hierarchical vector quantization // IEE Proc. – 1989. – 136. –
Part I. – P. 405 – 413.
291. Itakura F., Maximum prediction residual principle applied to speech
recognition // IEEE Trans. on Acoustics, Speech and Signal Processing. – 1975. – 23.
– P. 67 - 72.
292. Gersho A. On the structure of vector quantizers // IEEE Trans. on
Information Theory. – 1982. – 28. – P.157-166.
293. Baras J. S., La Vigna A. Convergence of Kohonen’s learning vector
quantization // Proc. Int. Joint. Conf. on Neural Networks – San Diego, CA, 1990. –
3. – P. 17 – 20.
294. Heht-Nielsen R. Counterpropagation networks // Proc. Int. Conf. on Neural
Networks. – N.Y.: IEEE, 1987. – 2. – P. 19 – 32.
295. Heht-Nielsen R. Counterpropagation networks // Applied Optics. – 1987. 26. – P. 4979 – 4984.
296. Heht-Nielsen R. Application counterpropagation networks // Neural
Networks. – 1988. – 1. – P. 131-139.
297. Hansen L. K., Salamon P. Neural networks ensembles // IEEE Trans. on
Pattern Analysis and Machine Intelligence. – 1990. – 12. – P. 993 – 1000.
298. Sharkey A. J. C. On combining artificial neural nets // Connect. Sci. – 1996.
– 8. – P. 299 – 313.
299. Hashem S. Effects on collinearity on combining neural networks // Connect.
Sci. – 1996. – 8. – P. 315 – 336.
300. Opitz D. W., Shavlik J. W. Actively searching for an effective neural
network ensemble // Connect. Sci. – 1996. – 8. – P. 337 – 353.
301. Hashem S. Optimal linear combination of neural networks // Neural
Networks. – 1997. – 10. – P. 599-614.
302. Naftaly U., Intrator N., Horn D. Optimal ensemble averaging of neural
networks // Network: Comput. Neural Syst. – 1997. – 8. – P. 283-296.
303. Бодянский Е. В., Плисс И. П., Соловьева Т. В. Адаптивное обобщенное
прогнозирование многомерных случайных последовательностей // Доклады АН
УССР. – 1989. – А. - №9. – С. 73-75.
304. Bodyanskiy Ye., Pliss I. Adaptive generalized forecasting of multivariate
stochastic signals // Proc. Latvian Sign. Process. Int. Conf. - 1990. - V.2. - P. 80-83.
305. Бодянский Е. В., Руднева И. А. Об одном адаптивном алгоритме
обнаружения разладок в случайных последовательностях//Автоматика и
телемеханика. - 1995. - № 10. – С. 101-106.
306. Бодянский Е. В., Воробьев С. А., Штефан А. Алгоритм адаптивной
идентификации динамических параметрически нестационарных объектов //
Изв. РАН. Теория и системы управления. - 1999. - №1. - С.19-23.
362
СПИСОК ЛИТЕРАТУРЫ
307. Бодянский Е. В., Котляревский С. В., Сухарев С. А. Адаптивное
обнаружение разладок в многомерных случайных последовательностях //
Проблемы управления и информатики.- 1998. - №6 .- С.87-95.
308. Бодянский Е. В. Автоматическое обнаружение разладок с помощью
искусственной нейронной метасети // Проблемы бионики. – 1998. - Вып.49 –С.
34-38.
309. Бодянский Е. В.,
Попов С. В.
Об
адаптивном
объединении
искусственных нейронных сетей для обработки многомерных сигналов //
Радіоелектроніка. Інформатика. Управління. – 2002. – №.2. - С. 57-62.
310. Сrooks T. Care and feeding of neural networks // AI Expert. – 1992. – 7. - №
7 – P. 36-41.
311. Бодянский Е. В., Кулишова Н. Е. Кодирование сигналов в задаче
нейроэмуляции // Радіоелектроніка. Інформатика. Управління. – 2001. - №2. –
С. 136-139.
312. Sanger T. Optimal unsupervised learning in a single-layer linear feedforward
neural network // Neural Networks. - 1989. - 2. - P. 459-473.
313. Wong F. S. Time series forecasting using backpropagation neural networks //
Neurocomputing. – 1990/91. – 2. – P. 147-159.
314. Groot de C., Wuertz D. Analysis of univariate time series with connectionist
nets: a case study of two classical examples // Neurocomputing. – 1991. – 3. – P.
177-192.
315. Connor J. T., Martin R. D., Atlas L. E. Recurrent neural networks and robust
time series prediction // IEEE Trans. on Neural Networks. – 1994. – 5. – P. 240 –
254.
316. Saxen H. Nonlinear time series analysis by neural networks. A case study //
Int. J. Neural Systems. – 1996. – 7. – P. 195-201.
317. Madhavan P. G. A new recurrent neural network learning algorithm for time
series prediction // J. of Intelligent Systems. – 1997. – 7. – P. 103 – 116.
318. Conway A. J., Macpherson K. P., Brown J. C. Delayed time series
predictions with neural networks // Neurocomputing. – 1998. – 18. – P. 81 – 89.
319. Бодянський Є. В.,
Кулішова Н. Є.,
Руденко О. Г.
Рекурентна
прогнозуюча штучна нейронна мережа: архітектура та алгоритми навчання //
Адаптивні системи автоматичного управління. – Дніпропетровськ: Системні
технології, 1999. – Вип. 2 (22). – С. 129-137.
320. Бодянский Е. В., Попов С. В., Штефан А. Нейросетевой упредитель
многомерных стохастических последовательностей // Праці Міжнар. конф. з
автоматичного
управління
«Автоматика-2000»:Т.2
–
Львів:
ДНДІ
інформаційної інфраструктури, 2000. – С. 40-42.
321. Bodyanskiy Ye., Kolodyazniy V., Kulishova N. Generalized forecasting
Sigma-Pi neural network // In “Intelligent Technologies – Theory and
Applications”.–Amsterdam: IOS Press, 2002. – P.29-33.
322. Packard N., Crutchfield J., Farmer J., Shaw R. Geometry from a time series
// Phys. Rev. Lett. – 1980. – 45. – P. 712-716.
323. Wan E. Temporal backpropagation for FIR neural networks // Int. Joint
Conf. on Neural Networks. – V.1. – San Diego, 1990. – P. 575 – 580.
363
324. Wan E. A. Time series prediction by using a connectionist network with
integral delay lines / Eds. by A. Weigend, N. Gershenfeld “Time Series Prediction.
Forecasting the Future and Understanding the Past”. – SFI Studies in the Sciences of
Complexity. – V. XVII. – Reading: Addison-Wesley, 1994. – P. 195 – 218.
325. Back A. D., Wan E. A., Lawrence S., Tsoi A. C. A unifying view of some
training algorithms for multilayer perceptrons with FIR filter synapses / Eds. by
J. Vlontzos, J. Hwang, E. Wilson “Neural Networks for Signal Processing 4”. – N.Y.:
IEEE Press, 1994. – P. 146 – 154.
326. Yu H.-Y., Bang S.-Y. An improved time series prediction by applying the
layer-by-layer learning method to FIR neural networks // Neural Networks. – 1997. –
10. – P. 1717 – 1729.
327. Sandberg I. W., Xu L. Uniform approximation of multidimensional myopic
maps // IEEE Trans. on Circuits and Systems. – 1997. – 44. – P. 477 – 485.
328. Ивахненко А. Г., Мюллер Й. А. Самоорганизация прогнозирующих
моделей. –Киев: Техніка, 1985. – 223с.
329. Юрачковский Ю. П. Моделирование многомерных полигармонических
процессов // Автоматика. – 1985. - №5. – С. 38 – 41.
330. Юрачковский Ю. П., Попков Н. В. Оценивание параметров в
алгоритмах МГУА моделирования полигармонических процессов и полей //
Автоматика. –1986. - №6. - С.9-16.
331. Shelekhova V. Yu. Harmonic algorithm GMDH for large data volume //
SAMS. - 1995. - 20. - P. 117-126.
332. Бодянський Є. В., Ламонова Н. С. Оцінювання параметрів і структури
полігармонічних процесів за допомогою штучних нейронних мереж //
Адаптивні системи автоматичного управління. - Дніпропетровськ: Системні
технології, 1998. - Вип.1 (21). - С. 86-93.
333. Бодянский Е. В., Воробьев С. А., Плисс И. П. Искусственная нейронная
сеть и алгоритмы её настройки для анализа нестационарных
полигармонических стохастических последовательностей // Компьютерное
моделирование. - Белгород: Изд-во БелГТАСМ, 1998. - С. 3-8.
334. Бодянский Е. В., Воробьев С. А. Искусственная нейронная сеть для
цифрового
анализа
спектрального
состава
нестационарных
последовательностей // Сб. трудов 6-го Санкт-Петербургского симп. по теории
адаптивных систем SPAS’99. - 1999. – Т.2. – С. 33-37.
335. Bodyanskiy Ye., Popov S., Stephan A. Harmonic components detection in
stochastic sequences using artificial neural networks // Ed. by N.E. Mastorakis
“Computational Intelligence and Applications”. - Piraeus: WSES Press, 1999. –
P.162. – 166.
336. Bodyanskiy Ye., Popov S., Stephan A. Adaptive prediction of stochastic
polyharmonic processes using neural network technologies // 45 Int.
Wissenschaftliches Kolloquium. Tagungsband. - TU Ilmenau.(Thuer.) – 2000. – S.
123-128.
337. Bodyanskiy Ye., Popov S. Quasipereodic approach to forecasting of chaotic
financial time series // Eds. by H. Pranevicius, E. Zavadskas, B. Rapp “Modeling and
Simulation of Business Systems”. – Kaunas: Technologija, 2003. – P.227-231.
364
СПИСОК ЛИТЕРАТУРЫ
338. Bodyanskiy Ye.,Chaplanov O.,
Popov S.
Adaptive
prediction
of
quasiharmonic sequences using feedforward network // Proc. Int. Conf. Artificial
Neural Networks and Neural Information Processing ICANN / ICONIP 2003. –
Istanbul, 2003. – P. 378-381.
339. Mehra R. K., Peschon J. An innovations approach to fault detection and
diagnosis in dynamic systems // Automatica .- 1971. - 7. - P. 637-640.
340. Chow E. Y., Willsky A. S. Issues in the development of a general design
algorithm for reliable failure detection // Proc. 19-th IEEE Conf. Decis. and Contr. Albuquerque, 1980. - P.1006-1012.
341. Никифоров И. В. Последовательное обнаружение изменения свойств
временных рядов.- М.: Наука, 1983. - 199 с.
342. Isermann R. Process fault detection based modelling and estimating
methods- a survey // Automatica. - 1984. - 20. - №4. - P. 387-404.
343. Benveniste A., Basseville M., Moustakides J. V. The asymptotic local
approach to change detection and model validation // IEEE Trans. on Autom.
Control. - 1987. - 32. - P. 583-592.
344. Обнаружение изменения свойств сигналов и динамических систем //
М. Бассвиль, А. Вилски, А. Банвенист и др. - М.: Мир, 1989. – 278 с.
345. Nikiforov I. V. Sequential detection of changes in stochastic processes //
Prepr. 9-th IFAC/IFORS Symp. “Identification and System Parameter Estimation.”
V.1- Budapest, 1991. - P.11-19.
346. Romberg T. M., Black J. L., Ledwidge T. J. Signal Processing for Industrial
Diagnostics. - Chichester: John Wiley & Sons, 1996. - 317 p.
347. Bassevile M., Nikiforov I. Detection of Abrupt Changes: Theory and
Application. - Englewood Cliffs, N.J.: PTR Prentice - Hall, 1993. - 528 p.
348. Kerestencioglu F. Change Detection and Input Design in Dynamical
Systems. - Taunton, UK: Research Studies Press. – 152 p.
349. Pouliezos A. D., Stavrakakis G. S. Real Time Fault Monitoring of Industrial
Processes.- Dordrecht: Kluver Academic Publishers, 1994. - 542 p.
350. Pau L. F. Failure Diagnosis and Performance Monitoring. - N.Y.: Marcel
Dekker, Inc., 1981. – 427 p.
351. Badavas P. C. Real-time Statistical Process Control. - Englewood Cliffs,
N.J.: Prentice Hall, 1993. – 232 p.
352. Venkatasubramanian V., Chan K. A neural network methodology for process
fault diagnosis// AIChe Journal. – 1989. - 35. - P. 1993-2002.
353. Naudi R. S., Zafriou E., McAvoy T. J. Use of neural network for sensor
failure detection in a control system// IEEE Control Sуstem Magazine. - 1990. - 10. –
P.49-55.
354. Yamashina H., Kumamoto H., Okumura S., Ikesaki T. Failure diagnosis of a
servovalve by neural networks with new learning algorithm and structure analysis//
Int. J. Production Research. – 1990. - 28. – P.1009-1021.
355. Sorsa T., Koivo H. N., Koivisto H. Neural networks in process fault
diagnosis // IEEE Trans. on Syst., Man and Cybern. – 1991. – 21. – P. 815-825.
356. Ray A. K. Equipment fault diagnosis. A neural network approach //
Computers in Industry. – 1991. – 16. – P. 169-177.
365
357. Sorsa T., Koivo H. N. Application of artificial neural network in process
fault diagnosis // Automatica – 1993. - 29. – P. 815-825.
358. Venkatasubramanian V., Vaidyanathan R. Diagnosing noisy process data
using neural networks // Preprints IFAC/IMACS Symp. “SAFEPROCESS’91” –
Baden-Baden, 1991. - P. 375 - 380.
359. Sorsa T., Sountausta Y., Koivo H. N. Dynamic fault diagnosis using radial
basis function networks // Proc. Int. Conf on Fault Diagnosis “TOOLDIAG’93” Toulouse, 1993. – P.160-169.
360. Sountausta Y., Sorsa T., Koivo H. N. Radial basis network for dynamic fault
detection // Proc. Int. Conf. “ICANN’91” – Brighton, 1992. – P.1495 – 1498.
361. Бодянский Е. В.,
Воробьёв С. А.,
Ламонова Н.С.,
Штефан А.
Обнаружение изменений свойств стохастических последовательностей на
основе искусственных нейронных сетей // АСУ приборы и автоматики. – 1997. Вып. 106. – С.75-79.
362. Бодянский Е. В. Обнаружение разладок в нелинейных стохастических
последовательностях с помощью рекуррентных искусственных нейронных
сетей // Проблемы бионики. – 1998. – Вып.49. – С.23-33.
363. Bodyanskiy Ye., Popov S., Stephan A. Fault diagnosis of machines based on
artificial neural networks// 44.Int. Wissenschaftliches Kolloquium. Vortragsreichen.
Band 1. – TU Ilmenau, Deutschland, 1999. - S. 495-500.
364. Bodyanskiy Ye.,Vorobyov S., Stephan A. Detection of NARMA-sequence
order using recurrent artificial neural networks // Proc. of European Control Conf.
ECC’99. – Karlsruhe, 1999. – CD.
365. Nelles O. Nonlinear Systems Identification. – Berlin: Springer, 2001. – 785
p.
366. Бодянский Е.В., Воробьёв С.А. Алгоритмы обучения искусственных
нейронных сетей в задаче идентификации нелинейного стохастического
нестационарного объекта // Праці 5-ї Укр. конф. з автоматичного управління
“Автоматика - 98”. –-Ч.ІІІ. – Київ: НТУУ «КПІ», 1998. – С.350 - 354.
367. Бодянский Е.В., Колодяжный В.В., Кулишова Н.Е. Нейрорегулятор на
основе комбинированной сети // MKIM-2002. Міжнар. конф. з індуктивного
моделювання. Праці в 4-х томах. – Т.2 – Львів: ДНДІ інформаційної
інфраструктури, 2002. – С. 42 – 46.
368. Bodyanskiy Ye., Gorshkov Ye., Kolodyazhniy V. Combined neural network
for nonlinear system modeling // Proc. 2003 – Int. Conf. on Computational
Intelligence for Modeling, Control and Automation – CIMCA’2003. – Vienna, 2003.
– P. 692-703.
369. Back A. D., Tsoi A. C. FIR and IIR synapces, a new neural network
architecture for time series modelling // Neural Computation. – 1991. – 3. – P. 375 –
385.
370. Back A. D., Tsoi A. C. Nonlinear system identification using multilayer
perceptrons with locally recurrent synaptic structure / Eds. by S. Y. Kung, F. Fallside,
J. Aa. Sorenson, C. A. Kamm “Neural Networks for Signal Processing 2”. – N.Y.:
IEEE Press, 1992. – P. 444-453.
366
СПИСОК ЛИТЕРАТУРЫ
371. Back A. D., Tsoi A. C. A simplified gradient algorithm for IIR synapse
multilayer perceptron // Neural Computation. – 1993. – 5. – P. 456-462.
372. Tsoi A. C., Back A. D. Locally recurrent globally feedforward networks: a
critical review of architectures // IEEE Trans. on Neural Networks. – 1994. – 5. – P.
229 – 239.
373. Johason C. J. Adaptive IIR filtering: current results and open issues // IEEE
Trans. on Inform. Theory. – 1984. – 30. – P. 229-250.
374. Campolucci P., Uncini A., Piazza F., Rao B. D. On-line learning algorithms
for locally recurrent neural networks // IEEE Trans. on Neural Networks. – 1999. –
10. – P. 253 – 269.
375. Бодянский Е. В., Запорожец О. В., Островская Ж. Н. Адаптивный
нейрорегулятор
пониженного
порядка
//
Вестник
Харьковского
государственного политехнического университета. – Харьков: ХГПУ. - 1999. Вып.70. – С.112-117.
376. Бодянский Е. В.,
Кулишова Н. Е.,
Плисс И. П.,
Штефан А.
Стабилизация вращения прецизионного привода с помощью нейрорегулятора //
Вестник
Харьковского
государственного
автомобильно-дорожного
технического университета. - 2000. - Вып.12-13. - С. 218-221.
377. Бодянский Е. В., Запорожец О. В. Адаптивный нейрорегулятор для
нелинейного динамического объекта // Изв. РАН. Теория и системы
управления. - 2002. - №2. - С. 92 – 96.
378. Бодянский Е. В.,
Вороновский Г. К.,
Любчик Л. М.
Синтез
нейросетевых регуляторов с адаптивной прогнозирующей моделью для систем
управляемого теплоснабжения // Вісник Національного технічного
університету «Харківський політехнічний інститут». Системний аналіз,
управління та інформаційні технології. – Харків: НТУ “ХПІ”. – 2002. – № 13. –
С. 9-15.
379. Psaltis D., Sideris A., Yamamura A. A. A multilayered neural network
controller // IEEE Control Systems Magazine. – 1988. – 1. – P. 17 - 21.
380. Hunt K. J., Sbarbaro D., Zbikowski R., Gawthrop P. T. Neural networks for
control systems – A survey // Automatica. – 1992. – 28. – P. 1083-1112.
381. Colina-Morles E., Mort N. Neural network – based adaptive control design //
J. Syst. Eng. – 1993. – 2. – P. 9-14.
382. Isermann R. Digitale Regelsysteme. Band 1: Grundlagen Deterministische
Regelungen. - Berlin: Springer – Verlag, 1988. - 340 S.
383. Haegglund T. Adaptive control of systems subject to large parameter
changes // Proc. IFAC. 9-th Ttriennial World Congress - Budapest, 1984. - P.993998.
384. Noriega J. R., Wang H. A direct adaptive neural-network control for
unknown nonlinear systems and its application // IEEE Trans. on Neural Networks. –
1998. – 9. – P. 27-34.
385. Neural Systems for Control / Eds. by O. Omidvar, D. L. Ellion. – San Diego:
Academic Press, 1997. – 358 p.
367
СОДЕРЖАНИЕ
СОДЕРЖАНИЕ
Введение
1 Искусственные нейроны
1.1 Биологические основы
1.2 Нейрон Маккалоха-Питтса
1.3 Квадратичный нейрон
1.4 Обобщенный формальный нейрон
1.5 Нейрон Фукушимы
1.6 Стохастическая модель нейрона
1.7 Динамические нейроны
3
11
11
13
17
17
22
24
24
2 Персептроны
2.1 Адалина
2.2 Персептрон Розенблатта
2.3 Многослойный персептрон
29
29
30
31
3 Радиально-базисные нейронные сети
35
4 Обучение нейронных сетей
4.1 Основные парадигмы и правила обучения
4.2 Задачи обучения
4.2.1 Распознавание образов
4.2.2 Ассоциация и кластеризация
4.2.3 Аппроксимация функций
4.2.4 Управление и оптимизация
4.2.5 Фильтрация, сглаживание, прогнозирование
4.3 Линейные алгоритмы обучения
4.4 Нелинейные алгоритмы обучения
4.5 Эволюционные алгоритмы обучения
4.5.1 Алгоритмы случайного поиска
4.5.2 Алгоритмы эволюционного планирования
4.5.3 Генетические алгоритмы
4.6 Алгоритм обучения на основе обратного распространения
ошибок
4.7 Алгоритмы самообучения
4.7.1 Правило обучения Д. Хэбба
4.7.2 Входная звезда С. Гроссберга
41
41
44
44
45
46
48
49
51
72
95
96
117
127
131
142
143
145
369
4.7.3 Выходная звезда
4.7.4 Потенциальное правило обучения С. Амари
4.7.5 Правило обучения Э. Оя
4.7.6 Нейроны для предварительной обработки информации
4.7.7 Самоорганизация
центров
радиально-базисных
нейронных сетей
4.7.8 Конкурентное обучение
148
149
151
153
156
157
5 Функционально связанные сети
160
6 Σ − Π нейронные сети
166
7 Каскадно-корреляционные нейронные сети
174
8 Вероятностные нейронные сети
176
9 Нейродинамика и рекуррентные сети
9.1 Сеть Хопфилда
9.2 Сеть Хэмминга
9.3 Сеть Элмена
9.4 Сеть Джордана
9.5 Нейронные сети с временными задержками
9.6 Скрытая марковская модель
9.7 Машина Больцмана и обучение отжигом
9.8 Хаос-нейродинамика
180
181
185
187
189
190
195
197
206
10 Нейронные сети ассоциативной памяти
10.1 Корреляционная матрица-память
10.2 Автомат собственных векторов
10.3 Ассоциативная память Хопфилда
10.4 Двунаправленная ассоциативная память
10.5 B S B-модель
11 Адаптивные резонансные нейронные сети
223
224
233
235
238
241
243
12 Нейронные сети опорных векторов
250
13 Самоорганизующиеся карты
261
370
14 Нейронные сети векторного квантования
СОДЕРЖАНИЕ
270
15 Нейронные сети встречного распространения
275
16 Ансамбли нейронных сетей
282
17 Кодирование сигналов в искусственных нейронных сетях
292
18 Нейросетевая компрессия данных
298
19 Прогнозирование временных рядов с помощью нейронных
сетей
304
20 Анализ квазипериодических последовательностей
312
21 Обнаружение
изменений
свойств
стохастических
последовательностей с помощью нейросетевого подхода
317
22 Нейросетевая идентификация динамических систем
326
23 Управление на основе нейронных сетей
337
Заключение
346
Список литературы
347
371
Download