Книга: Учебное пособие по курсу «Нейроинформатика»

Ортогональные сети

Ортогональные сети

Для обеспечения правильного воспроизведения эталонов вне зависимости от степени их коррелированности достаточно потребовать, чтобы первое преобразование в (5) было таким, что xi = Pxi [67]. Очевидно, что если проектор является ортогональным, то это требование выполняется, поскольку x = Px при x ?L({xi}), а xj ?L({xi}) по определению множества L({xi}).

Для обеспечения ортогональности проектора воспользуемся дуальным множеством векторов. Множество векторов V({xi}) называется дуальным к множеству векторов {xi}, если все векторы этого множества vj удовлетворяют следующим требованиям:

1. (xi, vi) = ?ij; ?ij = 0, при i ? j; ?ij = 1 при i = j;

2. vj ?L({xi}).

Преобразование


является ортогональным проектором на линейное пространство L({xi}).

Ортогональная сеть ассоциативной памяти преобразует образы по формуле


(6)

Дуальное множество векторов существует тогда и только тогда, когда множество векторов {xi} линейно независимо. Если множество эталонов {xi} линейно зависимо, то исключим из него линейно зависимые образы и будем рассматривать полученное усеченное множество эталонов как основу для построения дуального множества и преобразования (6). Образы, исключенные из исходного множества эталонов, будут по-прежнему сохраняться сетью в исходном виде (преобразовываться в самих себя). Действительно, пусть эталон x является линейно зависимым от остальных m эталонов. Тогда его можно представить в виде


Подставив полученное выражение в преобразование (6) и учитывая свойства дуального множества получим:


(7)

Рассмотрим свойства сети (6) [67]. Во-первых, количество запоминаемых и точно воспроизводимых эталонов не зависит от степени их коррелированности. Во-вторых, формально сеть способна работать без искажений при любом возможном числе эталонов (всего их может быть до 2n). Однако, если число линейно независимых эталонов (т. е. ранг множества эталонов) равно n, сеть становится прозрачной — какой бы образ не предъявили на ее вход, на выходе окажется тот же образ. Действительно, как было показано в (7), все образы, линейно зависимые от эталонов, преобразуются проективной частью преобразования (6) сами в себя. Значит, если в множестве эталонов есть n линейно независимых, то любой образ можно представить в виде линейной комбинации эталонов (точнее n линейно независимых эталонов), а проективная часть преобразования (6) в силу формулы (7) переводит любую линейную комбинацию эталонов в саму себя.

Если число линейно независимых эталонов меньше n, то сеть преобразует поступающий образ, отфильтровывая помехи, ортогональные всем эталонам.

Отметим, что результаты работы сетей (3) и (6) эквивалентны, если все эталоны попарно ортогональны.

Остановимся несколько подробнее на алгоритме вычисления дуального множества векторов. Обозначим через ?({xi}) матрицу Грама множества векторов {xi}.

Элементы матрицы Грама имеют вид ?ij = (xi, xj) (ij-ый элемент матрицы Грама равен скалярному произведению i-го эталона на j-ый). Известно, что векторы дуального множества можно записать в следующем виде:


(8)

где ?ij-1 — элемент матрицы ?-1({xi}). Поскольку определитель матрицы Грама равен нулю, если множество векторов линейно зависимо, то матрица, обратная к матрице Грама, а следовательно и дуальное множество векторов существует только тогда, когда множество эталонов линейно независимо.

Для работ сети (6) необходимо хранить эталоны и матрицу ?-1({xi}).

Рассмотрим процедуру добавления нового эталона к сети (6). Эта операция часто называется дообучением сети. Важным критерием оценки алгоритма формирования сети является соотношение вычислительных затрат на обучение и дообучение. Затраты на дообучение не должны зависеть от числа освоенных ранее эталонов.

Для сетей Хопфилда это, очевидно, выполняется — добавление еще одного эталона сводится к прибавлению к функции H одного слагаемого (x, xm+1)?, а модификация связей в сети — состоит в прибавлении к весу ij-й связи числа xim+1xjm+1 — всего n? операций.

Для рассматриваемых сетей с ортогональным проектированием также возможно простое дообучение. На первый взгляд, это может показаться странным — если добавляемый эталон линейно независим от старых эталонов, то, вообще говоря, необходимо пересчитать матрицу Грама и обратить ее. Однако симметричность матрицы Грама позволяет не производить заново процедуру обращения всей матрицы. Действительно, обозначим через Gm — матрицу Грама для множества из m векторов; через Em — единичную матрицу размерности m?m. При обращении матриц методом Гаусса используется следующая процедура:

1 .Запишем матрицу размерности m?2m следующего вида: (Gm|Em).

2. Используя операции сложения строк и умножения строки на ненулевое число преобразуем левую квадратную подматрицу к единичной. В результате получим (Em|Gm-1). Пусть известна Gm-1 — обратная к матрице Грама для множества из m векторов xi. Добавим к этому множеству вектор xm+1. Тогда матрица для обращения матрицы Gm+1 методом Гауса будет иметь вид:


После приведения к единичной матрице главного минора ранга m получится следующая матрица:


где bi — неизвестные величины, полученные в ходе приведения главного минора к единичной матрице. Для завершения обращения матрицы Gm+1 необходимо привести к нулевому виду первые m элементов последней строки и (m +1)-го столбца. Для обращения в ноль i-го элемента последней строки необходимо умножить i-ю строку на (x, xm+1) и вычесть из последней строки. После проведения этого преобразования получим


где

,
.

b0 = 0 только если новый эталон является линейной комбинацией первых m эталонов. Следовательно b0 ? 0. Для завершения обращения необходимо разделить последнюю строку на b0 и затем вычесть из всех предыдущих строк последнюю, умноженную на соответствующее номеру строки bi. В результате получим следующую матрицу


где Fij = Gmij-1-bicj/b0. Поскольку матрица, обратная к симметричной, всегда симметрична получаем ci/b0 = -bi/b0 при всех i. Так как b0 ? 0 следовательно bi = -ci.

Обозначим через d вектор ((x1, xm+1), …, (xm, xm+1)), через b — вектор (b1, …, bm). Используя эти обозначения можно записать b = Gm-1d, b0 = (xm+1,xm+1)-(d,b), b0 = (xm+1,xm+1)-(d,b). Матрица Gm+1-1 записывается в виде


Таким образом, при добавлении нового эталона требуется произвести следующие операции:

1. Вычислить вектор d (m скалярных произведений — mn операций, mn?n?).

2. Вычислить вектор b (умножение вектора на матрицу — m? операций).

3. Вычислить b0 (два скалярных произведения — m+n операций).

4. Умножить матрицу на число и добавить тензорное произведение вектора b на себя (2m? операций).

5. Записать Gm+1-1.

Таким образом эта процедура требует m+n+mn+3m? операций. Тогда как стандартная схема полного пересчета потребует:

1. Вычислить всю матрицу Грама (nm(m+1)/2 операций).

2. Методом Гаусса привести левую квадратную матрицу к единичному виду (2m?+m?-m операций).

3. Записать Gm+1-1.

Всего 2m?+m?–m+nm(m+1)/2 операций, что в m раз больше.

Используя ортогональную сеть (6), удалось добиться независимости способности сети к запоминанию и точному воспроизведению эталонов от степени коррелированности эталонов. Так, например, ортогональная сеть смогла правильно воспроизвести все буквы латинского алфавита в написании, приведенном на рис. 1.

Основным ограничением сети (6) является малое число эталонов — число линейно независимых эталонов должно быть меньше размерности системы n.

Оглавление книги


Генерация: 1.202. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз