В качестве примера рассмотрим вычисление сдвигового автокоррелятора для черно-белых изображений. Пусть дан двумерный образ S размером p×q=n. Обозначим точки образа как s>ij. Элементами автокоррелятора Ac(S) будут величины , где s>ij=0 при выполнении любого из неравенств i < 1, i > p, j < 1, j > q. Легко проверить, что автокорреляторы любых двух образов, отличающихся только расположением в рамке, совпадают. Отметим, что a>ij=a>-i,-j при всех i,j, и a>ij=0 при выполнении любого из неравенств i < 1-p, i > p-1, j < 1-q, j > q-1. Таким образом, можно считать, что размер автокоррелятора равен p×(2q+1).
Автокорреляторная сеть имеет вид
(11)
Сеть (11) позволяет обрабатывать различные визуальные образы, отличающиеся только положением в рамке, как один образ.
Конструирование сетей под задачу
Подводя итоги, можно сказать, что все сети ассоциативной памяти типа (2) можно получить, комбинируя следующие преобразования:
1. Произвольное преобразование. Например, переход к автокорреляторам, позволяющий объединять в один выходной образ все образы, отличающиеся только положением в рамке.
2. Тензорное преобразование, позволяющее сильно увеличить способность сети запоминать и точно воспроизводить эталоны.
3. Переход к ортогональному проектору, снимающий зависимость надежности работы сети от степени коррелированности образов.
Наиболее сложная сеть будет иметь вид:
(12)
где r>ij>-1 — элементы матрицы, обратной матрице Грама системы векторов {F(x>i)}>⊗k, F(x) — произвольное преобразование.
Возможно применение и других методов предобработки. Некоторые из них рассмотрены в работах [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. Результаты численного эксперимента
№ | Число химер, удаленных от ближайшего эталона на: |
---|