Исследование зависимости качества обучения самоорганизующийся карты Кохонена от предварительной обработки входных данных на примере решения задачи о распознавании буквенных символов

Исследование зависимости качества обучения самоорганизующийся карты Кохонена от предварительной обработки входных данных на примере решения задачи о распознавании буквенных символов

Русанов А.Д., НИУ Высшая школа экономики, МИЭМ

adrusanov@edu.hse.ru Некрасов Д.К., НИУ Высшая школа экономики, МИЭМ dknekrasov@edu.hse.ru

обучения карты Кохонена

Аннотация

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

1 Введение

В современном мире алгоритмы распознавания объектов по их изображению применяются повсеместно. Существует множество алгоритмов графического распознавания объектов. Благодаря им интеллектуальные системы способны получать информацию об окружающем мире в графическом виде. Далее полученные данные с помощью алгоритмов распознавания преобразуются в данные, удобные для обработки интеллектуальной системой.

Одним из лидирующих направлений в области графического распознавания стало использование искусственных нейронных сетей (нейросетей). Как и прочие алгоритмы машинного обучения, искусственные нейросети позволяют минимизировать человеческий фактор при формировании алгоритма, а также адаптировать действия системы в случае возникновения непредвиденных ситуаций.

Частным случаем нейронных сетей является самоорганизующаяся карта Кохонена. Наибольшее распространение она получила при решении задач кластеризации. Подробнее принцип построения карты Кохонена будет рассмотрен в этой статье в соответствующем разделе.

Изучение зависимостей качества и скорости

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

2 Самоорганизующиеся карты Кохонена

Самоорганизующиеся карты Кохонена представляют собой вид искусственных нейронных сетей с обучением без учителя [Манжула В.Г., Федяшов Д.С. 2011]. В рамках данной работы карта используется для кластеризации данных о значениях пикселей изображений. Нейроны в сети представляются получающимися кластерами, каждый из которых подразумевает под собой тот или иной объект изображения (в этой работе - конкретный буквенный символ). Обучение карты разделяется на итерации, называемые эпохами обучения.

Для вычисления евклидовых расстояний используется формула (1.1).

ч = ^Ы-Щ,)2,

где i - параметр ^мерного вектора, j - номер текущего нейрона,

где q - состояние j-го нейрона, i - параметр ^мерного вектора, X - вектор расположения

текущего примера выборки, V - коэффициент скорости обучения.

Алгоритм организации и дообучения карты состоит из следующих последовательных шагов:

• выбирается критическое расстояние Rкр, являющееся минимальным возможным евклидовым расстоянием между нейроном-победителем и выбранным примером из обучающей выборки;

• на каждой итерации на вход карты Кохонена подаётся случайный пример из обучающей выборки;

• по формуле (11) рассчитываются расстояния между выбранным примером и нейроном-победителем;

• если расстояние между примером из выборки и нейроном-победителем больше Rкр, образуется новый нейрон с теми же координатами, что и пример из выборки;

• если расстояние от примера до нейрона-победителя меньше или равно Rкр, происходит смещение нейрона в сторону примера по формуле (1.2);

• если остались неиспользованные примеры из обучающей выборки, предыдущие шаги повторяются, начиная с подачи на вход карты случайного примера из выборки;

• использование всех примеров из обучающей выборки означает конец текущей обучающей эпохи;

• по окончании обучающей эпохи начинается новая, в которой уменьшается коэффициент смещения нейронов из формулы (1.2) и убраны нейроны, по окончании прошедшей эпохи не привязанные ни к одному примеру обучающей выборки;

• обучение происходит до тех пор, пока не будет достигнуто заданное количество обучающих эпох или пока не будет достигнуто предельное (также заданное) время обучения.

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

сгенерированных в шрифтах, отличных от шрифта символов в обучающей выборке. Алгоритм этого этапа состоит из следующих шагов:

• на вход карты на каждой итерации подаётся случайно выбранный пример из тестовой выборки;

• по формуле (11) рассчитываются евклидовы расстояния между выбранным примером из тестовой выборки и каждым из нейронов карты Кохонена;

• нейрон-победитель каждой итерации определяется минимальным расстоянием до текущего примера из тестовой выборки;

• номер нейрона-победителя назначается показывает также и номер кластера, соответствующего данному примеру;

• если в тестовой выборке остались неиспользованные примеры, алгоритм этапа повторяется с начала.

По окончании обоих этапов каждому кластеру в соответствие поставлены примеры из обучающей и тестовой выборок. Рассмотрим применение карты Кохонена в рамках данной работы.

3 Исследование данных

Изображения, необходимые для обучения, генерировались с помощью shell-скрипта следующего содержания:

• ! /bin/bash

for letter in {a..z} ; do

for font in ("Courier","Times-Roman", "Gentium","Droid-Sans","Cantarell-Bold"} ; do mkdir -p ${font} echo ${letter} ${font} for background in ("orange","peru","coral","aqua","pur ple"} ; do

for fill in ("snow","red","blue","lime","gold"} ; do

for size in

( 100. .200. .10} ; do

convert -background ${background} -fill ${fill} -font ${font} -size ${size}x label:${letter}

${font}/${letter} ${background} ${fi ll} ${size}.gif

done

done

done

done

done

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

применены разные алгоритмы

предварительной обработки данных и исследованы зависимости между

использованием этих методов и результатами обучения карты Кохонена.

Для выявления зависимости качества обучения от наличия предварительной обработки данных были использованы следующие методы предварительной обработки:

- применение оператора Собеля для выявления границ символов;

- перевод изображений в градации серого;

- обучение без предварительной обработки данных.

Прежде всего для каждого метода обработки высчитываются оптимальные Rкр (критические расстояния). Для этого вычисляются расстояния между

возрастающим количеством пар изображений (от 1 пары до 300) путём наложения изображений друг на друга и вычисления разницы между значениями цветов пикселей. За критические расстояния берутся значения, равные 60%, 70% и 80% от усреднённого значения полученных в предыдущем шаге расстояний.

Значения цветов в исходных изображениях представлены в виде 4 байт, отвечающих за компоненты красного, зелёного, синего цветов и компоненты прозрачности. Для удобства расчёта карты Кохонена цвет разбивается на 4 составляющие (например, вместо значения 0xABCDEF55 получаем 0хАВ, 0xCD, 0xEF, 0x55). Эти составляющие представляют собой 4 измерения евклидова пространства для каждого изображения. Это позволит нормализовать значение каждого пикселя в пределах от 0 до 1. Процесс нормализации в таком случае не зависит от наличия конкретных компонент в значении конкретного пикселя. Нормализация значений пикселей происходит до начала вычисления конкретных Rкр. После вычисления Rкр происходит обучение карты Кохонена.

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

изображении, потому при проведении тестирования возможно сравнение

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

сгенерирован для отображения.

Рассмотрим в отдельности каждый из вариантов обработки данных и результаты работы алгоритма с использованием каждого из них.

3.1 Оператор Собеля

Оператор Собеля представляет из себя дискретный дифференциальный оператор, который часто применяют к графическим изображениям для выделения границ объектов. В процессе работы оператор вычисляет аппроксимированное значение градиента яркости в каждой точке, которое и становится новым значением этого пикселя [Байгарова, 2002].

Для вычисления градиентов яркость изображения представляется как

дифференцируемая функция, для которой вычисляются производная и градиент в точках (пикселях). Вычисление градиента производится с помощью следующей свёртки изображения в каждой точке: /—1 -2 —1\ Gx = I 0 0 0 1хА (2.1) 121

-1 0 1 Су = I —2 0 2 ) х А

-1 0 1

где А - исходное изображение, а х и у являются номерами пикселей по горизонтали и вертикали, соответственно.

Это позволяет вычислить считать значение производной в точке равным

G =

и значение градиента равным

Gy

0 = агйап

Пример изображения, обработанного оператором Собеля, представлен на рис. 1 (до и после обработки).

Рис. 1. Пример изображения без обработки и изображения, обработанного оператором Собеля

Для данной работы была использована опция sobel пакета ImageMagick. После этого изображения конвертируются в цветовую схему градаций серого, как задумано по начальному алгоритму. Обработка же с помощью ImageMagick при выделении границ назначает им цвет в зависимости от нескольких факторов. Перевод же в чёрно-белый формат позволит уменьшить объём хранимых данных и ускорить их обработку.

Для изображений, обработанных оператором Собеля, были измерены расстояния между изображениями. Результаты измерений представлены в виде графика на рис. 2. По оси ОХ отложено количество используемых для измерений пар изображений. По оси OY показаны усреднённые значения расстояний. При этом на график для наглядности вынесены отсортированные значения.

О 100 200 300 ООО

Рис. 2. График расстояний между изображениями, обработанными оператором Собеля

Исходя из полученных данных, значения Rкp были выбраны равными 5, 10 и 15.

Относительно малые расстояния между изображениями в случае применения оператора Собеля объясняются малым

количеством значащих пикселей изображения - так как фон для всех изображений является чёрным (соответствует значению цвета 0x00000000), а серым выделены достаточно узкие границы объектов (символов), которые имеют близкие значения цветов. Из-за этого изображения оказываются схожими, что сокращает расстояние между изображениями и мешает качественной кластеризации.

3.2 Градации серого

Перевод изображений в градации серого позволяет для каждого изображения перевести все значения пикселей в одномерную величину, показывающую прозрачность конкретного пикселя. Благодаря этому упрощается поиск расстояний и ускоряется в целом обработка исходных данных. Для этого из значения цвета пикселя отбрасываются все байты, кроме последнего (например, 0xAABBCCFF переводится в 0xFF).

Для данной работы перевод изображений в градации серого также производился с помощью утилиты ImageMagick.

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

Пример изображения, переведённого в градации серого, представлен на Рис. 3.

Существенным недостатком изображений, переведённых в градации серого, являются

Рис. 3. Пример изображения без обработки и изображения, переведённого в градации серого

ситуации, в которых пиксели фона и символа на исходных изображениях имеют одинаковое значение прозрачности. В таком случае переведённые в градации серого изображения окажутся однотонными, и изображённые на них изначально объекты перестанут быть различимы.

Для изображений в градациях серого также был построен график усреднённых расстояний, изображённый на Рис. 4.

О 50 100 150 200 250 ЗОО

Рис. 4. График расстояний между изображениями, переведённых в градации серого

Рис. 5. График расстояний между изображениями без предварительной обработки

Исходя из полученных данных, значения Rкр были выбраны равными 6, 10 и 15.

Как видно по Рис. 4, значения расстояний на практике оказались меньше, чем при применении оператора Собеля. Однако при кластеризации и обучении карты Кохонена обработанные таким образом данные окажутся предпочтительнее.

Для компенсации недостатков обработок с помощью оператора Собеля и конвертации в градации серого возможно использование оператора Робертса, являющегося одним из

ранних алгоритмов выделения границ объектов в изображениях [Красильников Н.Н. 2011].

3.3 Данные без предварительной обработки

Для исключения недостатков всех вышеописанных алгоритмов необходимо было провести вычисление критических расстояний и обучение для исходных данных без использования методов предварительной обработки. Существенным недостатком такого подхода является высокое потребление ресурсов операционной системы - процессорного времени и используемой памяти. Однако потенциально это даёт наилучшие результаты ввиду отсутствия потерь информации. Помимо этого, обучение без предварительной обработки данных можно считать контрольным обучением, результаты которого являются верхней границей для результатов с использованием остальных методов. Таким образом, можно оценивать качество обучения с использованием того или иного метода предварительной обработки путём

вычисления отношения результатов обучения с обработкой к результатам обучения без неё.

График расстояний между парами исходных изображений приведён на Рис. 5.

Исходя из полученных данных, значения RKp были выбраны равными 20, 30 и 35.

4 Результаты

Для получения конечных результатов на разных видах изображений распознавались сгенерированные для них символы. База знаний, по которой производилось распознавание, заполнялась с помощью использования карты Кохонена и наложения друг на друга разных форматов изображений. При этом гарантировалась верная интерпретация результатов благодаря тому, что в процессе генерации становилось заранее известно, какой символ будет отображён на каждом изображении.

Результаты считались отдельно для каждого вида обработки данных и каждого различного Rkj, внутри них. Результатом в каждом случае стала относительная величина, показывающая процент верно распознанных символов относительно общего количества изображений.

Полученные результаты после 100 эпох обучения отображены в Табл. 1.

Как видно из Табл. 1, худшим образом алгоритм обучается при использовании оператора Собеля в качестве метода предварительной обработки. При этом наиболее близким к контрольному значению является результат обучения при использовании изображений, переведённых в градацию серого.

Табл. 2 показывает зависимость скорости обучения (прохождения одной эпохи) от используемого метода предварительной обработки. Указано среднее время для пятой эпохи обучения - обычно после неё скорость обучения перестаёт меняться значительным образом.

Табл. 2. Зависимость скорости обучения от используемого метода предварительной

обработки

Как видно по Табл. 2, обучение карты Кохонена без предварительной обработки данных нецелесообразно. При этом скорость обучения с использованием данных, обработанных оператором Собеля лишь в 1,6 раз выше, чем при переводе данных в градации серого. Тем временем, на данных, переведённых в градации серого, алгоритм обучается в 4,2 раза лучше, чем при использовании оператора Собеля.

Таким образом, очевидно, что перевод изображений в градации серого является оптимальным методом предварительной обработки изображений в случае

использования карты Кохонена в алгоритмах распознавания объектов с изображений. При этом в случаях, когда необходимо иметь возможность автоматически распознавать цвета объектов, стоит использовать исходные необработанные данные.

5 Заключение

Отдалённость полученных результатов от 100% объясняется тем, что для данной задачи (распознавание символов) использование карты Кохонена не в полной мере целесообразно (в силу принципов, заложенных в расчёт расстояния между изображениями). Однако все выявленные зависимости ярко отражают, какие методы предварительной обработки данных дают лучшие результаты при обучении карты Кохонена, и при каких данных нейросеть имеет наилучшую тенденцию к обучению.

Список литературы

Байгарова Н.С. и др. 2002. Некоторые подходы к организации содержательного поиска изображений и видеоинформации, Препринты ИПМ им. М.В.Келдыша РАН. № 78

Красильников Н.Н. 2011. Цифровая обработка 2D-и 3D-изображений. Россия, Санкт-Петербург.

Манжула В.Г., Федяшов Д.С. 2011. Нейронные сети Кохонена и нечеткие нейронные сети в интеллектуальном анализе данных. URL: https://www.fundamental-research.ru/ru/artide/view?id=21239

Название алгоритма обработки Скорость обучения (1 эпоха), мс

Оператор Собеля 17587

Градации серого 27993

Без обработки 80692

Табл. 1. Результаты обучения с использованием различных видов предварительной обработки

Название алгоритма ^кр Верно

обработки распознанные символы, %

Оператор Собеля 5 23

10 17

15 4

Градации серого 6 66

10 51

15 27

Без обработки 20 69

30 44

35 40