Разработка нейросетевых алгоритмов инвариантного

advertisement
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ
ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение
высшего профессионального образования
«СЕВЕРО-КАВКАЗСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ»
На правах рукописи
НЕМКОВ РОМАН МИХАЙЛОВИЧ
РАЗРАБОТКА НЕЙРОСЕТЕВЫХ АЛГОРИТМОВ ИНВАРИАНТНОГО
РАСПОЗНАВАНИЯ ОБРАЗОВ
Специальность 05.13.18 – Математическое моделирование,
численные методы и комплексы программ
Диссертация на соискание ученой степени
кандидата технических наук
Научный руководитель:
кандидат физ.-мат. наук
Мезенцева О.С.
Ставрополь – 2015
2
ОГЛАВЛЕНИЕ
ВВЕДЕНИЕ ...................................................................................................................... 4
ГЛАВА 1 ОБЗОР СОСТОЯНИЯ ПРОБЛЕМЫ И ПОСТАНОВКА ЗАДАЧ
ИССЛЕДОВАНИЯ ........................................................................................................ 11
1.1 Исследование проблемы инвариантного распознавания образов .................. 11
1.2 Исследование математических методов распознавания изображений .......... 17
1.3 Анализ архитектур сверточных нейронных сетей............................................ 25
1.4 Анализ алгоритмов обучения сверточных нейронный сетей .......................... 35
1.5 Анализ программно-аппаратных комплексов распознавания изображений . 44
1.6 Выводы .................................................................................................................. 49
ГЛАВА 2. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ СВЕРТОЧНОЙ
НЕЙРОННОЙ СЕТИ С РЕЦЕПТИВНЫМИ ПОЛЯМИ НЕСТАНДАРТНОЙ
ФОРМЫ .......................................................................................................................... 51
2.1 Алгоритм изменения формы рецептивных полей для различных комбинаций
сверточных слоёв СНС .............................................................................................. 51
2.2 Метод синтеза параметров математической модели СНС с помощью
расширенного обучающего множества, генерируемого изменением её
рецептивных полей .................................................................................................... 62
2.3 Разработка алгоритма синтеза параметров СНС с расширенным обучающим
множеством ................................................................................................................. 64
2.4 Выводы .................................................................................................................. 67
ГЛАВА
3
ЧИСЛЕННЫЙ
МЕТОД
РЕДУКЦИИ
РАСШИРЕННОГО
ОБУЧАЮЩЕГО МНОЖЕСТВА ДЛЯ УСКОРЕНИЯ ОБУЧЕНИЯ СВЕРТОЧНОЙ
НЕЙРОННОЙ СЕТИ..................................................................................................... 68
3.1 Метод редукции расширенного обучающего множества ................................ 68
3.2 Численные алгоритм редукции расширенного обучающего множества ....... 75
3.3 Выводы .................................................................................................................. 79
3
ГЛАВА 4. ЭКСПЕРИМЕНТЫ ПО ОБУЧЕНИЮ И ТЕСТИРОВАНИЮ
СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ ДЛЯ ЗАДАЧИ РАСПОЗНАВАНИЯ
ИЗОБРАЖЕНИЙ ........................................................................................................... 80
4.1 Общая структура программно-аппаратного комплекса для распознавания
объектов ...................................................................................................................... 80
4.2 Модуль создания и обучения сверточной нейронной сети ............................. 83
4.3 Обучающие выборки, использующиеся в экспериментах............................... 87
4.4 Эксперименты с выбором базовых параметров для СНС ............................... 91
4.4.1 Эксперименты с выбором функций активации для нейронов СНС ......... 93
4.4.2 Эксперименты по выбору типа нормировки для входных значений СНС
................................................................................................................................... 95
4.4.3 Эксперименты по выбору способа инициализации настраиваемых
параметров СНС ...................................................................................................... 98
4.4.4 Выводы ............................................................................................................ 99
4.5 Эксперименты по оценки эффективности метода синтеза параметров
математической модели СНС с расширенным обучающим множеством и
численного метода редукции расширенного обучающего множества .............. 100
4.5.1 Эксперименты на тестовых выборках для инвариантного распознавания
................................................................................................................................. 101
4.5.2 Эксперименты по распознаванию объектов на стенде «Мехатроника» 109
4.6 Выводы ................................................................................................................ 115
ЗАКЛЮЧЕНИЕ ........................................................................................................... 117
Список литературы ..................................................................................................... 119
ПРИЛОЖЕНИЕ А ....................................................................................................... 136
ПРИЛОЖЕНИЕ Б ........................................................................................................ 145
4
ВВЕДЕНИЕ
Актуальность проблемы и направление исследований. Инвариантное
распознавание изображений является ключевым направлением в области
распознавания образов. Оно применяется в распознавании лиц, букв, цифр,
биометрических данных человека, снимков со спутников и космических
телескопов, дорожных знаков, автомобильных номеров, в военной области и
гражданской промышленности.
Несмотря на значительный успех, распознавание изображений только в
некоторых областях способно по качеству результата сравниться или превзойти
когнитивную функцию восприятия у человека. В целом, задача инвариантного
распознавания изображения до сих пор не решена.
Существуют
различные
методы
для
инвариантного
распознавания
изображений: потенциальные функции, байесовские сети, Марковские сети,
искусственные нейронные сети, различные виды ассоциативной памяти и др.
В настоящее время для инвариантного распознавания изображений
наилучшие результаты показывают стохастические модели, а именно, подкласс
искусственных нейронных сетей (ИНС) – сверточные нейронные сети (СНС), с
помощью которых получают результаты в среднем лучше на 10%–15%. Однако,
обучение ИНС – это плохо обусловленная (некорректная) обратная задача.
Плохая обусловленность означает, что даже большой набор данных может нести в
себе малый объем информации о решаемой задаче. Поэтому ключевая роль в
процессе
синтеза
параметров
конкретной
математической
модели
ИНС
принадлежит обучающим данным. Составление же репрезентативной обучающей
выборки является одной из самых сложных задач в машинном обучении.
Известно несколько альтернатив увеличения качества инвариантного
распознавания без создания человеком большой репрезентативной выборки:
1.
Использование специальных алгоритмов, которые перед обучением
расширяют обучающее множество, составленное человеком. Однако, настройка,
5
подбор алгоритмов и получаемого размера множества становятся очень трудным
этапом.
2.
Использование регуляризации. Основной недостаток – более сложное
обучение и трудность выработки устойчивости сети к требуемым искажениям.
3.
Изменение внутренних параметров математической модели сети:
искажения, накладываемые на вектор антиградиента, на настраиваемые веса сети,
временное исключение некоторых нейронов или связей между ними во время
обучения сети. Это позволяет решать в основном прикладные задачи:
препятствовать переобучению, вырабатывать устойчивость работы сети к
возможным отказам некоторых элементов. Увеличение обобщающей способности
– лишь косвенное следствие применения подобных решений.
Предлагается за счёт изменения таких внутренних параметров СНС, как
форма рецептивных полей (РП), создавать искажения по отношению к текущему
паттерну, тем самым получая новые паттерны и расширяя обучающую выборку.
Реализация предлагаемого подхода для обучения СНС с изменяемыми
внутренними
свойствами
требует
адаптации
алгоритма
обратного
распространения ошибки.
В связи с вышеизложенным, проводимое в работе исследование и
разработка нейросетевых алгоритмов инвариантного распознавания образов
является актуальной и важной задачей.
Объект
исследования
–
аппаратно-программные
комплексы
инвариантного к положению, сдвигу и масштабу распознавания объектов.
Предмет
исследования
–
нейросетевые
методы
и
алгоритмы
инвариантного распознавания изображений.
Цель диссертационной работы – повышение обобщающей способности
нейросетевых алгоритмов инвариантного распознавания образов на основе особой
архитектуры сверточной нейронной сети за счёт совершенствования методов
синтеза её параметров.
6
Научная задача – разработка метода синтеза параметров математической
модели сверточной нейронной сети посредством изменения её рецептивных
полей, обеспечивающего расширение обучающего множества и уменьшение
ошибки обобщения.
Достижение поставленной цели потребовало решения следующих частных
задач:
–
Разработка алгоритма изменения форм рецептивных полей для
различных комбинаций сверточных слоёв СНС;
–
Разработка метода синтеза математической модели СНС с помощью
расширенного обучающего множества, генерируемого изменением её РП;
–
Разработка алгоритма синтеза параметров математической модели
СНС с расширенным обучающим множеством;
–
Разработка численного метода редукции расширенного обучающего
множества, генерируемого изменением рецептивных полей СНС;
–
Создание программного комплекса распознавания объектов с камер
робототехнических систем, базирующегося на СНС с расширенным обучающим
множеством.
Методы исследования. Для решения поставленных в работе научных задач
использовались
методы
математического
моделирования,
объектно-
ориентированного программирования, теории распознавания образов, теории
нейронных сетей, методы обучения с преобразованными данными, безусловной
минимизации, методы цифровой обработки изображений.
Значительный вклад в развитие методов теории нейронных сетей внесли
такие ученые как А. Н. Горбань, А. И. Галушкин, Н.И. Червяков, В.А. Терехов, Я.
Лекун, П. Симард, Г. Хинтон и др.
Научная новизна
1.
Разработан алгоритм изменения форм РП для различных комбинаций
сверточных слоёв СНС, приводящий к изменению ее архитектуры, отличающийся
7
от известных тем, что элемент РП нейрона может получать значение,
находящееся в двух дискретных шагах от него на карте признаков.
2.
Разработан метод синтеза параметров математической модели СНС с
расширенным обучающим множеством, отличающийся от известных тем, что
обучающая выборка генерируется путём добавления искажённых образов
посредством изменения рецептивных полей СНС, что обеспечивает повышение
обобщающей способности.
3.
Предложен алгоритм синтеза параметров математической модели
СНС с расширенным обучающим множеством, отличающийся от известных тем,
что предусмотрена адаптация алгоритма обратного распространения ошибки к
изменившейся архитектуре сверточной нейронной сети.
4.
Предложен численный метод редукции расширенного обучающего
множества, отличающийся от известного тем, что за счёт исключения части
прямых прогонов сокращается время обучения.
5.
Впервые создан программный комплекс, интегрированный в состав
робототехнических систем (РТС), позволяющий на основе предложенной
математической модели и разработанного алгоритма редукции расширенного
обучающего множества распознавать различные классы объектов с камер
аппаратно-программных комплексов РТС.
Практическая значимость результатов работы:
Практическая значимость работы заключается в том, что разработанный
программный комплекс позволяет создать и обучить сверточную нейронную сеть,
которая может быть интегрирована в такие широко используемые РТС как стенд
«Мехатроника» или «Антропоморфный робот AR-600E», где способна стать
ядром системы технического зрения и распознавать реальные объекты по данным
видеопотока.
Использование
разработанного
метода
синтеза
параметров
СНС
с
расширенным обучающим множеством позволяет распознавать изображения с
точностью до 96% при уровне шума в 17%±3%. Разработанный на основе
8
предложенного метода алгоритм синтеза параметров математической модели
СНС с расширенным обучающим множеством позволяет улучшать в среднем
обобщающую способность на 2,5% по сравнению с результатами без его
использования и на 1.25% по сравнению с аналогами.
Использование разработанного численного метода редукции обучающего
множества позволяет сократить время обучения в среднем на 37% за счёт
накопленной статистической информации о результатах распознавания паттернов
в предыдущие эпохи.
Значимость
предлагаемых
алгоритмов
и
программных
комплексов
подтверждена одиннадцатью свидетельствами о регистрации программ для ЭВМ.
Положения, выносимы на защиту:
1.
Алгоритм изменения форм РП для
различных комбинаций
сверточных слоёв СНС.
2.
Метод
синтеза
параметров
математической
модели
СНС
с
расширенным обучающим множеством, генерируемым изменением её РП.
3.
Алгоритм синтеза параметров математической модели СНС с
расширенным обучающим множеством.
4.
Численный метод редукции расширенного обучающего множества,
генерируемого изменением рецептивных полей СНС.
5.
Программный
комплекс
распознавания
изображений
с
камер
аппаратно-программных комплексов РТС.
Достоверность
обеспечивается
и
обоснованность
применением
полученных
современной
технологии
результатов
математического
моделирования, корректностью математических постановок задач, и результатами
натурных экспериментов.
Авторский вклад в разработку. Основные результаты и выводы в
диссертации получены лично автором. Авторским вкладом является разработка
алгоритма изменения форма РП для слоёв СНС; разработка метода синтеза
параметров
математической
модели
СНС
с
расширенным
обучающим
9
множеством, генерируемым изменением её РП; разработка алгоритма синтеза
параметров для математической модели СНС с расширенным обучающим
множеством; разработка численного метода редукции расширенного обучающего
множества; проведение натурных экспериментов с распознаванием реальных
объектов, а также экспериментов с распознаванием паттернов из тестовых
выборок MNIST, Small NORB и выборки, созданной для стенда «Мехатроника».
В работах, выполненных в соавторстве, автором экспериментально
исследованы
различные
способы
расширения
обучающего
множества
посредством применения разных типов рецептивных полей, влияние алгоритма
редукции на время обучения и качество распознавания. Разработан программный
комплекс для обучения СНС с использованием предлагаемой математической
модели.
Апробация работы. Основные результаты диссертационной работы
докладывались и обсуждались на следующих научных конференциях и
семинарах: XV Региональной научно-технической конференции «Вузовская наука
–
Северо-Кавказскому
региону»
(г.
Ставрополь,
СевКавГТУ,
2011);
Международной научной конференции «Актуальные проблемы и инновации в
экономике, технике, образовании, информационных технологиях» (г. Ставрополь,
СевКавГТУ, 2011); I Всероссийской конференции «Проблемы математики и
радиофизики в области информационной безопасности» (г. Ставрополь, СГУ,
2012); V Международной научно-технической конференции Инфоком-5 (г.
Ставрополь, СевКавГТУ, 2012); 41 Научно-технической конференции по итогам
работы профессорско-преподавательского состава (г. Ставрополь, СевКавГТУ,
2012); The 4th International Scientific Conference (Trnava, University of SS. Cyril and
Methodius,
2013);
II
Международной
научно-практической
конференции
«Актуальные проблемы современной науки» (г. Ставрополь, СКФУ, 2013); VI
Международной научно-технической конференции Инфоком-6 (г. Ставрополь,
СКФУ, 2014); Young Scientists’ International Workshop on Trends in Information
Processing
(YSIP-14)
(г.
Ставрополь,
СКФУ,
2014);
I
Международной
10
конференции «Параллельная компьютерная алгебра и её приложения в новых
инфокоммуникационных
Всероссийской
прикладные
системах»
научно-технической
аспекты
(г.
Ставрополь,
конференции
компьютерных
технологий
СКФУ,
2014);
I
«Фундаментальные
и
и
информационной
безопасности» (г. Ростов-на-Дону, Институт компьютерных технологий и
информационной
безопасности
ЮФУ,
2015);
II
Всероссийской
научно-
технической конференции «Студенческая наука для развития информационного
общества» (г. Ставрополь, СКФУ, 2015).
Внедрение. В диссертационной работе изложены результаты исследований,
выполненных 2011 – 2015 годах. Работа выполнялась по теме «Разработка
программного комплекса для распознавания изображений с камеры мобильного
робота»
в
рамках
программы
«У.М.Н.И.К.»
(государственный
контракт
№3608ГУ1/2014 от 29.09.2014). Основные результаты исследований были
внедрены в НПО «Андроидная техника» по научно-исследовательскому проекту
«Разработка программного комплекса распознавания изображений с камеры
мобильного робота» (г. Магнитогорск, акт о внедрении от 25 августа 2015 г.,
договор №05/АТ/2014 от 17.02.2014 г.), ГК «Стилсофт» (акт о внедрении от 3
сентября 2015), а также в учебный процесс СКФУ по направлению подготовки
09.04.03 Информационные системы и технологии, магистерская программа
"Робототехнические системы" в рамках дисциплины "Системы технического
зрения" (г. Ставрополь, акт о внедрении от 25.06.2015 г.).
Публикации. По теме диссертационной работы опубликовано 24 работы в
журналах и трудах конференций, из них 3 работы в изданиях, рекомендованных
ВАК РФ для опубликования научных положений диссертационных работ, 7 работ
в трудах международных конференций, 11 свидетельств о государственной
регистрации программ и программных модулей для ЭВМ.
Структура и объём диссертации. Диссертация состоит из введения,
четырёх глав, заключения, списка литературы из 165 наименований и 2
приложений. Общий объём 162 страниц.
11
ГЛАВА 1 ОБЗОР СОСТОЯНИЯ ПРОБЛЕМЫ И ПОСТАНОВКА
ЗАДАЧ ИССЛЕДОВАНИЯ
Проведён анализ задачи инвариантного распознавания изображений.
Исследованы методы для распознавания изображений. Для задачи инвариантного
распознавания изображений при статистическом обучении установлено, что
ключевая роль в процессе синтеза параметров конкретной математической
модели ИНС принадлежит репрезентативности и объёму обучающей выборки.
Рассмотрены методы по расширению обучающей выборки.
Определены
преимущества
использования
сверточных
для
задачи
распознавания
изображений.
Сформулирована
научная
задачи
нейронных
цель
сетей
и
диссертационной работы. Произведён анализ архитектур и алгоритмов обучения
сверточных
нейронных
сетей.
Проведён
анализ
аппаратно-программных
комплексов и библиотек для создания и обучения СНС, выявлены их
преимущества и недостатки.
1.1 Исследование проблемы инвариантного распознавания образов
Распознавания образов – это научная дисциплина, целью которой является
классификация объектов по нескольким классам. Сами объекты называются
образами
(паттернами).
Инвариантное
распознавание
подразумевает,
что
классификация нового образа может быть осуществлена правильно, несмотря на
изменчивость образов, относящихся к одному и тому же классу, т.е. выход
технической
системы
по
инвариантному
распознаванию
неизменен
для
определённого диапазона трансформаций входа [89]. К областям, в которых
используется
распознавание
образов,
можно
отнести
машинное
зрение,
символьное распознавание (буквы, цифры, банковские чеки и т.д.), диагностику в
медицине
(постановка
диагноза
по
истории
болезни,
маммография,
электрокардиограмма), распознавание речи, распознавание отпечатков пальцев,
подписей, лиц и т.д.
12
Задача инвариантного распознавания образов на сегодняшний день остаётся
важной
нерешённой
задачей,
относящейся
к
задачам
искусственного
интеллекта [65]. Когнитивные способности человека очень тяжело смоделировать
на вычислительной технике и не существует единой и эффективной теории,
которая бы объясняла, как человек способен с большой точностью распознавать
объекты внешнего мира [64, 120].
В целом, для задач распознавания образов наиболее трудной и важной
считается распознавание визуальных графических образов [64] (картинки,
стереопары [57], видео и т.д.), а не звука, текста или образов, полученных от ещё
более редких сенсорных модальностей. В данной работе под распознаванием
образов понимается именно распознавание графических образов и в дальнейшем
речь пойдёт только об этом направлении.
На основе анализа научно-технической литературы [3, 4, 14, 15, 16, 17, 23,
30, 33, 35, 36, 62, 64, 67, 76, 89, 90, 99, 102, 108, 110, 113, 116, 147, 148] можно
выделить два основных направления в задаче инвариантного распознавания
образов (рисунок 1.1): частное (инвариантность относительно поворота, сдвига,
масштаба) и общее (инвариантность относительно формы, ракурса, текстуры).
Частное направление исторически возникло раньше и сводится к тому, чтобы
научить систему одинаковым образом реагировать на один и тот же объект,
который может быть разного масштаба, сдвинут относительно первоначального
положения, повёрнут на плоскости на некоторый угол. Общее же направление
ориентировано на моделирование человеческой когнитивной способности
распознавания объектов и полностью включает в себя частное. Допустим, собака
может быть разной породы. Внешний вид собак при этом может сильно
отличаться (окраска, форма тела, шерсть и т.д.). К тому же человек может
смотреть на собаку с разных ракурсов. Так как собака обладает гибким телом, она
может довольно сильно менять свою общую форму (сворачиваться, бежать,
лежать и т.д.), также тело стареет, и это тоже вносит свои изменения во внешний
вид собаки. Но, не смотря на всё это, человек может довольно легко определять,
13
как общий класс объекта (это собака), так и легко отличать конкретный экземпляр
от другого.
Рисунок 1.1 – Пример двух основных направлений в задаче инвариантного
распознавания образов
Для задач частного инвариантного распознавания уже сейчас существует
ряд математических методов, таких как нейронные сети Widrow [108, 147],
неокогнитрон [116], нейронные сети высших порядков [94, 117, 124, 130, 159, 163,
164], статистические модели [78, 84, 89] и др., которые позволяют решить эти
задачи. Основная проблема заключается в практических сложностях реализации
таких методов на дискретной машине: большие и структурно сложные сети,
сдвиги
на
произвольные
вектора,
повороты
на
произвольные
углы,
масштабирование на произвольные множители.
Задача общего инвариантного распознавания не решена до сих пор. Есть
отдельные успехи на качество распознавания для ограниченных классов объектов,
как правило, лиц [160], дорожных знаков [155], банковских чеков [136], которые
демонстрируют точность распознавания даже выше чем у человека. Недавно
стали появляться сети, которые демонстрируют успехи по распознаванию
большого количества классов, они способны распознавать тысячи классов [132,
151] правда, с низкой точностью для большинства из них.
14
Таким образом, можно сделать вывод, что задача инвариантного
распознавания объектов не решена. Нет и теоретического понимания того как
подобную задачу решает человек и высшие млекопитающие [113, 120].
Из анализа научно-технической литературы [13, 27-29, 33, 34, 85, 89, 91, 92,
99, 102-105, 107, 110, 111, 119] можно сделать вывод, что для решения задачи
инвариантного распознавания изображений на сегодняшний день доминируют
математические
модели
на
основе
статистического
обучения,
которые
представляют собой иерархические признаковые классификаторы.
Нет прямой заранее известной аналитической взаимосвязи между наборами
пикселей или вокселей (элементы объёмного изображения) и семантическим
содержанием этого изображения. Такую связь нужно создать на основе обучения,
которое отталкивалось бы от целого набора изображений, настроив параметры
таких моделей.
Этот набор можно уменьшить, если изменить представление изображений: с
пиксельного уровня перейти на более высокий уровень (вейвлет-представление
[88], представление в виде случайных полей [34], модель формы элементов
изображения [35]), тем самым увеличив ценность каждого паттерна, но
полностью отказаться от статистического набора данных не получится.
Проблема
интерпретации
семантического
содержания
изображения
является NP-полной задачей [64] и поэтому требует системы промежуточных
представлений (иерархия либо просто по масштабу, либо ещё и по уровню
абстрактности), в противном случае может произойти комбинаторный взрыв и
семантическое содержание за приемлемое время будет невозможно найти.
Наиболее
популярные
математические
модели
и
дающие
лучшие
практические результаты (в среднем на 10%-15% [36]) при распознавании
изображений – это системы иерархических голосующих гиперплоскостей, т.е.
ИНС [89]. Основные их преимущества – это иерархичность, способность
эффективно работать с низкоуровневым представлением данных, являются
универсальными аппроксиматорами.
15
Основные
особенности
статистического
распознавания
и
обучения
заключаются в следующем [33]:
1.
Объекты, которые необходимо распознать кодируются векторами
признаков.
2.
Допустимые значения векторов признаков образуют пространство
признаков X. Если удаётся закодировать объект количеством a числовых
признаков, то X – это подмножество a-мерного евклидова пространства Ra.
3.
Ответы распознавателя (ожидаемые и вычисленные, т.е. ответы
учителя) кодируются так же как признаки объектов, т.е. точками в некотором
пространстве Y, например, в b-мерном евклидовом пространстве Rb.
4.
Распознаватель нужно учить вычислять некоторую функцию f:Ra→Rb,
про которую известны только её значения в конечном числе точек.
5.
Распознавание
дискретной
характеристики
объекта
называется
классификацией, число возможных значений b – числом классов, объекты для
которых эта характеристика принимает i-ое значение – i-ым классом.
Процесс статистического обучения ИНС с учителем рассматривается как
процесс реконструкции гиперповерхности на основе множества точек, которое
может быть довольно разряженным [21, 89].
Моделирование физических процессов, обеспечивающих генерирование
обучающих данных (например, звуковой сигнал, изображение и т.д.), является
хорошо обусловленной прямой задачей. Однако, обучение на примерах таких
физических
данных,
рассматриваемое
как
задача
восстановления
гиперповерхности, является плохо обусловленной (некорректной) обратной
задачей [89]. Плохая обусловленность (по Адамару) объясняется тремя
основными причинами: не для каждого входного сигнала может существовать
выходной (нарушение критерия существования), информации, содержащейся в
примерах, может быть недостаточно для корректной уникальной реконструкции
отображения «вход-выход» (нарушение критерия уникальности), неизбежное
16
наличие шумов в данных обучения вносит неопределённость в восстанавливаемое
отображение (нарушения принципа непрерывности).
По существу, плохая обусловленность задачи означает, что даже большой
набор данных может нести в себе удивительно малый объём информации о
решении задачи. Поэтому для статистического обучения ключевая роль в
процессе
синтеза
параметров
конкретной
математической
модели
ИНС
принадлежит обучающим данным [89]. К такому же выводу пришёл диссертант на
основании проведённого исследования по подбору оптимальных параметров для
ИНС и их влияние на обобщающую способность [50, 52, 60].
Однако, составление больших и репрезентативных выборок одна из самых
сложных задач в статистическом обучении [89, 104].
Исходя из анализа литературы [18, 77-79, 82, 89, 102-106, 141, 157, 161, 162,
165], можно выделить несколько альтернатив по расширению обучающего
множества:
1.
Использование специальных алгоритмов, которые перед обучением
расширяют обучающее множество. С помощью различных алгоритмов меняют
входной паттерн: меняют фон, текстуру, накладывают различные шумы. Так, если
нужно распознавать цифры или буквы, то разумно подобрать алгоритмы, которые
создают искажения, имитирующие различные виды подчерка [156, 165], и таким
образом пополняют обучающую выборку. Однако, настройка, подбор таких
алгоритмов, а также корректировка размера финального обучающего множества
становятся очень сложным этапом.
2.
Использование
регуляризации
[82].
В
контексте
задачи
восстановления гиперповерхности главная идея регуляризации заключается в
стабилизации решения с помощью некоторой вспомогательной неотрицательной
функции, которая несёт в себе априорную информацию о решении [89]. Данный
метод аналогичен с математической точки зрения расширению множества через
преобразования паттернов или наложения шумов [106], хотя физически размер
17
множества не меняется. Основные недостатки – более сложное обучение сети и
трудность выработки устойчивости сети к требуемым искажениям.
3.
Изменение внутренних параметров математической модели сети [121,
141, 161, 162]: искажения, накладываемые на вектор антиградиента, на
настраиваемые веса сети, временное исключение некоторых нейронов или связей
между ними во время обучения сети. Это позволяет решать в основном
прикладные
задачи:
препятствовать
переобучению
сети,
вырабатывать
устойчивость работы сети к возможным отказам некоторых элементов, находить
более глубокий локальный минимум на поверхности ошибок. Увеличение
обобщающей способности сети – лишь косвенное следствие применения
подобных решений. Расширение обучающей выборки при таком подходе не
происходит. Возникают проблемы со сложностью регулирования уровня
искажений, т.к. с одной стороны для ускорения обучения уровень искажений
нужно снижать, а с другой стороны для правильного распознавания новых
паттернов уровень искажений нужно увеличивать. К тому же такие методы
обучения плохо совмещаются с алгоритмами, которые используют информацию
вторых производных для поиска направления спуска по поверхности ошибок.
В работе предлагается частично совместить пункты 1 и 3: за счёт изменения
внутренних параметров модели иерархической ИНС создавать искажения по
отношению к текущему паттерну (через изменение восприятия этого паттерна),
тем самым получая новые паттерны и расширяя обучающую выборку. В свою
очередь это потребует адаптации алгоритма обратного распространения ошибки.
Отсюда возникает задача выбора конкретной модели иерархической ИНС,
которая рассмотрена в подглаве 1.2.
1.2 Исследование математических методов распознавания изображений
Задача инвариантного распознавания изображений с помощью признаковых
классификаторов традиционно делится на две части: выделение признаков
изображения и классификация по этим признакам [17, 77-79]. ИНС, решающих
18
эту задачу, можно разделить на два больших класса [17, 89]: выделение признаков
осуществляется статистическими методами, а классификация – ИНС (первый
класс) и выделение признаков и классификация осуществляются ИНС (второй
класс). Выделение признаков осуществляется за счёт встраивания априорной
информации
в
структуру
ИНС
(структурная
инвариантность)
[89].
Их
сравнительная эффективность по отношению к классическим статистическим
методам приведена на рисунке 1.2 [17].
Рисунок 1.2 – Методы распознавания изображений на выборке MNIST. 1 –
выделение признаков и классификация классическими статистическими методами
(метод моментов), 2 – выделение признаков осуществляется статистическими
методами, а классификация – ИНС, 3 – всё осуществляется ИНС
Классические статистические методы (метод моментов) [12, 84] до сих пор
используются для анализа изображений, но только там, где высокое качество
распознавания не обязательно.
На основании анализа литературы [18, 21, 89, 99, 104, 105, 111, 119] к
первому классу могут быть отнесены следующие типы ИНС, – это персептрон,
RBF-сеть (сеть радиально-базисных функций) и SVM (машина опорных
векторов).
19
Для задачи распознавания изображения на вход ко всем трём типам ИНС
могут быть поданы как сами пиксели, так и некоторое низкоуровневое
представление изображения (например, вейвлет-коэффициенты [88]).
Все три типа сетей являются универсальными аппроксиматорами [21], а
значит, на обучающем множестве ошибка обучения может быть сведена к нулю.
Это позволяет рассчитывать и на низкую ошибку обобщения (ошибка на тестовом
множестве). Нет теоретических преград для получения хорошей обобщающей
способности при распознавании изображений, тем более, что для представления
любой разрывной нелинейной функции достаточно двух скрытых слоёв для
персептрона [89]. Тем не менее, практика показала, что ошибка обобщения для
сетей с большим количеством слоёв (deep architecture) меньше, чем для сетей с
малым количеством слоёв (меньше четырёх, shallow architecture) [102].
Классические персептроны (2 скрытых слоя), RBF-сети и SVM имеют малое
количество слоёв, при расширении количества слоёв обучить сети становится
очень трудно [135].
Можно сделать вывод, что сети, относящиеся к первому классу всё ещё
остаются надёжным и простым средством распознавания изображений, но только
с их помощью уже не получают лучшие результаты (state of the art) для разных
прикладных задач [103, 125, 129, 160], поэтому необходимо использовать
многослойные сети.
На основе анализа литературы [96, 98, 100, 107-110, 113, 116, 118, 120, 122,
124, 125, 133, 134, 137, 142, 143, 147, 150, 152-154] был выделен ряд
перспективных многослойных сетей, которые способны как выделять признаки,
так и проводить на их основе классификацию.
Сеть MADALINE (рисунок 1.3) [108, 147, 163, 164].
20
Рисунок 1.3 – Общая структура сети MADALINE, ADALINE-нейроны могут
быть организованы и в пластины нейронов
Состоит из множества пластин, каждая из которых имеет набор ADALINEнейронов и классификатора, который надстраивается над пластинами. Нейроны в
пластине расположены по рядам, таким образом, анализ производится не над
развернутым в вектор массивом пикселей, а над матрицей, где сохраняются все
топологические особенности изображения. Пластины могут быть инварианты к
некоторым
группам
преобразований:
сдвиг,
поворот,
масштаб.
Входное
изображение с заданным числом точек может быть преобразовано через массив
пластин в другое изображение, которое может иметь столько же или больше
точек, в зависимости от числа использованных пластин. Преобразованное
изображение будет не чувствительно к сдвигу, повороту, изменению масштаба
исходного изображения.
К недостаткам такой сети можно отнести быстрый рост размера при
попытке настроить её к большому числу инвариантных преобразований,
использование нейронов с пороговой функцией активации и специальным
алгоритмом для их настройки MRII. Позже появились версии MADALINE для
более мощного алгоритма обратного распространения ошибки (АОРО), однако
из-за отсутствия концепции общих весов не удалось эффективно бороться с
затуханием градиента в таких сетях. Основным преимуществом считается
способность настраиваться к большому числу инвариантных преобразований.
21
Данная сеть реализует чисто математический подход к проблеме инвариантности
и пригодна к решению проблемы инвариантного распознавания относительно
поворота, сдвига, масштаба.
Неокогнитрон (рисунок 1.4) [116].
Рисунок 1.4 – Общая схема неокогнитрона
Неокогнитрон состоит из слоёв сложных (C-слой) и простых клеток (Sслой). Каждый слой состоит из пластин, в которых расположены нейроны. Задача
простых клеток реагировать на некоторый входной вектор. Простые клетки
имеют общие веса, в результате достигается то, что некоторый признак может
быть выделены в любом месте изображения. Сложные клетки обобщают и
сжимают информацию, выделенную простыми клетками. В последнем слое
применяется алгоритм «Победитель забирает всё». К плюсам можно отнести
инвариантность такой сети к масштабированию и сдвигам. К минусам относятся
применение специфического послойного алгоритма обучения и огромное
количество настраиваемых параметров. Архитектура неокогнитрона будет
работать очень медленно для последовательной реализации. Тем не менее, данные
сети применяются до сих пор. Их архитектура опирается на работы по
нейробиологии [123], и они оказали огромное влияние на развитие всех
биологически-правдоподобных нейросетевых архитектур.
Сеть HMAX (Hierarchical Model and X) (рисунок 1.5) [113, 152-154].
22
Рисунок 1.5 – Общий вид схемы работы сети HMAX
Данная сеть состоит из чередования простых и сложных слоёв. Простые
клетки выделяют признаки объекта посредством свертки. Сложные клетки
группируют простые клетки на предыдущем слое через операцию максимума для
разделения нескольких признаков по их модальностям. Они производят поиск
максимальной активности простых клеток, входящих в их рецептивную область.
Сложные клетки инвариантны ко всем параметрам, на которые реагируют
простые
клетки.
На
самом
верхнем
уровне
иерархии
находятся
видонастраиваемые клетки, которые содержат информацию о виде запомненного
объекта (нейроны-бабушки [61]). К плюсам такой сети можно отнести высокую
способность к распознаванию отдельных образов, эффективную борьбу с
шумами. К минусам – большое количество настраиваемых параметров, слабую
способность к распознаванию, если объект оказывается частично перекрыт.
Данная сеть является одной из современных разновидностей неокогнитрона и
также сложна для реализации на последовательной машине.
Сеть HTM (Hierarchical Temporal Memory) (рисунок 1.6) [110, 120].
Данная сеть опирается на теорию, представленную в общем виде в [120].
HTM с одной стороны включает в себя архитектурные решения других
нейроподобных сетей, прежде всего HMAX и неокогнитрона, с другой стороны, в
ней реализована попытка описать в целом те процессы, которые происходят в
микроколонках головной коры [61].
23
Рисунок 1.6 – Слева, – общая структура сети HTM, каждый уровень состоит из
нескольких слоёв со сложными связями. Справа, – общая схема уровня
Такая сеть способна распознавать видео, звук, изображения. Однако, её
архитектура очень сложна, сложен и алгоритм обучения. Из-за универсальности к
типам распознаваемых данных данная сеть не показывает хороших результатов в
распознавании изображений.
Сверточные нейронные сети (Convolutional Neural Networks, сети свёртки,
свертывающиеся сети) (рисунок 1.7) [134-137].
Рисунок 1.7 – Общий вид сверточной нейронной сети
Сверточные нейронные сети (СНС) как и все предыдущие относятся к
многослойным нейронным сетям и представляют собой модернизированный
многослойный персептрон. СНС состоит из двух частей: часть, отвечающая за
выделение признаков, и часть, отвечающая за классификацию. Выделитель
признаков состоит в общем виде из чередования слоёв свертки (C-слои) и
подвыборки (S-слои, слои усреднения). Это один из вариантов чередования слоёв
сложных и простых клеток, который появился в неокогнитроне. Нейроны в этих
24
слоях организованы в пластины. Каждый нейрон воспринимает информацию из
предыдущего слоя с помощью своего рецептивного поля (РП), которое
представляет собой квадратную группу расположенных рядом нейронов на
предыдущем слое и связанных с текущим нейроном с помощью настраиваемых
параметров.
Классификатор
обычно
представляет
из
себя
двухслойный
персептрон, но это может быть и SVM, и RBF-сеть.
Сверточные сети являются удачной серединой между биологически
правдоподобными
сетями
и
обычным
многослойным
персептроном.
На
сегодняшний день лучшие результаты в распознавании изображений получают с
их помощью [129, 132, 151, 155, 160]. В среднем точность распознавания таких
сетей превосходит обычные ИНС на 10-15% [17, 129]. СНС – это ключевая
технология Deep Learning [102, 103]. Основной причиной успеха СНС стало
приспособление АОРО к многослойной архитектуре за счёт концепции общих
весов. Несмотря на большой размер, эти сети имеют небольшое количество
настраиваемых параметров по сравнению с их предком – неокогнитроном.
Имеются варианты СНС (Tiled Convolutional Neural Network [133]), похожие на
неокогнитрон, в таких сетях происходит, частичный отказ от связанных весов, но
алгоритм обучения остаётся тем же и основывается на обратном распространении
ошибки. СНС могут быстро работать на последовательной машине и быстро
обучаться.
Можно сделать вывод, что для задачи инвариантного распознавания
изображений лучше всего подходят СНС. Данный класс сетей показывает лучшие
практические результаты и относительно прост в сравнении с другими
биологически правдоподобными сетями, т.е. имеет лучший показатель исходя из
соотношения «простота математической модели – качество распознавания».
Достигнутый
современный
уровень
систем
технического
зрения
с
применением СНС для инвариантного распознавания изображений составляет
ошибку обобщения в среднем 17% [129]. Существующие системы не позволяют
улучшить этот показатель, поэтому требуются новые методы обучения СНС,
25
которые улучшают инвариантное распознавание за счёт изменения структурной
инвариантности [89].
Восприятие информации в СНС происходит посредством РП [74, 93, 112,
134]. Входной паттерн для СНС – это дискретное множество кусков этого
паттерна, которые поставляются РП на обработку нейронам сети, учитывая, что за
счёт слоёв усреднения и свертки СНС может быть инвариантна к мелким
смещениям и прочим деформациям [89], предлагается усилить это свойство за
счёт изменения таких внутренних параметров СНС, как форма РП. Тем самым
будут создаваться искажения по отношению к первоначальному паттерну, будет
происходить расширение обучающей выборки, что приведёт к уменьшению
ошибки обобщения.
Цель диссертационной работы – повышение обобщающей способности
нейросетевых алгоритмов инвариантного распознавания образов на основе особой
архитектуры сверточной нейронной сети за счёт совершенствования методов
синтеза её параметров.
Научная задача – разработка метода синтеза параметров математической
модели сверточной нейронной сети посредством изменения её рецептивных
полей, обеспечивающего расширение обучающего множества и уменьшение
ошибки обобщения.
Существуют две основные задачи, связанные с использованием СНС:
1. Выбор конкретной архитектуры СНС. Описано в подглаве 1.3.
2. Подбор алгоритма обучения СНС. Описано в подглаве 1.4.
1.3 Анализ архитектур сверточных нейронных сетей
Введём основные понятия для сверточной сети.
СНС состоит из двух основных частей: части, отвечающей за выделение
признаков и части, отвечающей за классификацию (рисунок 1.8).
26
Рисунок 1.8 – Общая структура сверточной нейронной сети
Выделитель признаков состоит из слоёв. Каждый слой состоит из пластин
нейронов. Слои могут иметь разные функции. Нейроны сгруппированы в
пластины для того, чтобы обрабатывать входные сигналы с сохранением
топологических отношений, которые потерялись бы, если подать вход в виде
вектора, а не матрицы. Классическая архитектура СНС подразумевает два типа
слоёв: слои свертки (C-слои) и слои усреднения (S-слои). Слои с разными
функциями можно объединить в один макрослой. Выделитель признаков состоит
из повторяющихся несколько раз идентичных макрослоёв. Каждый нейрон в
выделителе признаков имеет своё РП (рисунок 1.9), которое представляет собой
квадратную область, включающую в себя нейроны, способные передавать свои
сигналы нейрону на следующем слое.
Для СНС с классической архитектурой [149] макро-слой – это C-слой, за
которым следует S-слой.
На рисунке 1.9 показан общий вид C-слоя и его взаимодействие с
предыдущим слоем.
27
Рисунок 1.9 – Схема взаимодействия С-слоя с предыдущим слоем
Каждая карта С-слоя может быть связана с некоторым количеством карт
предыдущего слоя. Из рисунка 1.9 видно, что карта С-слоя связана с двумя
картами S-слоя или входного слоя, которые располагаются перед ней. Тогда
каждый нейрон С-слоя имеет рецептивное поле (РП) сразу на двух картах в
идентичных позициях предыдущего слоя. На рисунке эти поля обозначены
сплошным черным и красным цветом и имеют размер 4*4. Значит, для нейрона Сслоя необходимо 33 настраиваемых параметров (весов) с учётом смещения.
Особенность С-слоя заключается в том, что для всех нейронов используются одни
и те же веса, т.е. на данную карту С-слоя будет приходиться 33 параметра, а не 33
умноженное на количество нейронов в слое. Такие веса называются связанными
(sharing weights). Связанные веса позволяют реагировать на некоторый признак в
любом месте карты, а также, связь карты С-слоя с несколькими каратами
предыдущего слоя позволяет единым образом реагировать на информацию из
разных модальностей (по-разному отфильтрованную), и организовывать некое
подобие гиперколонок [93].
28
Черным пунктиром на рисунке 1.9 обозначено РП для следующего нейрона.
Эти РП пересекаются, шаг пересечения можно регулировать. Чем меньше шаг,
тем больше РП можно наложить на карту и тем больше нейронов будет в карте
следующего слоя. РП и общие веса – это встроенная априорная информация, за
счёт которой происходит выделение признаков [89].
На рисунке 1.10 показана схема нейрона С-слоя.
Рисунок 1.10 – Общая схема нейрона С-слоя
KС – общее количество нейронов, входящих в РП n-го нейрона С-слоя,
Ядро[k] – настраиваемые веса нейрона, b – смещение n-го нейрона, причём b и
Ядро[k] – одни и те же для всей карты С-слоя, x[n+k] – входные данные для n-го
нейрона С-слоя, k = 0..KC-1. Входные данные x[n+k] дают взвешенную сумму с
настраиваемыми параметрами Ядро[k], т.е. происходит операция свертки:
p b
KC 1
 Ядроk * xnk
(1.1)
k 0
Реакция нейрона определяется функцией активации, на вход которой
подаётся взвешенная сумма p. Выход нейрона получается:
y   (p)
(1.2)
Обычно функция активации берётся одинаковой для всех элементов сети и
представляет собой некоторую непрерывную дифференцируемую в каждой точке
симметричную относительно оси Ox функцию (как правило, гиперболический
тангенс) [89, 128, 135].
29
По сути, каждый нейрон С-слоя – это детектор некоторого выделяемого в
процессе обучения признака. Примеры признаков, на которые могут реагировать
нейроны С-слоя, показаны на рисунке 1.11. Он проводит свёртку куска входа со
своими настраиваемыми параметрами, одинаковыми для всех нейронов,
пропускает свертку через функцию активации, и результат свидетельствует о
степени присутствия данного признака в позиции РП этого нейрона. Свертка
элемента входа с общими настраиваемыми параметрами есть аналог пропускания
изображения на карте через некоторый фильтр [20], поэтому изображение,
формируемое
на
карте
С-слоя,
будет
отфильтрованным
изображением
относительно настраиваемых весов.
Рисунок 1.11 – Примеры признаков, на которые реагируют обученные нейроны Сслоя
На рисунке 1.12 представлена схема взаимодействия S-слоя с предыдущим
C-слоем.
Основная задача S-слоя – это уменьшение масштаба обрабатываемого
отфильтрованного отображения, получившегося на карте предыдущего С-слоя,
для облегчения выделения общих признаков. Каждая карат S-слоя связана только
с одной картой предыдущего С-слоя.
30
Рисунок 1.12 – Общая схема взаимодействия S-слоя с предыдущим C-слоем
Рецептивные поля нейронов S-слоя не пересекаются. Настраиваемые
параметры также общие для всех нейронов каждой карты, но их количество равно
двум и не зависит от количества элементов, входящих в РП этих нейронов.
Общая схема нейрона S-слоя представлена на рисунке 1.13.
Рисунок 1.13 – Общая схема нейрона S-слоя
Из рисунка 1.13 видно, что все настраиваемые параметры нейрона, которые
участвуют в свертке с элементом входа, равны (параметр u). Другой
настраиваемый параметр – это смещение b. Параметры u и b – одинаковы для всех
нейронов S-карты. Таким образом, учитывая, что РП не пересекаются, свертка p
для n-го нейрона S-слоя определится как:
K S 1
p  b  u *  xn*KS  k ,
k 0
(1.3)
31
где KS – общее количество нейронов, входящих в РП n-го нейрона S-слоя.
Из рисунка 1.8 видно, что общий размер карт от слоя к слою падает, пока
карты не вырождаются в единичные нейроны, при этом уменьшение размера карт
и связанного с этим потерей точности отображений на них, компенсируется
ростом их количества и связанностью между картами С-слоя и слоем перед ним.
Вторая часть СНС – это классификатор признаков (рисунок 1.8), как
правило, это однослойный или двухслойный персептрон, хотя может быть SVM
или RBF-сеть.
Карты, выродившиеся в один нейрон можно считать за вход для
классификатора, над входом надстраивается слой обычных нейронов, где каждый
нейрон связан со всеми нейронами входа. Количество нейронов в слое
классификатора обычно равняется количеству классов, к которым требуется
отнести входное изображение. Связанных весов в классификаторе нет.
Общая схема нейрона для слоя классификатора показана на рисунке 1.14.
Рисунок 1.14 – Общая схема нейрона для слоя классификатора
Взвешенную сумму p для нейрона слоя классификатора можно определить
как:
K
p  bn   xk * w n ,k ,
(1.4)
k 1
где bn – это смещение, разное для каждого нейрона, x[k] – элемент входа,
w[n,k] – настраиваемые параметры n-го нейрона, уникальные для каждого
нейрона, K – размер входа для слоя классификатора.
32
На основании экспериментов, проведённых диссертантом, с различными
функциями активации [60] для СНС был выбран гиперболический тангенс вида
2
3
 (p)  1.7159* tanh( *p)
(1.5)
Такая функция активации меняет своё значение от -1.7159 до +1.7159, на
выходе сети данная функция ограничена частью от -1 до +1, которая является
практически линейной. СНС с такой функцией показывает лучший результат по
ошибки обобщения и по скорости сходимости ошибки обучения.
На основе анализа литературы [72, 96, 102, 107, 125, 126, 131, 143, 149, 151],
посвящённой созданию и обучению СНС, можно выделить три основные
категории, по отношению к которым происходит выбор архитектуры СНС.
Первая категория – это обучение с учителем или без учителя.
Обучение с учителем предполагает наличие помеченных метками данных.
Пример архитектуры такой сети показан на рисунке 1.8. Это многослойный
персептрон.
Основные плюсы такой схемы – это относительная простота
архитектуры, наличие учителя (меток), что делает процесс обучения четким и
понятным, высокая точность распознавания. Минус – это сложности с созданием
обучающих выборок, т.к. необходим человек для назначения меток. Для систем
технического зрения, ориентированных на небольшое количество распознаваемых
предметов (меньше сотни), лучше всего подходят СНС, обучаемые с учителем.
Обучение без учителя производится с помощью автоэнкодера (autoencoder).
Подробно такие сети описаны в [137, 151]. Они имеют более сложную
архитектуру и учатся отображать вход на выход. Это своеобразный аналог сети с
узким горлом для сжатия информации [89], построенной на базе СНС. Основной
их плюс – для их обучения можно использовать непомеченные данные, которые
можно
подобрать
в
огромном
количестве.
Но
отсутствие
учителя
и
несбалансированность в данных может приводить к тому, что распознавание
будет происходить с небольшой точностью (меньше 80%) [132]. Такой способ
обучения применяется тогда, когда стоит задача обучения сети сотням классов.
33
Было выбрано обучение с учителем, так как для цели диссертационного
исследования не предполагается распознавание большого количества классов, а
также алгоритм обучения при наличии учителя значительно лучше подходит для
программной реализации без распараллеливания вычислений.
Вторая категория – это различные типы слоёв для выделителя признаков.
Можно подразделить СНС на три основные группы:
1.
Простейшая архитектура, использующая только сверточные слои
[156]. Выделитель признаков состоит только из слоёв свертки, уменьшение
масштаба карт осуществляется через уменьшение зоны пересечения РП. К
плюсам можно отнести то, что общее количество слоёв будет минимальным,
архитектура максимально проста для последовательной реализации. Однако,
только один тип слоя негативно сказывается на ошибке обобщения и качестве
распознавания. Без дополнительных алгоритмов, например, по созданию
искажений [156, 165] такая архитектура используется редко.
2.
Классическая архитектура, включающая слои свертки и усреднения
[134, 136]. Всё ещё простая и доступная для последовательной реализации, но
уже, использующая более сложное усреднение, чем просто уменьшение зоны
пересечения РП. Усреднение может вестись с помощью разных алгоритмов [125],
что по-разному будет влиять на качество обобщения.
3.
Усложнённые архитектуры, использующие множество типов слоёв и
их комбинации последовательного применения [126, 131, 149]. Прежде всего, это
слой для «выпрямления» нелинейности (Rectification Layer), который вычисляет
модули от входных данных предыдущего слоя. Слой локальной контрастной
нормализации (Local Contrast Normalization Layer), который позволяет получать
вычислительную
(subtractive)
и
относительную
(divisive)
нормализацию
контраста. Эти слои позволяют увеличивать качество распознавания, но сети с
такой архитектурой имеют много слоёв и предполагают реализацию на
матричном процессоре для ускорения вычислений [114].
34
Исходя из анализа плюсов и минусов различных архитектур СНС, были
выбраны сети с классической архитектурой. Такая архитектура рациональна по
отношению к сложности реализации сети на обычной машине без матричных
вычислений и к многообразию слоёв, влияющему на качество распознавания.
Третья категория – это степень связанности весов.
На рисунке 1.15 схематично представлены три варианта, которые могут
встречаться в СНС по отношению к сверточному слою.
Рисунок 1.15 – Различные варианты связанности весов в С-слое
Карта на рисунке 1.15 представлена в виде набора нейронов. Нейроны,
имеющие одинаковую текстуру, имеют один и тот же набор весов, нейроны,
имеющие разную текстуру, имеют разный набор весов. Слева изображён
классический сверточный слой, справа – слой, где нет общих весов, по середине слой, где два набора общих весов. СНС, которые имеют для сверточного слоя
несколько наборов весов, называются Tiled Convolutional Neural Networks [132,
133], что можно перевести как мозаические сверточные нейронные сети. Такие
СНС более подобны моделям неокогнитрона. Отсутствие общих весов может
привести к устойчивости таких сетей по отношению к сдвигам, масштабу и
поворотам для входного образа. Однако точных экспериментов, которые бы
устанавливали значительное преимущество таких сетей над обычными СНС нет.
Мозаические сети имеют, как правило, значительно больше обучающих
параметров, чем обычные СНС, что влияет на память, скорость работы и
обучения.
35
Однако их выбор может быть обоснован, если они применяются для
создания классификатора на несколько сот или даже тысяч классов с помощью
обучения без учителя и на огромных обучающих выборках из миллионов
паттернов [132].
Так как сети с одним набором обучающих весов для С-слоя наиболее
просты в реализации на последовательной машине и значительно ускоряют
процесс обучения (чем меньше настраиваемых параметров сети, тем меньше
требуется обучающая выборка [89]), то именно такие сети выбраны для
дальнейших экспериментов.
В результате анализа методов обучения СНС было выбрано для целей
диссертационной работы обучение с учителем. Предлагается использовать сеть,
где часть для выделения признаков, состоит из чередование слоёв свертки и
усреднения, и слои свертки имеют общие веса
1.4 Анализ алгоритмов обучения сверточных нейронный сетей
Общая схема обучения с учителем представлена на рисунке 1.16 [89].
Рисунок 1.16 – Блочная диаграмма обучения с учителем
Для задачи распознавания изображений учитель представляет из себя номер
требуемого класса, закодированный в векторе, равном размеру выходного слоя
ИНС. Это желаемый результат, соответствующий данному входному паттерну.
Фактический отклик получается в результате реакции ИНС (обучаемая система) с
36
текущими параметрами на входной паттерн. Сигнал ошибки – это разность между
желаемым сигналом и текущим откликом нейронной сети. На основе сигнала
ошибки корректируются настраиваемые параметры ИНС [89].
Производительность такой системы можно оценивать в терминах функции
ошибки, которая для задачи распознавания графических образов обычно бывает
или среднеквадратической ошибкой (1.6) или кросс-энтропией (1.7) на
обучающей выборке. Функция кросс-энтропии обладает преимуществом, т.к.
поверхность такой функции обладает более пологими склонами и меньшим
количеством ровных участков, которые сильно замедляют градиентный спуск
[111]. Кроме того, для функционирования обученной сети не нужно придумывать
интерпретатор ответов, т.к. выходной слой с такой функцией ошибки работает по
принципу «победитель забирает всё» [104].
1 N
E  *  (Учительi  Выход_Сетиi ) 2
2 i 1
(1.6)
N
E   Учительi *log(Выход_Сетиi ) ,
(1.7)
i 1
где N – количество нейронов в выходном слое сети, Учительi – i-ый
компонент учителя для i-го нейрона, Выход_Сетиi – фактический ответ i-го
нейрона сети.
Функция ошибки зависит от настраиваемых параметров системы. Для такой
функции можно построить многомерную поверхность ошибки в координатах
свободных параметров. При этом реальная поверхность ошибки усредняется по
всем возможным примерам, представленным в виде пар «вход – выход». Для
повышения производительности системы во времени значение ошибки должно
смещаться в сторону минимума на поверхности ошибок. Этот минимум может
быть как локальным, так и глобальным [89].
На основе анализа литературы [19, 24, 78-80, 86, 89, 104, 111, 119, 135, 136,
147] можно заключить, что наиболее распространёнными и надёжными методами
по достижению локального или глобального минимума на поверхности ошибок
37
являются методы локальной оптимизации. В качестве наиболее популярных
альтернатив используются либо алгоритмы стохастической оптимизации (поиск в
случайном направлении, имитация отжига, численный метод статистических
испытаний (метод Монте-Карло [72])), либо алгоритмы глобальной оптимизации
на основе эволюционных вычислений (различные виды генетических алгоритмов
[65, 67]). Основные минусы этих методов заключаются в ограничении на
архитектуру сетей, где они могут применяться (детерминированные машины
Больцмана [89, 96]), использование только информации о целевой функции и
игнорирование информации о её производных первого и второго порядков
(генетические алгоритмы), применение вероятностных, а не детерминированных
правил выбора (генетические алгоритмы, имитация отжига [65], метод МонтеКарло). Поэтому эти методы обычно используют для преднастройки ИНС.
Все алгоритмы локальной оптимизации можно разделить на два класса [19]:
алгоритмы локальной оптимизации с вычислением частных производных первого
порядка (метод наискорейшего спуска, метод одномерной и двумерной
оптимизации целевой функции в направлении антиградиента, метод сопряжённых
градиентов, методы, учитывающие направление антиградиента на нескольких
шагах алгоритма и др.) и алгоритмы локальной оптимизации с вычислением
частных производных первого и второго порядков (метод Ньютона, методы
оптимизации с разряженными матрицами Гесса, квазиньютоновские методы,
метод Гаусса-Ньютона, метод Левенберга-Марквардта и др.).
В
данной
распространения
работе
ошибки,
используется
в
котором
классический
алгоритм
направление
спуска
обратного
определяется
антиградиентом функции ошибки. Данный алгоритм выбран по следующим
причинам:
1.
Методы второго порядка, использующие вторые производные при
незначительном ускорении процесса сходимости требуют существенно больших
вычислительных ресурсов [89]. В частности, вычисление либо полной матрицы
Гесса (1.8), либо её диагональных элементов,
а также индивидуальное
38
вычисление шага для каждого настраиваемого параметра (как в методе
Левенберга-Марквардта). А так как ИНС для задач распознавания образов обычно
обладают большим количеством настраиваемых параметров и большими
обучающими выборками, то это делает эти методы малопригодными.
 2 E

2
 w1
 2 E

H (E)   w2 w1


 2 E
 w w
 n 1
2 E 

w1wn 
2 E 

w2 wn  ,


2 E 
wn 2 
2 E
w1w2
2 E
w2 2
2 E
wn w2
(1.8)
где w1..wn – настраиваемые параметры ИНС.
2.
Соблюдение условия математической сходимости функции ошибки на
обучающей выборки необязательно. Главную роль играет не метод обучения, а
релевантная и репрезентативная обучающая выборка. Поэтому даже не до конца
обученная ИНС (в математическом смысле) может давать хорошие результаты на
натурных экспериментах практической задачи.
Так как в результате изменения РП часть паттернов будет воспринято ИНС
как искажённые, но при этом, всё же похожие на исходные, то используется
последовательный режим обучения, когда корректировка весов осуществляется
после рассмотрения каждого паттерна. Это связано с тем, что при избыточных
данных (часть паттернов либо одинаковая, либо похожая друг на друга)
последовательный режим обучения даёт лучшие результаты сходимости [89].
Известный обобщённый алгоритм обратного распространения ошибки для
синтеза параметров СНС включает в себя следующие шаги:
1.
Инициализация всех настраиваемых параметров СНС случайными
вещественными числами из равномерного распределения [ 
количество
связей,
инициализируются.
принадлежащих
нейрону,
1
1
], где Z –
.. 
Z
Z
параметры
которого
39
2.
Подача и линейная нормировка [50] паттерна на вход СНС.
(Вход
)
i
(new)
m,n

2*(Входim ,n ) (old)
 1,
255
(1.9)
где (Входim,n )(new) - новое значение входа нейрона, расположенного на карте i в
позиции m, n после линейной нормировки.
3.
Осуществление прямого прогона, т.е. распространение вычисляемых
сигналов от входного слоя к выходному: на сверточном слое (С-слой) (1.10), на
слое усреднения (S-слой) (1.11), выходном слое (1.12, 1.13) соответственно.
ym,n  Cmi ,n   (p)   (b 
KC 1 KC 1
X
qQi k 0 l 0
q
m  k ,n l
* Ядроkq,l ) ,
(1.10)
K S 1 K S 1
ym,n  Smi ,n   (p)   (b u 
C
k 0 l 0
i
m*K S  k , n*K S l
),
(1.11)
где Cmi ,n , S mi ,n – выход нейрона расположенного на i-ой карте С или S-слоя в
позиции m, n, φ(·) = A*tanh(B*p) при A=1.7159, B=2/3, p – взвешенная сумма, b –
смещение, u – настраиваемый параметр для каждой S-карты (усредняющий
коэффициент) Qi – множество индексов карт предыдущего слоя, связанных с
картой Сi, KС, KS – размер квадратного РП для нейрона Cmi ,n и S mi ,n соответственно,
X mq  k ,n l – входное значение для нейрона C mi , n , Ядроkq,l – q-ая часть настраиваемых
параметров, которая отвечает за взаимодействие с q-ой картой предыдущего слоя.
K
pi  ( Ck * wi ,k )  bi ,
(1.12)
k 1
Outputi   (pi ) 
exp(pi )
SizeOutput

k 1
,
(1.13)
exp(pk )
где i = 1..SizeOutput, SizeOutput – кол-во нейронов в выходном слое, K –
кол-во нейронов в слое, предшествующем выходному слою (вырожденный Сслой), wi,k – настраиваемые параметры выходного слоя, bi – смещение для нейрона
этого слоя, pi – взвешенная сумма нейронов этого слоя, Outputi – выход i-го
нейрона выходного слоя.
40
4.
Вычисление ошибки на выходном слое.
E
SizeOutput

k 1
tk *log(Output k ) ,
(1.14)
где tk [0,1] – k-ый элемент вектора-учителя.
5.
Осуществление обратного прогона.
Для выходного слоя (1.15), для вырожденного слоя (1.28), для S-слоёв (1.29,
1.30), для С-слоёв (1.31, 1.32), для смещений (1.33) соответственно.
E
E yi pi

*  *    i * y j 1 ,


wi , j yi pi wi , j
где  i 
(1.15)
E
 Outputi  ti – локальный градиент (невязка), получаемая на
pi
выходном слое, который далее распространяется от выхода к входу, λ – номер
слоя, wi, j – настраиваемые параметры для λ слоя, y j 1 – выходное значение
нейрона j со слоя λ-1. Такое значение невязки получается исходя из следующих
соображений (индекс λ для удобства можно опустить):
Output j
E SizeOutput E
,
 
*
pi
Output j
pi
j 1
(1.16)
знак суммы появляется, т.к. на выходной i-ый нейрон влияют все остальные
j-ые нейроны выходного слоя, исходя из формулы (1.13).
tj
E
 ( t j *log(Output j ))

Output j
Output j
Output j
Величину
Output j
pi
необходимо рассмотреть для двух случаев: i = j
(1.17)
41
e pi 
 



Output j Outputi 
e pi



 SizeOutput

pi
pi
pj 
  e 
 j 1


 SizeOutput p
*  e j
j 1
pi 
 



pi
 SizeOutput p j 
  e 
 j 1

pi
 SizeOutput p j
  e
e pi
e pi
j 1
 SizeOutput
*  SizeOutput
 SizeOutput

p
p
p
e j   e j
e j


j 1
j 1
 j 1

 pi SizeOutput p j
pj

e
*

e   e
j 1, j  i


2

(1.18)


  Outputi *(1  Outputi )



иi≠j
e 


p

Output j 
e j

  SizeOutput
pi

pk 
  e 
 k 1


pj

 SizeOutput pk  p j  pi SizeOutput pk
*  e   e * e   e
k 1, k  i
 k 1


pi



pi

e pi * e
pj
 SizeOutput pk 
  e 
 k 1

2
SizeOutput

k 1

e pk 




pi
2

,
(1.19)
 Outputi * Output j
где k введён, чтобы не спутать с j-ым нейроном.
Таким образом, получаем
Output j
pi
Outputi *(1  Output i ), при i = j

.
 Outputi * Output j , при i  j
(1.20)
Следовательно
tj

* Outputi *(1  Output i )   t i *(1  Output i ), при i = j

Output j  Output j
E
*

.
Output j
pi
  tj
*  Outputi * Output j   t j * Outputi , при i  j

Output
j

(1.21)
Отсюда получается
SizeOutput 
Output j
Outputi
E
E
E

*
  
*
pi Outputi
pi при i = j j 1, при i  j  Output j
pi
  t j * 1  Outputi  
при i = j

  Output * t   Output
SizeOutput
j 1, при i  j
i
j
i
 ti

 

.
(1.22)
42
Если для классификации используется среднеквадратическая функция
ошибки (1.6), то  i примет другое значение:
 i 
E
 (t i  Output i ) * i (pi ) ,

pi
(1.23)
где i (pi ) – производная от функции активации нейрона выходного слоя.
Такая невязка получается исходя из следующих соображений (коэффициент λ
опущен для удобства):
ei
Outputi
E E

*
*
,
pi ei Outputi
pi
(1.24)
где ei  ti  Outputi исходя из (1.6), а Outputi  A *tanh(B*pi ) , константы A и B
имеют те же значения, что и в (1.10), (1.11). Тогда
E  1 2 
  * ei 
ei  2

 ei ,
(1.25)
ei
ei
  ti  Outputi 
 1 ,
Outputi
Outputi
Outputi
 i (pi ) .
pi
(1.26)
(1.27)
Для слоя λ-1 имеем
E
   k * wk,i * (pi 1 )* y j 2  y j 2 *(   k * wk ,i )* (pi 1 )   i 1 * y j 2 ,
 1
wi , j
kD
kD
где
E
E yk pk yi 1 pi 1

*
*
*
*
wi, j 1 kD yk pk yi 1 pi 1 wi, j 1
(1.28)
D – множество нейронов из
,
последующего слоя (λ слой), соединённых с нейроном yi 1 ,  () производная от
 () , y j  2 – выходное значение нейрона j со слоя λ-2.
Для C-слоя и S-слоя вычисление компонентов вектора градиента
происходит в два этапа: сначала вычисляется накопленная невязка, затем сам
компонент вектора градиента по параметру сети.
 m,n 

N
i
Dz
z 1
 i 1 * wi 1[m, n]* (pm ,n ) ,
(1.29)
43
где  m,n – невязка, собираемая для нейрона с координатами m, n в пределах
карты слоя λ, wi 1[m, n] – настраиваемый параметр для связи, соединяющий нейрон
m, n на S-слое и нейрон с невязкой  i 1 , wi 1[m, n]  Ядроi 1[ t,  z] , (∆t, ∆z) –
смещение в рамках ядра для настраиваемого параметра связи, N – количество
карт, которые связаны с текущим нейроном из последующего слоя, Dz –
множество связанных нейронов последующего слоя из z-ой карты, которые
связаны с нейроном m, n.
E KS KS E
,
 
u  k 0 l 0 uk,l
где
(1.30)
E SizeS SizeS 
    m,n * ym *K1 S  k ,n*K S l , т.к. uk,l  u  , SizeS – размер карты S-слоя.
uk,l m0 n 0
 m,n    i 1 * wi 1[m, n]* (p m ,n ) ,
(1.31)
iD
где D – множество нейронов на последующей карте (λ+1 слой), связанных с
нейроном n, m, wi 1[m, n] – это ui 1 той карты S-слоя, с которой связана карта Сслоя.
SizeC SizeC
E

 m,n * ym 1k ,n l ,


 q
 (Ядро k ,l )
m 0 n 0
(1.32)
где q – та часть ядра настраиваемых параметров, для которых получают
компонент градиента, SizeC – размер карты С-слоя.
Обновления смещений для S-слоёв и C-слоёв происходит по формуле (1.33)
E SizeCard SizeCard 
    m,n ,
bi
m0
n 0
где
(1.33)
E
– компонент вектора градиента для смещения i-ой S или C-карты
bi
слоя λ, SizeCard – размер карты С-слоя или S-слоя, если происходит обновление
смещения для C-слоя или S-слоя соответственно.
6. Корректировка настраиваемых параметров СНС.
wnew  wold   *
E
,
wold
(1.34)
44
где wnew, wold – значения новых и старых параметров соответственно, η –
скорость обучения,
E
– вектор градиента.
wold
7. Повторение шагов 2–6 для очередного паттерна из обучающей выборки.
Приведённый алгоритм способен правильно работать только с РП
квадратной формы, поэтому он нуждается в адаптации к РП произвольной формы.
1.5
Анализ
программно-аппаратных
комплексов
распознавания
изображений
Проведён анализ существующих программно-аппаратных комплексов
распознавания изображений. Выявлены их преимущества и недостатки.
Как было сказано в подглаве 1.1 и 1.2 распознавание изображений
осуществляется преимущественно с помощью ИНС. Практически всегда ИНС
имеет программную реализацию. Программа для обучения ИНС может быть
написана либо самостоятельно при наличии необходимых знаний и навыков, либо
можно воспользоваться существующим программным пакетом по созданию и
обучению ИНС (нейропакетом).
В результате проведённого анализа научно-технической литературы [51, 66,
71, 73, 81, 83, 101, 114, 115] были выявлены и рассмотрены следующие
программные
комплексы
по
созданию
и
обучению ИНС
для
анализа
изображений.
Существует нейропакет BrainMaker [38], являющийся одним из продуктов
компании California Scientific Software (США). Это инструментальная среда для
разработки приложений на основе нейронных сетей для распознавания
изображений, прогнозирования и ассоциативной памяти. Пакет позволяет
находить решения различных задач, прогнозировать, создавать и обучать
нейронные сети.
Для распознавания изображений BrainMaker позволяет создавать и обучать
следующие сети: многослойный персептрон, рекуррентная сеть, вероятностная
45
сеть.
К плюсам данного пакета можно отнести использование алгоритмов,
которые обычно не используются в других программах: корреляторы данных,
циклический анализ, анализ чувствительности, контурный анализ, гиперзвуковое
обучение, генетические алгоритмы. Однако данный нейропакет не позволяет
реализовывать СНС.
Аналитическая платформа Deductor [63] компании BaseGroup Labs (Россия).
Реализованы следующие технологии: ИНС, генетические алгоритмы, деревья
решений, ассоциативные правила, спектральный анализ, статистика, базы данных,
добыча данных, анализ данных, OLAP, моделирование, прогнозирование.
Имеются следующие приложения в которых реализованы алгоритмы
обработки и анализа данных: Cube Analyzer, RawData Analyzer, Neural Analyzer,
Tree Analyzer, SOMap Analyzer. Все они находятся в единой программе – Deductor
Studio.
К плюсам данного пакета можно отнести мощные средства предобработки
данных: очистка от шумов, заполнение пропущенных данных, а также средства
визуализации. Однако данный пакет предназначен, прежде всего, для анализа
данных (Data Mining), поэтому ИНС реализованы в недостаточном объёме для
качественного распознавания изображений (многослойный персептрон, алгоритм
обучения – метод тяжёлого шарика с фиксированным шагом).
Программные продукты фирмы НейроОК [37, 78] Интелсофт (Россия).
Используются следующие технологии: нейросетевая аппроксимация данных
(алгоритмы обучения нейросетевых моделей с автоматическим прореживанием
связей, оптимизирующие их обобщающую способность), многофакторная
оптимизация,
самоорганизующиеся
кластерные
модели,
вероятностные
экспертные системы, вероятностные Марковские модели временных рядов,
статистическая предобработка данных. Нейронные сети реализованы с помощью
модулей NeurOK C-net, который ориентирован на решение задач прогноза и
аппроксимации многомерных данных комитетами многослойных нейронных
46
сетей, и NeurOK C-map, который предназначен для кластеризации и визуализации
многомерных данных методом самоорганизующихся карт.
Данный пакет содержит мощные средства для предобработки данных и их
визуализации, но он также создавался для задачи анализа данных. ИНС
представлены многослойными персептронами, которые обучаются методом
градиентного спуска с адаптивным выбором параметров обучения RProp. Данный
программный пакет не подходит для задачи распознавания изображений.
Нейросетевой
эмулятор
Essence
[77]
(Россия)
представляет
собой
программную среду, предназначенную, прежде всего, для разработки и обучения
нейронных сетей с целью отыскания скрытых зависимостей в числовых данных.
В программе реализована наиболее употребительная архитектура ИНС –
многослойный персептрон. На число слоёв и число нейронов в каждом слое не
накладывается никаких ограничений, предусмотрено девять видов функции
активации нейронов, возможность устанавливать отдельно число и вид нейронов
для каждого слоя.
К плюсам можно отнести большое количество алгоритмов обучения ИНС:
BFGS, Partan, метод тяжёлого шарика, сопряженных градиентов, усреднения
градиента, статистического градиента, случайного поиска, RProp, QuickProp,
delta-delta, delta-bar-delta.
К минусам относится реализация только многослойного персептрона,
который уступает СНС в задачах распознавания изображений.
Пакет MATLAB Neural Network Toolbox [139] (США). Данный пакет,
функционирующий под управлением ядра системы MATLAB, является одним из
продуктов компании MathWorks.
В пакете Neural Network Toolbox реализуются следующие алгоритмы:
градиентный спуск, градиентный спуск с возмущением или выбором шага, RProp,
Флетчера-Ривса, Полака-Рибьера, BFGS, Левенберга-Марквардта, алгоритм
метода секущих плоскостей. На основе вышеперечисленных алгоритмов можно
строить следующие нейронные сети: однослойный персептрон, многослойный
47
персептрон, сети ADALINE, радиальные базисные сети, сети GRNN для решения
задачи обобщённой регрессии, сети PNN для решения вероятностных задач, сети
Кохонена, Элмана, Хопфилда. Можно импортировать большие и сложные наборы
данных.
К
преимуществам
относятся
универсальность
данного
пакета,
на
сегодняшний день – это один из наиболее полных пакетов по созданию и
обучению ИНС. Для данного пакета существуют реализации СНС в виде
подключаемых библиотек. К минусам можно отнести высокую цену пакета.
Из анализа существующих программных комплексов видно, что СНС по
умолчанию в них не реализуются. Это связано с большей их сложностью,
разнообразностью архитектурных особенностей, а также тем, что обычный
многослойный
персептрон
также
подходит
для
задачи
распознавания
изображений, однако, обучить его будет сложнее и можно не достичь требуемого
качества распознавания на тестовой выборке.
СНС реализуются пока что в виде отдельных библиотек, как правило,
написанных на Python, и предназначенных либо для очень крупных пакетов
(MATLAB), либо как расширения библиотек высокоуровневых языков по
обработке данных. К таким библиотекам можно отнести DeepLearnToolbox [11],
способную реализовывать автоэнкодер, ограниченные машины Больцмана, СНС.
Эта библиотека предназначена для MATLAB и не поддерживает параллельные
вычисления. Библиотека Cuda-convnet [6], написанная Алексом Крижевским (Alex
Krizhevsky). Интерфейс создан на Python, ядро поддерживает CUDA-вычисления.
Библиотека Theano [9] на базе Python, способна генерировать код С++,
поддерживать параллельную обработку. Библиотека Lush [8], созданная Яном
ЛеКуном и использующая Lisp-подобный язык. При компиляции генерирует Скод. Библиотека Torch [10], написанная на языке Lua, созданная специально для
алгоритмов машинного обучения. Deepnet [7] – библиотека университета
Торонто, написанная на языке Python, способна моделировать такие сети как
СНС, машины Больцмана, содержит множество алгоритмов обучения.
48
СНС, обученные с помощью существующих программных комплексов или
библиотек используются в качестве ядра систем технического зрения для
мобильных роботов.
Так разработан LAGR (Learning Applied to Ground Robotics)-робот [69],
который способен двигаться по пересечённой местности.
Для распознавания объектов используется СНС, способная переобучаться в
режиме on-line при езде робота. Робот способен распознавать деревья, газоны,
дороги, кусты и другие объекты местности и, исходя из этого, планировать своё
движение.
Существует мобильный робот KURT 2 [68], также использующий СНС для
распознавания объектов, выделения признаков и борьбой с шумами. Он оснащён
одной
камерой
с
разрешением
320x240
пикселей,
способен
объезжать
препятствия, составлять планы помещений, распознавать элементы различные
типы преград.
СНС
используются
в
качестве
ядра
технического
зрения
и
в
антропоморфных роботах. Так система технического зрения антропоморфного
робота NAO [70] (Aldebaran Robotics), основана на СНС, которая получает в
качестве входной информации кадры со специальной RGB-D камеры.
В Российской Федерации лидером по производству робототехнических
систем является НПО «Андроидная
техника»
[26], которая
занимается
разработкой аппаратной части мобильных антропоморфных роботов. Системы
технического зрения базируются на зарубежных библиотеках, таких как OpenCV
[73],
что
не
позволяет
обеспечивать
высокое
качество
инвариантного
распознавания. Возникает необходимость в создании программного комплекса,
способного создавать и обучать СНС, которые могут быть использованы для ядра
систем технического зрения отечественных роботов и стендов, таких как
«Мехатроника» и AR-600E.
Так как СНС реализует в своей архитектуре концепцию структурной
инвариантности [89] (часть априорной информации встраивается в саму сеть), то
49
возможность изменения элементов СНС (РП, нейроны, различные типы слоёв,
различные типы связанностей настраиваемых параметров, различные типы
классификаторов и др.) значительно шире, чем у обычных многослойных
персептронов. По этой причине ни одна из вышеперечисленных библиотек не
реализует все доступные на сегодня алгоритмы и методы обучения, созданные
для СНС. На сегодняшний день нет ни одной реализации СНС с изменяющимися
РП, поэтому возникает необходимость в разработке программного комплекса,
реализующего эту возможность.
1.6 Выводы
На основе проведённого анализа сделаны следующие выводы:
1.
Исследование задачи инвариантного распознавания изображений
показало, что на сегодняшний день эта задача не решена и актуальна.
2.
В
результате
анализа
математических
методов
распознавания
изображений было установлено, что на сегодняшний день доминируют
многоуровневые методы, имеющие промежуточные решения по масштабу или по
уровню абстрактности. Наибольшей популярностью пользуются математические
модели
на
основе
статистического
обучения,
преимущественно
модели
иерархических признаковых классификаторов.
3.
На
основе
проведённого
анализа
иерархических
признаковых
классификаторов установлено, что для задачи инвариантного распознавания
изображений СНС имеют лучший показатель, исходя из соотношения «простота
математической модели – качество» и превосходят в среднем по качеству
распознавания аналоги на 10%–15%.
4.
Обосновано, что для статистического обучения иерархических
признаковых классификаторов ключевую роль для выбора оптимальных значений
параметров математической модели СНС играет репрезентативность и объём
обучающей выборки.
50
5.
Исследованы методы создания репрезентативной обучающей выборки
посредством
ключевые
добавления
преимущества
преобразованных
и
недостатки
паттернов.
данных
Сформулированы
методов.
Предложен
альтернативный метод, который позволяет расширить обучающее множество за
счёт изменения воспринимающих свойств СНС: рецептивных полей.
6.
В результате анализа методов обучения СНС было выбрано для целей
диссертационной работы обучение с учителем. Предлагается использовать сеть,
где часть для выделения признаков, состоит из чередование слоёв свертки и
усреднения, и слои свертки имеют общие веса.
7.
На основе исследования различных алгоритмов обучения СНС был
выбран алгоритм локальной оптимизации, основанный на использовании
производных первого порядка для получения вектора антиградиента.
8.
Анализ
существующих
аппаратно-программных
комплексов
и
библиотек для создания и обучения СНС показал, что данные комплексы и
библиотеки
не
позволяют
производить
обучение
с
изменяющимися
рецептивными полями СНС, поэтому возникает необходимость разработки
программного комплекса, который может реализовывать эту функцию.
51
ГЛАВА 2. МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ СВЕРТОЧНОЙ
НЕЙРОННОЙ СЕТИ С РЕЦЕПТИВНЫМИ ПОЛЯМИ НЕСТАНДАРТНОЙ
ФОРМЫ
В данной главе представлено решение первых трёх частных научных задач:
разработан алгоритм по изменению рецептивных полей у нейронов на
произвольной
комбинации
сверточных
слоёв,
разработан
метод
синтеза
параметров математической модели сверточной нейронной сети с расширенным
обучающим множеством и алгоритм, реализующий данный метод.
2.1 Алгоритм изменения формы рецептивных полей для различных
комбинаций сверточных слоёв СНС
Наиболее важный критерий работы сети – это ошибка обобщения
(generalization
error), т.е. частота сделанных
машиной ошибок при её
тестировании на не встречавшихся ранее примерах [89]. Как уже упоминалось в
подглаве 1.1 эта ошибка, прежде всего, зависит от обучающего множества, не
имея репрезентативного обучающего множества нельзя добиться малой ошибки
обобщения на незнакомых для сети примерах.
Для задач распознавания изображений составлять репрезентативные
обучающие множества – очень сложная задача, т.к. распознаваемый объект на
изображении может находиться под разными ракурсами, быть разных цветов,
менять форму, иметь разное освещение и т.д. Как следствие, связать массив
пикселей, которые могут изменяться почти произвольно и семантическую метку
сложно. Поэтому основа обучающего множества составляется человеком, а
дальше, при необходимости, происходит расширение обучающего множества за
счёт либо специальных алгоритмов, которые используя исходные обучающие
паттерны неким образом (исходя из целей задачи) искажают их, либо искажения
накладываются на внутренние параметры математической модели сети.
52
СНС можно рассматривать как иерархический пирамидальный граф, узлы –
это нейроны, связи между ними – это дуги. Работа с дугами для создания
искажений была представлена в [161, 162]. Узлы-нейроны имеют три
воспринимающих свойства: функцию активации, рецептивное поле и тип свертки.
Проще всего для изменения сигнала нейрона менять РП. Если для некоторых
слоёв СНС менять множество РП, то один и тот же паттерн может быть воспринят
сетью по-разному. За счёт этого можно расширить обучающее множество. В
данной главе предлагается алгоритм, изменяющий перед подачей паттерна РП у
нейронов, лежащих на любой комбинации С-слоёв [53, 56, 144, 145].
Классическая форма РП в СНС – это квадрат [136]. Это перешло в СНС из
цифровой обработки изображений, где сканирование изображения с целью
фильтрации осуществляется с помощью квадратного окошка [20].
РП в виде квадрата имеет преимущество перед произвольными РП. Если
изображение осмысленное, а не цветовой шум, то оно состоит на «микроуровне»
из похожих кусков, включающих в себя близкие по значению пиксели [20], между
этими кусками есть перепады яркости. На рисунке 2.1 показано три рецептивных
поля, которые могут быть связаны с ядром сети, состоящем из 9 настраиваемых
параметров, кругом обозначается область, которая требуется для включения зоны
действия этих РП.
Рисунок 2.1 – Три различные рецептивные поля, которые могут быть связаны с
ядром из девяти настраиваемых параметров
Чем меньше радиус круга, тем больше вероятность того, что диапазон
значений пикселей окажется уже, и они будут больше похожи друг на друга.
53
Тогда в первом случае на ядро будет воздействовать с большей вероятностью
узкий диапазон значений, т.е. будет меньше хаоса, энтропия будет меньше, и ядру
будет легче выделить признак, на который нейрон активируется максимальным
значением.
Простейший способ увеличить количество информации, воздействующее на
ядро, – это увеличить концентрацию РП. Но, если концентрация – максимальна,
то единственный способ увеличить поток информации для ядра – менять
покрытие РП для всей карты, т.е. на места, где располагались старые РП, ставить
новые РП.
Для того, чтобы получить другое РП, используется понятие соседей из
ЦОИ. Соседом элемента внутри РП считается элемент в пределах двух
дискретных шагов от него. Т.е. с большой вероятностью такой сосед будет не
сильно отличаться от данного элемента. На рисунке 2.2 показана геометрическая
интерпретация соседей элемента и введены индексы для возможных соседей.
Рисунок 2.2 – Проиндексированные соседи элемента с индексом 0
На рисунке 2.3 показано видоизменённое РП, которое получится из
искомого, если значение X заменить на значение Y. Для осуществления этой
замены
можно
использовать
шаблон
соответствовать РП нестандартной формы.
с
индексом
17,
который
будет
54
Рисунок 2.3 – Замена элемента X в пределах квадратного РП на элемент Y за
пределами РП. Используется шаблон, который формирует РП сложной
нестандартной формы
СНС воспринимает паттерн не целиком, а дискретными кусками через РП,
которые и образуют множество, воздействующее на ядро (рисунок 2.4).
Рисунок 2.4 – На ядро воздействует множество S, которое получается в результате
применения стандартного покрытия РП для карты
Если изменить всё покрытие РП для некоторой карты, то это можно
трактовать, что на эту карту подан измененный неким внешним способом
паттерн, и он рассматривается-воспринимается обычными квадратными РП.
55
Тогда на ядро, обрабатывающее эту карту в процессе обучения будет
воздействовать дополнительная информация от искажённого паттерна, что может
привести к выделению лучшего инварианта, ведь по теории вероятности пикселисоседи могли бы оказаться на месте заменяемых пикселей (рисунок 2.5).
Рисунок 2.5 – В результате применения дополнительного покрытия из РП
нестандартной формы получается дополнительное множество Z, воздействующее
на ядро в процессе обучения
В терминах градиентной локальной оптимизации смену покрытия РП со
стандартных РП на нестандартные можно трактовать как прибавление к вектору
антиградиента шумовой компоненты  :
E
   ,
w
где
(2.1)
E
– вектор антиградиента по весам сети при стандартном покрытии
w
РП,  можно представить явным образом как
 
где
E 2 E

.
w w
E1 E2

,
w w
(2.2)
E1
– вектор антиградиента при нестандартном покрытии РП (  ),
w
56
Вектор  перестаёт точно указывать в направлении спуска к локальному
минимуму, зато небольшие минимумы на поверхности ошибок могут лучше
преодолеваться в процессе градиентного спуска [21, 135].
Информация об изменении РП у нейронов на любой комбинации С-слоёв
берётся из столбцов матрицы A9xL (рисунок 2.6).
L  N0  M ,
(2.3)
где L – количество столбцов матрицы A, N0 – количество паттернов в
искомой обучающей выборке, M – количество добавленной информации о смене
РП для преобразования M паттернов.
M (Q, T, Vj ) 
V QT
 Vj
 100 * N
j 1

0

,

(2.4)
где Q – количество комбинаций С-слоёв, которые могут иметь или не иметь
РП нестандартной формы. Использовались СНС с тремя С-слоями, поэтому
конкретная комбинация представляет из себя набор трёх элементов: Qi  (x1 , x 2 , x3 ) ,
x j  [0,1] , i=1..2(Кол-во С-слоёв), T – количество тактов, Vj – целое число, обозначающее
процент от N0, 0≤ Vj ≤100, V – кол-во чисел Vj, V=T*Q.
Информация об искажении подразделяется на локальную и глобальную.
Глобальная информация определяет, какие С-слои будут иметь нестандартные
покрытия РП, а локальная информация определяет, какие конкретно РП будут
иметь нейроны соответствующих карт.
Используя такую схему не нужно физически создавать новые паттерны, т.к.
известен способ получения новых, и, как следствие, можно динамически
обновлять обучающее множество от эпохи к эпохе.
Каждый С-слой может иметь несколько типов РП: SetRPi  RP1 , RP2 ,..., RPn  ,
i
где SetRPi – множество типов РП для i-го С-слоя, RP1 – квадратное РП, ni –
количество типов РП для i-го С-слоя.
57
Рисунок 2.6 – Общая структура матрицы A9xL для СНС с тремя С-слоями. I –
информация о глобальном искажении паттерна, II – информация о локальном
искажении
Для присвоения нейронам i-го C-слоя РП предлагается использовать два
алгоритма. Алгоритм A lg1 (RPt  SetRPi ;Ci ) присваивает всем нейронам слоя Сi РП с
индексом RPt, t=1..T – номер такта, T=ni. Такой алгоритм при соответствующих
РП обеспечивает инвариантность к сдвигам. Пример разметки карты этим
алгоритмом приведён на рисунке 2.7. Видно, что вся карта помечена РП,
имеющими одинаковый шаблон.
Рисунок 2.7 – Разметка карты алгоритмом Alg1(·)
Алгоритм A lg2 (RP  SetRPi ;Ci ) – присваивает каждому нейрону из слоя Ci
случайное поле RP из SetRPi. Такой алгоритм обеспечивает инвариантность к
58
локально-аффинным
преобразованиям
[25]
типа
elastic
distortions
[156].
Инвариантность к масштабу, текстурам фона, положению объекта, уровням
освещённости обеспечивается исходной обучающей выборкой. Пример разметки
карты этим алгоритмом приведён на рисунке 2.8. Видно, что вся карта помечена
РП,
имеющими разные шаблоны. Выбор определённого шаблона РП из
множества РП – это случайная дискретная величина, которая имеет равномерное
распределение на интервале индексов РП. Плотность распределения этой
величины определяется как
P(RP) 
1
,
ni  1
(2.5)
где ni – мощность множества SetRPi.
Рисунок 2.8 – Разметка карты алгоритмом Alg2(·)
Поскольку свои РП могут иметь любые С-слои, то алгоритмы разметки слоя
могут быть использованы алгоритмами разметки всех C-слоёв. Предлагается два
таких алгоритма:
Alg (RP ;C ), если x i =0
Strategy1 (Alg1 (), Q j )   1 1 i
,
 Alg1 (RPt ;Ci ), если x i =1
Alg1 (RP1;Ci ), если x i =0

Strategy2 (Alg1 (), Alg 2 (), Q j )  
,
Alg 2 (RP  SetRPi ;Ci ), если x i =1
(2.6)
(2.7)
где i=1..количество С-слоёв, xi  Q j , 1 ≤ t ≤ T = ni, Qj – конкретная
комбинация С-слоёв, которые имеют или не имеют РП нестандартной формы.
59
Пример искажения первоначального паттерна за счёт наложения другого
покрытия РП на первый и второй С-слои показан на рисунке 2.9. Пиксели и
выходы нейронов на картах, имеющие одинаковое значение, имеют одинаковый
цвет.
Рисунок 2.9 – Пример искажения первоначального паттерна за счёт наложения
другого покрытия РП на первый и второй С-слои
Видна разница между восприятием паттерна первым и вторым С-слоем для
покрытия, состоящего из квадратных РП (первоначальный паттерн) и покрытия,
состоящего из РП нестандартной формы, распределённых по карте с помощью
алгоритма Alg2(·) (искажённый паттерн).
Общая схема взаимосвязи между множеством алгоритмов разметки слоя,
множеством алгоритмов присвоения нейрону определённого РП и множеством
РП для конкретного слоя приведена на рисунке 2.10. Такая схема позволяет без
значительного изменения программного кода добавлять новые алгоритмы и
новые множества РП.
На рисунках 2.11 и 2.12 схематично показано формирование добавочных
искажённых M паттернов для стратегии разметки Strategy1 и Strategy2.
Искажённые паттерны будут формироваться для СНС с тремя слоями.
60
Рисунок 2.10 – Общая схема взаимосвязи множеств алгоримтов разметки и
множеств РП
Глобальное искажение представлено тремя схемами: Q1, Q2, Q3. Так, из
рисунка 2.11 следует, что для схемы Q2 будет сформировано 20%, 10%, 15% и
13% паттернов от первоначального размера обучающей выборки. Причём в
первом такте нейроны слоёв C1 и C2 будут иметь первое РП из соответствующих
множеств РП для первого и второго С-слоя соответственно, нейроны третьего
слоя будут иметь квадратные РП. Паттернов, воспринятых по такой схеме будет
20%. Количество тактов равно количеству РП в множествах РП для сверточных
слоёв.
На рисунке 2.12 для схемы Q2 и первого такта нейроны слоёв C1 и C2 будут
иметь не одни и теже РП (с индексом такта), а случайно выбранные РП из
соответствующих множеств для каждого нейрона. Количество тактов тут
регулирует общее количество добавляемых паттернов.
61
Рисунок 2.11 – Пример обобщённой схемы формиования добавочных искажённых
паттернов для Strategy1
Рисунок 2.12 – Пример обобщённой схемы формиования добавочных искажённых
паттернов для Strategy2
Обобщённый алгоритм изменения формы РП для С-слоёв СНС представлен
на рисунке 2.13. После формирования матрицы A идёт считывание информации
62
по столбцам и в соответствии с записанными там данными корректируются
соответствующие РП С-слоёв.
Рисунок 2.13 – Обобщённый алгоритм изменения формы РП для нейронов Сслоёв СНС
Предложен алгоритм изменения форм РП для различных комбинаций
сверточных слоёв СНС, приводящий к изменению ее архитектуры, отличающийся
от известных тем, что элемент РП нейрона может получать значение,
находящееся в двух дискретных шагах от него на карте признаков.
2.2 Метод синтеза параметров математической модели СНС с помощью
расширенного
обучающего
множества,
генерируемого
изменением
её
рецептивных полей
Предлагается метод, который за счёт изменения внутренних параметров
СНС (РП) способен создавать дополнительные искажённые паттерны, тем самым
63
расширяя обучающее множество и увеличивая обобщающую способность сети
[53, 56].
Применение нестандартных РП требует адаптации алгоритма обратного
распространения ошибки.
Предлагаемый метод состоит из следующих шагов.
1.
В процессе обучения перед подачей очередного паттерна на вход СНС
изменить РП для нейронов на нужной комбинации С-слоёв, используя алгоритм,
описанный в подглаве 2.1.
2.
В процессе прямого прогона получить выходные значения нейронов
С-слоя согласно формуле 2.8 вместо 1.10.
ym,n  C
i
m,n
  (p)   (b 
KC 1 KC 1
X
qQi k 0 l 0
q
m  k  Fi (RPm ,n ;k;l),n l  F j (RPm ,n ;k;l)
* Ядроkq,l )
,
(2.8)
где Fi (RPm,n ; k;l) , Fj (RPm,n ; k;l) – функции, возвращающие смещения по строке и
столбцу для шаблона РП, принадлежащего нейрону m, n в позиции k, l внутри
этого шаблона. indexk ,l – есть элемент шаблона RPm,n в позиции k, l, indexk ,l  0..24 .
Данные функции определяются по следующим формулам:
 0; indexk ,l  0, 4,5,16,17
 0; indexk ,l  0, 2, 7,11, 22


 1; indexk ,l  6, 7,8,18,19
 1; indexk ,l  3,5,8,12, 23


Fi ()  2; indexk ,l  20, 21, 22, 23, 24 Fj ()  2; indexk ,l  13,15,17,19, 24
 -1; index  1, 2,3,14,15
 -1; index  1, 4, 6,10, 21
k ,l
k ,l


 -2; indexk ,l  9,10,11,12,13
 -2; indexk ,l  9,14,16,18, 20
,
3.
(2.9)
В процессе обратного прогона получить локальный градиент для С-
слоя по формуле 2.10 вместо 1.32.
SizeC SizeC
E

 m,n * ym 1k  F (RP ;k;l),n l  F (RP ;k;l)


 q
i
m ,n
j
m ,n
 (Ядро k ,l )
m 0 n 0
,
(2.10)
где Cmi ,n – выход нейрона расположенного на i-ой карте С-слоя в позиции m,
n, φ(·) = A*tanh(B*p) при A=1.7159, B=2/3, p – взвешенная сумма, b – смещение,
Qi – множество индексов карт предыдущего слоя, связанных с картой Сi, KС –
размер квадратного РП для нейрона Cmi ,n , X mq  k ,n l – входное значение для нейрона
64
C mi , n ,
Ядроkq,l – q-ая часть настраиваемых параметров, которая отвечает за
взаимодействие с q-ой картой предыдущего слоя.
4. Для очередного паттерна повторить шаги 1 – 3.
Разработан метод синтеза параметров математической модели СНС с
расширенным обучающим множеством, отличающийся от известных тем, что для
повышения обобщающей способности сети, обучающая выборка генерируется
путём добавления искажённых образов посредством изменения рецептивных
полей СНС.
2.3 Разработка алгоритма синтеза параметров СНС с расширенным
обучающим множеством
На основе предложенного метода разработана схема математического
моделирования
СНС
с
расширенным
обучающим
множеством,
которое
генерируется путём добавления искажённых образов посредством изменения РП
СНС [56]. Схема показана на рисунке 2.14.
На её основе разработан алгоритм синтеза параметров математической
модели СНС с расширенным обучающим множеством [56], отличающийся от
известных
тем,
распространения
что
ошибки
предусмотрена
к
адаптация
изменившейся
алгоритма
архитектуре
СНС.
обратного
Алгоритм
представлен на рисунке 2.15. С помощью этого алгоритма можно расширить
обучающее множество и как следствие улучшить обобщающую способность
СНС.
65
 Создание и заполнение матрицы A 9 xL , содержащей информацию о изменении РП

V  QT
V


L  N 0  M ; M (Q, T, V j )    j * N 0 

j 1 100


Чтение из матрицы j-го столбца и изменение РП у СНС


Alg1 (RP1 ;Ci ), если x i =0
 Strategies  Strategy , Strategy  ; Strategy (Alg (), Q )  
1
2
1
1
j

 Alg1 (RPt ;Ci ), если x i =1

Alg1 (RP1 ;Ci ), если x i =0


 Strategy2 (Alg1 (), Alg 2 (), Q j )  Alg (RP  SetRP ;C ), если x =1; Qi  (x1 , x 2 , x 3 )

2
i
i
i


0; РП на j-ом С-слое нестандартной формы

xj  

1; РП на j-ом С-слое стандартной квадратной формы


SetA lg   A lg1 , A lg 2  ; SetRPi  RP1 , RP2 ,..., RPni


1
1

Инициализация настраиваемых парамтеров сети: [..+
]
Z
Z


Подача паттерна на вход сети и осуществление прямого прогона


2*(Вход im ,n )(old)
i
(new)
(Вход
)

 1;

m,n
255

KC 1 KC 1

ym ,n  Cmi ,n   (p)   (b    X mq  k  Fi (RPm ,n ;k;l),n l  F j (RPm ,n ;k;l) * Ядро kq ,l )

qQi k  0 l  0


 0; indexk ,l  0, 4,5,16,17
 0; indexk ,l  0, 2, 7,11, 22




 1; indexk ,l  6, 7,8,18,19
 1; indexk ,l  3,5,8,12, 23



F
(

)

;
F
(

)

2;
index

20,
21,
22,
23,
24



2; indexk ,l  13,15,17,19, 24
i
j
k ,l

 -1; index  1, 2,3,14,15
 -1; index  1, 4, 6,10, 21

k ,l
k ,l



 -2; indexk ,l  9,10,11,12,13
 -2; indexk ,l  9,14,16,18, 20


K S 1 K S 1

ym ,n  S mi ,n   (p)   (b  u   Cmi *K S  k ,n*K S l )

k 0 l 0

K
exp(p )

pi  ( Ck * wi ,k )  bi ; Outputi   (pi )  SizeOutput i

k 1
exp(p k )


k 1

SizeOutput

Вычисление ошибки на выходном слое: E    tk *log(Output k )

k 1


Осуществление обратного прогона

E
E

  i * y j 1 ;  i    Outputi  ti

wi, j
pi

E

   k * wk,i *  (pi 1 ) * y j  2  y j  2 *(   k * wk ,i ) *  (pi 1 )   i 1 * y j  2

wi, j 1 kD
kD


 m,n    i 1 * wi 1[m, n]*  (p m ,n )
N

i Dz

z 1

KS KS
E SizeS SizeS 
E
E

    m ,n * ym *K1 S  k ,n*K S l ;
  



uk ,l m 0 n 0
u

k  0 l  0 u k ,l

SizeC SizeC
E
 
 1
 1


 1
 m ,n    i * wi [m, n]*  (p m ,n );  (Ядро  ) q     m ,n * ym  k  Fi (RPm ,n ;k;l),n l  F j (RPm ,n ;k;l)
iD
m0 n 0
k ,l


E SizeS SizeS 
E SizeC SizeC 
    m,n
    m,n

bi m 0 n 0
bi m 0 n 0


E
Обновление настраиваемых параметров : wnew  wold   *

wold






Рисунок 2.14 – Схема метода математического моделирования СНС с расширенным
обучающим множеством, генерируемым изменением её РП
66
Рисунок 2.15 – Обобщённый алгоритм синтеза параметров математической
модели СНС с расширенным обучающим множеством, генерируемым
изменением её РП
67
Предложен алгоритм синтеза параметров математической модели СНС с
расширенным обучающим множеством, отличающийся от известных тем, что
предусмотрена адаптация алгоритма обратного распространения ошибки к
изменившейся архитектуре сверточной нейронной сети.
2.4 Выводы
1.
Предложен алгоритм изменения форм РП для различных комбинаций
сверточных слоёв СНС, приводящий к изменению ее архитектуры, отличающийся
от известных тем, что элемент РП нейрона может получать значение,
находящееся в двух дискретных шагах от него на карте признаков.
2.
Разработан метод синтеза параметров математической модели СНС с
расширенным обучающим множеством, отличающийся от известных тем, что для
повышения обобщающей способности сети, обучающая выборка генерируется
путём добавления искажённых образов посредством изменения рецептивных
полей СНС.
3.
Предложен алгоритм синтеза параметров математической модели
СНС с расширенным обучающим множеством, отличающийся от известных тем,
что предусмотрена адаптация алгоритма обратного распространения ошибки к
изменившейся архитектуре сверточной нейронной сети.
68
ГЛАВА 3 ЧИСЛЕННЫЙ МЕТОД РЕДУКЦИИ РАСШИРЕННОГО
ОБУЧАЮЩЕГО
МНОЖЕСТВА
ДЛЯ
УСКОРЕНИЯ
ОБУЧЕНИЯ
СВЕРТОЧНОЙ НЕЙРОННОЙ СЕТИ
В главе представлено решение четвертой частной научной задачи:
разработан численный метод редукции расширенного множества, позволяющий
сократить время обучения СНС за счет пропуска чати прямых прогонов.
3.1 Метод редукции расширенного обучающего множества
Метод синтеза параметров математической модели СНС с расширенным
обучающим множеством, описанный в главе 2, приводит к увеличению времени
обучения. С увеличением степени обученности сети всё большее количество
паттернов дают на выходном слое малую ошибку, и, как следствие, оказывают
малое влияние на корректировку параметров сети. На рисунке 3.1 кривая II
отображает этот процесс. Поэтому для ускорения обучения паттерны, дающие
малую ошибку на выходном слое, могут быть пропущены.
Рисунок 3.1 – Кривые, отображающие зависимость количества прямых и
обратных прогонов от степени обученности сети
Однако, пропуск обратных прогонов никак не влияет на количество прямых
прогонов (прямая I на рисунке 3.1). Отсюда необходимо разработать численный
метод [75], который позволял бы пропускать часть прямых прогонов (т.е. делать
69
редукцию обучающего множества) на основе накопленной статистической
информации
о
правильности
распознавания
искажённых
паттернов
за
предыдущие эпохи, что позволяло бы сократить время обучения без потери
качества распознавания.
В предлагаемом методе синтеза параметров математической модели СНС с
расширенным обучающим множеством искажения первоначальных паттернов
могут получаться за счёт применения РП нестандартной фомры для нейронов на
любых
комбинациях
С-слоёв,
поэтому
стандартные
методы
редукции
обучающего множества [95, 97, 127, 138, 158] не подходтя для этой задачи, т.к. не
учитывают этой особенности искажения паттерна, поэтому требуется разработка
нового численного метода.
Разработанный метод редукции расширенного обучающего множества
применяется только по отношению к производным искажённым паттернам
(добавочное множество мощностью M) по двум причинам:
1.
Паттерны добавленные человеком к первоначальном множеству
(мощностью N0) обладают большей семантической ценностью, чем паттерны
полученные путём искажения первоначальных.
2.
Обычно, в связи со сложностью составления репрезентативных
выборок для задач распознавания изображений количество первоначальных
паттернов может быть незначительным по сравнению с количеством добавленных
искажённых паттернов.
Информацию об искажении паттерна можно разделить, как уже было
показано в подглаве 2.1 рисунке 2.6, на две части: глобальные искажения и
локальные искажения. Локальные искажения неудобно использовать в качестве
отправной точки для накопления статистической информации, т.к. они слишком
хаотичные. Информация же о глобальном искажении: о используемой схеме
искажения Qi, может в целом характеризовать полученный искажённый паттерн.
Как показано на рисунке 3.2 паттерн pj из первоначального множества TrainingSet
входит как «донор» для получения искажённых паттернов в три дополнительных
70
множества: Set1, Set2, Set3 для схемы Qi, поэтому очевидно, что три новых
искажённых паттерна, имея одного и того же «донора», будут похожи друг на
друга. Пока сеть обучена слабо, то паттерны, имеющие одного «донора» и одну
схему искажения Qi, на выходном слое дают разные ошибки, что способствует
обучению. Но с ростом обученности сети ошибки от таких паттернов будут почти
одинаковыми и близкими к нулю.
Поэтому их локальными различиями можно
пренебречь, и вести статистику о правильном и неправильном распознавании
паттернов, производных от pj, относительно глобальной схемы искажения Qi,
чтобы в дальнейшем исключить такие паттерны из процесса обучения сети.
Рисунок 3.2 – Паттерн pj может много раз использоваться в качестве «донора»
относительно одной схемы искажения Qi, что является основной для накопления
статистической информации о правильном и неправильном распознавании
паттерна
Для накопления статистической информации используются две матрицы:
X N0 x 7
и YN x 7 , где количество столбцов равно 7 – количество комбинаций
0
искажений Qi без учёта комбинации, где ни один С-слой не имеет нейронов с РП
нестандартной
формы
(23-1).
Элементы
матрицы
xi,j
и
yi,j
–
целые
неотрицательные числа. Если паттерн с искажениями pi распознаётся правильно
(pi – «донор» для pi , i=1..N0, схема искажения Qj, j=1..7), то значение в матрице X,
в строчке i (которая равна индексу «паттерна-донора» на которого накладываются
71
искажения) и в столбце j (который равен индексу конкретной комбинации Сслоёв с нестандартными РП), увеличивается на 1. Если он распознаётся
неправильно, то значение увеличивается в матрице Y на тех же позициях.
Соответственно общая идея пропуска прямого прогона для некоторого
искажённого паттерна состоит в том, что если соответствующее значение для
него в матрице X превосходит значение в матрице Y, то прямой прогон для этого
паттерна можно пропустить, т.к. считается, что паттерн сетью уже распознаётся
хорошо.
Под правильным распознаванием паттерна в натурных экспериментах,
когда неизвестен ответ, понимается конъюнкция двух условий: максимально
активированный нейрон на выходном слое – это тот нейрон, который в векторе
учителе имеет значение 1, сила его активации превосходит или равна барьеру в
0.85.
max(Output j ), (j  [1..SizeOutput ])  (t j  1)

Output j  0.85

(3.1)
В экспериментах на тестовых выборках, когда ответ известен, правильное
распознавание считается, если значение ошибки на выходном слое опускается
ниже константы 0.001 [1, 21].
Для пропуска обратного прогона использовалось услоивие 3.2, если
неравенство выполняется, то происходит пропуск обратного прогона:
Ei  OldEav * koeff ,
(3.2)
где Ei – текущая ошибка на выходном слое, koeff специальный
коэффициент, обычно равный 0.1 [135], OldEav – усреднённая ошибка за
предыдущую эпоху обучения:
N0  M
SizeOutput

1
OldE

*
E
,
если
E


Учительk *log(Выход_Сетиk )


av
j
j

N 0  M j 1
k 1

,

2
N0  M
1
1 SizeOutput
OldE 
*  E j , если E j  *  Учительk  Выход _ Сетиk 
av

2*( N 0  M ) j 1
2
k 1

(3.3)
72
Если в матрицах X и Y хранить информацию только за предыдущую эпоху,
то возникнет проблема «скачков» в пропуске паттернов. Эта проблема видна из
таблицы 3.1, где рассмотрен возможный пример пропуска паттернов в начале
каждой эпохе по предлагаемому методу.
Таблица 3.1 – Пример «скачка» в количестве анализируемых искажённых
паттернов из-за использования информации о пропуске прямых прогонов только
за предыдущую эпоху
Эпоха №
1
2
3
4
5
Количество анализируемых
искажённых паттернов за
эпоху
100%
85%
83%
66.8%
93.32%
Количество пропущенных
паттернов за эпоху
относительно текущего
размера обучающей выборки с
оставшимися искажёнными
паттернами
15%
20%
40%
10%
–
Количество пропущенных
паттернов за эпоху
относительно
первоначального размера
обучающей выборки
15%
17%
33.2%
6.68%
–
(100-15)
(0.85*100
*0.2)
Из таблицы видно, что на протяжении четырёх эпох количество
анализируемых искажённых паттернов за эпоху сокращается, но это происходит
только потому, что постоянно возрастает количество пропущенных паттернов
(это значение выражено в процентах относительно первоначального, не
редуцированного, размера обучающего множества мощностью N0+M и текущего
размера множества). Как только по результатам эпохи 4 принято решение о
пропуске 10% (6.68%), то за пятую эпоху будет сделано почти столько же прямых
73
прогонов сколько и за первую, т.е. происходит «скачок». Поэтому необходимо
накапливать информацию в матрицах X и Y за все предыдущие эпохи. Однако,
если просто исключать из рассмотрения те прямые прогоны, которые были
исключены на предыдущих эпохах, то это приведёт к слишком быстрой и, как
следствие, некачественной редукции. Эта ситуация видна из таблицы 3.2.
Таблица 3.2 – Пример слишком быстрой редукции вследствие простого
суммарного исключения прямых прогонов, накопленных за предыдущие эпохи
Эпоха №
1
2
3
4
Количество анализируемых
искажённых паттернов за эпоху
100%
85%
68%
33.6%
Количество пропущенных
паттернов за эпоху
относительно текущего размера
обучающей выборки с
оставшимися искажёнными
паттернами
15%
20%
40%
–
Количество пропущенных
паттернов за эпоху
относительно первоначального
размера обучающей выборки
15%
17%
33.2%
–
(100-17-15)
Уже на третьей эпохе количество прямых прогонов должно составить всего
68%, но вполне вероятно, что часть паттернов, которые раньше обоснованно
переставали участвовать в прямых прогонах, в результате коррекции весов, опять
необходимо включить в матрицу A. Поэтому, с увеличением роста обученности,
необходимо ввести условие, связанное с пропуском прямых прогонов, которое
будет постоянно корректироваться и, тем самым, препятствовать слишком
быстрой редукции.
74
Предлагаемый численный метод редукции [56, 58, 59] состоит из
следующих шагов:
1. После очередной эпохи в процессе обучения
1.1 Оценка матриц, накопивших статистическую информацию
N0
7
SumX   X i , j ,
(3.4)
i 1 j 1
N0
7
SumY   Yi , j ,
(3.5)
i 1 j 1
где SumX и SumY – характеризуют общую степень заполненности матриц X
и Y. С ростом обученности сети SumX >> SumY.
1.2
Вычисление числа  срR , которое показывает на сколько в среднем
элементы из X больше элементов из Y за эпоху R. Сначала вычисляется  R ,
показывающее сумму разниц между элементами матрицы X и Y.
N0
7
   ( X i , j  Yi , j )
R
i 1 j 1
,
(3.6)
где Xi,j > Yi,j, Xi,j-Yi,j= ср .
i, j
Затем вычисляется само  срR :
 p

   ср 
R

 ср
  k 1
 p 


,
(3.7)
где p – количество позиций, где Xi,j > Yi,j.
1.3 Корректировка числа  срR , которое непосредственно участвует в
определении паттернов для удаления из матрицы A. Это делается потому, что
матрица X значительно быстрее накапливает информацию, чем матрица Y, и
необходимо с ростом эпох постоянно увеличивать  срR , чтобы получился ряд 1ср ≤
2
 ср
≤ … ≤  срR , тогда добавление статистической информации от очередной эпохи в
матрицы X и Y не будет приводить к слишком быстрому сокращению размера
матрицы A, и как следствию, – к некачественной редукции.
75
Для получения такого ряда используется правило
R
R
R 1
R
 ср
(new)   ср
 k *( ср
  ср
),
которое применяется, когда
R
 ср
<  срR 1 ,
(3.8)
иначе корректировки
R
 ср
не
происходит. Коэффициент k≥1, если k=1, то после корректировки  срR (new) станет
равным  срR 1 ,т.е. возрастание ряда замедлится (мягкое условие), если k > 1, то
возрастание ряда будет происходить быстро (жёсткое условие).
1.4 Повторный анализ матриц X и Y. Если Xi,j > Yi,j вычисляется ср . Если
i, j
R
(new), то координаты данного паттерна i, j заносятся в специальный
срi , j >  ср
список, на основании которого будет происходить удаление из матрицы A
паттернов в начале следующей эпохи.
2. В начале следующей эпохи сверить матрицу A9xL и сформированный список
на шаге 1. Удалить из матрицы A9xL элементы списка.
3. В процессе эпохи накопить информацию о правильно и неправильном
распознавании паттернов в матрицы X и Y.
4. После окончания очередной эпохи повторить шаги 1 – 3.
3.2
Численные
алгоритм
редукции
расширенного
обучающего
множества
На основе предложенного численного метода редукции расширенного
обучающего множества разработан алгоритм [59], показанный на рисунке 3.3. В
процессе обучения в течение эпохи происходит накопление статистической
информации о распознавании паттернов. Обобщённый алгоритм заполнения
матриц X и Y представлен на рисунке 3.4. После очередной эпохи осуществляется
формирование списка, который содержит индексы паттернов, которые следует
пропустить в течение следующей эпохи (рисунок 3.5). В начале каждой новой
эпохи происходит сверка сформированного списка с матрицей A9xL, элементы,
которые есть в списке пропускаются в новой эпохе обучения.
76
Рисунок 3.3 – Обобщённый алгоритм редукции расширенного обучающего
множества
77
Рисунок 3. 4 – Обобщённый алгоритм заполнения матриц X и Y в течении эпохи
78
Рисунок 3.5 – Обобщённый алгоритм формирования списка для удаления
элементов из матрицы A9xL
Эксперименты по оценки предлагаемого численного метода проводились с
использованием обучающих множеств, описанных в подглаве 4.3, условия
экспериментов и результаты описаны в подглаве 4.5.
Предложенный численный метод редукции позволил сократить в среднем
время обучения на 37% (без потери качества обучения) по сравнению с обучением
с расширенным обучающим множеством без редукции.
79
3.3 Выводы
1.
Предложен численный метод редукции расширенного обучающего
множества, отличающийся от известного тем, что с увеличением степени
обученности сети, всё большее количество паттернов оказывают слабое
воздействие на корректировку весов сети, поэтому часть прямых прогонов может
быть пропущена. Использование метода редукции позволяет сократить время
обучения в среднем на 37% за счёт накопления статистической информации о
результатах распознавания паттернов в предыдущие эпохи.
2.
На основе разработанного численного метода предложен алгоритм
редукции расширенного обучающего множества.
80
ГЛАВА 4. ЭКСПЕРИМЕНТЫ ПО ОБУЧЕНИЮ И ТЕСТИРОВАНИЮ
СВЕРТОЧНЫХ НЕЙРОННЫХ СЕТЕЙ ДЛЯ ЗАДАЧИ РАСПОЗНАВАНИЯ
ИЗОБРАЖЕНИЙ
В данной главе решена пятая частная научная задача: создан программный
комплекс для распознавания изображений с камер мобильного робота. Проведены
эксперименты по подбору базовых параметров для обучения СНС. Сделана
оценка качества предлагаемого алгоритма синтеза параметров математической
модели СНС с расширенным обучающим множеством. Сам алгоритм описан в
подглаве 2.3. Проведено исследование влияния редукции на скорость обучения и
качество распознавания объектов. Алгоритм редукции описан в подглаве 3.2. Для
оценки качества предлагаемого метода синтеза параметров математической
модели СНС с расширенным обучающим множеством проведены натурные
эксперименты на стенде «Мехатроника» с возможностью технического зрения.
Сделана оценка ошибки обобщения. Исследовано влияние шума на качество
распознавания объектов с помощью СНС, обученной предлагаемым методом.
4.1
Общая
структура
программно-аппаратного
комплекса
для
распознавания объектов
Разработанные методы и алгоритмы, описанные в главах 2 и 3 могут
использоваться для распознавания изображений в разных предметных областях.
Они были апробированы и экспериментально исследованы для решения задачи
распознавания изображений с камеры мобильного робота [2] в рамках научноисследовательского проекта с ПАО НПО «Андроидная техника» «Разработка
программного комплекса распознавания изображений с камеры мобильного
робота» (договор №05/АТ/2014 от 17.02.2014 г.). Аппаратной платформой
послужил стенд «Мехатроника» с возможностью технического зрения [26].
Был разработан программный комплекс [45], позволяющий обучать СНС с
нейронами на С-слоях, имеющих РП нестандартной формы.
81
С
помощью
этого
комплекса
были
проведены
эксперименты
по
распознаванию объектов со стенда «Мехатроника» [56], а также эксперименты с
тестовыми выборками для инвариантного распознавания изображений [53, 144,
145].
Общий принцип работы комплекса показан на рисунке 4.1.
Рисунок 4.1 – Общий принцип работы комплекса
Комплекс импортируется на мобильного робота, где подключается к
видеопотоку от одной или нескольких камер (обычно двух). Каждый кадр
видеопотока анализируется и происходит выделение потенциально интересных
мест, которые определяются как пиксельные массивы текущего кадра,
изменившиеся относительно предыдущего кадра. Далее эти потенциально
интересные места сжимаются или увеличиваются до размера входа или входов
уже обученной СНС и происходит классификация изображений, когда каждому
пиксельному массиву в соответствие ставится некоторая семантическая метка.
Процесс обучения СНС происходит отдельно во времени, но локализован
он может быть, как на той же машине, где происходит распознавание, так и на
другой машине, не связанной с мобильным роботом или стендом. Примеры
работы комплекса приведены на рисунке 4.2 и в приложении Б.
82
Рисунок 4.2 – Примеры работы комплекса по распознаванию изображений
Весь программный комплекс можно разбить на три части: создание выборки
– первая часть, обучение сети – вторая часть, распознавание объектов – третья
часть. Автором получены свидетельства о государственной регистрации
программ для ЭВМ №2015614432 (от 17 апреля 2015 г) [42] и №2015614840 (от 28
апреля 2015 г.) [43], относящиеся к первой части по созданию и работы с
выборкой, а также свидетельства №2015614849 (от 29 апреля 2015 г.) [46] и
№2015616115 (от 29 мая 2015 г.) [47], относящиеся к третьей части:
распознаванию образов.
Общий вид стенда «Мехатроника» показан на рисунке 4.3.
Рисунок 4.3 – Общий вид стенда «Мехатроника»
83
Аппаратная часть системы технического зрения стенда «Мехатроника»
представлена камерой AXIS M1054, стандартное рабочее разрешение при
распознавании установлено в 320x240 пикселей (HDTV), горизонтальный угол
обзора 80º, допустимый диапазон внешней освещённости от 0.9 до 105 люкс,
частота кадров при любом разрешении 30 кадров в секунду (H.264/M-JPEG).
Программная часть представлена импортированным комплексом для
распознавания
объектов.
Программный
комплекс
системы,
позволяющий
распознавать объекты с камер стенда или мобильного робота, состоит из двух
модулей: выделение потенциально интересных мест на кадре и распознавание
выделенных изображений, переданных на вход СНС. Оболочка комплекса и
алгоритм выделения мест написаны на С#, распознавание с помощью СНС
реализовано на C++ и подключается в виде библиотеки к основной программе.
4.2 Модуль создания и обучения сверточной нейронной сети
Автором разрабатывался программный модуль [58], отвечающий за
создание и обучение СНС с помощью которого, в том числе, можно обучать СНС
с нестандартными РП. Получены следующие свидетельства о государственной
регистрации программ, покрывающие функциональные особенности модуля:
№2013614056 (от 23 апреля 2013 г.) [44], №2014617810 (от 4 августа 2014 г.) [45],
№2015614834 (от 28 апреля 2015 г.) [40], №2015614813 (от 28 апреля 2015 г.) [48],
№2015614739 (от 27 апреля 2015 г.) [41], №2015614847 (от 10 марта 2015 г.) [49],
№2015614848 (от 29 апреля 2015 г.) [39].
Рабочий вид программы представлен на рисунке 4.4.
84
Рисунок 4.4 – Общий вид работающей программы по обучению и созданию СНС
Общая структура взаимодействия программного модуля с внешними
файлами представлена на рисунке 4.5.
Рисунок 4.5 – Общая структура взаимодействия программного модуля с
внешними файлами
85
В файл «Start.txt» записывается информация необходимая для запуска
процесса обучения и для характеристики некоторых его параметров: количество
эпох, общие действия после каждой эпохи, название и параметры обучающей и
тестовой выборки, возможность подгрузки заранее обученных параметров.
В файл «StructOfTheNetwork.txt» записывается информация необходимая
для создания СНС: общее количество слоёв разных типов, детализация слоёв (их
размер, количество карт, размер РП, располагающихся на этих слоях), степень
связанности между C-слоем и S-слоем, а также между входом и C-слоем,
стратегия концентрации, определяющую рабочие нейроны на каждом С-слое,
множества РП для каждого С-слоя.
В
файл
характеризующая
«TrainingParameters.txt»
процесс
обучения:
тип
записывается
информация,
восприятия
(бинокулярный,
монокулярный), значения скорости обучения η для каждой эпохи, константа для
пропуска обратных прогонов в процессе обучения, количество и типы схем для
искажения паттерна pi, тип перемешивания обучающей выборки, параметры
редукции.
Также для программы необходимо загрузка обучающей и тестовой выборки
и, возможно, файла с заранее обученными параметрами, если обучение
планируется с использованием частично обученной сети.
Вывод всей информации осуществляется в файл «History.txt» и на экран. На
рисунке
4.4
видно,
что
на
экран
выводится
ещё
и
динамическая
быстроизменяющаяся информация, описывающая те действия, которые в данный
момент делает программа, а также ряд быстроизменяющихся параметров
процесса обучения.
В таблице 4.1 приведены функциональные возможности программы, а
также локализация информации об этих функциях в файлах с которыми
связывается программа.
86
Таблица 4.1 – Функциональные возможности программы и локализация
информации об этих функциях в файлах программы
№
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Функция программного комплекса по обучению
Записывается в
сверточных нейронных сетей
файл
Возможность обучения необученной или частично
обученной сети.
Возможность задания фиксированного количества эпох
обучения (с действиями после каждой эпохи: провести
Стартовой загрузки
тест, сохранить параметры, выйти из процесса обучения)
или обучение до остановки человеком.
Возможность работы с обучающей и тестовой выборкой
любого размера, разбитой на любое количество частей.
Возможность создания сверточной нейронной сети,
состоящей из двух типов слоёв. Определение количества
слоёв, карт, нейронов в слое классификатора, размер
рецептивных полей, а также связи между картами –
произвольные параметры, задаваемые пользователем.
Структуры сети
Возможность задания активных и неактивных нейронов
во время работы на каждой карте.
Возможность задания множеств рецептивных полей для
каждого сверточного слоя.
Тип восприятия: монокулярный или бинокулярный
режим.
Тип изменения скорости обучения (η): либо через
указание вещественного числа для каждой эпохи, либо
задание стратегии автоматического вычисления.
Возможность пропусков части обратных прогонов
алгоритма распространения ошибки для ускорения
обучения.
Параметров
Регулирование количества добавочных искажённых
обучения
паттернов, количества тактов.
Задание типов комбинаций С-слоёв, имеющих
рецептивные поля нестандартной формы.
Задание алгоритмов стратегии искажения для паттерна.
Возможность выбора порядка перемешивания
обучающей выборки.
Задание параметров редукции обучающего множества.
Впервые создан программный комплекс, интегрированный в состав
робототехнических систем (РТС), позволяющий на основе предложенной
87
математической модели и разработанного алгоритма редукции расширенного
обучающего множества распознавать различные классы объектов с камер
аппаратно-программных комплексов РТС.
4.3 Обучающие выборки, использующиеся в экспериментах
Для экспериментов по оценке обобщающей способности предлагаемого
метода синтеза параметров СНС с расширенным обучающим множеством были
использованы три выборки: MNIST (Modified National Institute of Standards and
Technology) [140], Small NORB (NYU Object Recognition Benchmark) [146] и
выборка, созданная для распознавания объектов со стенда «Мехатроника» [31].
Выборки MNIST и Small NORB – это распространённые выборки, которые
используются для тестирования качества алгоритмов обучения нейронных сетей.
Они выбраны именно по причине наличия большого количества результатов
такого тестирования.
Выборка MNIST – это выборка рукописных цифр. В выборку входят цифры,
написанные подчерком разных людей. Пример паттернов из этой выборки
приведён на рисунке 4.6.
Рисунок 4.6 – Примеры паттернов из выборки MNIST
Обучающая часть этой выборки состоит из 60000 паттернов, тестовая – из
10000. Каждый паттерн представляет из себя матрицу размером 28x28. Элементы
этой матрицы имеют целочисленные значения, обозначающие яркость пикселей в
формате оттенков серого [20] (значения изменяются от 0 до 255). На рисунке 4.7
88
каждому значению пикселя сопоставлен определённый цвет, видно, что цифры не
являются простыми белыми объектами на черном фоне.
Рисунок 4.7 – Цифры из выборки MNIST, значение каждого пикселя
отображается своим цветом
Выборка Small NORB – это выборка объектов, относящихся к пяти
категориям: человек, четвероногое животное, самолёт машина, грузовик.
Примеры паттернов из этой выборки показаны на рисунке 4.8.
Рисунок 4.8 – Примеры паттернов из выборки Small NORB
Обучающая и тестовая выборка содержат по 24300 стереопар, т.е. каждый
паттерн представляет из себя два изображения объекта, полученные с двух камер,
удалённых друг от друга на 7.5 см. Размер каждого изображения – 96x96. Формат
кодирования
–
оттенки
серого.
Выборка
специально
создавалась
для
инвариантного распознавания объектов (из рисунка 4.8 можно видеть, что
каждый класс объектов содержит разные экземпляры объектов, которые
размещаются на разных текстурных фонах с разным освещением).
Также использовалась специально созданная выборка для распознавания
объектов со стенда «Мехатроника». Это выборка используется для распознавания
89
десяти классов объектов: мотоцикл, машина, фонарь, лягушка, самолёт, плеер,
тыква, солдат, степлер, пустой фон. Примеры паттернов из этой выборки
показаны на рисунке 4.9.
Рисунок 4.9 – Примеры паттернов из выборки для стенда «Мехатроника»
Количество паттернов в обучающей выборке – 240900, в тестовой – 21900.
Каждый паттерн – массив пикселей 96x96 в формает оттенков серого.
Распределение паттернов по конкретным классам для всех трёх обучающих
выборок показано на рисунке 4.10.
Рисунок 4.10 – Распределение паттернов по классам в обучающих выборках
90
Из рисунка 4.10 видно, что больше всего паттернов требуется для
обучающей выборки для стенда «Мехатроника». Это связано с трудностями
инвариантного распознавания реальных объектов. Для каждого класса объекта,
кроме пустого фона, использовалось 8 ракурсов ориентации объекта на плоскости
(север, юг, запад, восток, северо-запад, северо-восток, юго-запад, юго-восток),
использовалось три соотношения объект-фон (85%-15%, 75%-25%, 50%-50%), а
также, объекты фотографировались при трёх различных источниках освещения
(без ламп при дневном свете, при дневном свете с освещением от лампы с левой
стороны и при дневном свете и лампы, которая освещает с правой стороны).
Помимо трёх естественных источников освещения картинка искуственно
осветлялась и затемнялась с добавлением величин +30, +60, -30 (с соблюдением
границ для кодировки оттенков серого) к значениям пикселей. Для каждого
объекта использовалось 100 фонов. В фоны вошли различные текстуры
специфичные для офисного кабинета, текстуры одежды, материалов, а также
фотографии сложных пейзажей, таких как горы, леса и т.д. Сложные пейзажи
нужны для улучшения способности сети «отделять» объекты от фона, чтобы сеть
училась распознавать именно объекты, а не фон. В качестве пустого класса
использовались фоны без объектов, различные кадры из помещений разного
размера,
начиная
от
элементов
текстуры
и
заканчивая
уменьшенными
фотографиями самих помещений.
Количество паттернов, которое производит 9 классов высчитывается исходя
из следующего: 9 (количество классов) * 8 (количество ракурсов на плоскости) *
3 (соотношение объект-фон) * 12 (общее количество типов освещений: от
каждого из трёх естественных получаются ещё три искуственных, т.е. 4+4+4) *
100 (количество фонов) = 259200. Для пустого класса имеем 1200 (количество
фонов) * 3 (количество искуственных «освещений») = 3600. Общая выборка в
262800 паттернов разбивается на обучающую и тестовую из соотношения 11/12 и
1/12.
91
4.4 Эксперименты с выбором базовых параметров для СНС
Для проведения натурных экспериментов по инвариантному распознаванию
изображений, используя СНС, необходимо определиться с выбором таких
базовых параметров как функция активации, способ инициализации весов сети, а
также способ нормировки. Известно, что функция активации оказывает влияние
на качество обучения и обобщения сети [89], а нормировка входных значений и
способ инициализации настраиваемых параметров оказывает влияние на
ускорение сходимости процесса обучения [22, 89]. Обзор литературы по
экспериментам, связанных с выбором базовых параметров [21, 22, 32, 77, 86, 89,
105, 111, 135] показал, что для задач инвариантного распознавания с помощью
СНС такие эксперименты не проводились.
Для экспериментов [60] использовалась специально созданная для
инвариантного распознавания выборка Small NORB. В качестве оценки для
ошибки обучения и обобщения использовалось среднеквадратическая ошибка
(MSE). Паттерн считался распознанным, если значение ошибки на выходном слое
опускалось меньше константы в 0.02. Обучение длилось в течении 10 эпох,
стратегия изменения скорости обучения приведена на рисунке 4.11.
Рисунок 4.11 – Стратегия изменения скорости обучения
Структура, используемой СНС, приведена на рисунке 4.12.
92
Рисунок 4.12 – Структура сверточной нейронной сети для экспериментов со Small
NORB
Каждая карта С-слоя была связана со всеми предыдущими картами S-слоя
или входного слоя. Для синтеза настраиваемых параметров СНС использовался
стандартный алгоритм, описанный в подглаве 1.4. Нормировка входов – линейная
(формула 1.9). Целевые значения для учителя выбирались равными ±1.
Контрольные тесты делались на эпохах 2, 5, 8, 9 (нумерация с 0). Часть обратных
прогонов пропускалось для ускорения обучения, если текущая ошибка на
выходном слое была меньше одной десятой части от общей ошибки за
предыдущую эпоху. Правомочность такой техники подтверждается результатами
экспериментов [52, 60], приведённых в приложении А, на рисунках А.2 и А.3.
Видно, что пропуск обратных прогонов по такой формуле не оказывает почти
никакого влияния ни на ошибку обучения, ни на ошибку обобщения.
Для
составления доверительных интервалов [12] эксперименты повторялись по 10 раз.
Это связано с тем, что из теории известно, что зависимость ошибки обучения и
обобщения от количества эпох имеет четкую асимптотическую форму кривой
[89], поэтому для сужения доверительных интервалов, а также надежной
визуальной идентификации тренда при наблюдении результатов не обязательно
использовать большое число повторов экспериментов (30-50 раз). Эксперименты
проводились с помощью программного комплекса, зарегистрированного в реестре
93
программ для ЭВМ 23 апреля
2013 года, имеющего свидетельство о
государственной регистрации №2013614056 [44].
4.4.1 Эксперименты с выбором функций активации для нейронов СНС
Из
трёх
представленных
наиболее
на
распространённых
рисунке
4.13,
в
биполярных
качестве
базовой,
сигмойд
был
[77],
выбран
гиперболический тангенс с коэффициентами A и B, т.е. A*tanh(B*x), где A =
1.7159, B = 2 / 3.
Рисунок 4.13 – Три наиболее распространённые функции активации для нейронов
нейронных сетей
Его выбор обусловлен тремя полезными для обучения свойствами [89]:
1.
Функция активации антисимметрична;
2.
Тангенс угла наклона функции активации близок к 1;
3.
Вторая производная от функции активации достигает своего
максимального значения при x=1.
Для исследования влияния параметров гиперболического тангенса на
качество обучения, качество ошибки обобщения проводились эксперименты [52,
60] с различными вариантами данной биполярной сигмойды (таблица 4.2).
На рисунке 4.14 приведены результаты эксперимента по оценке ошибки
обобщения от разных функций активации, выраженной в количестве неправильно
распознанных паттернов, после контрольных эпох в процессе обучения.
94
Таблица 4.2 – Варианты применения гиперболического тангенса
№
Тип функции
активации
Диапазон целевых значений,
которые может принимать
функция активации на
скрытых слоях
1
2
3
φ(x) = tanh(x)
φ(x) = tanh(x)
φ(x) = tanh(x)
φ(x) =
[-1..+1]
[-1..+1]
[-0.9..+0.9]
Диапазон целевых
значений, которые
может принимать
функция активации на
выходном слое
[-0.9..+0.9]
[-1..+1]
[-0.9..+0.9]
4
1.7159*tanh(x* )
2
3
[-1.7159..+1.7159]
[-1.7159..+1.7159]
2
3
[-1.7159..+1.7159]
[-1..+1]
φ(x) =
5
1.7159*tanh(x* )
Рисунок 4.14 – Зависимость количества неправильно распознанных паттернов за
тест от функции активации
95
Из рисунка 4.14 видно, что наилучший результат по количеству правильно
распознных паттернов показывает гиперболический тангенс с коэффициентами,
ограниченный на выходном слое и не ограниченный на скрытых слоях (№5 в
таблице 4.2).
В приложении А приведены менее значимые зависимости: на рисунке А.1
приведена зависимость ошибки обобщения от типа функции активации, но
выраженная не через количество неправильно распознанных паттернов, а через
значения среднеквадратической ошибки (MSE). Рисунки A.4 и А.5 выражают
зависимость ошибки обучения от типа функции активации, выраженную через
MSE и количество неправильно распознанных паттернов соответственно. Видно,
что самую быструю сходимость демонстрирует №5 из таблицы 4.2. На рисунке
А.6 представлена зависимость количества пропусков обратных прогонов в
процессе обучения от типа функции активации. Чем больше пропущено обратных
прогонов тем быстрее осуществляется обучение, что видно из рисунков А.7 и А.8.
На рисунке А.7 представлена зависимость времени обучения по эпохам от типа
функции активации, а на риснке А.8 суммарное время обучения.
Видно, что гиперболический тангенс с коэффициентами, ограниченный на
выходном слое, показывает лучший результат.
Исходя из качества ошибки обобщения, времени обучения и скорости
сходимости комбинация гиперболического тангенса №5 из таблицы 4.2
использовалась во всех последующих экспериментах.
4.4.2 Эксперименты по выбору типа нормировки для входных значений
СНС
Целью предобработки является ускорение сходимости процесса обучения за
счет декорреляции входных данных [77].
При декорреляции происходит максимизация энтропии входов и выходов
[104], в результате каждый вход сети начинает принимать значения из всего
96
доступного диапазона, а не только из узкой части, что приводит к тому, что от
него увеличивается количество поступающей в сеть полезной информации.
Для анализа влияния типа нормировки на скорость сходимости и качество
обобщения была проведена серия экспериментов с 5 типами нормировки (4.1 –
4.5):
yi 
xi  xi ,
где yi – новое значение входного нейрона i;
входного нейрона i;
(4.1)
i
xi – исходное значение
xi - среднее значение для входного нейрона i;  i -
среднеквадратическое отклонение для входного нейрона i.
yi 
xi  xi
,
max | x i  x i |
(4.2)
где max | x i  x i | - максимальный модуль разности между i-ым значением
входного нейрона и его средним.
y i  tanh(
y i  tanh(
xi  xi ,
)
i
xi  xi
),
max | x i  x i |
(4.3)
(4.4)
xmax и xmin – минимальное и максимальное значение старого диапазона (0 и
255).
В ранее описанных экспериментах с функцией активации по умолчанию
применялась линейная нормировка:
yi 
(b  a)*( x i  x min )
a
x max  x min
(4.5)
где a, b – границы нового диапазона (-1 и +1 соответственно).
На рисунке 4.15 показаны результаты проведённых экспериментов по
анализу влияния типов нормировки входных значений на ошибку обобщения.
97
Зависимость % неправильно распознанных паттернов
за тест от типа нормировки
60
% неправильно распознанных паттернов
50
40
30
20
10
0
2
5
8
9
эпоха
%ошибок1 - линейная
%ошибок2 - средн.квадрат.откл
%ошибок3 - max||
%ошибок4 - tanh(сред.квадрат.откл)
%ошибок5 - tanh(max||)
Рисунок 4.15 – Зависимость количества неправильно распознанных паттернов в
тесте от типа нормировки
Из рисунка 4.15 видно, что выход отнормированных значений из диапазона
[-1..+1] при среднеквадратическом отклонении не оказывает значительного
влияния на качество обобщения, все типы нормировок дают приемлемый
результат. Однако, как видно из рисунка A.9 самую высокую скорость
сходимости демонстрирует номрировка (4.1).
На
рисунках
А.10–А.15
приведены
усреднённые
гистограммы
распределения входных не отнормированных и отнормированных значений для
всех паттернов обучающей выборки Small NORB. Положительные значения
выделены синим цветом, отрицательные – зелёным. На рисунке А.16 приведена
общая зависимость среднего значения по обучающему множеству от типа
98
нормировки (Все положительные и отрицательные значения усреднённых
гистограмм просуммированны).
Из гистограмм видно, что нормировки (4.1) и (4.2) лучше всех
распределяют нормированные значения по
диапазону положительных
отрицательных
(среднее
значений
входных
данных
значение
по
и
всему
обучающему множеству близко к 0), что приводит к увеличению количества
полезной поступающей в сеть информации.
На основании этих данных была выбрана нормировка (4.1), использующая
среднеквадратическое отклонение. Все дальнейшие эксперименты проводились с
этой нормировкой.
4.4.3 Эксперименты по выбору способа инициализации настраиваемых
параметров СНС
Хороший
выбор
начальных
значений
синаптических
весов
может
значительно упростить обучение [89].
На основании анализа литературы, затрагивающей вопросы инициализации
СНС [89, 111, 125, 134, 135, 137], были выбраны три диапазона, отвечающие
следующему требованию: равномерное распределение, из которого выбираются
исходные значения синаптических весов, должно иметь нулевое среднее значение
и среднее квадратичное отклонение, обратное корню квадратному из количества
синаптических связей нейрона [89]. Были рассмотрены три диапазона из которого
выбирались первоначальные значения случайным образом для синаптических
 2.4 2.4 
 1
1 
 2.4
2.4 
..
весов: 
..
..
 и 
 , где F(i) – кол-во связей у i-го
, 
F (i) 
F (i) 
 F (i ) F (i)   F (i)
 F (i)
нейрона.
На рисунке 4.16 представлен результат проведённых экспериментов [52,
60], отражающий зависимость количества неправильно распознанных паттернов
за тест от способа инициализации весов.
99
Рисунок 4.16 – Зависимость количества неправильно распознанных паттернов за
тест в контрольных точка процесса обучения от способа инициализации весов
СНС
Из рисунка 4.16 видно, что все три способа инициализации подходят для
обучения сети. Однако, как видно из рисунка А.17 самая быстрая сходимость при
обучении наблюдается у способов инициализации, использующей в знаменателе
корень от числа входных связей для нейрона. Исходя из этого для дальнейших
 1
1 
..
.
F (i) 
 F (i)
экспериментов был выбран диапазон 
4.4.4 Выводы
1.
В
результате
экспериментов
было
установлено,
что
сеть
с
ограниченной сигмойдой на выходном слое (диапазон [-1..+1]) и без ограничений
на скрытых слоях (диапазон [-1.7159..+1.7159]) даёт наибольшую скорость
сходимости и наилучшую ошибку обобщения и обучения.
100
Показано, что выход отнормированных значений за пределы
2.
диапазона [-1..+1] не оказывает влияния на ошибку обобщения и обучения. Была
выбрана нормировка, использующая среднеквадратическое отклонение.
Подтверждено, что границы диапазона инициализации настраиваемых
3.
параметров сети должны быть обратно пропорциональны корню квадратному из
 1
1 
..
.
F (i) 
 F (i)
количества связей, приходящих в нейрон. Был выбран диапазон 
Эксперименты
4.5
по
оценки
эффективности
метода
синтеза
параметров математической модели СНС с расширенным обучающим
множеством и численного метода редукции расширенного обучающего
множества
Исследование предлагаемого метода синтеза параметров математической
модели с расширенным обучающим множеством (подглава 2.2) и реализованного
на его основе алгоритма синтеза параметров математической модели СНС
(подглава 2.3) происходит в два этапа:
1.
В подглаве 4.5.1 осуществляется оценка обобщающей способности
предложенного алгоритма синтеза математической модели СНС с расширенным
обучающим множеством на основе множества релевантных тестовых выборок. В
подглаве 4.3 в качестве таких выборок, которые создавались для инвариантного
распознавания образов, описаны выборки MNIST, Small NORB, выборка для
стенда
«Мехатроника».
Оценка
обобщающей
способности
предлагаемого
алгоритма представляет из себя среднеарифметическое трёх разностей между
достигнутой ошибкой обобщения без использования предлагаемого метода и с
использованием метода синтеза параметров
СНС. Полученные результаты
обобщения сравниваются с наилучшими результатами других исследователей. В
главе приведены результаты оценки обобщающей способности СНС, обученной с
различными комбинациями С-слоёв, имеющих РП нестандартной формы. Также,
в этой главе осуществляется оценка численного метода редукции расширенного
101
обучающего множества (подглава 3.1) через разработанный на его основе
алгоритм (подглава 3.2). В качестве оценки по двум причинам выбрано время: как
наиболее общий и понятный для человека параметр, и по причине того, что
альтернативная оценка через количество пропущенных прямых прогонов на
каждой эпохе определяется динамически на основе накопленной статистической
информации о предыдущих правильных и неправильных распознаваниях
паттернов, а по такому параметру ненадёжно делать обобщения.
2.
В подглаве 4.5.2 осуществляется оценка способности инвариантного
распознавания фиксированного множества предъявляемых объектов с разного
расстояния с помощью уже обученной сети. Распознавание осуществляется не на
тестовых выборках, а в реальных условиях с помощью разработанного комплекса
по распознаванию объектов с камер мобильных роботов и стенда «Мехатроника».
Учитывая, что для систем технического зрения важна робастность к шуму,
производится оценка влияния белого шума на процесс распознавания объектов
сетью, обученной по предлагаемому методу синтеза параметров СНС и без него.
Эксперименты
проводились
с
помощью
программного
зарегистрированного в реестре программ для ЭВМ 4 августа
комплекса,
2014 года,
имеющего свидетельство о государственной регистрации №2014617810 [45].
В экспериментах используются параметры, выбранные в подглавах 4.4.1 –
4.4.3.
4.5.1 Эксперименты на тестовых выборках для инвариантного
распознавания
Цель экспериментов с выборками MNIST, Small NORB и выборкой для
стенда «Мехатроника» заключается в качественном обучении СНС, получении
оценки обобщения для сетей, обученных как с использованием метода синтеза
параметров
математической
модели
СНС
с
расширенным
обучающим
множеством, так и без него. Сравнение полученных результатов с лучшими
102
аналогами, полученными другими авторами, а также оценкой влияния алгоритма
редукции на качество распознавания и время обучения сетей.
Под ошибкой обучения (training error) понимается частота сделанных
машиной ошибок в течение сеанса обучения для определённого вектора весов
(текущего состояния сети). Под ошибкой обобщения (generalization error)
понимается частота сделанных машиной ошибок при её тестировании на не
встречавшихся ранее примерах [89].
Для экспериментов с выборкой MNIST [53-55, 144, 145] использовалась
СНС, имеющая структуру, показанную на рисунке 4.17.
Рисунок 4.17 – Структура сверточной нейронной сети для экспериментов с
выборкой MNIST
Каждая карта С-слоя была связана со всеми предыдущими картами S-слоя
или входного слоя. В качестве оценки для ошибки обучения и обобщения
использовалось среднеквадратическая ошибка (использование кросс-энтропии не
обязательно, учитывая не сильную инвариантность рукописных цифр). Паттерн
считался распознанным, если значение ошибки на выходном слое опускалось
меньше константы в 0.001. Для максимальной простоты, повторяемости опыта и
оценки
способности
к
обобщению
использовался
обычный
алгоритм
градиентного спуска без момента, но с адаптацией к РП нестандартной формы,
описанный в подглаве 2.2, 2.3. Начальное значение скорости обучения (η) равно
0.005, через каждые 100 эпох новое значение получалось из старого путём
103
домножения на 0.3. Такая стратегия позволяет осуществлять селекцию
вложенных минимумов, адекватно оценивать качество обобщения, она простая,
но требует больших вычислительных ресурсов [156]. В экспериментах без
искажённых паттернов новое значение η получалось путём домножения на 0.3
через 4 эпохи. Целевые значения для учителя выбирались равными ±1. Часть
обратных прогонов пропускалась, если текущая ошибка на выходном слое была
меньше одной десятой части от общей ошибки за предыдущую эпоху, для
ускорения обучения. Множества РП, используемых для получения искажённых
паттернов показаны на рисунке 4.18.
Рисунок 4.18 – I – множество РП для сверточных слоёв C1 и C2; II – множество
РП для сверточного слоя C3
Такие РП осуществляют моделирование нелинейных и линейных сдвигов.
Для получения новых покрытий из данных РП, использовались два алгоритма
разметки всех С-слоёв: Strategy1 и Strategy2. Учитывая, что получать искажённые
паттерны можно с помощью различных схем глобального искажения Qi, то
эксперименты [53] по оценке обобщающей способности проводились с
использованием как отдельных схем искажений, так и всех схем вместе. В режиме
теста использовались РП только квадратной формы. Общее количество
104
добавочных искажённых паттернов, которые генерировались каждую эпоху к
первоначальным 60000, составило 10550 штук. Коэффициент редукции был
выбран эмпирически и равен 1.3 [59]. При таком коэффициенте происходит
пропуск достаточно большого количества прямых прогонов без падения качества
обучения с ростом эпох. Остановка обучения производилась на усмотрение
экспериментатора в зависимости от ошибки обобщения на тесте.
Были проведены эксперименты с СНС, где для получения новых
искажённых паттернов использовалась только одна глобальная схема искажения.
Схемы искажения и результаты лучшей полученной ошибки обобщения
приведены на рисунке 4.19.
Рисунок 4.19 – Влияние различных схем глобального искажения на обобщающую
способность сети (0 – нет искажения на С-слое, 1 – есть)
Из рисунка видно, что самая лучшая ошибка обобщения получается, когда
искажение происходит на всех С-слоя. Поэтому для дальнейших экспериментов
для получения искажённых паттернов использовались одновременно все
искажающие схемы, приведённые на рисунке 4.19. Сеть обучалась как с
использованием метода синтеза параметров математической модели СНС с
расширенным обучающим множеством, так и без него.
Результаты распознавания на тестовой выборке приведены в таблице 4.4.
Видно, что применение предлагаемого метода позволило снизить ошибку
105
обобщения с 2.8% до 0.6% неправильно распознанных паттернов от размера
тестовой выборки. Таким образом, использование комбинаций всех искажающих
схем Qi для получения новых паттернов выгоднее, чем использование какой-то
одной комбинации, и позволяет снизить ошибку обобщения с 1.55% (рисунок
4.19, лучший результат) до 0.6%.
В таблице 4.3 приведено сравнение полученных результатов для MNIST с
результатами других авторов [156]. Лучший аналог составляет 0.8%, достигнутый
с помощью СНС LeNet-5 [134].
Использование предлагаемого метода позволяет получить лучший результат
по сравнению с другими методами, использующими различные типы аффинных
преобразований [25, 165].
Таблица 4.3 – Сравнение достигнутой ошибки обобщения с использованием
предлагаемого метода синтеза параметров математической модели СНС и без
него с достигнутыми результатами других авторов
Тип сети
Двухслойный персептрон
(среднеквадратическая ошибка)
Машина опорных векторов
Алгоритм Tangent Distance
Сверточная сеть LeNet-5
(среднеквадратическая ошибка)
Сверточная нейронная сеть с
изменяющимися рецептивными
полями
Обычная сверточная нейронная
сеть без использования
нестандартных рецептивных
полей
Тип искажения
Ошибка обобщения
Аффинные
1.6%
Аффинные
Аффинные
Локально-аффинные
преобразования
1.4%
1.1%
0.8%
Локально-аффинные
преобразования
0.6%
Нет искажений
2.8%
Обучение также осуществлялось с использованием численного метода
редукции расширенного обучающего множества и без него. Использовался
эмпирически подобранный коэффициент для редукции, равный 1.3 [59], при
106
котором не наблюдалось падение качества распознавания на тестовой выборки, и
при этом происходило достаточно большое количество пропусков прямых
прогонов, не оказывающих влияние на последующее обучение сети. Результаты
редукции приведены в таблице 4.4. При использовании редукции время обучения
сократилось на 32%.
Для экспериментов с выборкой Small NORB использовалась СНС, имеющая
структуру, показанную на рисунке 4.12.
Каждая карта С-слоя была связана со всеми предыдущими картами S-слоя
или входного слоя. В качестве оценки для ошибки обучения и обобщения
использовалась функция кросс-энтропии (1.7). Целевые значения для учителя
выбирались равными 0 и 1. Паттерн считался распознанным, если максимально
активированный нейрон на выходном слое совпадал с элементом вектора учителя,
равным 1, и уровень активации этого нейрона преодолевал барьер в 0.85.
Алгоритм обучения использовался такой же, как и в опыте с MNIST. Начальное
значение скорости обучения (η) равно 0.005, через каждые 2 эпохи новое значение
получалось из старого путём уменьшения на 0.001. Когда значение η становилось
равным значению вычитаемого, то вычитаемое умножалось на 0.1, и процесс
продолжался заново. Эта стратегия обучения отличается от описанной в подглаве
4.4, так как для выбора базовых параметров не требуется обучать сеть до уровня
получения лучших результатов. Часть обратных прогонов пропускалась, если
текущая ошибка на выходном слое была меньше одной десятой части от общей
ошибки за предыдущую эпоху, для ускорения обучения. Использовалось тоже
множество РП, что и в экспериментах с MNIST. Для получение новых покрытий
из данных РП, использовались два алгоритма разметки всех С-слоёв: Strategy1 и
Strategy2. Для получения искаженных паттернов применялись все глобальные
схемы искажения Qi. В режиме теста использовались РП только квадратной
формы. Общее количество добавочных искажённых паттернов, которые
генерировались каждую эпоху к первоначальным 24300, составило 5550 штук.
107
Коэффициент редукции равен 1.3. Остановка обучения производилась на
усмотрение экспериментатора в зависимости от ошибки обобщения на тесте.
Результаты распознавания на тестовой выборке приведены в таблице 4.4.
Видно, что применение предлагаемого метода позволило снизить ошибку
обобщения с 8.4% до 4.3% неправильно распознанных паттернов от размера
тестовой выборки.
Лучший
аналог
составляет
6.6%,
достигнутый
с
помощью
СНС
LeNet-7 [137].
Результаты редукции приведены в таблице 4.4. При использовании
редукции время обучения сократилось на 37%.
Для экспериментов с выборкой для стенда «Мехатроника» использовалась
СНС, имеющая структуру, показанную на рисунке 4.20.
Рисунок 4.20 – Структура сверточной нейронной сети для экспериментов с
выборкой для стенда «Мехатроника»
Общее
количество
добавочных
искажённых
паттернов,
которые
генерировались каждую эпоху к первоначальным 240900, составило 12350 штук.
Остальные параметры были такие же, как и в экспериментах со Small NORB, т.к.
обе выборки пригодны для инвариантного распознавания изображений.
Результаты распознавания на тестовой выборке приведены в таблице 4.4.
Видно, что применение предлагаемого метода позволило снизить ошибку
108
обобщения с 1.8% до 0.3% неправильно распознанных паттернов от размера
тестовой выборки.
Результаты редукции приведены в таблице 4.4. При использовании
редукции время обучения сократилось на 41%.
Использование
предлагаемого
алгоритма
редукции
расширенного
обучающего множества требует дополнительных расходов оперативной памяти на
хранение матриц X и Y на весь период обучения СНС. Количество столбцов в
каждой матрице – 7, количество строк равно количеству паттернов в
первоначальной не расширенной выборке. Для экспериментов с MNIST
дополнительные расходы в оперативной памяти составят 3.2 Мб (2 * 60000 * 7 * 4
байт), для Small NORB – 1.3 Мб (2 * 24300 * 7 * 4 байт), для выборки
«Мехатроника» – 13 Мб (2 * 240900 * 7 * 4 байт).
Таблица 4.4 – Результаты вычислительных экспериментов по оценке
обобщающей способности алгоритма обучения СНС предлагаемым методом и
влияния редукции на процесс обучения
Достигнутая
ошибка
обобщения с
использованием
предлагаемого
метода синтеза
параметров мат.
модели СНС, %
Достигнутая
ошибка
обобщения без
использования
предлагаемого
метода, %
Ошибка
обобщения
лучшего
аналога, %
Время
обучения
без
редукции,
ч
Время
обучения с
редукцией,
ч
46.15
31.2
15.6
9.8
MNIST
0.6
2.8
0.23
Small NORB
4.3
8.4
6.6
Выборка для стенда «Мехатроника»
0.3
1.8
–
17.3
10.1
109
Итоговая оценка увеличения обобщающей способности алгоритма синтеза
параметров
математической
модели
СНС
с
расширенным
обучающим
множеством и численного алгоритма редукции расширенного обучающего
множества находится по формуле:
R
1 N
*  | A1  A2 | ,
N i 1
()
где N – количество опытов, R – среднеарифметическое разностей A1-A2, где
A1 – достигнутая ошибка обобщения без предлагаемого метода синтеза
математических параметров СНС или время обучения без редукции, выраженное
в процентах (100%), или же ошибка обобщения лучшего аналога, A2 – это ошибка
обобщения с предлагаемым методом или время обучения с редукцией,
выраженное в процентах относительно времени обучения без редукции.
В результате анализа экспериментов с тестовыми выборками MNIST, Small
NORB и выборкой для стенда «Мехатроника» было установлено, что
предлагаемый алгоритм синтеза параметров математической модели СНС с
расширенным обучающим множеством улучшает в среднем обобщающую
способность на 2.5% по сравнению с результатами без его использования и на
1.25% по сравнению с лучшими достигнутым аналогами. Предложенный
численный метод редукции расширенного обучающего множества сокращает в
среднем время обучения на 37%.
4.5.2
Эксперименты
по
распознаванию
объектов
на
стенде
«Мехатроника»
В связи с тем, что разработанный метод и алгоритмы могут применяться для
распознавания изображений в различных предметных областях, проводились
эксперименты [56, 58] на стенде «Мехатроника». Осуществлялась оценка
способности
инвариантного
распознавания
фиксированного
множества
предъявляемых объектов с разного расстояния с помощью уже обученной сети.
110
СНС была обучена на выборке для стенда «Мехатроника» (подглава 4.5.1).
Обученную сеть переносят в систему технического зрения для распознавания
объектов, если ошибка обобщения опускается ниже 1%–2% на тестовой выборке
[104]. Из таблицы 4.4 видно, что ошибка обобщения на тестовой выборке
составила 0.3% и 1.8% для СНС обученной с предлагаемым методом и без него.
Стенд описан в подглаве 4.1. Предъявляемые объекты в подглаве 4.3.
Объекты размещались перед камерой на четырёх расстояниях от неё: 50 см,
1 м, 1.5 м, 2 м. Для каждого расстояния каждый объект предъявлялся 100 раз, из
них 75, когда он находился на поверхности и 25, когда находился в руке. При
предъявлении объект мог размещаться в разных ракурсах относительно камеры на
разных фонах (одежда, тетрадки, подставка, клавиатура и т.д.).
Примеры работы комплекса представлены в приложении Б.
Процент правильных распознаваний для каждого расстояния от камеры и
объекта приведён в таблице 4.5. Число в скобках – это результат при
использовании сети обученной без предлагаемого метода синтеза параметров
математической модели СНС с расширенным обучающим множеством.
С учётом того, что классификация пустого класса с фрагментов кадра
проще, чем остальных объектов, а самих фрагментов с каждого кадра может быть
много, учёт точности распознавания производился по другой схеме. Выбирался
любой объект и предъявлялся системе технического зрения комплекса
«Мехатроника». После предъявления алгоритм поиска потенциально интересных
мест на кадре выделял ряд фрагментов кадра, которым в результате
классификации назначалась семантическая метка. Подсчитывалось количество
правильно распознанных фрагментов кадра, которые были классифицированы как
«пустой класс». Качество распознавания «пустого класса» для СНС, обученной с
предлагаемым методом и без него, – одинаковое.
111
Таблица 4.5 – Процент правильных распознаваний для экспериментов на
стенде «Мехатроника» при использовании предлагаемого метода обучения СНС и
в скобках без него
Объект/Расстояние 50 см
1м
1.5 м
2м
от камеры
Мотоцикл
91% (85%)
87% (79%)
88% (74%)
75% (69%)
Машина
89% (81%)
85% (77%)
82% (71%)
68% (67%)
Фонарь
94% (82%)
90% (71%)
92% (65%)
72% (59%)
Лягушка
95% (79%)
91% (78%)
89% (60%)
69% (59%)
Самолёт
91% (84%)
90% (72%)
87% (67%)
74% (65%)
Плеер
90% (79%)
89% (77%)
90% (63%)
75% (58%)
Тыква
85% (81%)
83% (71%)
80% (68%)
63% (63%)
Солдат
96% (85%)
92% (76%)
90% (64%)
73% (60%)
Степлер
92% (78%)
89% (64%)
88% (62%)
71% (59%)
Пустой класс
98%
98%
98%
96%
На основании результатов, полученных в таблице 4.5, была вычислена
ошибка обобщения для натурных экспериментов. Так как ошибка обобщения –
это частота сделанных ошибок, а в таблице представлены результаты правильного
распознавания, то для получения ошибки обобщения необходимо от 100% отнять
число в таблице.
На
рисунке
4.21
представлена
зависимость
ошибки
обобщения,
вычисленной как среднеарифметическое по столбцам таблицы 4.5, от расстояния.
112
Рисунок 4.21 – Зависимость ошибки обобщения от расстояния для СНС,
обученной с использованием предлагаемого метода синтеза параметров и без него
На рисунке 4.22 представлено сравнение общей ошибки обобщения без
использования предлагаемого метода синтеза параметров СНС с расширенным
обучающим множеством, вычисленной, как среднеарифметическое для всей
таблицы 4.5, с ошибкой обобщения с использованием предлагаемого метода.
Рисунок 4.22 – Сравнение ошибок обобщения без использования предлагаемого
метода синтеза параметров и с ним
Как было сказано в подглаве 1.2 достигнутый современный уровень систем
технического зрения с применением СНС для инвариантного распознавания
изображений составляет ошибку обобщения в среднем 17%. При использовании
предлагаемого метода синтеза параметров СНС с расширенным обучающим
113
множеством была достигнута ошибка обобщения в 14%, что на 3% меньше
существующего порога. Точность распознавания для объектов достигает 96% при
использовании предлагаемого метода синтеза параметров. С увеличением
расстояния точность распознавания падает из-за ухудшающегося качества
входного изображения (фрагмента кадра, уменьшенного или увеличенного до
размера входа сети) для СНС. На расстоянии большем, чем 2 м происходит
выделение слишком большого количества потенциально интересных мест на
кадрах, и распознавание в реальном времени становится невозможным.
Так как в системах технического зрения робастность к шуму имеет одно из
ключевых значений [81, 87], то необходимо исследовать влияние шума на
обученную СНС, которая является ядром в системе технического зрения стенда
«Мехатроника».
Для исследования влияния шума на качество распознавания использовался
легко моделируемый вид шума: равномерный цветной шум (белый шум [5], у
которого вероятность каждого значения одинакова в заданном диапазоне) с
равномерным распределением. К каждому значению пикселя в цветном канале
прибавлялась случайное дополнительное значение, зависящее от выбранного
уровня шума в процентах. Пример изображения с 20% уровнем шума приведён на
рисунке 4.23.
Примеры распознавания объектов с разных расстояний, ракурсов, на разных
фонах и с разным уровнем шума приведены в приложении Б.
Для исследования влияния шума на качество распознавания выбирался один
произвольный объект, который предъявлялся на указанных в таблице 4.5
расстояниях от камеры (на фонах – 30 раз, в руке – 10 раз). Такие эксперименты
происходили для текущего уровня шума, который изменялся с 1%, при
дискретном шаге в 1% (т.е. при уровне шума в 1%, 2%, 3% и т.д.).
114
Рисунок 4.23 – Пример распознанного изображения с 20% уровнем шума в
кадре
В результате экспериментов [56] было установлено, что при использовании
сети, обученной без предлагаемого метода синтеза параметров математической
модели СНС с расширенным обучающим множеством, распознавание оставалось
стабильным до уровня шума в 6%±3%. При использовании предлагаемого метода
стабильное распознавание оставалось до уровня шума в 17%±3%.
Под
стабильным
распознаванием
подразумеваются
результаты,
отличающиеся от приведённых в таблице 4.5 на величину ±2% для разных
расстояний.
Интервал в ±3% введён из-за того, что ухудшение качества распознавания
происходит не сразу для всех расстояний, а постепенно. Таким образом, при 9%
(6%+3%) и при 20% (17%+3%) происходит ухудшение распознавания для всех
расстояний выбранного объекта.
При уровне шума в 70% полностью переставал работать алгоритм захвата
объектов, а также генерировалось слишком много потенциально интересных мест
на кадре, что приводило к невозможности алгоритму распознавать объекты в
режиме реального времени.
115
Устойчивость к шуму у СНС без предлагаемого метода объясняется двумя
факторами: особенностями архитектуры (наличием слоёв усреднения, которые
уменьшают чувствительность нейронов к случайным изменениям значений
входных сигналов), а также учёт в обучающей выборке инвариантности к
освещению (разные типы освещения тоже могут восприниматься как шум).
Уровень устойчивости к шуму у СНС с предлагаемым методом обучения выше
из-за того, что покрытия, состоящие из РП нестандартной формы, по сути,
выполняют перестановку входных
сигналов для нейронов, что создаёт
дополнительную робастность к зашумленным входам (перестановку близких
пикселей или выходов значений нейронов на предыдущем слое можно
рассматривать как шум [54]).
В результате анализа экспериментов с распознаванием объектов с помощью
стенда
«Мехатроника»
математической
модели
установлено,
СНС
с
что
метод
расширенным
синтеза
параметров
обучающим
множеством
обеспечивает распознавание изображений с точностью до 96% при уровне шума в
17%±3%.
4.6 Выводы
1.
Подобранны базовые параметры для обучения СНС: функция
активации нейронов СНС, тип нормировки входных значений, диапазон для
инициализации настраиваемых параметров сети, обеспечивающие быструю
сходимость сети и наилучшую ошибку обобщения.
2.
В результате анализа экспериментов с тестовыми выборками MNIST,
Small NORB и выборкой для стенда «Мехатроника» было установлено, что
предлагаемый алгоритм синтеза параметров математической модели СНС с
расширенным обучающим множеством улучшает в среднем обобщающую
способность на 2.5% по сравнению с результатами без его использования и на
1.25% по сравнению с лучшими достигнутым аналогами. Предложенный
116
численный метод редукции расширенного обучающего множества сокращает в
среднем время обучения на 37%.
3.
Разработан метод синтеза параметров математической модели СНС с
расширенным обучающим множеством, отличающийся от известных тем, что для
повышения обобщающей способности сети, обучающая выборка генерируется
путём добавления искажённых образов посредством изменения рецептивных
полей СНС. Обученная таким образом сеть, способна распознавать изображения
с камеры аппаратно-программного комплекса с точностью до 96% (в зависимости
от расстояния) при уровне шума в 17%±3%, тогда как сеть, обученная без
использования данного метода, распознаёт изображения с точностью до 85% при
уровне шума в 6%±3%.
4.
Впервые создан программный комплекс, интегрированный в состав
робототехнических систем (РТС), позволяющий на основе предложенной
математической модели и разработанного алгоритма редукции расширенного
обучающего множества распознавать различные классы объектов с камер
аппаратно-программных комплексов РТС.
117
ЗАКЛЮЧЕНИЕ
Исследование задачи инвариантного распознавания изображений
1.
показало, что на сегодняшний день эта задача не решена и актуальна.
В
2.
результате
анализа
математических
методов
распознавания
изображений было установлено, что на сегодняшний день доминируют
многоуровневые методы, имеющие промежуточные решения по масштабу или по
уровню абстрактности. Наибольшей популярностью пользуются математические
модели
на
основе
статистического
обучения,
преимущественно
модели
иерархических признаковых классификаторов.
3.
На
основе
проведённого
анализа
иерархических
признаковых
классификаторов установлено, что для задачи инвариантного распознавания
изображений СНС имеют лучший показатель, исходя из соотношения «простота
математической модели – качество» и превосходят в среднем по качеству
распознавания аналоги на 10%–15%.
4.
Обосновано, что для статистического обучения иерархических
признаковых классификаторов ключевую роль для выбора оптимальных значений
параметров математической модели СНС играет репрезентативность и объём
обучающей выборки.
5.
Исследованы методы создания репрезентативной обучающей выборки
посредством
ключевые
добавления
преимущества
преобразованных
и
недостатки
паттернов.
данных
Сформулированы
методов.
Предложен
альтернативный метод, который позволяет расширить обучающее множество за
счёт изменения воспринимающих свойств СНС: рецептивных полей.
6.
Предложен алгоритм изменения форм РП для различных комбинаций
сверточных слоёв СНС, приводящий к изменению ее архитектуры, отличающийся
от известных тем, что элемент РП нейрона может получать значение,
находящееся в двух дискретных шагах от него на карте признаков.
7.
Разработан метод синтеза параметров математической модели СНС с
расширенным обучающим множеством, в котором для повышения обобщающей
118
способности
сети,
обучающая
искажённых
образов
выборка
посредством
генерируется
изменения
путём
рецептивных
добавления
полей
СНС.
Обученная таким образом сеть, способна распознавать изображения с камеры
аппаратно-программного комплекса с точностью до 96% (в зависимости от
расстояния) при уровне шума в 17%±3%, тогда как сеть, обученная без
использования данного метода, распознаёт изображения с точностью до 85% при
уровне шума в 6%±3%.
8.
Предложен алгоритм синтеза параметров математической модели
СНС с расширенным обучающим множеством, в котором предусмотрена
адаптация алгоритма обратного распространения ошибки к изменившейся
архитектуре сверточной нейронной сети, что улучшает в среднем обобщающую
способность на 2,5% по сравнению с результатами без его использования и на
1.25% по сравнению с лучшими достигнутым аналогами.
9.
Предложен численный метод редукции расширенного обучающего
множества, отличающийся от известного тем, что с увеличением степени
обученности сети, всё большее количество паттернов оказывают слабое
воздействие на корректировку весов сети, поэтому часть прямых прогонов может
быть пропущена. Использование метода редукции позволяет сократить время
обучения в среднем на 37% за счёт накопления статистической информации о
результатах распознавания паттернов в предыдущие эпохи.
10.
Впервые создан программный комплекс, интегрированный в состав
робототехнических систем (РТС), позволяющий на основе предложенной
математической модели и разработанного алгоритма редукции расширенного
обучающего множества распознавать различные классы объектов с камер
аппаратно-программных комплексов РТС.
119
Список литературы
1.
Агеев, А. Д. Нейроматематика. Кн. 6: Учеб. пособие для вузов [Текст] / А.
Д. Агеев, А. Н. Балухто, А. В. Бычков, С. А. Верещагин, И. В. Винокуров и др. //
М.: ИПРЖР. 2002. – 448 с.: ил. (Нейрокомпьютеры и их применение).
2.
Антропоморфный робот AR-600E [электронный ресурс] // URL: http://npo-
at.com/products/ar-600e/ (дата обращения 08.09.2015).
3.
Балухто, А. Н. Нейросетевая фильтрация и сегментация цифровых
изображений [Текст] / А. Н. Балухто, Л. Е. Назаров // Нейрокомпьютеры в
прикладных задачах обработки изображений. Кн. 25. 2007. – С. 7–24.
4.
Барский, А. Б. Логические нейронные сети: учеб. пособие [Текст] / А. Б.
Барский // М.: Интернет-Университет Информационных Технологий; БИНОМ.
Лаборатория знаний. 2011. – 352 с.: ил., табл. – (Основы информационных
технологий).
5.
Белый
шум
[электронный
ресурс]
//
URL:
https://ru.wikipedia.org/wiki/Белый_шум (дата обращения: 08.09.2015).
6.
Библиотека
[электронный
Cuda-ConvNet
ресурс]
//
URL:
https://code.google.com/p/cuda-convnet/ (дата обращения 23.09.2015).
7.
Библиотека
DeepNet
[электронный
ресурс]
//
URL:
http://www.cs.toronto.edu/~nitish/deepnet/ (дата обращения 23.09.2015).
8.
Библиотека Lush [электронный ресурс] // URL: http://lush.sourceforge.net
(дата обращения 23.09.2015).
9.
Библиотека
Theano
[электронный
ресурс]
//
URL:
http://deeplearning.net/software/theano/ (дата обращения 23.09.2015).
10. Библиотека Torch [электронный ресурс] // URL: http://torch.ch (дата
обращения 23.09.2015).
11. Библиотекам
DeepLearnToolbox
[электронный
ресурс]
//
URL:
http://www.mathworks.com/matlabcentral/fileexchange/38310-deep-learning-toolbox
(дата обращения 23.09.2015).
120
12. Бослаф, С. Статистика для всех. Пер. с англ. П. А. Волкова, И. М. Флямер,
М. В. Либерман, А. А. Галицына [Текст] / С. Бослаф // М.: ДМК Пресс. 2015. –
586 с.: ил.
13. Василенко, Г. И. Голографическое опознавание образов [Текст] / Г. И.
Василенко // М.: «Сов. радио». 1977. – 328 с.
14. Ветров, Д. П. Алгоритмы выбора моделей и построения коллективных
решений в задачах классификации, основанные на принципе устойчивости
[Текст] / Д. П. Ветров, Д. А. Кропотов // М.: КомКнига. 2006. – 112 с.
15. Гаврилей, Ю. К. Активный анализ изображений в системах с фовеальным
восприятием [Текст] / Ю. К. Гаврилей, А. И. Самарин, М. А. Шевченко //
Интегральный робот. Кн. 20. 2006. – С. 77–87.
16. Галиулин, Р. М. Применение нейронных сетей в задачах распознавания
трёхмерных объектов [Текст] / Р. М. Галиулин, Б. Г. Ильясов, М. Г. Мугаттаров //
Нейрокомпьютеры в системах обработки изображений. Кн. 7. 2003. – С. 32–38.
17. Галушкин, А. И. Нейрокомпьютеры для обработки изображений [Текст] / А.
И. Галушкин, Н. С. Томашевич, Е. И. Рябцев // Нейрокомпьютеры в прикладных
задачах обработки изображений. Кн. 25. 2007. – С. 74–109.
18. Галушкин, А. И. Нейронные сети: основы теории [Текст] / А. И. Галушкин //
М.: Горячая линия-Телеком. 2010. – 496 с.: ил.
19. Гилл, Ф. Практическая оптимизация: Пер. с англ. [Текст] / Ф. Гилл, У.
Мюррей, М. Райт // М.: Мир. 1985. – 509 с.: ил.
20. Гонсалес, Р. Цифровая обработка изображений. Издание 3-е, исправленное
и дополненное [Текст] / Р. Гонсалес, Р. Вудс // М.: Техносфера. 2012. – 1104 с.
21. Горбань, А. Н. Нейронные сети на персональном компьютере [Текст] / А. Н.
Горбань, Д. А. Россиев // Новосибирск: Наука. Сибирская издательская фирма
РАН. 1996. – 276 с.
22. Гусев, А. Л. Функциональная предобработка входных сигналов нейронной
сети [Текст] / А. Л. Гусев, Ф. М. Черепанов, Л. Н. Ясницкий // Нейрокомпьютеры:
разработка, применение. 2013. – №5. – С. 19-21.
121
23. Дорогов,
А.Ю.
Системные
инварианты
быстрых
перестраиваемых
преобразований [Текст] / А. Ю. Дорогов // Кн. 23. Современные проблемы
нейроинформатики. Часть 1. 2006. – С. 43–50.
24. Измайлов, А. Ф. Численные методы оптимизации [Текст] / А. Ф. Измайлов,
М. В. Солодов // М.: ФИЗМАТЛИТ. 2005. – 304 с.
25. Ильин, В. А. Аналитическая геометрия [Текст] / В. А. Ильин, Э. Г. Позняк //
М.: ФИЗМАТЛИТ. 2002. – 240 с.
26. Каталог продукции НПО «Андроидная техника» [электронный ресурс] //
URL: http://npo-at.com/products/каталог-продукции/ (дата обращения: 08.09.2015).
27. Косовская, Т. М. Иерархическое описание классов и нейросетевое
распознавание сложных объектов [Текст] / Т. М. Косовская, А. В. Тимофеев // Кн.
23. Современные проблемы нейроинформатики. Часть 3. 2007. – С. 30–33.
28. Кохонен, Т. Ассоциативные запоминающие устройства: Пер. с англ. [Текст]
/ Т. Кохонен // М.: Мир. 1982. – 384 с., ил.
29. Кохонен, Т. Самоорганизующиеся карты. Пер. 3-го англ. изд. [Текст] / Т.
Кохонен // М.: БИНОМ. Лаборатория знаний. 2010. – 655 с.: ил. – (Адаптивные
интеллектуальные системы).
30. Кузнецов, О. П. Псевдооптические нейронные сети – прямолинейные
модели [Текст] / О. П. Кузнецов // Автоматика и телемеханика. 1996. – №12. – С.
160–172.
31. Лагунов, Н. А. Влияние предобработки изображений на качество обучения
нейронной сети для их распознавания [Текст] / Н. А. Лагунов, О. С. Мезенцева //
Вестник Северо-Кавказского государственного технического университета. 2015.
– №1(46). – С. 21-25.
32. Локтюхин, В. Н. Нейросетевые преобразователи импульсно-аналоговой
инфомрации: организация, синтез, реализация [Текст] / В. Н. Локтюхин, С. В.
Челебаев //М.: Горячая линия-Телеком. 2008. – 144 с.: ил.
33. Мерков, А. Б. Распознавание образов: введение в методы статистического
обучения [Текст] / А. Б. Мерков // М.: Едиториал УРСС. 2011. – 256 с.
122
34. Мерков,
А.
Б.
Распознавание
образов:
Построение
и
обучение
вероятностных моделей. Учебное пособие [Текст] / А. Б. Мерков // М.: ЛЕНАНД.
2014. – 240 с.
35. Местецкий, Л. М. Непрерывная морфология бинарных изображений.
Фигуры, скелеты, циркуляры [Текст] / Л. М. Местецкий // М.: ФИЗМАТЛИТ.
2009. – 288 с.
36. Назаров, Л. Е. Нейросетевые алгоритмы обнаружения, классификации и
распознавания объектов на изображениях [Текст] / Л. Е. Назаров, Н. С.
Томашевич, А. Н. Балухто // Нейрокомпьютеры в прикладных задачах обработки
изображений. Кн. 25. 2007. – С. 25–54.
37. НейрОК Интелсофт [электронный ресурс] // URL: http://soft.neurok.ru/ (дата
обращения 23.09.2015).
38. Нейропакет
BrainMaker
[электронный
ресурс]
//
URL:
www.calsci.com/BrainIndex.html (дата обращения 23.09.2015).
39. Немков Р.М. Модуль математического моделирования обучения сверточной
нейронной сети с преобразованной обучающей выборкой через изменения
рецептивных полей. Свидетельство о государственной регистрации программ для
ЭВМ №2015614848. Зарегистрировано в Реестре программ для ЭВМ 29 апреля
2015 г.
40. Немков
Р.М.
Модуль
обновления
настраиваемых
параметров
для
сверточной нейронной сети. Свидетельство о государственной регистрации
программы для ЭВМ №2015614834. Зарегистрировано в Реестре программ для
ЭВМ 28 апреля 2015 г.
41. Немков Р.М. Модуль редукции обучающего множества преобразованного с
помощью
рецептивных
государственной
полей
регистрации
произвольной
программы
формы.
для
Свидетельство
ЭВМ
Зарегистрировано в Реестре программ для ЭВМ 27 апреля 2015 г.
о
№2015614739.
123
42. Немков Р.М. Перемешивание созданной выборки в случайном порядке.
Свидетельство
о
государственной
регистрации
программы
для
ЭВМ
№2015614432. Зарегистрировано в Реестре программ для ЭВМ 17 апреля 2015 г.
43. Немков Р.М. Разделение созданной выборки паттернов на обучающую и
тестовую. Свидетельство о государственной регистрации программы для ЭВМ
№2015614840. Зарегистрировано в Реестре программ для ЭВМ 28 апреля 2015 г.
44. Немков Р.М. Система моделирования обучения и работы сверточных
нейронных сетей. Свидетельство о государственной регистрации программы для
ЭВМ №2013614056. Зарегистрировано в Реестре программ для ЭВМ 23 апреля
2013 г.
45. Немков Р.М. Система обучения и работы сверточных нейронных сетей с
использованием
Свидетельство
шума
о
на
основе
государственной
динамических
регистрации
рецептивных
программы
для
полей.
ЭВМ
№2014617810. Зарегистрировано в Реестре программ для ЭВМ 4 августа 2014 г.
46. Немков Р.М., Мезенцев Д.В. Распознавание образов на основе создания
коллектива трёх сверточных нейронных сетей. Свидетельство о государственной
регистрации программ для ЭВМ №2015614849. Зарегистрировано в Реестре
программ для ЭВМ 29 апреля 2015 г.
47. Немков Р.М., Мезенцев Д.В. Распознавание образов на основе создания
сверточной нейронной сети. Свидетельство о государственной регистрации
программы для ЭВМ №2015616115. Зарегистрировано в Реестре программ для
ЭВМ 29 мая 2015 г.
48. Немков Р.М., Мезенцева О.С. Модуль обратного прогона для сверточной
нейронной сети. Свидетельство о государственной регистрации программы для
ЭВМ №2015614813. Зарегистрировано в Реестре программ для ЭВМ 28 апреля
2015 г.
49. Немков Р.М., Мезенцева О.С. Модуль прямого прогона для сверточной
нейронной сети. Свидетельство о государственной регистрации программы для
124
ЭВМ №2015614847. Зарегистрировано в Реестре программ для ЭВМ 10 марта
2015 г.
50. Немков, Р.М. Анализ влияния типов нормировки и режима восприятия на
качество обучения и работы сверточных нейронных сетей [Текст] / Р.М. Немков,
О.С. Мезенцева // Актуальные проблемы современной науки: материалы II
Международной научно-практической конференции. Выпуск 2. Том 3. –
Ставрополь, 2013.– С.99 – 104.
51. Немков, Р.М. Анализ возможностей нейропроцессора NM6403 для
эмулирования нейронных сетей [Текст] / Р.М. Немков // Актуальные проблемы и
инновации
в
экономике,
управлении,
образовании,
информационных
технологиях: материалы Международной научной конференции. Том I. –
Ставрополь, 2011. – С. 136 – 140.
52. Немков,
нейронной
Р.М.
сети
Анализ
[Текст]
методов
/
оптимизации
Р.М.
Немков,
обучения
О.С.
сверточной
Мезенцева
//
Инфокоммуникационные технологии в науке, производстве и образовании
(Инфоком-5): материалы V международной научно-технической конференции.
Часть I. – Ставрополь, 2012.– С. 90 – 93.
53. Немков,
Р.М.
Динамическое
изменение
воспринимающих
свойств
сверточных нейронных сетей как обучение с шумом и его влияние на
обобщающую способность [Текст]
/ Р.М. Немков, О.С. Мезенцева //
Нейрокомпьютеры: разработка, применение. – Москва. 2015. – №2 (63).– С. 12 –
18.
54. Немков,
Р.М.
Динамическое
изменение
воспринимающих
свойств
сверточных нейронных сетей как обучение с шумом [Текст] / Р.М. Немков, О.С.
Мезенцева // Параллельная компьютерная алгебра и её приложения в новых
инфокоммуникационных системах: сборник научных трудов I Международная
конфереции. – Ставрополь, 2014. – С. 539 – 548.
55. Немков, Р.М. Исследование влияния воспринимающих свойств сверточных
нейронных сетей на качество распознавания паттернов [Текст] / Р.М. Немков,
125
О.С. Мезенцева // Инфокоммуникационные технологии в науке, производстве и
образовании
(Инфоком-6):
материалы
Шестой
международной
научно-
технической конференции. Часть 2, Ставрополь, 2014. – С. 187 – 193.
56. Немков,
Р.М.
Метод
синтеза
параметров
математической
модели
сверточной нейронной сети с расширенным обучающим множеством [Текст] /
Р.М. Немков // Современные проблемы науки и образования, 2015. – № 1. URL:
http://www.science-education.ru/125-19867/;
57. Немков, Р.М. Оптимизация обучения сверточной нейронной сети для задачи
распознавания стереоизображений [Текст] / Р.М. Немков, О.С. Мезенцева //
Проблемы математики и радиофизики в области информационной безопасности:
сборник научных трудов I Всероссийской конференции. – Ставрополь, 2012. – С.
184 – 189.
58. Немков, Р.М. Разработка модуля обучения сверточных нейронных сетей для
комплекса распознавания изображений с камеры мобильного робота [Текст] /
Р.М. Немков, О.С. Мезенцева // Фундаментальные и прикладные аспекты
компьютерных технологий и информационной безопасности: материалы трудов I
Всероссийской научно-технической конференции. – Ростов-на-Дону, 2015. – С.
463 – 465.
59. Немков, Р.М. Разработка численного алгоритма редукции расширенного
обучающего
множества,
генерируемого
изменением
рецептивных
полей
сверточной нейронной сети [Текст] / Р.М. Немков // Студенческая наука для
развития информационного общества: материалы II Всероссийской научнотехнической конференции. – Ставрополь, 2015. – С. 262 – 264.
60. Немков, Р.М. Экспериментальное исследование и анализ влияния базовых
параметров сверточных нейронных сетей на качество их обучения [Текст] / Р.М.
Немков,
О.С.
Мезенцева
//
Вестник
Северо-Кавказского
университета. – Ставрополь, 2013. – №3 (36). – C. 21–26.
федерального
126
61. Никколс, Д. Г. От нейрона к мозгу: Пер. с англ. Изд. 3-е. [Текст] / Д. Г.
Никколс, А. Р. Мартин, Б. Дж. Валлас, П. А. Фукс // М.: Книжный дом
«ЛИБРОКОМ». 2012. – 672 с., цв. вкл.
62. Николенко, С. И. Самообучающиеся системы [Текст] / С. И. Николенко, А.
Л. Тулупьев // М.: МЦНМО. 2009. – 288 с.: 24 ил.
63. Платформа
Deductor
[электронный
ресурс]
//
URL:
http://basegroup.ru/deductor/description (дата обращения 23.09.2015).
64. Потапов, А.С. Распознавание образов и машинное восприятие: общий
подход на основе принципа минимальной длины описания [Текст] / А. С. Потапов
// СПб.: Политехника. 2007. – 548 с.: ил.
65. Рассел, С. Искусственный интеллект: современный подход, 2-е изд.: Пер. с
англ. [Текст] / С. Рассел, П. Норвиг // М.: Издательский дом «Вильямс». 2006. –
1408 с.: ил. – Парал. тит. англ.
66. Растунков, В. С. Нейронные сети. STATISTICA Neural Networks:
методологии и технологии современного анализа данных [Текст] / В. С.
Растунков, А. К. Петров, В. А. Панов // М.: Горячая линия-Телеком. 2008. – 392 с.:
ил.
67. Редько, В. Г. Эволюция, нейронные сети, интеллект: Модели и концепции
эволюционной кибернетики [Текст] / В. Г. Редько // М.: Книжный дом
«ЛИБРОКОМ». 2011. – 224 с. (Синергетика: от прошлого к будущему).
68. Робот KURT2 [электронный ресурс] // URL: http://www7.informatik.uniwuerzburg.de/fileadmin/10030700/user_upload/nuechter/robots.html (дата обращения
23.09.2015).
69.
Робот
LAGR
[электронный
ресурс]
//
URL:
http://www.cs.nyu.edu/~yann/research/lagr/ (дата обращения 23.09.2015).
70.
Робот NAO [электронный ресурс] // URL: https://www.aldebaran.com/en
(дата обращения 23.09.2015).
71. Рыжов, В. А. Эволюция человеко-машинных интерфейсов [Текст] / В. А.
Рыжов // Интегральный робот. Кн. 20. 2006. – С. 119–140.
127
72. Саттон, Р.С. Обучение с подкреплением. : пер. с англ. [Текст] / Р.С. Саттон,
Э.Г. Барто // М.: Бином. Лаборатория знаний. 2011. – 399 с. : ил. – (Адаптивные и
интеллектуальные системы).
73. Соколов, А. Е. Исследование библиотек технического зрения для
построения системы учёта движения на перекрёстках [Текст] / А. Е. Соколов //
Международная
конференция
«Современные
проблемы
математики,
информатики и биоинформатики». Собр. тезисов, – С. 49–52.
74. Соколов, Е. Н. Нейроинтеллект: от нейрона к нейрокомпьютеру [Текст] / Е.
Н. Соколов, Г. Г. Вайткявичюс // М.: Наука. 1989. – 238 с.
75. Срочко, В. А. Численные методы. Курс лекций: Учебное пособие [Текст] /
В. А. Срочко // СПб.: Издательство «Лань». 2010. – 208 с. – (Учебник для вузов.
Специальная литература).
76. Станкевич, Л. А. Распознавание трёхмерных объектов с использованием их
структурного описания [Текст] / Л. А. Станкевич, В. В. Тихомиров, Д. В. Троцкий
// Кн. 23. Современные проблемы нейроинформатики. Часть 1. 2006. – С. 70–79.
77. Тархов, Д.А. Нейронные сети как средство математического моделирования
[Текст] / Д.А. Тархов // Кн. 22. – М.: Радиотехника. 2006. – 48 с.: ил. (Научная
серия «Нейрокомпьютеры и их применение»).
78. Тархов, Д.А. Нейронные сети. Модели и алгоритмы. Кн. 18 [Текст] / Д. А.
Тархов // М.: Радиотехника. 2005. – 256 с.: ил. (Научная серия «Нейрокомпьютеры
и их применение», редактор А. И. Галушкин).
79. Тархов, Д.А. Нейросетевые модели и алгоритмы. Справочник [Текст] / Д. А.
Тархов // М.: Радиотехника. 2014. – 352 с.: ил.
80. Терехов, В. А. Нейросетевые системы управления. Кн. 8: Учеб. пособие для
вузов [Текст] / В. А. Терехов, Д. В. Ефимов, И. Ю. Тюкин // М.: ИПРЖР. 2002. –
480 с.: ил. (Нейрокомпьютеры и их применение).
81. Техническое зрение в системах управления мобильными объектами-2010:
Труды научно-технической конференции-семинара. Вып. 4 / Под ред. Р. Р.
Назирова. – М.: КДУ, 2011. – 328 с.: табл., ил., цв. ил.
128
82. Тихонов, А. Н. Методы решения некорректных задач [Текст] / А. Н.
Тихонов, В. Я. Арсенин // М.: Наука. 1979. – 283 с.
83. Тищенко, А. С. Навигация мобильного робота на основе бортовой системы
технического зрения [Текст] / А. С. Тищенко, Б. Б. Михайлов // Мехатроника,
автоматизация, управление. 2009. – № 12. – С. 15-27.
84. Томашевич, Н. С. Статистические методы выделения признаков [Текст] / Н.
С.
Томашевич
//
Нейрокомпьютеры
в
прикладных
задачах
обработки
изображений. Кн. 25. 2007. – С. 121–128.
85. Тюкин, И.Ю. Адаптация в нелинейных динамических системах [Текст] / И.
Ю. Тюкин, В. А. Терехов // М.: Издательство ЛКИ. 2014. – 384 с. (Синергетика: от
прошлого к будущему. №36).
86. Фомин, Я. А. Распознавание образов: теория и практика. Издание третье,
дополненное [Текст] / Я. А. Фомин // М.: ФАЗИС. 2014. – 460 с.
87. Форсайт, Д. Компьютерное зрение. Современный подход: Пер. с англ.
[Текст] / Д. Форсайт, Ж. Понс // М.: Издательский дом «Вильямс». 2004. – 928 с.:
ил. – Парал. тит. англ.
88. Фрейзер, М. Введение в вэйвлеты в свете линейной алгебры: Пер. с англ.
[Текст] / М. Фрейзер // М.: БИНОМ. Лаборатория знаний. 2008. – 487 с.: ил.
89. Хайкин, С. Нейронные сети: полный курс, 2-е издание. : Пер. с англ. [Текст]
/ С. Хайкин // М.: Издательский дом «Вильямс». 2008. – 1104 с. : ил. – Парал. тит.
англ.
90. Харламов, А.А. Нейросетевая технология представления и обработки
информации (естественное представление знаний). Кн. 19. Монография [Текст] /
Под ред. А.И. Галушкина // М.: Радиотехника. 2006. – 88 с.: ил. (Научная серия
«Нейрокомпьютеры и их применение», редактор А.И. Галушкин).
91. Червяков, Н.И. Нейрокомпьютеры в остаточных классах. Кн. 11. [Текст] /
Н.И. Червяков, П.А. Сахнюк, А. В. Шапошников, А. Н. Макоха // М.:
Радиотехника. 2003. – 272 с.: ил.
129
92. Четаев, А. Н. Нейронные сети и цепи Маркова [Текст] / А. Н. Четаев // М.:
Наука. Главная редакция физико-математической литературы. 1985. – 128 с.
93. Шевелёв, И. А. Нейроны-детекторы зрительной коры [Текст] / И. А.
Шевелёв // М.: Наука. 2010. – 183 с.
94. Шибзухов, З. М. Конструктивные методы обучения сигма-пи нейронных
сетей [Текст] / З. М. Шибзухов // М.: Наука. 2006. – 159 с.
95. Abonyi, J. Cluster analysis for data mining and system identification [Text] / J.
Abonyi, B. Feil // Basel: Birkhäuser, 2007. – 303 p.
96. Ackley, D. H. A learning algorithm for Boltzmann machines [Text] / D. H.
Ackley, G. E. Hinton, T. J. Sejnowski // Cognitive Science, vol. 9, 1985, pp. 147-169.
97. Adamo, J. M. Data mining for association rules and sequential patterns:
sequential and parallel algorithm [Text] / J. M. Adamo // New York: Springer-Verlag. –
2001. – 259 p.
98. Alvarez, J. Road scene segmentation from a single image [Text] / J. Alvarez, T.
Gevers, Y. LeCun, A. M. Lopez // European Conference on Computer Vision (ECCV
2012), 7578: 376-389, 2012.
99. Arbib, M. A. The Handbook of Brain Theory and Neural Networks. Second
Edition [Text] / Edited by M. A. Arbib // London: A Bradford Book, 2002. – 1290 p.
100. Bagnell, J. A. Differentiable sparse coding [Text] / J. A. Bagnell, D. M. Bradley //
in Advances in Neural Information Processing Systems 21 (NIPS’08), NIPS
Foundation, 2009.
101. Batchelor, B. G. Intelligent vision systems for industry [Text] / B. G. Batchelor,
P. F. Whelan // Springer-Verlag. 1997. – 451 p.
102. Bengio, Y. Learning deep architectures for AI [Text] / Y. Bengio // Foundations
and Trends in Machine Learning, vol. 2, issue 1, 2009, pp. 1-127.
103. Bengio, Y. Scaling learning algorithms towards AI [Text] / Y. Bengio, Y. LeCun
// in Large Scale Kernel Machines, MIT Press, 2007.
104. Bishop, C. M. Neural Networks for Pattern Recognition [Text] / C. M. Bishop //
Great Clarendon Street, USA, 1995. – 482 p.
130
105. Bishop, C. M. Pattern Recognition and Machine Learning [Text] / C. M. Bishop //
New York: Spring Street, 233, LLC, USA, 2009. – 738 p.
106. Bishop, M. Training with noise is equivalent to Tikhonov regularization [Text] /
M. Bishop // in Neural Computation 7, no. 1, 1995, pp. 108-116.
107. Ciresan, D. Multicolumn Deep Neural Networks for Image Classification [Text] /
D. Ciresan, U. Meier, J. Schmidhuber // In Proceedings of the 2012 IEEE Conference
on Computer Vision and Pattern Recognition (CVPR), CVPR '12, pp. 3642-3649,
Washington, DC, USA, 2012. IEEE Computer Society.
108. Cruz, V. Invariant image recognition using a multi-network neural model [Text] /
V. Cruz, G. Cristobal, T. Michaux, S. Barquin // Electronic Neurocomputers, Proc. Int.
Joint Conf. Neural Networks, vol. II, 1989, pp. 17–21.
109. Decoste, D. Training Invariant Support Vector Machines [Text] / D. Decoste, B.
Scholkopf // Machine Learning Journal, vol. 46, no. 1-3, 2002.
110. Dileep, G. A Hierarchical Bayesian model of invariant pattern recognition in the
visual cortex [Text] / G. Dileep, J. Hawkins // In Proceedings of the International Joint
Conference on Neural Networks, vol. 3, 2005, pp. 1812-1817.
111. Duda, R. O. Pattern Classification. 2nd ed. [Text] / R. O. Duda, P. E. Hart, D. G.
Stork // New York: John Wiley & Sons, USA, 2001. – 654 p.
112. Eysel, U.T. Pharmacological studies on receptive field architecture [Text] / U.T.
Eysel // N.Y.: Acad. Press, 2002, pp. 427-470.
113. Fahle, M. Perceptual learning [Text] / M. Fahle, T. Poggio // London, England,
MIT Press, 2002. – 455 p.
114. Farabet, C. Hardware accelerated convolutional neural networks for synthetic
vision systems [Text] / C. Farabet, B. Martini, P. Akselrod, S. Talay, Y. LeCun, E.
Culurciello // In International Symposium in Circuits and Systems (ISCAS’10), IEEE,
Paris, May 2010.
115. Farabet, C. Neuflow: A runtime reconfigurable dataflow processor for vision
[Text] / C. Farabet, B. Martini, B. Corda, P. Akselrod, E. Culurciello, Y. LeCun // In
proceedings of the Fifth IEEE Workshop on Embedded Computer Vision. IEEE, 2011.
131
116. Fukushima, K. Neocognitron: A neural network model for a mechanism of visual
pattern recognition [Text] / K. Fukushima, S. Miyake, T. Ito // IEEE Trans. Syst., Man,
Cyber., V. SMC-13. – 1983. – P. 826-834.
117. Giles, C. L. Learning invariance and generalization in high-order neural networks
[Text] / C. L. Giles, T. Maxwell // Appl. Opt., vol. 26, pp. 4972-4978, 1987.
118. Hadsell, R. Deep belief net learning in a long-range vision system for
autonomous off-road driving [Text] / R. Hadsell, A. Erkhan, P. Sermanet, M. Scoffier,
U. Muller, Y. LeCun // in Proc. Intelligent Robots and Systems (IROS’08), 2008, pp.
628-633.
119. Hassoun, M. Fundamentals of artificial neural networks [Text] / M. Hassoun // A
Bradford Book, 2003. – 511 p.
120. Hawkins, J. On Intelligence. [Text] / J. Hawkins, S. Blakeslee // Time Books,
2004.
121. Hinton, E. Improving neural networks by preventing co-adaptation of feature
detectors [Text] / E. Hinton, N. Srivastava, A. Krizhevsky, I. Sutskever // CoRR,
abs/1207.0580, 2012.
122. Hinton, G. Unsupervised learning: foundations of neural computation [Text] / G.
Hinton, T. Sejnowski // MIT Press, 1999.
123. Hubel, D. H. Receptive fields, binocular interaction, and functional architecture
in the cat’s visual cortex [Text] / D. H. Hubel, T. N. Wiesel // Journal of Physiology
(London), vol. 160, 1962, pp. 106-154.
124. Jack, W. Invariant pattern recognition using higher-order neural networks [Text] /
W. Jack, J. Chang // Proceedings of 1993 International Joint Conference on Neural
Networks.
125. Kavukcuoglu, K. Learning Feature Hierarchies for Object Recognition [Text] /
K. Kavukcuoglu // : PhD diss. New York University, January 2011.
126. Kavukcuoglu, K. Learning invariant features through topographic filter maps
[Text] / K. Kavukcuoglu, K. Ranzato, M. Fergus, Y. LeCun // In CVPR’09, IEEE,
2009.
132
127. Koh, Y. S. Rare association rule mining and knowledge discovery [Text] / Y. S.
Koh, N. Rountree // New York: Information Science Reference. – 2009. – 320 p.
128. Kreinovich, V. Arbitrary nonlinearity is sufficient to present all functions by
neural networks: a theorem [Text] / V. Kreinovich // Neural Networks, vol. 4, 1991, pp.
381-383.
129. Krizhevsky, A. ImageNet classification with deep convolutional neural networks
[Text] / A. Krizhevsky, I. Sutskever, G. E. Hinton // Advances in Neural Information
Processing Systems 25, 2012, pp. 1106-1114.
130. Kroner, S. Adaptive averaging in higher order neural networks for invariant
pattern recognition [Text] / S. Kroner // 1995, IEEE.
131. Larochelle, H. An empirical evaluation of deep architectures on problems with
many factors of variation [Text] / H. Larochelle, D. Erhan, A. Courville, J. Bergstra, Y.
Bengio // In Twenty-fourth International Conference on Machine Learning (ICML,
2007).
132. Le, Q. Building high-level features using large scale unsupervised learning [Text]
/ Q. Le, A. Ranzanto, R. Monga, M. Devin, G. Corrado, K. Chen, J. Dean // Acoustics,
Speech and Signal Processing (ICASSP), 2013.
133. Le, Q. Tiled convolutional neural networks [Text] / Q. Le, J. Ngiam, Z. Chen, D.
Chia, P. Koh, A. Y. Ng // NIPS, 2010.
134. LeCun, Y. Backpropagation applied to handwritten zip code recognition [Text] /
Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D.
Jackel // Neural Computation, vol. 1, no. 4, 1989, pp. 541-551.
135. LeCun, Y. Efficient Back-prop [Text] / Y. LeCun, L. Bottou, G. B. Orr, K.-R.
Muller // in Neural Networks: Tricks of the Trade, 1998, pp. 9-50, Springer.
136. LeCun, Y. Gradient-based Learning Applied to Document Recognition [Text] /
Y. LeCun, L. Bottou, Y. Bengio, P. Haffner // Proceedings of the IEEE. v. 86, 1998, pp.
2278-2324.
137. LeCun, Y. Learning methods for generic objects recognition with invariance to
pose and lighting [Text] / Y. LeCun, F.-J. Huang, L. Bottou // in Proceedings of the
133
Computer Vision and Pattern Recognition Conference (CVPR’04), vol. 2, pp. 97-104,
Los Alamitos, CA, USA: IEEE Computer Society, 2004.
138. Lee, J. A. Nonlinear dimensionality reduction [Text] / J. A. Lee, M. Verleysen //
New York: Springer, 2007. – 308 p.
139. MATLAB [электронный ресурс] // URL: http://www.mathworks.com (дата
обращения 23.09.15).
140. Modified
National
Institute
of
Standards
and
Technology
(MNIST)
[электронный ресурс] // URL: http://yann.lecun.com/exdb/mnist/ (дата обращения
08.09.2015).
141. Murray, A. Synaptic weight noise during MLP learning enhances fault-tolerance,
generalization and learning-trajectory [Text] / A. Murray, P. Edwards // Advances in
Neural Information Processing Systems 5 (NIPS 1992), Colorado, USA, November 30
– December 3, 1992.
142. Murray, I. Evaluating probabilities under high-dimensional latent variable models
[Text] / I. Murray, R. Salakhutdinov // in Advances in Neural Information Processing
Systems 21 (NIPS’08), vol. 21, 2009, pp. 1137-1144.
143. Neal, R. M. Connectionist learning of belief networks [Text] / R. M. Neal // PhD
thesis, Department of Computer Science, University of Toronto, 1994.
144. Nemkov, R. Dynamical Change of the Perceiving Properties of Neural Networks
as Training with Noise and Its Impact on Pattern Recognition / R. Nemkov // Young
Scientists’ International Workshop on Trends in Information Processing (YSIP) – 2014.
URL: http://ceur-ws.org/Vol-1145/paper4.pdf/
145. Nemkov. R. The Use of Convolutional Neural Networks with Non-specific
Receptive Fields [Text] / R. Nemkov, O. Mezentseva // The 4th International Scientific
Conference: Applied Natural Sciences. – Novỳ Smokovec, 2013. – pp. 284 – 289.
146. NYU Object Recognition Benchmark (NORB) [электронный ресурс] // URL:
www.cs.nyu.edu/~ylclab/data/norb-v1.0/ (дата обращения 08.09.2015).
134
147. Pedro, J. Extended backpropagation for invariant pattern recognition neural
networks [Text] / J. Pedro, J. Munoz // IJCNN’ 93–Nagoya, October, 1993, Japan, vol.
3, pp. 2097-2100.
148. Pinto, N. Why is real-world visual object recognition hard? [Text] / N. Pinto, D.
D. Cox, J. J. DiCarlo // Computation Biology, vol. 4, 2008, pp. 27-31.
149. Ranzato, M. A. What is the best multi-stage architecture for object recognition?
[Text] / M. A. Ranzato, K. Jarrett, K. Kavukcuoglu, Y. LeCun// In ICCV, 2009.
150. Ranzato, M. Sparse feature learning
for deep belief networks [Text] / M.
Ranzato, Y.-L. Boureau, Y. LeCun // in Advances in Neural Information Processing
Systems 20 (NIPS’07), pp. 1185-1192, Cambridge, MA: MIT Press, 2008.
151. Ranzato, M. Unsupervised learning of invariant feature hierarchies with
applications to object recognition [Text] / M. Ranzato, F. Huang, Y. Boureau, Y. LeCun
// in Proceedings of the Computer Vision and Pattern Recognition Conference
(CVPR’07), IEEE Press, 2007.
152. Riesenhuber, M. Hierarchical models of object recognition in cortex [Text] / M.
Riesenhuber, T. Poggio // Nature Neuroscience, no. 3, 1999, pp. 1019-1025.
153. Riesenhuber, M. Neural mechanisms of object recognition [Text] / M.
Riesenhuber, T. Poggio // Current Opinion in Neurobiology, no. 12, 2002, pp. 162-168.
154. Rousselet, G. A. Taking the MAX from neural responses [Text] / G. A.
Rousselet, S. J. Thorpe, M. Fabre-Thorpe // Trends in Cognitive Science, no. 7, 2003,
pp. 99-102.
155. Sermanet, P. Traffic sign recognition with multi-scale convolutional networks
[Text] / P. Sermanet, Y. LeCun // In Proceedings of the International Joint Conference
on Neural Networks (IJCNN), August, 2011.
156. Simard, P. Best practices for convolutional neural networks applied to visual
document analysis [Text] / P. Simard, D. Steinkraus, J. C. Platt // Proceeding of the
Seventh International Conference on Document Analysis and Recognition (ICDAR’03),
vol. 2, 2003, pp. 958-964.
135
157. Simard, P. Transformation invariance in pattern recognition – tangent distance
and tangent propagation [Text] / P. Simard, Y. LeCun, J. Denker, B. Victorri //
International Journal of Imaging Systems and Technology, vol. 11, issue 3, 2000, pp.
181-197.
158. Sobhani-Tehrani, E. Fault diagnosis of nonlinear systems using a hybrid approach
[Text] / E. Sobhani-Tehrani, K. Khorasani // New York: Springer, 2009. – 265 p.
159. Stavros, J. Translation, rotation, and scale invariant pattern recognition by highorder neural networks and moment classifiers [Text] / J. Stavros, Paulo J. G. Lisboa //
IEEE Transactions on neural networks, vol. 3, №2, March 1992.
160. Taigman, Y. DeepFace: Closing the gap to human-level performance in face
verification [Text] / Y. Taigman, M. Yang, M. Aurelio, L. Wolf // IEEE Conference on
Computer Vision and Pattern Recognition (CVPR 2014).
161. Wan, L. Regularization of neural network using DropConnect [Text] / L. Wan,
M. D. Zeiler, S. Zhang, Y. LeCun // ICML(3), 2013, pp. 1058-1066.
162. Wang, S. I. Fast dropout training [Text] / S. I. Wang, C. D. Manning //
Proceedings of the 30th International Conference on Machine Learning (ICML-13),
2013, pp. 118-126.
163. Widrow, B. Learning phenomena in layered neural networks [Text] / B. Widrow,
R. Winter, R. Baxter // IEEE First Int. Conf. Neural Networks, 1987. Vol. 2, pp. II: 411429.
164. Winter, R. MADALINE RULE II: A training algorithm for neural networks
[Text] / R. Winter, B. Widrow // IEEE Second Int. Conf. on Neural Networks, 1988.
Vol. 1, pp. 401-408.
165. Yerahmiel, D. A rubber sheeting algorithm for non-rectangular maps [Text] / D.
Yerahmiel // Computer & Geosciences, vol. 26, issue 9-10, November 2000, pp. 10011010.
136
ПРИЛОЖЕНИЕ А
Рисунок А.1 – Зависимость ошибки обобщения от типа функции активации,
выраженной через MSE
Рисунок А.2 – Сравнение влияния отсутствия и наличия пропусков на ошибку
обучения
137
Рисунок А.3 – Сравнение влияния отсутствия и наличия пропусков на ошибку
обобщения в контрольных точках для теста
Рисунок А.4 – Зависимость ошибки обучения (MSE) от типа функции активации
138
Рисунок А.5 – Зависимость количества неправильно распознанных паттернов от
типа функции активации при обучении сети
Рисунок А.6 – Зависимость количества пропусков обратных прогонов в процессе
обучения от типа функции актвации
139
Рисунок А.7 – Зависимость времени обучения по эпохам от функции активации
Рисунок А.8 – Суммарное время обучения в зависимости от функций активации
140
Рисунок А.9 – Зависимость ошибки обучения (MSE) от типа нормировки
Рисунок А.10 – Усреднённая гистограмма входных значений по всему
обучающему множеству Small NORB для нормировки, использующей
среднеквадратическое отклоненение. Положительные и отрицательные значения
распределены равномерно. Сумма по столбцам гистограммы равна 0
141
Рисунок А.11 – Усреднённая гистограмма входных значений по всему
обучающему множеству Small NORB для нормировки, использующей функцию
max(|X-Xср|). Положительные и отрицательные значения распределены
равномерно. Сумма по столбцам гистограммы равна 0
Рисунок А.12 – Усреднённая гистограмма входных значений по всему
обучающему множеству Small NORB для нормировки, использующей
гиперболический тангенс от среднеквадратического отклонения. Сумма
положительных значений больше суммы отрицательных
142
Рисунок А.13 – Усреднённая гистограмма входных значений по всему
обучающему множеству Small NORB для нормировки, использующей
гиперболический тангенс от функции с max(|X-Xср|). Сумма положительных
значений больше суммы отрицательных
Рисунок А.14 – Усреднённая гистограмма входных значений по всему
обучающему множеству Small NORB для линейной нормировки. Сумма
положительных значений намного больше суммы отрицательных
143
Рисунок А.15 – Усреднённая гистограмма входных значений по всему
обучающему множеству Small NORB для неотнормированных данных
Рисунок А.16 – Среднее значение отнормированных входных данных по
обучающему множеству Small NORB в зависимости от типа нормировки. Слева
направо столбцы имеют следующие значения: 0, 0, 28822036, 4274852, 228060132
144
Рисунок А.17 – Зависимость ошибки обучения (MSE) от способа инициализации
настраиваемых параметров СНС
145
ПРИЛОЖЕНИЕ Б
Рисунок Б.1 – Распознан плеер, расстояние 1 м, разрешение 320x240
Рисунок Б.2 – Распознана лягушка, расстояние 1 м, разрешение 320x240
146
Рисунок Б.3 – Распознан фонарь, расстояние 1 м, разрешение 320x240
Рисунок Б.4 – Распознан фонарь, другой ракурс, расстояние 1 м, разрешение
320x240
147
Рисунок Б.5 – Распознана тыква в руке, расстояние 1 м, разрешение 320x240
Рисунок Б.6 – Распознан степлер, расстояние 1 м, разрешение 320x240
148
Рисунок Б.7 – Распознан солдат, расстояние 1 м, разрешение 320x240
Рисунок Б.8 – Распознан солдат, другой ракурс, расстояние 1 м, разрешение
320x240
149
Рисунок Б.9 – Распознан мотоцикл, расстояние 1 м, разрешение 320x240
Рисунок Б.10 – Распознан самолёт, расстояние 1 м, разрешение 320x240
150
Рисунок Б.11 – Распознан самолёт, другой ракурс, расстояние 1 м, разрешение
320x240
Рисунок Б.12 – Распознана машина, расстояние 1 м, разрешение 320x240
151
Рисунок Б.13 – Распознаны все объекты вместе, расстояние 1 м, разрешение
320x240
Рисунок Б.14 – Распознан солдат, степлер, фонарь на сложном фоне, расстояние 1
м, разрешение 320x240
152
Рисунок Б.15 – Распознаны машина, солдат, степлер, лягушка на сложном фоне,
расстояние 1 м, разрешение 320x240
Рисунок Б.16 – Распознана тыква на сложном фоне, расстояние 50 см, разрешение
320x240
153
Рисунок Б.17 – Распознан фонарь на сложном фоне, расстояние 50 см, разрешение
320x240
Рисунок Б.18 – Распознана машина на сложном фоне, расстояние 50 см,
разрешение 320x240
154
Рисунок Б.19 – Распознан мотоцикл на белом фоне, расстояние 50 см, разрешение
320x240
Рисунок Б.20 – Распознана лягушка на сложном фоне, расстояние 50 см,
разрешение 320x240
155
Рисунок Б.21 – Распознан плеер на сложном фоне, расстояние 50 см, разрешение
320x240
Рисунок Б.22 – Распознана тыква на сложном фоне, расстояние 1 м, разрешение
320x240
156
Рисунок Б.23 – Распознан плеер и фонарь на сложном фоне, расстояние 2 м,
разрешение 320x240
Рисунок Б.24 – Распознан степлер на сложном фоне, расстояние 1.5 м, разрешение
320x240
157
Рисунок Б.25 – Распознан солдат, разрешение 160x120, расстояние 50 см с
падением разрешения уменьшается количество потенциально интересных мест
для распознавания, увеличивается скорость обработки кадра
Рисунок Б.26 – Распознан степлер и фонарь, солдат распознан неправильно,
расстояние 1.5 метра, разрешение 320x240
158
Рисунок Б.27 – Распознан плеер, уровень шума 6%, увеличивается количество
мест, захваченных алгоритмом выделения объектов
Рисунок Б.28 – Распознан мотоцикл, уровень шума 6%
159
Рисунок Б.29 – Распознан самолёт, уровень шума 7%
Рисунок Б.30 – Распознаны все объекты вместе, уровень шума, 6%
160
Рисунок Б.31 – Распознан плеер, уровень шума 8%
Рисунок Б.32 – Распознан самолёт, уровень шума 9%
161
Рисунок Б.33 – Распознан плеер, уровень шума 10%, появляется очень большое
количество лишних выделенных мест
Рисунок Б.34 – Распознан фонарь, уровень шума 24%, алгоритм выделения
объектов работает плохо
162
Рисунок Б.35 – Уровень шума 31%, алгоритм выделения объектов не выделяет
плеер
Download