Нейробум: поэзия и проза нейронных сетей

Вид материалаДокументы

Содержание


Сети для инвариантной обработки изображений
Конструирование сетей под задачу
Численный эксперимент
Подобный материал:
1   ...   5   6   7   8   9   10   11   12   ...   31
^

Сети для инвариантной обработки изображений


Для того, чтобы при обработке переводить визуальные образов, отличающиеся только положением в рамке изображения, в один эталон, применяется следующий прием [91]. Преобразуем исходное изображение в некоторый вектор величин, не изменяющихся при сдвиге (вектор инвариантов). Простейший набор инвариантов дают автокорреляторы – скалярные произведения образа на сдвинутый образ, рассматриваемые как функции вектора сдвига.

В качестве примера рассмотрим вычисление сдвигового автокоррелятора для черно-белых изображений. Пусть дан двумерный образ S размером . Обозначим точки образа как . Элементами автокоррелятора  будут величины , где  при выполнении любого из неравенств . Легко проверить, что автокорреляторы любых двух образов, отличающихся только расположением в рамке, совпадают. Отметим, что  при всех i,j, и  при выполнении любого из неравенств . Таким образом, можно считать, что размер автокоррелятора равен .

Автокорреляторная сеть имеет вид

.

(11)

Сеть (11) позволяет обрабатывать различные визуальные образы, отличающиеся только положением в рамке, как один образ.
^

Конструирование сетей под задачу


Подводя итоги, можно сказать, что все сети ассоциативной памяти типа (2) можно получить, комбинируя следующие преобразования:
  1. Произвольное преобразование. Например, переход к автокорреляторам, позволяющий объединять в один выходной образ все образы, отличающиеся только положением в рамке.
  1. Тензорное преобразование, позволяющее сильно увеличить способность сети запоминать и точно воспроизводить эталоны.
  1. Переход к ортогональному проектору, снимающий зависимость надежности работы сети от степени коррелированности образов.

Наиболее сложная сеть будет иметь вид:

,

(12)

где  – элементы матрицы, обратной матрице Грама системы векторов ,  – произвольное преобразование.

Возможно применение и других методов предобработки. Некоторые из них рассмотрены в работах [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

Подводя итог можно сказать, что качество работы сети возрастает с ростом размерности пространства и валентности и по эффективности устранения ошибок сеть приближается к коду, гарантированно исправляющему ошибки.