УДК 528.72:004.93
КЛАССИФИКАЦИЯ ГИПЕРСПЕКТРАЛЬНЫХ ИЗОБРАЖЕНИЙ С ПОМОЩЬЮ НЕЙРОННЫХ СЕТЕЙ С БИНАРНЫМИ И МНОГОУРОВНЕВЫМИ НЕЙРОНАМИ
Олег Юльевич Дашевский
Институт автоматики и электрометрии СО РАН, 630090, Россия, г. Новосибирск, пр. Академика Коптюга, 1, кандидат технических наук, научный сотрудник лаборатории информационной оптики, e-mail: [email protected]
Евгений Семенович Нежевенко
Институт автоматики и электрометрии СО РАН, 630090, Россия, г. Новосибирск, пр. Академика. Коптюга, 1, доктор технических наук, старший научный сотрудник, ведущий научный сотрудник лаборатории информационной оптики, e-mail: [email protected]
Приведены результаты классификации гиперспектрального изображения с использованием нейронных сетей как с бинарными, так и многоуровневыми нейронами. Описывается программное обеспечение для реализации комплекснозначной нейронной сети с многоуровневыми нейронами. Анализируется эффективность применения различных типов сетей для классификации гиперспектральных изображений.
Ключевые слова: классификация, гиперспектральное изображение, нейронная сеть, бинарные нейроны, многоуровневые нейроны, вероятность ошибки.
CLASSIFICATION OF HYPERSPECTRAL IMAGES BY MEANS OF ARTIFICIAL NEURAL NETWORKS WITH BINARY AND MULTI-VALUED NEURONS
Oleg Yu. Dashevskii
Institute of Automation and Electrometry SB RAS, 630090, Russia, Novosibirsk, 1 Koptyuga prosp., Ph. D., e-mail: [email protected]
Evgeny S. Nejevenko
Institute of Automation and Electrometry SB RAS, 630090, Russia, Novosibirsk, 1 Koptyuga prosp., Ph. D., e-mail: [email protected]
Classification results of a hyperspectral image by means of artificial neural networks with binary and multi-valued neurons are presented. The software implementing a complex-valued neural network with multi-valued neurons is described. The performance of different network types application to hyperspectral image classification is analyzed.
Key words: classification, hyperspectral image, artificial neural network, binary neuron, multi-valued, neuron, classification error probability.
Одним из наиболее перспективных методов дистанционного зондирования Земли является гиперспектральная съемка. Классификация гиперспектральных снимков позволяет решить множество самых разнообразных задач исследования земной поверхности. В качестве эффективного средства, достигающего данной цели, применяются искусственные нейронные сети. Сети с бинарными нейронами исследованы достаточно хорошо [1]. Сравнительно новым типом являются сети с многоуровневыми нейронами, обладающие некоторыми пре-
имуществами по сравнению с бинарными, в частности, по скорости обучения. В настоящем докладе приводятся результаты экспериментальных исследований в области классификации гиперспектральных изображений с использованием перечисленных выше двух типов нейронных сетей. Однако предварительно дадим краткое описание сетей с многоуровневыми нейронами.
Многоуровневые нейроны (Multi-Valued Neurons, MVN) [2] отличаются от бинарных нейронов тем, что все веса и входные значения являются комплексными числами; функция активации, соответственно, является функцией комплексного аргумента. Необходимо, чтобы входные значения нейрона были расположены на единичной окружности в комплексном пространстве: xt = exp(i фг). Функция активации имеет параметр K; она возвращает K различных значений. Комплексная плоскость разбивается на K равных секторов; линейная комбинация весов и входных значений нейрона попадает в один из них. Возвращаемое значение будет соответствовать номеру сектора, а именно будет являться одним из комплексных корней К- й степени из единицы:
P(z) = Е}к\2пj/K < argO) <2a(j + i)/K-r sK = eyp(i2n/K). Здесь Z = W0 + W\X\ + ... + WyXn -
линейная комбинация весов и входов нейрона. Таким образом, выход многоуровневого нейрона можно трактовать двояко: как комплексное число на единичной окружности и как значение в K-значной логике (0...K-1). Бинарные же нейроны работают только в рамках бинарной логики, возвращая 0 или 1.
Устремляя K к бесконечности, получаем непрерывную версию многоуровневого нейрона, когда функция активации просто проецирует свой аргумент на единичную окружность: P(z) = z / |z| . Таким образом, входы и выходы многоуровневого нейрона могут независимо друг от друга быть как дискретными, так и непрерывными. Дискретное значение входа j преобразуется в соответствующий комплексный корень из единицы K-й степени: Xj = exp(i 2п yj/ K), где yj -целочисленное значение в диапазоне 0...K-1. Непрерывное значение ym из диапазона [am, bm] (вход m) линейно преобразуется в значение фазы комплексного числа: xm = exp((ym - am) / (bm - am) а), где 0 < a < 2п. Выход нейрона может быть дискретным с заданным K или непрерывным.
Обучение многоуровневых нейронов производится по более общей версии дельта-правила [3]:
где X - вектор, комплексно сопряженный вектору входов; г - номер шага обучения; Wr - текущий вектор весов; Wr+1 - скорректированный вектор весов; Cr - скорость обучения; |zr| - модуль линейной комбинации весов и входов на r-м шаге; 5 - ошибка обучения; D - ожидаемое значение на выходе нейрона; Y - реально полученное значение на выходе. Каждая итерация изменяет веса так, что значение на выходе нейрона приближается к D.
Многоуровневые нейроны могут быть объединены в многослойную сеть (MLMVN, Multi-Layer MVN), которая по принципу работы аналогична обыч-
ной искусственной нейронной сети. Входные значения поступают на вход первого слоя, выходные значения последнего слоя являются результатом работы всей сети. Нейроны каждого слоя соединены со всеми нейронами следующего слоя. Как показано в [3], такая сеть может обучаться согласно правилу (1) для одного нейрона, с использованием принципа обратного распространения ошибки. Так, ошибки для выходного слоя рассчитываются непосредственно, как разница между ожидаемыми и реальными значениями его нейронов. На основе них рассчитываются ошибки предыдущего слоя и т. д. После вычисления всех ошибок происходит обучение каждого из нейронов сети согласно (1). Процедура не требует вычисления производных. В рамках каждой эпохи происходит последовательное обучение для каждого элемента обучающей выборки; обучение останавливается, когда ошибка снижается ниже заданного порогового уровня.
Для задач классификации пригодны различные архитектуры сетей с многоуровневыми нейронами. Во-первых, возможен случай одного дискретного нейрона в выходном слое с числом К, соответствующим количеству классов. Тогда ожидаемое выходное значение для набора признаков с заданной меткой класса будет соответствовать середине комплексного сектора, отвечающего за этот класс [4]. Во-вторых, выходной слой может состоять из К непрерывных нейронов — по нейрону на класс. Примем, что со своим классом у нейрона отождествлена верхняя полуплоскость [0, п). Тогда ожидаемое значение для набора признаков с меткой класса М (0 < М < К) будет равно числу I (фаза п/2) у М-го нейрона выходного слоя и — (фаза 3п/2) у всех остальных (принцип «один против всех»). Для определения класса по вектору признаков сначала отбираются нейроны выходного слоя, значение которых попало в верхнюю полуплоскость (возможные кандидаты). Затем из кандидатов выбирается победитель: тот нейрон, фаза значения которого оказалась ближе всех к п/2. Комбинация двух описанных архитектур порождает третий вариант, пригодный для задач с подклассами. Каждому из больших классов соответствует один нейрон выходного слоя, оперирующий в К-значной логике (К = число подклассов + 1). Один сектор выделяется для значения «против всех», остальные - для подклассов.
В рамках работы была разработана программа, моделирующая дискретные и непрерывные многоуровневые нейроны. Программа реализована на языке на С++ с расширениями ОрепМР и содержит в себе алгоритмы обучения, классификации, сбора статистики и т. д. Для хранения исходных массивов данных и результатов обучения используется база данных PostgreSQL. Все промежуточные результаты также сохраняются в базу, что позволяет рассчитывать произвольную статистику по запускам.
В качестве объекта сегментации было выбран гиперспектральный снимок (ГСИ) StanfordTower (рис. 1). Каждый пиксел ГСИ представляет собой 148 элементный вектор, компоненты которого - значения отражения или излучения света в очень узком участке спектра в диапазоне от 0,4 до 2,5 мкм. На изображении выбрано множество прямоугольных участков, разбитых на 11 классов. Общее количество пикселов во всех участках - 45177.
Рис. 1
Был проведены эксперименты по классификации ГСИ с использованием всех 148 спектральных признаков. Предварительно нейронная сеть с бинарными нейронами была обучена на половине пикселов ГСИ. Эксперимент был проведен на нескольких сетях, наилучший результат дал многослойный персептрон (число нейронов во входном слое - 148, в скрытом -76, в выходном-11, такую сеть будем обозначать 148-76-11): вероятность ошибки на тестовой выборке (усредненной по всем классам) - 0,41%, вероятность ошибки на обучающей выборке 0,45%, число эпох при обучении 500.
Такой же эксперимент был произведен в комплекснозначной двухслойной сети с многоуровневыми нейронами (сеть 148-11) вероятность ошибки на тестовой выборке (усредненной по всем классам) - 2,23%, вероятность ошибки на обучающей выборке - 1,80%. Хотя вероятность ошибки во втором случае была несколько выше, чем в первом, отметим, что во втором эксперименте использовалось двухслойная нейронная сеть, а время обучения во втором случае было в 4,96 раз меньше, чем в первом.
Однако компоненты векторов ГСИ сильно коррелированы ввиду того, что спектры отражения или излучения участков поверхности Земли - как правило гладкие функции (речь здесь не идет о материалах с дискретным спектром излучения), кроме того значительные участки спектров различных материалов могут быть близки между собой. Отсюда следует, что для классификации такие спектры переизбыточны, поэтому размерность пространства признаков может быть существенно сокращена. В работе [5] (да и в множестве других работ) показано, что наиболее эффективным методам сокращения пространства признаков является переход в пространство главных компонент. Это преобразование было проведено в программе StatSoft. Главные компоненты для классификации выбирались из критерия «каменистой осыпи», которая для ГСИ представлена на рис. 2.
Исходя из величин собственных значений, в качестве признаков были выбраны три компоненты и с ними были проведены те же эксперименты, что и с полным набором спектральных компонент. Результаты эксперимента следующие. Наилучшая сеть с бинарными нейронами - RBF сеть 3-1031-11, ошибка на тестовой выборке - 2,96%, на обучающей - 2,43%. Многослойный персеп-
трон с конфигурацией 3-9-11 дал ошибку на тестовой выборке 3,1%, а двухслойная линейная нейронная сеть с конфигурацией 3-11 - 36,4%. Очевидно, последний результат связан с тем, что выбранные классы в пространстве главных компонент линейно неразделимы.
80 -
60
40
20
0 -
0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 Номер собств. значения
Рис. 2
Интересные результаты получились в сетях с многоуровневыми нейронами. Поскольку при сети 148-11 процент ошибки вполне приемлем, была сделана попытка классификации по главным компонентам в двухслойной нейронной сети 3-11, однако она привела к ошибке 26,8%! Было сделано предположение, что у двухслойной сети не хватает обобщающей способности, поэтому в сеть добавлен еще один слой, в результате сеть 3-30-11 дала ошибку 6%, а сеть 1130-11 — 2,9%.
Время обучения MLMVN сети для всех исследованных в данной работе архитектур составляет около 4,5 мин (компьютер с процессором Intel Core i7). Из сказанного можно сделать вывод, что MLMVN сети эффективны только при большом числе признаков, когда можно использовать двухслойную сеть.
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
4. Haykin S. Neural networks. NY.: Prentice Hall, 1999.
5. N. N. Aizenberg and I. N. Aizenberg. "CNN based on multi-valued neuron as a model of associative memory for gray-scale images," in Proc. 2nd IEEE Int. Workshop Cellular Neural Netw. Appl., Oct. 1992, pp. 36-41.
6. I. Aizenberg. Complex-Valued Neural Networks with Multi-Valued Neurons. New York, NY, USA: Springer-Verlag, 2011.
7. I. Aizenberg. MLMVN with soft margins learning // IEEE Trans. on Neural Networks and learning systems, Vol. 25, No. 9, September 2014, pp. 1632—1644.
8. Козик В.И., Нежевенко Е.С. Выбор эффективной системы признаков при сегментации гиперспектральных изображений // Перспективы развития науки и образования, 2014, часть 7, с. 70-72.
Работа выполнена при поддержке гранта Российского фонда фундаментальных исследований № 13-07-12202.
© О. Ю. Дашевский, Е. С. Нежевенко, 2015