РАСПОЗНАВАНИЕ ОБРАЗОВ С ПОМОЩЬЮ НЕЙРОННЫХ СЕТЕЙ
|
ВВЕДЕНИЕ 3
1. Нейронные сети 6
1.1. Искусственный нейрон 6
1.2. Искусственные нейронные сети 8
1.3. Принятые обозначения 10
1.4. Функции активации 11
1.5. Обучение искусственных нейронных сетей 14
1.5.1. Общие сведения 14
1.5.2. Метод пакетного градиентного спуска 15
1.5.3. Метод стохастического градиентного спуска 18
1.5.4. Метод мини-пакетного градиентного спуска 19
2. Разработка метода поиска оптимальной функции активации. Результаты
исследования. Эксперименты 21
2.1. Постановка задачи 21
2.2. Введение в базу данных MNIST 21
2.3. Искусственная нейронная сеть для задачи распознавания рукописных
цифр 23
2.4. Градиентный метод поиска оптимальной функции активации 28
2.4.1. Разработка и теоретическое обоснование градиентного метода
поиска оптимальной функции активации 28
2.4.2. Исследование эффективности градиентного метода поиска
оптимальной функции активации 36
2.5. Программный комплекс 38
2.5.1. Процесс разработки 38
2.5.2. Анализ требований 40
2.5.3. Проектирование системы 40
2.5.4. Разработка системы 43
2.5.5. Тестирование системы 46
ЗАКЛЮЧЕНИЕ 48
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 49
ПРИЛОЖЕНИЕ
1. Нейронные сети 6
1.1. Искусственный нейрон 6
1.2. Искусственные нейронные сети 8
1.3. Принятые обозначения 10
1.4. Функции активации 11
1.5. Обучение искусственных нейронных сетей 14
1.5.1. Общие сведения 14
1.5.2. Метод пакетного градиентного спуска 15
1.5.3. Метод стохастического градиентного спуска 18
1.5.4. Метод мини-пакетного градиентного спуска 19
2. Разработка метода поиска оптимальной функции активации. Результаты
исследования. Эксперименты 21
2.1. Постановка задачи 21
2.2. Введение в базу данных MNIST 21
2.3. Искусственная нейронная сеть для задачи распознавания рукописных
цифр 23
2.4. Градиентный метод поиска оптимальной функции активации 28
2.4.1. Разработка и теоретическое обоснование градиентного метода
поиска оптимальной функции активации 28
2.4.2. Исследование эффективности градиентного метода поиска
оптимальной функции активации 36
2.5. Программный комплекс 38
2.5.1. Процесс разработки 38
2.5.2. Анализ требований 40
2.5.3. Проектирование системы 40
2.5.4. Разработка системы 43
2.5.5. Тестирование системы 46
ЗАКЛЮЧЕНИЕ 48
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 49
ПРИЛОЖЕНИЕ
Сегодня искусственные нейронные сети (ИНС) привлекают все больше и больше внимания ученых различных областей науки. С 1943 года, когда У. МакКаллох и У. Питтс в своем исследовании [1] разработали первую модель искусственного нейрона и сформулировали концепцию ИНС, ежедневно появляется огромное количество все более сложных и менее нативных исследований в этой сфере.
В настоящее время нейронные сети представляют собой практическую технологию, которая успешно применяется во многих областях, таких как прогнозирование, принятие решений, задачи оптимизации, анализ данных и т. д. ИНС стали абсолютным лидером по качеству и эффективности работы при решении многих проблем, для которых аналитические алгоритмы практически непригодны. Большинство таких проблем связано с распознаванием образов.
В работе исследуется именно проблема распознавания образов, т.к. только при сосредоточении внимания на конкретной проблеме становится возможным более глубоко рассмотреть многие из ее наиболее важных аспектов. В случае применения ИНС для распознавания образов, возможно детально изучить поведение функций ошибок, алгоритмы оптимизации параметров и алгоритмы предварительной обработки данных, что было подробно описано, к примеру, в [2].
Одним из важнейших аспектов ИНС является выбор функции активации (ФА) [3-5]. Известно, что удачный выбор ФА может значительно улучшить эффективность ИНС. Поэтому поиск оптимальной ФА является актуальной задачей и может стать залогом успешного применения ИНС для конкретной задачи. Традиционно, в качестве активационных функций в ИНС широко используются разновидности сигмоидальных ФА, такие как логистическая сигмоида и гиперболический тангенс, а также ступенчатые ФА [6] и многие другие.
Помимо этого, некоторые ФА представляют собой объединение нескольких простых функций, таких как, например, полиномиальные и периодические функции [3, 7].
Методы выбора оптимальной ФА широко обсуждаются [8], что обосновывает актуальность работы. Согласно литературе, даже выбор оптимального семейства ФА для конкретной задачи представляется сложным и неоднозначным. Поэтому, как правило, в тестах используются только некоторые популярные ФА. При этом функция, которая привела к наименьшей ошибке, считается в дальнейшем оптимальной. Однако ясно, что функция, выбранная таким образом, является оптимальной лишь в небольшой группе активационных функций.
Таким образом, несмотря на большое количество исследований, эффективный аналитический алгоритм поиска оптимальной ФА так и не был предложен. Одна из причин этому - факт, что оптимальная ФА для одной задачи и ее базы данных, вообще говоря, не является оптимальной для любой другой задачи. Поэтому оптимальную активационную функцию часто ищут путем многочисленных тестов, т.е. методом перебора.
Итак, мотивацией данного исследования послужило отсутствие точного решения поднятой проблемы. В качестве объекта исследования рассматривается новый аналитический метод поиска оптимальной ФА в рассматриваемом параметрическом семействе ФА. Изучается влияние ФА и ее параметров на эффективность нейронной сети на примере задачи распознавания рукописных цифр (при использовании базы данных MNIST, разработанной в 2010 году). Рассматривается новое семейство ФА для ИНС для задач распознавания образов.
Новизна работа заключается в следующих аспектах:
1) предлагается новое семейство функций ФА для ИНС для задач распознавания образов;
2) предлагается новый аналитический метод поиска оптимальной ФА в рассматриваемом параметрическом семействе ФА;
3) изучается влияние ФА и ее параметров на эффективность нейронной сети на примере задачи распознавания рукописных цифр.
Цель работы - разработка и создание модуля, подбирающего оптимальную ФА нейронной сети из заданного параметрического семейства для задач распознавания образов.
Поставленная цель предполагает выполнение следующих задач:
I. изучение общих сведений по нейронным сетям;
II. разработка метода поиска оптимальной ФА.
Выделенные задачи обуславливают структуру работы. Таким образом, в первой главе широко исследуются ИНС, проводится комплексный анализ вопроса обучения нейронных сетей.
Во второй главе осуществляется разработка и создание программного продукта, позволяющего аналитически найти оптимальную ФА из заданного параметрического семейства ФА, а также исследуется эффективность и корректность предлагаемого алгоритма.
В настоящее время нейронные сети представляют собой практическую технологию, которая успешно применяется во многих областях, таких как прогнозирование, принятие решений, задачи оптимизации, анализ данных и т. д. ИНС стали абсолютным лидером по качеству и эффективности работы при решении многих проблем, для которых аналитические алгоритмы практически непригодны. Большинство таких проблем связано с распознаванием образов.
В работе исследуется именно проблема распознавания образов, т.к. только при сосредоточении внимания на конкретной проблеме становится возможным более глубоко рассмотреть многие из ее наиболее важных аспектов. В случае применения ИНС для распознавания образов, возможно детально изучить поведение функций ошибок, алгоритмы оптимизации параметров и алгоритмы предварительной обработки данных, что было подробно описано, к примеру, в [2].
Одним из важнейших аспектов ИНС является выбор функции активации (ФА) [3-5]. Известно, что удачный выбор ФА может значительно улучшить эффективность ИНС. Поэтому поиск оптимальной ФА является актуальной задачей и может стать залогом успешного применения ИНС для конкретной задачи. Традиционно, в качестве активационных функций в ИНС широко используются разновидности сигмоидальных ФА, такие как логистическая сигмоида и гиперболический тангенс, а также ступенчатые ФА [6] и многие другие.
Помимо этого, некоторые ФА представляют собой объединение нескольких простых функций, таких как, например, полиномиальные и периодические функции [3, 7].
Методы выбора оптимальной ФА широко обсуждаются [8], что обосновывает актуальность работы. Согласно литературе, даже выбор оптимального семейства ФА для конкретной задачи представляется сложным и неоднозначным. Поэтому, как правило, в тестах используются только некоторые популярные ФА. При этом функция, которая привела к наименьшей ошибке, считается в дальнейшем оптимальной. Однако ясно, что функция, выбранная таким образом, является оптимальной лишь в небольшой группе активационных функций.
Таким образом, несмотря на большое количество исследований, эффективный аналитический алгоритм поиска оптимальной ФА так и не был предложен. Одна из причин этому - факт, что оптимальная ФА для одной задачи и ее базы данных, вообще говоря, не является оптимальной для любой другой задачи. Поэтому оптимальную активационную функцию часто ищут путем многочисленных тестов, т.е. методом перебора.
Итак, мотивацией данного исследования послужило отсутствие точного решения поднятой проблемы. В качестве объекта исследования рассматривается новый аналитический метод поиска оптимальной ФА в рассматриваемом параметрическом семействе ФА. Изучается влияние ФА и ее параметров на эффективность нейронной сети на примере задачи распознавания рукописных цифр (при использовании базы данных MNIST, разработанной в 2010 году). Рассматривается новое семейство ФА для ИНС для задач распознавания образов.
Новизна работа заключается в следующих аспектах:
1) предлагается новое семейство функций ФА для ИНС для задач распознавания образов;
2) предлагается новый аналитический метод поиска оптимальной ФА в рассматриваемом параметрическом семействе ФА;
3) изучается влияние ФА и ее параметров на эффективность нейронной сети на примере задачи распознавания рукописных цифр.
Цель работы - разработка и создание модуля, подбирающего оптимальную ФА нейронной сети из заданного параметрического семейства для задач распознавания образов.
Поставленная цель предполагает выполнение следующих задач:
I. изучение общих сведений по нейронным сетям;
II. разработка метода поиска оптимальной ФА.
Выделенные задачи обуславливают структуру работы. Таким образом, в первой главе широко исследуются ИНС, проводится комплексный анализ вопроса обучения нейронных сетей.
Во второй главе осуществляется разработка и создание программного продукта, позволяющего аналитически найти оптимальную ФА из заданного параметрического семейства ФА, а также исследуется эффективность и корректность предлагаемого алгоритма.
В работе изучены общие сведения по нейронным сетям, а также подробно рассмотрена проблема распознавания образов на примере задачи распознавания рукописных цифр базы данных MNIST. Исследован вопрос обучения нейронных сетей.
Изучено влияние параметров сети, таких как число скрытых слоев и количество нейронов в них, количество эпох обучения, размер мини-пакета и величина коэффициента обучения, на ее эффективность. Был проведен анализ влияния ФА и ее параметров на эффективность нейронной сети и предложено новое параметрическое семейство активационных функций, оказавшееся довольно эффективным и показавшее результаты практически такие же, что и сигмоида. Разработан и теоретически обоснован новый аналитический метод поиска оптимальной ФА в рассматриваемом параметрическом семействе, а также создан программный комплекс, реализующий его.
Была исследована эффективность разработанного метода поиска оптимальной ФА. Была доказана корректность работы алгоритма и выявлены оптимальные значения параметра у для семейств активационных функций: у= 1 для О!(х,у) и у= 1 для О 2( Х,у).
Кроме этого, был описан процесс разработки программного комплекса, производившийся по каскадной модели. В рамках него был проведен анализ требований к программному комплексу, на основе которого были разработаны спецификации модулей. Реализация модулей производилась на языке программирования Python с учетом этих спецификаций.
Будущие исследования предполагают обобщение метода для активационных функций, имеющих более одного параметра, а также для более широкого круга задач.
Изучено влияние параметров сети, таких как число скрытых слоев и количество нейронов в них, количество эпох обучения, размер мини-пакета и величина коэффициента обучения, на ее эффективность. Был проведен анализ влияния ФА и ее параметров на эффективность нейронной сети и предложено новое параметрическое семейство активационных функций, оказавшееся довольно эффективным и показавшее результаты практически такие же, что и сигмоида. Разработан и теоретически обоснован новый аналитический метод поиска оптимальной ФА в рассматриваемом параметрическом семействе, а также создан программный комплекс, реализующий его.
Была исследована эффективность разработанного метода поиска оптимальной ФА. Была доказана корректность работы алгоритма и выявлены оптимальные значения параметра у для семейств активационных функций: у= 1 для О!(х,у) и у= 1 для О 2( Х,у).
Кроме этого, был описан процесс разработки программного комплекса, производившийся по каскадной модели. В рамках него был проведен анализ требований к программному комплексу, на основе которого были разработаны спецификации модулей. Реализация модулей производилась на языке программирования Python с учетом этих спецификаций.
Будущие исследования предполагают обобщение метода для активационных функций, имеющих более одного параметра, а также для более широкого круга задач.



