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

кандидата физико-математических наук
Ферцев, Александр Александрович
город
Саранск
год
2011
специальность ВАК РФ
05.13.18
цена
450 рублей
Диссертация по информатике, вычислительной технике и управлению на тему «Математическое моделирование распознавания образа предмета с помощью нейронных сетей»

Автореферат диссертации по теме "Математическое моделирование распознавания образа предмета с помощью нейронных сетей"

ФГБОУВПО «Мордовский государственный университет имени Н. П. Огарева»

МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ РАСПОЗНАВАНИЯ ОБРАЗА ПРЕДМЕТА С ПОМОЩЬЮ НЕЙРОННЫХ СЕТЕЙ

Специальность 05.13.18 - Математическое моделирование, численные методы и комплексы программ

АВТОРЕФЕРАТ

диссертации на соискание ученой степени кандидата физико-математических наук

На правах рукописи

005010434

ФЕРЦЕВ Александр Александрович

Саранск-2011

005010434

Работа выполнена на кафедре прикладной математики математического факультета Мордовского государственного университета им. Н.П. Огарева. Научный руководитель: доктор физико-математических паук

профессор

Дерюгин Юрий Николаевич

Официальные оппоненты: доктор физико-математических наук

профессор

Бойков Илья Владимирович

кандидат физико-математических паук

Рыжачкип Иван Петрович

Ведущая организация: Ульяновский государственный

технический университет Защита состоится 8 февраля 2012 г. в 14 ч 00 мин на заседании диссертационного совета Д212.117.14 при Мордовском государственном университете им. Н.П. Огарева, по адресу: г. Саранск, проспект Ленина, д. 15. ■

С диссертацией можно ознакомиться в библиотеке Мордовского государственного университета.

Автореферат разослан « 29 » 2011 г.

Отзывы и замечания по автореферату в двух экземплярах, заверенные печатью, просим высылать на имя ученого секретаря диссертационного совета по адресу: 430005, г. Саранск, ул. Большевистская, 68.

Ученый секретарь

диссертационного совета

кандидат физико-математических наук

Сухарев Л.А.

Общая характеристика работы

Актуальность работы обусловлена необходимостью разработки программ для управления автоматическими системами, участие человека в управлении которыми либо невозможно, либо нецелесообразно. К таким системам относятся различные системы компьютерного зрения, системы теленаведения, управления летательными аппаратами и тому подобные. Эффективность систем такого рода зависит от знаний, которыми они обладают. Эти знания не только чисто эмпирические (полученные опытным путем), но и эвристические - набор правил и рекомендации, которыми следует пользоваться в той или иной ситуации, возникающей в данной предметной области. Основным критерием при разработке подобных систем является их автономность при принятии решений. То есть, для принятия решений система может использовать лишь данные, полученные из окружающей среды, а также определенные правила и алгоритмы, запрограммированные заранее. Создание таких программных систем приводит к необходимости решения класса задач, ранее решаемых при непосредственном участии человека-эксперта. К подобным задачам относится задача по распознаванию образов предметов. Под образом предмета понимается отражение свойств реального объекта, в общем случае неполное. Это отражение дает исходные данные для задачи. Решение задачи распознавания есть отнесение исходных данных к определенному классу, то есть установление предмета, образом которого являются исходные данные. Задачи распознавания образов обладают следующими свойствами:

• невозможность алгоритмического решения (в силу плохой формализуемости самих задач или огромных затрат машинного времени);

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

• огромная размерность данных, плохо представимых в какой-либо наглядной форме;

• динамически меняющийся состав данных (в силу постоянного их

пополнения, изменения и развития);

• необходимость широкого использования в процессе решений

эвристических и эмпирических процедур, сформулированных экспертами;

• необходимость участия в процессе решения человека

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

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

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

нейронных сетей и устойчивость к различным флюктуациям входных данных -все это делает нейронные сети самым предпочтительным направлением для решения этих задач.

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

Методы исследования. В качестве метода решения задачи распознавания образов выбран метод на основе нейронных сетей прямого распространения. Для обучения нейронной сети прямого распространения был построен улучшенный метод обучения на основе метода Левенберга-Марквардта. Основу метода составляет классический метод Левенберга-Марквардта, который был существенно улучшен за счет применения таких подходов как: .

• регуляризация с помощыс байесовских гиперпараметров;

• инициализация параметров нейронной сети по методу Нгуена-Уидроу;

• предотвращение потери нейронной сетью генерализации с помощью метода раннего останова.

Улучшенный метод был реализован в виде параллельного алгоритма обучения с использованием вычислительных возможностей графического ускорителя. Разработана собственная реализация на графическом ускорителе метода обращения матриц с помощью Ы_!-разложения. На основе построенного алгоритма разработан программный комплекс, способный решать многие задачи классификации, что подтверждается результатами тестовых расчетов.

Научная новизна.

В данной работе предложена математическая модель распознавания образов с помощью нейронных сетей. Построена нейронная сеть прямого распространения с улучшенным алгоритмом обучения на основе метода Левекберга-Марквардта и предложен новый алгоритм обучения такой нейронной сети, основанный на методе Левенберга-Марквардта, регуляризации Байеса, инициализации Нгуена-Уидроу и методе раннего останова. Были созданы алгоритмы распараллеливания с использование графических ускорителей, которые позволили существенно повысить эффективность решения задач распознавания образов; в частности, предложена реализация алгоритма обращения матриц с помощью ьи-разложения на графических ускорителях. На основе построенной нейронной сети разработан программный комплекс с использованием вычислительных возможностей графических ускорителей. С помощью разработанного программного комплекса решены задачи распознавания образов.

Практическая значимость:

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

На защиту выносятся следующие положения и результаты:

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

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

• построенная нейронная сеть с эффективным алгоритмом обучения на основе метода Левенберга-Марквардта;

• алгоритмы распараллеливания с использованием графических ускорителей;

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

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

• результаты решения задачи распознавания образов и сравнительный анализ с другими работами.

Апробация результатов. Основные результаты докладывались и обсуждались на конференциях, семинарах и школах-семинарах:

• X международный семинар «Супервычисления и математическое моделирование» (Саров, 2008, 29 сентября - 2 октября);

• XII международный семинар «Супервычисления и математическое моделирование» (Саров, 2010, 11 - 15 октября);

• XIII международный семинар «Супервычислсния и математическое моделирование» (Саров, 2011,3 - 7 октября);

• VIII Международная научная конференция «Дифференциальные уравнения и их приложения» (Саранск, 2008,12 — 16 мая);

• IX научная конференция «Дифференциальные уравнения и их

приложения в математическом моделировании» с участием зарубежных ученых (Саранск, 2010, 1 - 3 июля); 1

• школа-семинар «Математическое моделирование, численные методы и комплексы программ» (Саранск, 2011, 1-13 июля);

• VI Международная научно-техническая конференция «Аналитические и численные методы моделирования естественнонаучных и социальных проблем» (Пенза, 2011, 25 - 29 октября).

Публикации. Основные результаты опубликованы в работах [В 1 ], [В2], [А1],[А2], [АЗ], [А4].

Структура и объем диссертации: диссертация состоит из введения, трех глав, заключения и списка цитируемой литературы. Общий объем диссертации -111 листов. Список литературы содержит 103 наименования.

Содержание работы

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

Первая глава посвящена моделям, алгоритмам и методам, использованным в данной работе для распознавания образов. Источником образов в данной работе служат результаты оптического сканирования предметов, находящихся в рассеивающей среде (например, в воде) с помощью технологии LIDAR (light detection and ranging). В результате такого сканирования будут получены зашумленные образы предметов. Поэтому, решение задачи распознавания таких образов можно разбить на 4 этапа:

1. формирование совокупности эталонных образов;

2. разработка и реализация алгоритма распознавания образов;

3. адаптация алгоритма к реальным входным данным;

4. проверка пригодности разработанного алгоритма для решения поставленной задачи — алгоритм должен с высокой вероятностью распознавать зашумленные образы.

Фактически, образами предмета в данной работе являются цифровые

изображения. Тогда задача распознавания образов эквивалентна задаче

распознавания изображений. В данной работе предлагается математическая

модель распознавания образа предмета с помощью нейронных сетей. Будем

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

матрицы пикселей А = [ау], { = 1, -, М,) = 1, -, N. ац = 0, - ,255.

Рассмотрим два пространства: пространство характеристик С и тематическое

пространство Т. Элементами пространства С являются п-мерные векторы,

представляющие собой наборы характеристик различных образов. Элементами

тематического пространства Т являются сами образы. Таким образом, задачей

распознавания образов будет задача построения классифицирующего

отображения К пространства характеристик С в тематическое пространство к

С -* Т. В рамках данной работы классифицирующее отображение - нейронная сеть прямого распространения. Нейронную сеть прямого распространения представим в виде четверки (а, в, Т, ¿), где а - функция активации нейрона, в = (01, ...,05)г - параметры нейронной сети, Т = (XI 1,... N -обучающая выборка (А'; - вектор входных данных, - желаемый выход сети),

Ь — совокупность слоев нейронной сети и правил соединения нейронов друг с другом. В данной работе каждый нейрон последующего слоя соединен с каждым нейроном предыдущего слоя. Выход каждого нейрона можно рассчитать по формуле

оиъ = а

ЩХ) \,тц е в

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

где уу -у'-тый компонент выхода сети на ('-той итерации, (1^ - _/-тьш компонент /-того желаемого выхода. В рамках математической модели распознавания образов обучение нейронной сети есть минимизация ошибки Е0. Под обучающим множеством будем понимать совокупность векторов характеристик, для которых известны их образы. Множество, предназначенное для проверки построенного отображения (нейронной сети), называется тестовым множеством. Тогда решением задачи распознавания будет обученная нейронная сеть, такая, для любого набора характеристик будут найдены соответствующие образы, либо установлено, что таких образов не существует.

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

Фурье может быть выражена следующей формулой: ¡/ = Р 1 (//(р(/))), гДе Ь — изображение после фильтрации, [ — исходное изображение, Р — прямое преобразование Фурье, Р-1 - обратное, Н - некий фильтр. Были реализованы три фильтра:

N Р

1 = 1 ] = 1

• Фильтр Гаусса низких частот: Н (и, р) = е

• Фильтр Гаусса высоких частот: И (и, и) = 1 - е г*2

• Лапласиан в частотной области: Я(и, г>) = ~(ц2 + и2)

Метод Левенберга-Марквардта был предложен в работах [1] и [2] как метод поиска минимума нелинейной функции. Пусть имеется выборка -множество пар свободной переменной х £ X с Ят и

зависимой переменной у 6 Я, и задана функция У(в,х), в Е 0 с Дп непрерывно дифференцируемая в области 0 х X. Требуется найти такой вектор весов в, который доставлял бы локальный минимум функции ошибки

1 "

Ео={£(У1-¥(9,хМ*

¿=1

Вектор Р(в) = [у, - УСв.хО....у„ - У(в,хн)]т - вектор невязки, тогда

|^(0)| - невязка н Е0 = ~|^(0)|2. Тогда, согласно [2], для оценки приращения функции в точке в + А9 можно использовать линейное приближение: У(9+Ав,х) = У(9,х)+}Ав где / - матрица Якоби для функции У(в,х). Такая оценка справедлива лишь в том случае, когда невязка Ц/7(б) || достаточно мала, то есть в точке достаточно близкой к точке минимума. Согласно [2], чтобы найти йв, надо решить уравнение

м - (0)

Матрица ] может оказаться существенно вырожденной, поэтому Марквардт в [2] предложил ввести параметр регуляризации Я > 0:

Д0 = С/г/ + МУг!тР(в) где / - единичная матрица. Кроме того, чтобы избежать чрезмерного влияния градиента Уг/Г(б) на шаг метода при поиске минимума, в [2] предложено заменить единичную матрицу диагональю матрицы Гессе:

А9 = (]т] + Мшд(]тП)~1]Тр(В-)

В настоящей работе для обучения такой нейронной сети применен алгоритм на основе метода Левенберга-Марквардта. Это г метод был применен для обучения нейронных сетей, например в [3], [4], [5], [6]. В качестве уточнения математической модели распознавания образов, согласно [4] и [7],

нейронную сеть прямого распространения можно представить в виде вектор-функции вектор-аргумента:

У = У(Х,в) (1)

где X = (*!,...,хп) - входные данные, в = - веса сети, У =

(у1,...,ур) - выход сети. Тогда ошибка сети за одну эпоху будет выражаться формулой:

N V

т=\'%%Уи-<1ч)г (2)

¡=1 ;=1

где <1ц - желаемый выход } - того выходного нейрона для I - того элемента обучающего множества. Пусть Е = (ёц, ..., е1р, е^1(..., еЛ'Р) - вектор невязки для нейронной сети, где £[у = у;;- - ¿¡у. Тогда:

Г(0) = ЕТЕ

Как было показано выше, приращение весов нейронной сети следует искать в виде решения уравнения:

{]т1 +ЛсИадЦт]))М =]ТЕ (3)

В рамках данной работы реализовано обучение нейронной сети, состоящей из трех слоев: входного (п нейронов), скрытого (т нейронов) и выходного (р нейронов). На каждом слое присутствует нейрон, называемый пороговым нейроном или смещением, выход которого, в отличие от обычного нейрона, всегда равен единице. Для нейронной сети с одним скрытым слоем формула (1) примет вид:

У = У(Х, 0) = о^^о^^Х + В&) + В®) где - матрица весов нейронов скрытого слоя, IV ^ - матрица весов выходного слоя, б(1) - веса пороговых нейронов скрытого слоя, - веса пороговых нейронов выходного слоя. Тогда элементы матрицы Якоби будут иметь следующий вид.

Если 6Г есть вес нейрона скрытого слоя, то есть вг = \vfij,, тогда

где хк - выход к - того нейрона скрытого слоя, а'(') ~ значение производной функции активации в точке

Если 0Г есть вес нейрона выходного слоя, то есть вг = IV .у, тогда

тогда

(5)

Если вг есть вес порогового нейрона скрытого слоя, то есть вг = Ь^Р,

= (у (|] ^ а' (2 (6)

Если 9Г есть вес порогового нейрона выходного слоя, то есть вг = Ь^?\

тогда

Мг~дЬ? ^ / (?)

1 I 0,1*1'

Сходный вид элементов матрицы Якоби получен в [5] и [8].

Таким образом, алгоритм обучения нейронной сети на основе метода Левенберга-Марквардта будет иметь следующий вид:

1. Вычислить ошибку сети за одну эпоху по формуле (2)

2. Вычислить элементы матрицы Якоби по формулам (4) - (7)

3. Решить уравнение (3) и вычислить ошибку сети для вновь

полученных весов сети. Если ошибка уменьшилась - перейти к шагу 5, иначе - перейти к шагу 4.

4. Вернуться к прежним значениям весов сети и увеличить регуляризующий параметр Я (обычно увеличивают в 10 раз). Перейти к шагу 3.

5. Принять полученные значения весов сети, уменьшить значение параметра Я (обычно уменьшают также в 10 раз) и перейти к новой эпохе обучения.

Такой алгоритм имеет существенные недостатки:

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

2. Алгоритм очень чувствителен к выбору начальных значений весов

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

Для устранения первого недостатка алгоритма в работе был применен метод, предложенный МакКеем (David МасКау) в работе [9] и развитый в работе [10]. Суть метода, предложенного в этих работах переходе от поиска точки минимума среднеквадратической ошибки, вычисляемой по формуле (2), к поиску минимума функции, выражаемой формулой:

F (Y) = <хЕв + РЕ0 где Ев - ошибка сети, Eg - сумма квадратов весов сети, аир -гиперпараметры. В данной работе для вычисления гиперпараметров а и /? используются формулы, предложенные Поландом (Jan Poland) в работе [11]:

у = S - a trace^H]-1)

а=___________Z_________

“ 2 Ew + trace^H]'1)

Для устранения второго недостатка, то есть для инициализации и преобразования весов сети используется модифицированный метод Нгуена-Уидроу, предложенный в работе [12]. Вначале, все веса сети инициализируются случайными значениями, равномерно распределенными на отрезке [—1,1]. Затем каждый вес нормируется. После этого, веса подвергаются следующему преобразованию:

!С = 0.7тР^

и?и = Си/у

где т - количество нейронов текущего слоя, р - количество нейронов предыдущего слоя.

Одним из наиболее важных моментов в обучении нейронных сетей является выбор критериев остановки обучения и оценка их эффективности. Чтобы избежать потери нейронной сетью свойства генерализации и сократить число эпох обучения был применен так называемый «метод раннего останова». В данной работе в качестве критерия останова сформулировано следующее правило: обучение следует останавливать, когда ошибка на тестовом множестве £»а(0 уменьшилась до определенного значения. В качестве ошибки на тестовом множестве выбран процент правильно распознанных элементов тестового множества. Тогда критерий останова можно выразить формулой: Ъа(0<и,ме [0,100]

В главе 3 было проведено исследование с целью выявить наиболее предпочтительную величину порога останова ц для конкретной практической задачи.

Во второй главе рассматривается разработанный программный комплекс ImageRecognizer. Первая часть главы посвящена вычислениям с использованием возможностей графических ускорителей. В данной работе вычисления на графических ускорителях производятся посредством технологии США, представленной компанией МУШ1А в 2006 году. Вычислительная

модель вРи на верхнем уровне представляет собой сетку размерности N1 х N2 X N3. Каждый блок, в свою очередь, состоит из множества нитей, непосредственно производящих вычисления. Нити одного блока объединены в трехмерный массив размерности Л/1 X М2 X М3. Нити объединяются в группы, называемые \varp. В С1ЮА выделяют шесть видов памяти. Типы памяти различаются по быстродействию, доступности данных и типам хранимых данных. В работах [13] и [14] приводится сравнение производительности С1ША и известной реализации стандарта МР1 - ОрепМР. Тестирование проводилось для задачи симуляции эволюции системы частиц. Тесты показали, что производительность графического ускорителя с СиВА примерно на 13% выше, чем центрального процессора при использовании ОрепМР. В работе [14] приводится несколько иная разница в производительности - от 13% до 63%.

Для решения задачи распознавания изображений был создан программный комплекс 1та§еКесо§Ш2ег. Программный комплекс состоит из трех основных модулей: модуля фильтрации изображений (МРШег), модуля извлечения характеристик изображений (М1п^еРеа1игез) и главного модуля -М№ига1, создающего и обучающего нейронную сеть для распознавания изображений. Общая схема работы программного комплекса следующая. Вначале модуль МБШег осуществляет фильтрацию загруженного изображения. Результаты работы модуля МРШег передаются модулю М1п^еРеа1иге8 для извлечения характеристик изображения. Характеристики поступают в модуль М№ига1, который с помощью нейронной сети определяет эталон для исходного изображения. Модуль МБШег производит фильтрацию изображений с помощью библиотеки СиБЕТ, которая позволяет перенести вычисления преобразования Фурье на графический ускоритель, что существенно ускоряет вычисления. Модуль МГп^еРеаШгеБ обрабатывает изображения для получения исходных данных в виде текстовых файлов. В качестве характеристик используются средние яркости сегментов изображения размером 8x8 пикселей. Работа модуля МЫсига! начинается с построения нейронной сети прямого распространения и

загрузки входных данных для обучения из указанных файлов. Затем производится инициализация весов и параметра регуляризации Л - 0.001. Каждая эпоха обучения начинается с предъявления нейронной сети всех элементов обучающего множества, вычисления ошибок нейронной сети и части матрицы Якоби. После этого вычисляется градиент и аппроксимированная матрица Гессе. При использовании возможностей графического ускорителя для всех операций матричной алгебры вызываются функции, использующие библиотеку CUBLAS. После вычисления начального значения целевой функции начинает работу алгоритм на основе метода Лсвенберга-Марквардта. Для решения уравнения (3) в модуле MNeural применяется обращение матрицы, поскольку для пересчета пшерпараметров Байесовской регуляризации необходимо вычислить сумму диагональных элементов матрицы, обратной аппроксимированной матрице Fессе. Для нахождения обратной матрицы применяется собственная реализация алгоритма обращения матрицы с помощью блочного LU-разложения исходной матрицы с использованием возможностей графического ускорителя.

Было проведено тестирование программного комплекса Image Recognizer на трех известных задачах классификации:

1. Классификация цветковых растений рода «Ирис» по трем видам;

2. Классификация рака легкого по трем типам;

3. Классификация подводных объектов по сигналам, полученным

гидролокатора при сканировании морского дна.

Данные для всех задач были взяты из открытого хранилища «UCI Machine Learning Repository» [15]. Тестирование показало, что программный комплекс Image Recognizer способен эффективно решать многие задачи классификации. Кроме того, решение третьей тестовой задачи показало, что построенная сеть прямого распространения существенно превосходит классические нейронные сети обратного распространения.

В третьей главе рассматривается решение практической задачи распознавания зашумленных изображений. Будем работать с изображениями в формате Windows Bitmap Picture (тип image/x-ms-bmp по стандарту MIME), палитра которых содержит 256 оттенков серого, битность (количество бит, кодирующих один пиксель) изображения равняется 8. Не умаляя общности, будем считать, что изображения подвергнуты улучшению с помощью модуля MFilter программного комплекса. Пусть во множестве изображений ¡Set все изображения имеют одинаковый размер 64 X 64 пикселя. На каждом изображении присутствует образ из множества образов SSet, принадлежащего тематическому пространству. Положение образа на изображении не изменяется в зависимости от изображения, различные деформации - поворот, растяжение, сжатие - отсутствуют. В качестве образов для практической реализации был взят набор 26 латинских букв и 10 цифр, начертанных стандартным шрифтом Arial. На изображениях образы были помещены в центре. Пусть имеется обучающее множество TSet, каждый элемент которого представляет собой пару Q,S),l е lSet,S € SSet, Необходимо для каждого изображения множества ¡Set установить соответствующий образ из множества SSet с помощью множества TSet. Под зашумленными изображениями будем понимать изображения, часть пикселей которых заменена пикселями со случайными яркостями, распределенными равномерно в диапазоне [0,255]. Отношение количества замененных пикселей к общему количеству пикселей изображения называется долей или уровнем шума. Для распознавания изображений с помощью модуля MNeural была построена нейронная сеть прямого распространения. Входной слой нейронной сети содержал 64 нейрона, скрытый слой - от 6 до 24 нейронов, выходной слой - 6 нейронов. Вектор выходов рассматривается как представление номера эталона в двоичной системе счисления. Для тестирования нейронной сети было создано тестовая совокупность VSet из 36000 элементов: для каждого эталона было создано 100 зашумленных изображений, каждое зашумленное изображение представлено в

10 различных вариантах. Будем считать, что ' элемент обучающего или тестового множеств распознан нейронной сетью, если среднеквадратическая ошибка нейронной сети на этом элементе не превышает 0.3. Для выяснения оптимальных параметров нейронной сети при решении поставленной задачи были проведены расчеты четырех типов:

• Расчет Т1 - сравнение результатов тестирования нейронной сети,

обученной на разных обучающих выборках.

• Расчет Т2 - сравнение результатов тестирования нейронной сети,

обученной с различными порогами раннего останова.

• Расчет ТЗ - сравнение результатов тестирования нейронной сети с

различным количеством нейронов скрытого слоя.

• Расчет Т4 - сравнение производительности модуля МЫеига1 для

различной размерности нейронной сети с оптимальными параметрами при использовании возможностей графического ускорителя и при использовании только центрального процессора.

В каждом расчете лучшей признавалась нейронная сеть, обученная за наименьшее количество эпох и способная распознавать наиболее зашумленные изображения. Расчет Т1 показал, что наилучшие результаты дает нейронная сеть, обученная на выборке, состоящей из не зашумленных эталонов и зашумленных с уровнем шума 20%. Похожие результаты приведены в работе [16]. В результате расчета Т2 было выявлено наиболее предпочтительное значение порога раннего останова - 92%. Расчет ТЗ подтвердил утверждения, выдвинутые в работе [17] - минимизация количества нейронов в скрытом слое нейронной сети не приводит к улучшению качества распознавания. Наилучшие результаты демонстрировались нейронной сетью с 9 нейронами в скрытом слое. Нейронная сеть с наиболее предпочтительными параметрами распознавала зашумленные изображения с уровнем шума до 38% с ошибкой, не превышающей 10%, и с уровнем шума до 45% - с ошибкой, не превышающей

20%. С помощью расчета Т4 были продемонстрированы преимущества использования графических ускорителей для вычислений. В таблице 1 приведено среднее время обучения нейронной сети с переменным числом нейронов скрытого слоя - от 6 до 24 с шагом в 3 нейрона.

Таблица 1. Общее время обучения (секунд)

Количество скрытых нейронов 6 9 12 15 18 21 24

CPU 74,4 531,96 1056,9 2237,22 4573,8 9381,54 19802,58

GPU 8,752 25,063 49,92 65,76 92,22 142,56 179,82

То есть, с ростом размерности нейронной сети коэффициент ускорения при использовании графического ускорителя возрастает многократно - с 8.5 для нейронной сети с 6 скрытыми нейронами до 110 для нейронной сети с 24 скрытыми нейронами. Ускорение обучения нейронной сети, достигнутое в данной работе, превышает аналогичные результаты других авторов - [18], [19]. В частности, в работе [18], ускорение при обучении нейронной сети размерности сходной с сетью с девятью скрытыми нейронами данной работы, равнялось 7,8 раз. В [19] было достигнуто максимальное ускорение в 63 раза для нейронной сети с 25 скрытыми нейронами, что существенно меньше ускорения, достигнутого в данной работе.

В заключении говорится об основных результатах полученных в данной работе. Предложена математическая модель распознавания образов с помощью нейронных сетей. Построена нейронная сеть прямого распространения ошибки, обучаемая по улучшенному алгоритму на основе метода Левенберга-Марквардта. Разработан программный комплекс Image Recognizer с использованием построенной нейронной сети прямого распространения и возможностей графического ускорителя. Определены наиболее предпочтительные параметры программного комплекса при решении задач распознавания образов. Была успешно решена поставленная практическая

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

Публикации в изданиях, рекомендованных ВАК

В1. Ферцев A.A. Практическая реализация распознавания образа предмета с помощью нейронных сетей // Вопросы атомной науки и техники: серия «Математическое моделирование физических процессов». 2012. № 1. С. 66-75.

В2. Ферцев A.A. Реализация нейронной сети для распознавания изображений с помощью технологии NVIDIA CUDA // Прикладная информатика. 2011. № 6(36). С. 102-110.

Публикации в других изданиях

А1. Ферцев A.A. Восстановление образа предмета с помощью нейронных сетей // Журнал Средневолжского математического общества. 2008. Т. 10. №2. С. 202-212.

А2. Ферцев A.A. Об одном методе сегментации растровых изображений с помощью нейронных сетей встречного распространения // Журнал Средневолжского математического общества. 2010. Т. 12. Ха 1. С. 86-91. A3. Ферцев A.A. Распознавание изображений с помощью нейронной сети и технологии NVIDIA CUDA // Аналитические и численные методы моделирования естественно научных и социальных проблем, сборник статей VI Международной научно-технической конференции. 2011. С. 156-158.

A4. Ферцев A.A. Распознавание образа предмета с помощью нейронных сетей // Труды XII международного семинара “Супервычисления и математическое моделирование” 2010. С. 367-374.

Цитированная литература

1. Levenberg К. A Method for the Solution of Certain Non-Linear Problems in Least Squares // The Quarterly of Applied Mathematics. 1944. T. 2. C. 164-168.

2. Marquardt D. An Algorithm for Least-Squares Estimation of Nonlinear Parameters // SIAM Journal on Applied Mathematics. 1963. Т. 11. № 2. C. 431-441.

3. Andersen T.J., Wilamowski B.M. A Modified Regression Algorithm for Fast One Layer Neural Network Training // World Congress of Neural Networks. Washington DC, USA:, 1995. C. 687-690.

4. Hagan M.T., Menhaj M. Training feedforward networks with the Marquardt algorithm // IEEE Transactions on Neural Networks. 1994. T. 5. № 6. C. 989-993.

5. Xu J., Ho D.W.C., Zheng Y. A Constructive Algorithm for Feedforward Neural Networks // Control Conference. Shanghai: Inst, of Syst. Sci., East China Normal Univ., 2004. C. 659-664.

6. Suratgar A.A., Bagher М., Hoseinabadi A. Modified Levenbcrg-Marquardt Method for Neural Networks Training // Engineering and Technology. 2005. T. 6.

7. Wilamowski B.M., Chen Y., Malinowski A. Efficient Algorithm for Training Neural Networks with one Hidden Layer// IJCNN. Laramie, WY, USA: IEEE, 1999. C. 1725-1728.

8. Wilamowski B.M. и др. Computing Gradient Vector and Jacobian Matrix in Arbitrarily Connected Neural Networks // IEEE Transactions On Industrial Electronics. 2008. T. 55. № 10. C. 3784-3790.

9. MacKay D. A practical Bayesian framework for backpropagation networks // Neural Computation. 1992. T. 4. C. 448-472.

10. Foresee D., Hagan M. Gauss-Newton approximation to Bayesian learning //

International Conference on Neural Networks. Houston, USA: IEEE, 1997. C. 19301935. ,

11. Poland J. On the Robustness of Update Strategies for the Bayesian Hyperparameter alpha [Электронный ресурс]. URL: http://www-alg.ist.hokudai.ac.jp/~jan/alpha.pdf.

12. Pavelka A., Prochazka A. Algorithms for initialization of neural network weights // Sbomik prispevku 12. rocniku konference MATLAB. 2004. T. 2. C. 453-459.

13. Боголепов Д., Захаров М. Сравнение OpenCL с CUDA, GLSL и ОрепМР [Электронный ресурс]. URL: http://habrahabr.ru/blogs/hi/96122/.

14. Karimi К., Dickson N.G., Firas Н. A Performance Comparison of CUDA and OpenCL.

15. UC Irvine Machine Learning Repository [Электронный ресурс]. URL: http://archive.ics.uci.edu/ml/machine-learning-databases/.

16. Mashor M.Y., Sulaiman S.N. Recognition of Noisy Numerals using Neural

Network// International Journal of the computer, the internet and management. 2001. T. 9. №3.C. 158-164. '

17. Kinson J.M. Minimum number of hidden neurons does not necessarily provide the best generalization // Applications and Science of Computational Intelligence III. 2000. T. 4055. C. 11-17.

18. Honghoon J., Anjin P., Keechul J. Neural Network Implementation Using CUDA

and OpenMP // DICTA, Computing: Techniques and Applications. Canberra: IEEE, 2008. C. 155-161. :

19. Sierra-Canto X., Madera-Ramirez F„ Cetina V.U. Parallel Training of a BackPropagation Neural Network Using CUDA // Ninth International Conference on Machine Learning and Applications. Washington, DC: IEEE, 2010. C. 307-312.

Подписано в печать 28.12.11. Объем 1,5 п. л. Тираж 120 экз. Заказ № 33.

Типография Издательства Мордовского университета 430005, г. Саранск, ул. Советская, 24

Текст работы Ферцев, Александр Александрович, диссертация по теме Математическое моделирование, численные методы и комплексы программ

61 12-1/350

ФГБОУ ВПО «Мордовский государственный университет

имени Н. П. Огарева»

На правах рукодиеи

Ферцев Александр Александрович

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

Специальность 05.13.18 - Математическое моделирование, численные методы и комплексы программ

Диссертация на соискание ученой степени кандидата физико-математических наук

Научный руководитель д. ф.-м. н., профессор Дерюгин Ю.Н.

Саранск - 2011

Содержание

Введение...................................................................................................................3

1. Глава 1. Алгоритм распознавания образов.................................................13

1.1. Постановка задачи.........................................................................................13

1.2. Математическая модель................................................................................15

1.3. Улучшение изображений при помощи фильтров......................................19

1.4. Нейронная сеть обратного распространения..............................................23

1.5. Модифицированный численный метод Левенберга-Марквардта............29

1.6. Нейронная сеть прямого распространения.................................................32

1.7. Байесовская регуляризация..........................................................................37

1.8. Инициализация Нгуена-Уидроу...................................................................39

1.9. Метод раннего останова...............................................................................41

2. Глава 2. Программный комплекс ImageRecognizer....................................44

2.1. Параллельные вычисления на графическом ускорителе...........................44

2.2. Описание программного комплекса............................................................52

2.3. Тестирование программного комплекса.....................................................66

3. Глава 3. Задача распознавания изображений с помощью нейронных сетей ...............................................................................................................82

3.1. Постановка задачи.........................................................................................82

3.2. Результаты расчета Т1..................................................................................85

3.3. Результаты расчета Т2..................................................................................91

3.4. Результаты расчета ТЗ..................................................................................93

3.5. Результаты расчета Т4..................................................................................96

Заключение...........................................................................................................102

Литература............................................................................................................104

Введение

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

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

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

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

В самом общем случае под образом предмета понимается отражение свойств реального объекта, в общем случае неполное. Это отражение дает исходные данные для задачи. Решение задачи распознавания есть отнесение исходных данных к определенному классу, то есть установление предмета, образом которого являются исходные данные. В общем случае образ предмета - его искаженное, зашумленное и неполное представление. Таким образом, задачи распознавания образов обладают следующими свойствами:

• невозможность алгоритмического решения (в силу плохой формализуемости самих задач или огромных затрат машинного времени);

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

• огромная размерность данных, плохо представимых в какой-либо наглядной форме;

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

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

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

вопросы привносит дополнительную информацию и выбирает альтернативные пути принятия решения.

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

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

Обзор литературы. Нейронные сети впервые были введены в рассмотрение МакКаллохом и Питтсом 1943 году в [1] и получили развитие в работе [2] Розенблатта. Это были простейшие однослойные нейронные сети. В 1949 Хебб предложил первый алгоритм обучения нейронной сети в [3]. Для решения практических задач нейронные сети практически не

5

применялись, поскольку, как справедливо отмечал в своей работе [4] Минский, они были не способны решить некоторые простейшие задачи (например, реализовать функцию «исключающее ИЛИ»). Интерес к нейронным сетям возродился в конце 80-х годов прошлого века после повторного изобретения Румельхартом метода обратного распространения ошибки [5], предложенного еще в 1974 году Галушкиным [6] и Вербосом [7]. Рост интереса к нейронным сетям совпал с бурным развитием вычислительной техники, поскольку обучение большинства нейронных сетей требует существенных вычислительных затрат. Появляется множество новых моделей нейронных сетей различного назначения.

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

Этот метод имеет ряд существенных недостатков, значительно снижающих его применимость. Первым усовершенствованием метода было введение зависимости искомых изменений параметров от найденных на предыдущем этапе обучения в работах [5] и [8]. Это привело лишь к незначительному улучшению метода. Затем последовали другие эвристические подходы - переменная скорость обучения [9] и стохастическое обучение [10], которые также не добились существенного улучшения метода. Метод был значительно улучшен с помощью искусственного увеличения ошибки нейронов из области насыщения. Такой подход описан в работах [11], [12], [13] и [14]. Однако, наиболее значительные улучшения классического алгоритма обратного

распространения ошибки были достигнуты с помощью методов второго порядка - метода Ньютона [15], сопряженных градиентов [16], и метода Левенберга-Марквардта [17]. В частности, в работе [17] доказывается, что метод Левенберга-Марквардта является наиболее эффективным.

Несмотря на свою эффективность, метод Левенберга-Марквардта требует больших вычислительных затрат. Для обеспечения практической применимости метода необходимо максимально снизить время его работы для нейронных сетей большой размерности. Достичь такой цели можно только одним способом - прибегнуть к параллельным вычислениям. В настоящее время технологии параллельных вычислений посвящено большое количество работ: [18], [19], [20], [21]. С 2007 года одним из наиболее быстро развивающихся направлений в этой области являются параллельные вычисления с использованием графических ускорителей [22], [23]. Главным преимуществом графических ускорителей является высокая производительность при решении большого класса вычислительных задач и относительно низкая стоимость аппаратного обеспечения.

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

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

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

• тестирование разработанного программного комплекса на известных задачах;

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

Методы исследования. В данной работе для обучения нейронной сети прямого распространения был построен метод обучения на основе метода Левенберга-Марквардта. Метод основан на модифицированном классическом численном методе Левенберга-Марквардта. Модификация реализована за счет применения ряда подходов:

• регуляризация с помощью байесовских гиперпараметров;

• инициализация параметров нейронной сети на основе метода Нгуена-Уидроу;

• предотвращение потери нейронной сетью генерализации методом раннего останова.

Численный метод был реализован в виде параллельного алгоритма обучения с использованием вычислительных возможностей графического ускорителя. Разработана собственная реализация на графическом ускорителе численного метода обращения матриц, основанного на Ьи-разложении. На основе построенного алгоритма разработан программный комплекс, способный решать многие задачи классификации, что подтверждается результатами тестовых расчетов.

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

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

• предложен новый алгоритм обучения нейронной сети прямого распространения, основанный на численном методе Левенберга-Марквардта, регуляризации Байеса, инициализации Нгуена-Уидроу и методе раннего останова;

• построена нейронная сеть прямого распространения с модифицированным алгоритмом обучения на основе численного метода Левенберга-Марквардта;

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

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

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

Практическая значимость:

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

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

Основные положения, выносимые на защиту:

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

• новый алгоритм обучения нейронной сети прямого распространения, основанный на модифицированном численном методе Левенберга-Марквардта;

• построенная нейронная сеть с эффективным алгоритмом обучения на основе модифицированного численного метода Левенберга-Марквардта;

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

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

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

• результаты решения задачи распознавания образов и сравнительный анализ с другими работами.

Апробация результатов. Основные результаты докладывались и обсуждались на конференциях, семинарах и школах-семинарах:

• X международный семинар «Супервычисления и математическое моделирование» (Саров, 2008, 29 сентября - 2 октября);

• XII международный семинар «Супервычисления и математическое моделирование» (Саров, 2010, 11 - 15 октября);

• XIII международный семинар «Супервычисления и математическое моделирование» (Саров, 2011, 3 - 7 октября);

• VIII Международная научная конференция «Дифференциальные уравнения и их приложения» (Саранск, 2008, 12- 16 мая);

• IX научная конференция «Дифференциальные уравнения и их приложения в математическом моделировании» с участием зарубежных ученых (Саранск, 2010, 1 - 3 июля);

• школа-семинар «Математическое моделирование, численные методы и комплексы программ» (Саранск, 2011, 1 - 13 июля);

• VI Международная научно-техническая конференция «Аналитические и численные методы моделирования естественнонаучных и социальных проблем» (Пенза, 2011, 25 - 29 октября).

Публикации. Основные результаты опубликованы в работах [24], [25], [26], [27], [28], [29].

Структура и объем диссертации: диссертация состоит из введения, трех глав, заключения и списка цитируемой литературы. Общий объем диссертации - 111 листов. Список литературы содержит 103 наименования.

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