ПОИСК
ЭЛЕКТРОННОЕ НАУЧНО-ТЕХНИЧЕСКОЕ ИЗДАНИЕ НАУКА и ОБРАЗОВАНИЕ
Эл Н ФС 77 - 30569. Государственная регистрация N0420800025. ISSN 1994-0408
Ассоциативная нейронная сеть СМАС Часть II Процессы обучения, ускоренное обучение, влияние помех, устранение влияния помех в двухслойной сети

# 8, август 2004

Э

Э.Д. Аведьян, д-р техн. наук

Институт проблем управления РАН

 

Ассоциативная нейронная сеть СМАС

 

Часть II

 

Процессы обучения, ускоренное обучение, влияние помех, устранение влияния помех в двухслойной сети

 

В части I настоящей работы [1] была описана ассоциативная нейронная сеть СМАС, название которой происходит от первых букв ее полного английского названия: Cerebellar Model Articulation, (мозжечковая модель суставного регулятора). Были представлены алгоритм обучения этой сети и ее система базисных функций.

Приведены результаты обучения сети по запоминанию ряда функций двух аргументов. Описаны алгоритмы обучения сети, которые имеют более высокую скорость сходимости по сравнению с представленным в первой части статьи стандартным алгоритмом обучения Альбуса—Качмажа. Исследовано влияние аддитивых помех на процесс обучения сети и описана двухслойная нейронная сеть СМАС, в которой устранено влияние помех и которая воспроизводит функции точнее по сравнению с обычной сетью СМАС, даже при отсутствии помех измерений.

 

1.     ПРОЦЕССЫ ОБУЧЕНИЯ НЕЙРОННОЙ СЕТИ СМАС

В настоящем разделе описываются результаты процессов обучения нейронной сети, которые позволяют ответить на вопрос, какие функции сеть воспроизводит хорошо и какие плохо и как влияет параметр p* на качество и скорость обучения, они дополняют результаты исследования точности воспроизведения функций нейронной сетью, которые приведены в работе [2].

Точность аппроксимации далее определяется либо значением мгновенного относительного среднего стандартного отклонения, задаваемого выражением

                  (1)

где y(x1, x2) — запоминаемая функция; ŷ(i)(x1, x2; n) — воспроизведенная нейронной сетью функция после n-го шага обучения; i — номер реализации обучающей последовательности, либо значением осредненного по реализациям относительного среднего стандартного отклонения, задаваемого выражением

                                                         (2)

где K — число реализаций. Компоненты входного вектора x статистически независимы, равномерно распределены на отрезках  и представляют собой последовательности типа дискретного белого шума. Результаты исследований сведены в таблицы и иллюстрируются рисунками, построенными средствами системы MatLAB. Таблицы представляют информацию о зависимости точности аппроксимации функции от числа шагов обучения и числа активных ячеек памяти p*. Исследуемые функции непрерывных аргументов определены на квадрате , и после квантования входного пространства они оказываются заданными на сетке 33х33, которая содержит 1089 узлов, т.е. функции заданы в 1089 точках.

 

1.1. ЛИНЕЙНАЯ ФУНКЦИЯ

Запоминаемая линейная функция

y(x1, x2)=ax1+bx2+c, где a=5, b=10, c=9                     (3)

определяет плоскость в трехмерном пространстве. Результаты процесса обучения представлены в табл. 1, где приведены значения мгновенного критерия аппроксимации Ei[n](1) в зависимости от числа шагов обучения n, числа активных ячеек памяти p* и соответствующего объема памяти M (размерности вектора w). Поскольку до начала процесса обучения память нейронной сети СМАС принята нулевой, то и аппроксимирующая функция до начала обучения равна нулю: ŷ(i)(x1, x2; 0)=0 и, следовательно, значение критериев аппроксимации (1), (2) до начала процесса обучения равно единице:

E[0]=E1[0]=1.

Таблица 1.

p*

M

n=0

n=125

n=250

n=500

n=1000

n=2000

n=4000

p*=2

578

1,0000

0,5603

0,3619

0,1708

0,0455

0,0112

0,0011

p*=4

324

1,0000

0,1439

0,0508

0,0197

0,0069

0,0011

0,0002

p*=8

200

1,0000

0,0207

0,0393

0,0023

0,0014

0,0005

0,0001

p*=16

144

1,0000

0,0100

0,0044

0,0013

0,0008

0,0001

0,0000

p*=32

128

1,0000

0,0010

0,0010

0,0002

0,0001

0,0000

0,0000

 

Из анализа табл. 1 можно сделать следующие выводы:

• линейная функция с большой точностью может быть аппроксимирована нейронной сетью СМАС при любом значении параметра p*;

• увеличение числа активных ячеек p* и, следовательно, уменьшение объема необходимой памяти M приводит к увеличению скорости сходимости процесса обучения;

• при наибольшем значении параметра p* = 32 процесс обучения может быть завершен при предъявлении измерений, число которых в несколько раз меньше числа возможных значений линейной функции.

 

1.2. СТУПЕНЧАТАЯ ФУНКЦИЯ I

Запоминаемая нелинейная ступенчатая функция

                                  (4)

так же, как и линейная функция, с большой точностью может быть восстановлена нейронной сетью. Однако это свойство функции (4) скорее является исключением, чем правилом, поскольку, как показывают последующие примеры, нелинейные функции практически никогда не могут быть точно восстановлены нейронной сетью. Точная аппроксимация функции (4) обусловлена ориентацией линии скачка, совпадающей с осью координат, вдоль которых направлены оси симметрии базисных функций. Результаты процесса обучения представлены в табл. 2, структура которой аналогична структуре табл. 1.

Таблица 2.

p*

M

n=0

n=125

n=250

n=500

n=2000

n=8000

n=32000

p*=2

578

1,0000

0,5524

0,3439

0,1512

0,0142

0,0014

0,0006

p*=4

324

1,0000

0,2118

0,0694

0,0283

0,0064

0,0024

0,0003

p*=8

200

1,0000

0,0746

0,0264

0,0213

0,0054

0,0011

0,0000

p*=16

144

1,0000

0,0365

0,0169

0,0119

0,0033

0,0003

0,0000

p*=32

128

1,0000

0,0260

0,0150

0,0123

0,0039

0,0002

0,0000

 

Из анализа табл. 2 следует, что функция (4) может быть точно восстановлена нейронной сетью, однако для этого требуется большее число шагов обучения, чем для линейной функции (З).

 

1.3. СТУПЕНЧАТАЯ ФУНКЦИЯ II

У запоминаемой нелинейной ступенчатой функции

                           (5)

плоскость скачка составляет 45° с осями координат. данные Ei[n](1), характеризующие процесс обучения, приведены в табл. З.

Таблица 3.

p*

M

n=0

n=125

n=250

n=500

n=1000

n=4000

n=16000

p*=2

578

1,0000

0,5938

0,3588

0,1638

0,0618

0,0124

0,0115

p*=4

324

1,0000

0,1856

0,0459

0,0426

0,0324

0,0236

0,0264

p*=8

200

1,0000

0,0665

0,0498

0,0486

0,0407

0,0409

0,0557

p*=16

144

1,0000

0,1067

0,0942

0,1452

0,0683

0,0829

0,0833

p*=32

128

1,0000

0,1626

0,1098

0,1401

0,1687

0,1012

0,1634

 

Из анализа табл. З следует, что наличие произвольного скачка в функции приводит к невозможности точного восстановления этой функции даже при наименьшем значении параметра p* = 2 (как уже отмечалось, при p* = 1 любая функция, заданная на конечной сетке, может быть восстановлена абсолютно точно, поскольку этот случай соответствует табличному способу запоминания функции). Процесс обучения при больших значениях параметра p* = 16 или p* = 32 заканчивается быстро, приблизительно на 250-м шаге при довольно высоком значении ошибки аппроксимации δapp=Ei1/2 составляющей около 35% абсолютного значения функции. Процесс обучения при значении параметра p* = 2 заканчивается приблизительно на 2000-м шаге, при этом значение ошибки аппроксимации δapp=Ei1/2  составляет около 10% абсолютного значения функции. Увеличение числа шагов обучения не улучшает значение критерия аппроксимации (1).

На рис. 1a показана функция (5), а на рис. 1b— ее аппроксимация на 16000-м шаге (параметр p* = 2) при значении Ei[n]=0,0130 (1). Практически это предельная точность, которая может быть достигнута нейронной сетью СМАС в этой задаче. Как следует из рис. 1b, наибольшая ошибка аппроксимации сосредоточена вдоль линии скачка; эта ошибка подобна эффекту Гибса при разложении разрывных функций в ряд Фурье.

Рис. 1a. Запоминаемая функция (5)                               Рис. 1b. Воспроизведенная функция (5)
(
p*=2, n=16000, Ei[n]=0,0130)

Увеличение параметра p* ухудшает предельную точность аппроксимации, разрыв оказывается более сглаженным, а ошибка более пространственно коррелированной, чем при небольших значениях параметра p*. Это утверждение хорошо иллюстрируется рис. 1с и 1d, где показана восстановленная сетью функция (5) на 4000-м шаге обучения при значениях параметра p = 4 и p* = 8, значения критерия Ei[n] равны 0,0227 и 0,0425 соответственно.

Рис. 1c. Воспроизведенная функция (5)                                    Рис. 1d. Воспроизведенная функция(5)
(
p*=4, n=4000, Ei[n]=0,0227)                                              (p*=8, p*=2, Ei[n]=0,0425)

 

1.4. СТУПЕНЧАТАЯ ФУНКЦИЯ III

Нелинейная ступенчатая функция

        (6)

типа “брусок на плоскости” принадлежит к функциям, которые также не могут быть точно восстановлены нейронной семью СМАС несмотря на то, что плоскости скачков ориентированы вдоль осей координат. Результаты обучения нейронной сети по запоминанию этой функции приведены в табл. 4, где, как и ранее, приведены значения мгновенного критерия точности аппроксимации в зависимости от числа шагов обучения и значения параметра p*.

Таблица 4.

p*

M

n=0

n=125

n=250

n=500

n=1000

n=2000

n=4000

p*=2

578

1,0000

0,5911

0,3726

0,1415

0,0575

0,0332

0,0153

p*=4

324

1,0000

0,1803

0,1003

0,0726

0,0537

0,0312

0,0355

p*=8

200

1,0000

0,1797

0,1382

0,0594

0,0543

0,0516

0,0484

p*=16

144

1,0000

0,2683

0,2140

0,1874

0,1377

0,2059

0,2211

p*=32

128

1,0000

0,2312

0,2139

0,2694

0,3250

0,2275

0,2842

 

Запоминаемая и воспроизведенная функции показаны соответственно на рис. 2а и 2b при p* = 2, n = 4000, Ei[n]=0,0157. Качественно влияние параметра p* на точность восстановления и на время сходимости в рассматриваемом случае аналогично процессам, описанным выше при восстановлении ступенчатой функции II(5). Время сходимости при p* = 2 приблизительно равно 4000 шагам, при p* = 4— 2000 шагам, при p* =8—1000 шагам, при p* = 16—250шагам,прир = = 32— 250 шагам.

 

Рис. 2a. Запоминаемая функция (6)                               Рис. 2b. Воспроизведенная функция (6)
(
p*=2, n=4000, Ei[n]=0,0157)

 

1.5. ГЛАДКАЯ НЕЛИНЕЙНАЯ ФУНКЦИЯ

Запоминаемая нелинейная функция

     (7)

заданная, как и все предыдущие тестовые функции, на сетке 33x33, также не может быть точно восстановлена

с помощью нейронной сети СМАС, однако точность ее восстановления растет по мере уменьшения параметра

p*, достигая практически абсолютной точности на 16000-м шаге обучения при p* = 2.

На рис. Зa и 3b показаны запоминаемая и воспроизведенная функции при p* = 4, n = 500, Ei[n]=0,0181.

Рис 3a. Запоминаемая функция (7)                                Рис. 3b. Воспроизведенная функция (7)
(
p*=4, n=500, Ei[n]=0,0181)

 

Результаты обучения приведены в табл. 5.

Таблица 5.

p*

M

n=0

n=125

n=250

n=500

n=1000

n=4000

n=16000

p*=2

578

1,0000

0,5518

0,3544

0,1605

0,0440

0,0007

0,0000

p*=4

324

1,0000

0,1605

0,0589

0,0184

0,0078

0,0035

0,0035

p*=8

200

1,0000

0,0561

0,0291

0,0248

0,0248

0,0234

0,0220

p*=16

144

1,0000

0,4161

0,2897

0,2088

0,1960

0,2009

0,1860

p*=32

128

1,0000

0,3849

0,2052

0,2173

0,2002

0,1946

0,1917

 

Здесь, в отличие от предыдущих таблиц с тестовыми результатами, даны значения осредненного по 10 реализациям, относительного среднего стандартного отклонения, задаваемого выражением (2).

Отметим высокую точность оценивания при p* = 4 на 500-м шаге обучения, а также тот факт, что восстановление функции (7) при p* = 2 достигается практически абсолютно точно на 16000-м шаге обучения.

 

2. УСКОРЕННОЕ ОБУЧЕНИЕ НЕЙРОННОЙ СЕТИ СМАС

В первой части статьи [1] отмечалось, что итеративный алгоритм обучения нейронной сети СМАС предложил Альбус [3], исходя из здравого смысла и основываясь на успешных результатах моделирования. Милитцер и Паркс [4] показали, что алгоритм обучения СМАС представляет собой итеративную процедуру решения системы линейных алгебраических уравнений, и привели доказательство сходимости алгоритма. Аведьян и Хормель [5] отметили, что алгоритм обучения СМАС, предложенный Альбусом, является частным случаем известного алгоритма Качмажа [6, 7], и, базируясь на полученных ранее результатах относительно модифицированных алгоритмов Качмажа [8] предложили и исследовали алгоритмы обучения сети с большей скоростью сходимости [5] которые особенно важны в применении к нестационарным системам.

 

2.1. МОДИФИЦИРОВАННЫЙ АЛГОРИТМ АЛЬБУСА—КАЧМАЖА ОБУЧЕНИЯ

НЕЙРОННОЙ СЕТИ СМАС

Повышение скорости сходимости модифицированного алгоритма [8-10] достигается за счет изменения принципа построения алгоритма Качмажа, в котором каждая очередная точка последовательности w[n] является результатом ортогонального проектирования предыдущей точки w[n-1] на очередную n-ю гиперплоскость. В модифицированном алгоритме очередная точка w[n] вычисляется в результате ортогонального проектирования точки w[n-1] на пересечение последних l гиперплоскостей aT(x[m]) w=y[m], m=n, n-1,…,n-1+1, которые должны быть линейно независимы, а параметр l, называемый глубиной памяти алгоритма, должен удовлетворять условию lM, где M — размерность искомого вектора w*. Напомним [1], что a(x) является M-мерным ассоциативным вектором, который однозначно связан с вектором аргументов x посредством вектора m номеров активных ячеек памяти по следующему правилу: элементы вектора , номера которых совпадают с номерами активных ячеек памяти, равны единице, все остальные элементы вектора a равны нулю. Очевидно, что алгоритм Качмажа является частным случаем модифицированных алгоритмов, когда глубина памяти l=1.

Наиболее простую форму модифицированные алгоритмы получили в работе [8]. Эти алгоритмы применительно к задаче обучения нейронной сети СМАС имеют вид

              (8)

где матрица Rl-1[n-1], являющаяся функцией последних l-1 входных векторов x[m], m=n-1,…,l+1, может быть вычислена по формуле

              (9)

где I— единичная матрица, а матрица Al-1[n-1], размера Mx(l-1) имеет вид

                  (10)

Матрица Rl-1[n-1] может быть вычислена рекуррентно в соответствии со следующей процедурой:

              (11)

где ,а матрица R0[n-l]=I

Согласно процедуре (11), на каждом шаге измерений n необходимо запоминать матрицу Al-1[n-1] (10), вектор - столбцы которой необходимы для выполнения (l-1)-й итерации для вычисления матрицы Rl-1[n-1].

Непосредственное применение соотношений (8)—(11) для повышения скорости сходимости обучения нейронной сети СМАС сталкивается с проблемой размерности, поскольку размерность вектора a(x) может достигать нескольких сотен тысяч, а операции с матрицами таких размеров оказываются практически невозможными.

Тем не менее проблему размерности при небольшой глубине памяти l можно обойти, определив аналитическое выражение вектора коррекции

в правой части формулы (8), выполнив (l-1)итераций над матрицей R[·](11). Другой путь вычисления вектора коррекции основан на применении приведенной в работах [8, 11] эквивалентной соотношению (8) рекуррентной процедуры:

              (12)

где e = (1, 0, 0,…, 0) — единичный l-мерный вектор, а матрица Al[n] размера Mхl согласно (10) имеет вид

           (13)

Из рекуррентной процедуры (12) следует, что на каждом шаге n необходимо вычислить матрицу размера lхl

                 (14)

Элементы первого столбца матрицы (14) согласно (12) образуют весовые коэффициенты βn,n, βn,n-1,…, βn,n-l+1 вектора коррекции памяти сети w[n-1].

Матрица B[n] позволяет представить алгоритм (12) в следующей форме:

                 (15)

где вектор

                     (16)

Поскольку вектор a(x[n]) — бинарный вектор, элементами которого являются ровно p* единиц и (M-p*)нулей, то величины αn-i,n-i, необходимые для вычисления матрицы B[n] (14), равны числу общих активных элементов памяти нейронной сети на (n-i)-м и (n-j)-м шагах обучения, которое, очевидно, меньше или равно p*. Очевидно также, что αn-i,n-I=p*i.

Для выполнения вычислений алгоритм (15) и (16) полезно представить в покомпонентной форме, аналогичной алгоритму Альбуса—Качмажа [1].

                             (17)

                        (18)

Отметим также, что в силу бинарных свойств вектора a(x[n]) корректирующее слагаемое  в правой части алгоритма (17) может принимать только 2l-1 различных значений. Этот вывод иллюстрируется имеющим большую скорость сходимости, чем алгоритм Альбуса—Качмажа, модифицированным алгоритмом, когда l=2. Поскольку в этом случае вектор  (16) определяется выражением

то алгоритм (17) и (18) можно записать в следующей форме:

       (19)

                   (20)

                   (21)

                                                              (22)

где  — относительное общее число единичных элементов векторов a[n] и a[n-1].

Отметим некоторые особенности алгоритма (19)-(22) при l = 2, которые характерны для модифицированного

алгоритма при произвольных lM.

Если входной вектор a[n] ортогонален предыдущему вектору a[n-1],то коэффициент  уравнения (19)—(22) переходят в обычный алгоритм Альбуса—Качмажа [1]. Если входной вектор a[n] параллелен вектору a[n-1], то , выражение в знаменателе соотношений (20) и (21) равно нулю и вычисления по этим соотношениям оказываются невозможными.

 

2.2. ХАРАКТЕРНЫЕ ОСОБЕННОСТИ МОДИФИЦИРОВАННОГО АЛГОРИТМА

АЛЬБУСА—КАЧМАЖА

Перечисленные ниже особенности модифицированного алгоритма Альбуса—Качмажа порождены принципом его построения, когда очередная оценка w[n] вычисляется в результате ортогонального проецирования предыдущей оценки w[n-1] на пересечение последних l гиперплоскостей. Это проецирование может быть выполнено только тогда, когда все ‚последних l векторов  линейно независимы. В этом случае неотрицательно определенная матрица Грама (14) положительно определена и имеет обратную, так что вектор  (16), определяющий направление коррекции вектора памяти w[n-1], может быть вычислен.

·        Если вектор a[n] линейно зависит от предыдущих l-1 векторов a[n-m], , то определитель матрицы Грама оказывается равным нулю и решение в виде соотношений (15) и (16) невозможно. Линейная зависимость вектора a[n] фактически означает, что измерения (y[n], a[n]), а несут дополнительной информации о решении w*[n] по сравнению с предыдущими l-1 измерениями. Заметим, что этот вывод справедлив в случае, когда решение w*[n] существует и когда отсутствуют помехи измерений. Поэтому в том случае, когда матрица Грама оказывается вырожденной, соответствующее n-е измерение следует отбросить и положить w[n]=w[n-1.]

·        Скорость сходимости модифицированного алгоритма обучения увеличивается с ростом глубины памяти l алгоритма.

·        Если система уравнений, которую пытается решить алгоритм обучения, несовместна, например, в силу аддитивных помех измерений на выходную переменную y[n] то оценки, порождаемые как алгоритмом Альбуса—Качмажа, так и модифицированным алгоритмом, сходятся в “зону захвата” [4]. Размер этой зоны увеличивается с ростом глубины памяти ‚алгоритма, и, следовательно, чем выше быстродействие алгоритма, тем более он чувствителен к помехам измерений.

·        Наибольшая чувствительность алгоритма к помехам измерений проявляется тогда, когда при очередном измерении (y[n], a[n]) матрица Грама оказывается плохо определенной. Степень определенности матрицы Грама может быть охарактеризована значением ее определителя, которое задает тот уровень порога, ниже которого не следует использовать измерения для вычисления оценки w[n].

·        Модифицированный алгоритм Альбуса—Качмажа в виде (17) соответствует режиму, когда число наблюдений nl при условии, что все входные векторы a[n-m],  линейно независимы. Для вынесения оценок с первого шага измерений глубину памяти следует делать переменной, т.е. положить , где lvar переменная глубина памяти переходного режима.

·        Обычно эффективность модифицированного алгоритма проявляется в случае, когда входной вектор a[n] медленно изменяется во времени. Это имеет место при циклическом процессе обучения, когда входная последовательность порождается сканированием всего пространства входов либо когда входная последовательность представляет собой стационарную случайную последовательность с медленно убывающей корреляционной функцией. В этом случае, как правило, коэффициенты αn-i,n-j≠0. Если же в процессе обучения входные точки значительно удалены друг от друга, то модифицированный алгоритм не дает выгоды по сравнению с обычным алгоритмом Альбуса—Качмажа. Это имеет место, например, при чисто случайном процессе обучения, когда очередная точка предъявляется статистически независимо от того, какая была предъявлена точка на предыдущем шаге.

 

2.3. РЕЗУЛЬТАТЫ ЧИСЛЕННЫХ ЭКСПЕРИМЕНТОВ

Ниже приведены сравнительные результаты моделирования модифицированного и обычного алгоритмов Альбуса—Качмажа, описанные в работе [5]. Они представляют собой типичные результаты циклического обучения СМАС по запоминанию и воспроизведению функции  заданной на квадрате  в дискретных точках  с помощью обычного (“Альбус”) и модифицированного (“Альбус-2”) алгоритма с глубиной памяти l=2.

Фактически при обучении СМАС используется функция дискретных аргументов

Результаты экспериментов приведены в табл. 6—8. Эти эксперименты характеризуют исследуемые алгоритмы обучения, когда обучающая последовательность составляет только часть возможных значений функции

Таблица 6.

Номер

Время, мин.

Отклонение

E[n],%

 

шага

“Альбус”

“Альбус - 2”

“Альбус”

“Альбус - 2”

0

0,1

0,1

100

100

289

0,4

0,5

5,69

2,96

578

0,8

0,8

2,08

0,55

867

1,1

1,1

0,74

0,13

1156

1,4

1,5

0,29

0,05

1445

1,7

1,8

0,10

0,02

1734

2,1

2,2

0,05

0,01

2023

2,4

2,5

0,02

0,00

2312

2,7