Ортогональні мережі

Цей навчальний посібник підготовлений на основі курсу лекцій з дисципліни «Нейроінформатика», який читався з 1994 року на факультеті Інформатики та обчислювальної техніки Красноярського державного технічного університету.
Декілька слів про структуру посібника. Далі у вступі наведені
за цим курсом,
. Наступні розділи містять одну або кілька лекцій. Матеріал, наведений у розділах, дещо ширший за те, що зазвичай дається на лекціях. Додатки містять опис програм, що використовуються в даному курсі (
, що включає два рівні - рівень запитів компонентів універсального нейрокомп'ютера і рівень мов опису окремих компонентів нейрокомп'ютера.
завдання на лабораторні роботи
проект стандарту нейрокомп'ютера
Цей посібник є електронним і включає програми, необхідні для виконання лабораторних робіт.
Навчальний посібник з курсу «Нейроінформатика»
Ортогональні мережі
Для забезпечення правильного відтворення еталонів незалежно від ступеня їх корелювання достатньо зажадати, щоб перше перетворення в (5) було таким, щоx i = Px i[67]. Очевидно, що якщо проектор є ортогональним, то ця вимога виконується, оскількиx = Pxприx?L(x i >), аx j?L(x i >) за визначенням множиниL(x i >).
Для забезпечення ортогональності проектора скористаємося дуальним безліччю векторів. Багато векторівV(x i >) називається дуальним до безлічі векторів x i >, якщо всі вектори цієї множини vjзадовольняють наступним вимогам:
є ортогональним проектором на лінійний простірL(x i >).
Ортогональнамережа асоціативної пам'яті перетворює образи за формулою
Дуальна множина векторів існує тоді і тільки тоді, коли множина векторів x i > лінійно незалежно. Якщо множина еталонів x i > лінійно залежно, то виключимо з нього лінійно залежні образи і розглядатимемо отримане зрізане безліч еталонів як основу для побудови дуальної множини і перетворення (6). Образи, виключені з вихідної множини еталонів, як і раніше зберігатимуться мережею у вихідному вигляді (перетворюватися на себе). Дійсно, нехай еталонxє лінійно залежним від інших m еталонів. Тоді його можна уявити у вигляді
Підставивши отриманий вираз перетворення (6) і враховуючи властивості дуальної множини отримаємо:
Розглянемо властивості мережі (6) [67]. По-перше, кількість еталонів, що запам'ятовуються і точно відтворюються, не залежить від ступеня їх корелюваності. По-друге, формально мережа здатна працювати без спотворень за будь-якої можливої кількості еталонів (всього їх може бути до 2n). Однак, якщо число лінійно незалежних еталонів (тобто ранг безлічі еталонів) дорівнюєn, мережа стає прозорою - який би образ не пред'явили на її вхід, на виході виявиться той самий образ. Дійсно, як було показано в (7), всі образи, лінійно залежні від еталонів, перетворюються проективною частиною перетворення (6) самі на себе. Значить, якщо в багатьох еталонах єnлінійно незалежних, то будь-який образ можна подати у вигляді лінійної комбінації еталонів (точнішеnлінійно незалежних еталонів), а проективна частина перетворення (6) в силу формули (7) переводить будь-яку лінійну комбінацію еталонів у себе.
Якщо число лінійно незалежних еталонів меншеn, то мережа перетворюєнадходить образ, відфільтровуючи перешкоди, ортогональні всім стандартам.
Зазначимо, що результати роботи мереж (3) та (6) еквівалентні, якщо всі зразки попарно ортогональні.
Зупинимося дещо докладніше на алгоритмі обчислення дуальної множини векторів. Позначимо через ?(x i >) матрицю Грама множини векторів x i >.
Елементи матриці Грама мають вигляд?ij= (x i , x j) (ij-ий елемент матриці Грама дорівнює скалярному добуткуi-го зразка наj-ий). Відомо, що вектори дуальної множини можна записати в наступному вигляді:
де?ij -1- елемент матриці? -1 (X i & gt;). Оскільки визначник матриці Грама дорівнює нулю, якщо безліч векторів лінійно залежно, то матриця, зворотна до матриці Грама, а отже, і дуальна множина векторів існує тільки тоді, коли безліч еталонів лінійно незалежно.
Для робіт мережі (6) необхідно зберігати зразки та матрицю ? -1 (X i & gt;).
Розглянемо процедуру додавання нового стандарту до мережі (6). Ця операція часто називається донавчанням мережі. Важливим критерієм оцінки алгоритму формування мережі є співвідношення обчислювальних витрат за навчання та донавчання. Витрати на навчання не повинні залежати від числа освоєних раніше еталонів.
Для мереж Хопфілда це, очевидно, виконується - додавання ще одного еталона зводиться до додавання до функціїHодного доданку (x, x m+1 )?, а модифікація зв'язків у мережі - полягає в додатку до вагиij-й зв'язку числаxi m+1xj m+1 - всьогоn? операцій.
Для мереж з ортогональним проектуванням також можливе просте донавчання. На перший погляд, це може здатися дивним — якщо еталон, що додається, лінійно незалежний від старих.Зразків, то, взагалі кажучи, потрібно перерахувати матрицю Грама і звернути її. Однак симетричність матриці Грама дозволяє не виконувати наново процедуру звернення всієї матриці. Дійсно, позначимо черезGm— матрицю Грама для множини зmвекторів; через Em— одиничну матрицю розмірностіm?m.При зверненні матриць методом Гауса використовується така процедура:
1. Запишемо матрицю розмірностіm?2mнаступного виду: (GmEm (6)).
2. Використовуючи операції складання рядків та множення рядка на ненульове число, перетворимо ліву квадратну підматрицю до одиничної. В результаті отримаємо (EmGm-1). Нехай відомаGm -1- зворотна до матриці Грама для множини зmвекторівx i. Додамо до цієї множини векторx m+1 . Тоді матриця для обігу матриціGm+1методом Гауса матиме вигляд:
Після приведення до одиничної матриці головного мінору рангуmвийде наступна матриця:
деbi- невідомі величини, отримані в ході приведення головного мінору до одиничної матриці. Для завершення обігу матриціGm+1необхідно привести до нульового вигляду першіmелементів останнього рядка і (m+1)-го стовпця. Для звернення в нульi-го елемента останнього рядка необхідно помножитиi-ю рядок на (x, x m+1 ) і відняти з останнього рядка. Після проведення цього перетворення отримаємо
b0 = 0, тільки якщо новий еталон є лінійною комбінацією першихmеталонів. Отжеb0? 0. Для завершення звернення необхідно розділити останній рядок наb0 і потім відняти з усіх попередніх рядків останній, помножений на відповідний номеррядкиbi. В результаті отримаємо наступну матрицю
Позначимо черезd вектор ((x1 ,x m+1 ), …, (x m,x m+1 )), через b - вектор (b1, …,bm). Використовуючи ці позначення, можна записати b =Gm-1d,b0 = (x m+1 ,x m+1 )-(d,b),b0 = (x m+1 ,x m+1 )-(d,b). МатрицяGm+1-1 записується як