Учебное пособие по курсу «Нейроинформатика»
Шрифт:
Автокорреляторная сеть имеет вид
Сеть (11) позволяет обрабатывать различные визуальные образы, отличающиеся только положением в рамке, как один образ.
Конструирование сетей под задачу
Подводя итоги, можно сказать, что все сети ассоциативной памяти типа (2) можно получить, комбинируя следующие преобразования:
1. Произвольное преобразование. Например, переход к автокорреляторам, позволяющий объединять в один выходной образ все образы, отличающиеся только положением в рамке.
2. Тензорное преобразование, позволяющее сильно увеличить способность сети запоминать и точно воспроизводить эталоны.
3. Переход к ортогональному проектору, снимающий зависимость надежности работы сети от степени коррелированности образов.
Наиболее сложная сеть будет иметь вид:
где rij– 1 — элементы
Возможно применение и других методов предобработки. Некоторые из них рассмотрены в работах [68, 91, 278]
Численный эксперимент
Работа ортогональных тензорных сетей при наличии помех сравнивалась с возможностями линейных кодов, исправляющих ошибки. Линейным кодом, исправляющим k ошибок, называется линейное подпространство в n-мерном пространстве над GF2, все вектора которого удалены друг от друга не менее чем на 2k+1. Линейный код называется совершенным, если для любого вектора n-мерного пространства существует кодовый вектор, удаленный от данного не более, чем на k. Тензорной сети в качестве эталонов подавались все кодовые векторы избранного для сравнения кода. Численные эксперименты с совершенными кодами показали, что тензорная сеть минимально необходимой валентности правильно декодирует все векторы. Для несовершенных кодов картина оказалась хуже — среди устойчивых образов тензорной сети появились «химеры» — векторы, не принадлежащие множеству эталонов.
Таблица 3. Результаты численного эксперимента. МР — минимальное расстояние между эталонами, ЧЭ — число эталонов
№ | Размерность | Число векторов | МР | ЧЭ | Валентность | Число химер | Число ответов | После обработки сетью расстояние до правильного ответа стало | |||
---|---|---|---|---|---|---|---|---|---|---|---|
верн. | неверн. | меньше | то же | больше | |||||||
1 | 10 | 1024 | 3 | 64 | 3,5 | 896 | 128 | 896 | 0 | 856 | 0 |
2 | 7,21 | 384 | 640 | 384 | 0 | 348 | 0 | ||||
3 | 10 | 1024 | 5 | 8 | 3 | 260 | 464 | 560 | 240 | 260 | 60 |
4 | 5,15 | 230 | 494 | 530 | 240 | 230 | 60 | ||||
5 | 17,21 | 140 | 532 | 492 | 240 | 182 | 70 | ||||
6 | 15 | 32768 | 7 | 32 | 3 | 15456 | 17312 | 15456 | 0 | 15465 | 0 |
7 | 5,21 | 14336 | 18432 | 14336 | 0 | 14336 | 0 |
В случае n=10, k=1 (см. табл. 3 и 4, строка 1) при валентностях 3 и 5 тензорная сеть работала как единичный оператор — все входные вектора передавались на выход сети без изменений. Однако уже при валентности 7 число химер резко сократилось и сеть правильно декодировала более 60% сигналов. При этом были правильно декодированы все векторы, удаленные от ближайшего эталона на расстояние 2, а часть векторов, удаленных от ближайшего эталона на расстояние 1, остались химерами. В случае n=10, k=2 (см. табл. 3 и 4, строки 3, 4, 5) наблюдалось уменьшение числа химер с ростом валентности, однако часть химер, удаленных от ближайшего эталона на расстояние 2 сохранялась. Сеть правильно декодировала более 50% сигналов. Таким образом при малых размерностях и кодах, далеких от совершенных, тензорная сеть работает довольно плохо. Однако, уже при n=15, k=3 и валентности, большей 3 (см. табл. 3 и 4, строки 6, 7), сеть правильно
декодировала все сигналы с тремя ошибками. В большинстве экспериментов число эталонов было больше числа нейронов.Таблица 4. Результаты численного эксперимента
№ | Число химер, удаленных от ближайшего эталона на: | Число неверно распознанных векторов, удаленных от ближайшего эталона на: | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 1 | 2 | 3 | 4 | 5 | |
1 | 640 | 256 | 0 | 0 | 0 | 896 | 0 | 0 | 0 | 0 |
2 | 384 | 0 | 0 | 0 | 0 | 384 | 0 | 0 | 0 | 0 |
3 | 0 | 210 | 50 | 0 | 0 | 0 | 210 | 290 | 60 | 0 |
4 | 0 | 180 | 50 | 0 | 0 | 0 | 180 | 290 | 60 | 0 |
5 | 0 | 88 | 50 | 2 | 0 | 0 | 156 | 290 | 60 | 0 |
6 | 0 | 0 | 1120 | 13440 | 896 | 0 | 0 | 1120 | 13440 | 896 |
7 | 0 | 0 | 0 | 13440 | 896 | 0 | 0 | 0 | 13440 | 896 |
Подводя итог можно сказать, что качество работы сети возрастает с ростом размерности пространства и валентности и по эффективности устранения ошибок сеть приближается к коду, гарантированно исправляющему ошибки.
Доказательство теоремы
В данном разделе приведено доказательство теоремы о числе линейно независимых образов в пространстве k-х тензорных степеней эталонов.
При построении тензорных сетей используются тензоры валентности k следующего вида:
где aj — n-мерные вектора над полем действительных чисел.
Если все вектора ai=a, то будем говорить о k-й тензорной степени вектора a, и использовать обозначение a⊗k. Для дальнейшего важны следующие элементарные свойства тензоров вида (13).
1. Пусть
Доказательство этого свойства следует непосредственно из свойств тензоров общего вида.
2. Если в условиях свойства 1 вектора являются тензорными степенями, то скалярное произведение имеет вид:
Доказательство непосредственно вытекает из свойства 1.
3. Если вектора a и b ортогональны, то есть (a,b) = 0, то и их тензорные степени любой положительной валентности ортогональны.
Доказательство вытекает из свойства 2.
4. Если вектора a и b коллинеарны, то есть b = λa, то a⊗k=λka⊗k.
Следствие. Если множество векторов