Е. Миркес - Учебное пособие по курсу «Нейроинформатика»
Таблица 2. Степени коррелированности эталонов, приведенных на рис. 1, для различных тензорных степеней.
Тензорная степень Степень коррелированности Условия CAB CAC CBC CAB+CAC CAB+CBC CAC+CBC 1 0.74 0.72 0.86 1.46 1.60 1.58 2 0.55 0.52 0.74 1.07 1.29 1.26 3 0.41 0.37 0.64 0.78 1.05 1.01 4 0.30 0.26 0.55 0.56 0.85 0.81 5 0.22 0.19 0.47 0.41 0.69 0.66 6 0.16 0.14 0.40 0.30 0.56 0.54 7 0.12 0.10 0.35 0.22 0.47 0.45 8 0.09 0.07 0.30 0.16 0.39 0.37Анализ данных, приведенных в табл. 2, показывает, что при тензорных степенях 1, 2 и 3 степень коррелированности эталонов не удовлетворяет первому из достаточных условий (), а при степенях меньше 8 — второму ().
Таким образом, чем выше тензорная степень сети (9), тем слабее становится ограничение на степень коррелированности эталонов. Сеть (10) не чувствительна к степени коррелированности эталонов.
Сети для инвариантной обработки изображений
Для того, чтобы при обработке переводить визуальные образов, отличающиеся только положением в рамке изображения, в один эталон, применяется следующий прием [91]. Преобразуем исходное изображение в некоторый вектор величин, не изменяющихся при сдвиге (вектор инвариантов). Простейший набор инвариантов дают автокорреляторы — скалярные произведения образа на сдвинутый образ, рассматриваемые как функции вектора сдвига.
В качестве примера рассмотрим вычисление сдвигового автокоррелятора для черно-белых изображений. Пусть дан двумерный образ S размером p×q=n. Обозначим точки образа как sij. Элементами автокоррелятора Ac(S) будут величины , где sij=0 при выполнении любого из неравенств i < 1, i > p, j < 1, j > q. Легко проверить, что автокорреляторы любых двух образов, отличающихся только расположением в рамке, совпадают. Отметим, что aij=a-i,-j при всех i,j, и aij=0 при выполнении любого из неравенств i < 1-p, i > p-1, j < 1-q, j > q-1. Таким образом, можно считать, что размер автокоррелятора равен p×(2q+1).
Автокорреляторная сеть имеет вид
(11)
Сеть (11) позволяет обрабатывать различные визуальные образы, отличающиеся только положением в рамке, как один образ.
Конструирование сетей под задачу
Подводя итоги, можно сказать, что все сети ассоциативной памяти типа (2) можно получить, комбинируя следующие преобразования:
1. Произвольное преобразование. Например, переход к автокорреляторам, позволяющий объединять в один выходной образ все образы, отличающиеся только положением в рамке.
2. Тензорное преобразование, позволяющее сильно увеличить способность сети запоминать и точно воспроизводить эталоны.
3. Переход к ортогональному проектору, снимающий зависимость надежности работы сети от степени коррелированности образов.
Наиболее сложная сеть будет иметь вид:
(12)
где rij-1 — элементы матрицы, обратной матрице Грама системы векторов {F(xi)}⊗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), сеть правильно декодировала все сигналы с тремя ошибками. В большинстве экспериментов число эталонов было больше числа нейронов.