Петришин Т. Р.

Национальный технический университет Украины “КПИ”

Применение рециркуляционных нейронных сетей для обработки изображений

    

Рециркуляционные нейронные сети представляют собой многослойные нейронные сети с обратным распространение информации. При этом обратное распространение информации происходит по двунаправленным связям, которые имеют в различных направлениях разные весовые коэффициенты. При обратном распространении сигналов, в таких сетях осуществляется преобразование их с целью восстановления входного образа. В случае прямого распространения сигналов происходит сжатие входных данных. Обучение рециркуляционных сетей производится без учителя.                                                                              Рециркуляционные сети характеризуются как прямым Y=f(X), так и обратным X=f(Y) преобразованием информации. Задачей такого преобразования является достижение наилучшего автопрогноза или самовоспроизводимости вектора X. Рециркуляционные нейронные сети применяются для сжатия (прямое преобразование) и восстановления исходной (обратное преобразование) информации. Такие сети являются самоорганизующимися в процессе работы. Они были предложены в 1988 году. Теоретической основой рециркуляционных нейронных сетей является анализ главных компонент. Метод главных компонент применяется в статистике для сжатия информации без существенных потерь ее информативности. Он состоит в линейном ортогональном преобразовании входного вектора X размерности n в выходной вектор Y размерности p, где p<n. При этом компоненты вектора Y являются некоррелированными и общая дисперсия после преобразования остается неизменной. Совокупность входных паттернов представим в виде матрицы:

http://habrastorage.org/storage1/b9c202ce/5e175db9/ed340889/e9f44496.png

где

http://habrastorage.org/storage1/31bc67c2/39437d92/2fd51850/72518c4c.png

соответствует k-му входному образу, L — общее количество образов. Будем считать, что матрица X является центрированной, то есть вектор математических ожиданий µ=0. Этого добиваются при помощи следующих преобразований:

http://habrastorage.org/storage1/09342053/45896e2e/fa975892/7cb8f07b.png

Матрица ковариаций входных данных X определяется как

http://habrastorage.org/storage1/b2f7cb96/97b74749/bbba9e62/dca48b0f.png

где σij — ковариация между i-ой и j-ой компонентой входных образов. Элементы матрицы ковариаций можно вычислить следующим образом:

http://habrastorage.org/storage1/96fed7cb/031e2a67/ddb65e88/c84950f0.png

где i,j = 1,…,n.
Метод главных компонент состоит в нахождении таких линейных комбинаций исходных переменных

http://habrastorage.org/storage1/4535845b/31a99abe/8d63f352/7aa0e4b2.png

что

http://habrastorage.org/storage1/25edb2ac/19cfa326/810ae63f/b1875a2a.png

Из последних выражений следует, что переменные уi некоррелированы, упорядочены по возрастанию дисперсии и сумма дисперсий входных образов остается без изменений. Тогда подмножество первых р переменных у характеризует большую часть общей дисперсии. В результате получается представление входной информации.Переменные у, i = 1,…,p называются главными компонентами. В матричной форме преобразование главных компонент можно представить как

http://habrastorage.org/storage1/e4d46a68/8dee5653/cd3dbc8c/05e46e32.png

где строки матрицы WT должны удовлетворять условию ортогональности, т.е

http://habrastorage.org/storage1/1e2feafa/57009c0e/d52ae0f4/ccb1287a.png

при этом вектор Wi определяется как

http://habrastorage.org/storage1/117494fb/1086431e/6f898cfc/920610e0.png

Для определения главных компонент необходимо определить весовые коэффициенты Wi,j = 1,…,p.                                                                                                 Рециркуляционная нейронная сеть представляет собой совокупность двух слоев нейронных элементов, которые соединены между собой двунаправленными связями.

http://habrastorage.org/storage1/df589684/38a75e4b/38a9485a/230d3daf.png

Каждый из слоев нейронных элементов может использоваться в качестве входного или выходного. Если слой нейронных элементов служит в качестве входного, то он выполняет распределительные функции. В противном случае нейронные элементы слоя являются обрабатывающими. Весовые коэффициенты соответствующие прямым и обратным связям характеризуются матрицей весовых коэффициентов W и W. Для наглядности, рециркуляционную сеть можно представить в развернутом виде. Такое представление сети является эквивалентным и характеризует полный цикл преобразования информации. При этом промежуточный слой нейронных элементов производит кодирование (сжатие) входных данных X, а последний слой осуществляет восстановление сжатой информации Y. Назовем слой нейронной сети, соответствующий матрице связи W прямым, а соответствующий матрице связей W — обратным. Рециркуляционная сеть предназначена как для сжатия данных, так и для восстановления сжатой информации. Сжатие данных осуществляется при прямом преобразовании информации в соответствие с выражением:

http://habrastorage.org/storage1/a0557df7/fd475816/99815b06/3f4bea59.png

Восстановление или реконструкция данных происходит при обратном преобразовании информации:

http://habrastorage.org/storage1/4e2bb501/ed40a10d/799ceae1/8049357c.png

В качестве функции активации нейронных элементов F может использоваться как линейная, так и нелинейная функции. При использовании линейной функции активации:

http://habrastorage.org/storage1/d3a794bd/15e845bd/ba141507/e26de55f.png

Линейные рециркуляционные сети, в которых весовые коэффициенты определяются в соответствии с методом главных компонент называются РСА сетями.                                                                                        Рециркуляционные нейронные сети можно применять для сжатия и восстановления изображений. Изображение делится на блоки. Блок называется окном, которому в соответствие ставится рециркуляционная нейронная сеть. Количество нейронов первого слоя сети соответствует размерности окна (количеству пикселей). Сканируя изображение при помощи окна и подавая его на нейронную сеть, можно сжать входное изображение.