Разработка программного обеспечения для сравнения алгоритмов обучения сверточных нейронных сетей
|
Аннотация 2
Введение 5
1 Анализ проблемы 7
1.1 Описание нейронных сетей 7
1.2 Архитектура сверточных нейронных сетей 11
1.3 Особенности используемых алгоритмов для обучения сверточных нейронных сетей 15
2 Математический алгоритм 20
2.1 Алгоритм обратного распространения ошибки 20
2.2 Методы оптимизации нейронных сетей 28
2.3 Выбор критериев для сравнения алгоритмов обучения 37
3 Программная реализация 42
3.1 Формирование набора данных 42
3.2 Описание используемых библиотек 44
3.3 Описание структуры используемой нейронной сети и ее процесса ее обучения 46
3.4 Реализация проектного решения с выбранными алгоритмами обучения 50
3.5 Проведение эксперимента и описание результатов тестирования 53
3.6 Оценка эффективности различных алгоритмов 57
Заключение 60
Список используемых источников 61
Приложение А Режим доступа к разработанному программному обеспечению 64
Введение 5
1 Анализ проблемы 7
1.1 Описание нейронных сетей 7
1.2 Архитектура сверточных нейронных сетей 11
1.3 Особенности используемых алгоритмов для обучения сверточных нейронных сетей 15
2 Математический алгоритм 20
2.1 Алгоритм обратного распространения ошибки 20
2.2 Методы оптимизации нейронных сетей 28
2.3 Выбор критериев для сравнения алгоритмов обучения 37
3 Программная реализация 42
3.1 Формирование набора данных 42
3.2 Описание используемых библиотек 44
3.3 Описание структуры используемой нейронной сети и ее процесса ее обучения 46
3.4 Реализация проектного решения с выбранными алгоритмами обучения 50
3.5 Проведение эксперимента и описание результатов тестирования 53
3.6 Оценка эффективности различных алгоритмов 57
Заключение 60
Список используемых источников 61
Приложение А Режим доступа к разработанному программному обеспечению 64
Серьезный толчок в развитии новых технологий анализа данных произошел благодаря тому, что практически во всех сферах жизни довольно значительным стало применение информационных технологий. Стандартные методы прогнозирования, основанные на математических моделях уже не в полной мере удовлетворяют специалистов при создании адаптивных структур, отражающих процессы, протекающие в реальных открытых системах.
В таких условиях получила сильное развитие теория, основанная на принципах работы человеческого мозга с использованием технологий работы нейрона. Искусственная нейронная сеть получает точные знания на базе уже прошедших процессов и продуцирует новые знания с использованием уже имеющихся. Положительные результаты применения искусственных нейронных сетей в экономике и исследовании социальных процессов способствовали созданию новых, более сложных конструкций, называемых сверточными нейронными сетями.
Анализ сигнала в такой сети происходит в несколько уровней: поступающий на вход нейрона импульс преобразуется до выхода в нескольких скрытых слоях. Оказалось, что такая сложная система более эффективно решает поставленные задачи.
При этом в процессе «работы» такой сети на последнем этапе, при формировании выходного сигнала могут быть использованы различные оптимизационные методы, от которых зависит близость выходного сигнала к реальному результату.
Таким образом, возникает вопрос о необходимости сравнения используемых методов, для выбора наиболее эффективного.
Исследованию данный проблемы посвящено множество работ, которые можно разделить по нескольким направлениям. Наиболее популярным является направление, связанное с применением сверточных нейронных сетей для классификации изображений. Это направление представлено, например, работами А.А. Воеводы, Д.О. Романникова [1], Е.А. Гузия, В.В. Федоренко [8], Ле Мань Ха [11], Hou B., Luo X., Wang SS., Jiao L., Zhang X. [21].
Целью данной работы является разработка программного обеспечения для сравнения эффективности различных алгоритмов обучения сверточных нейронных сетей.
Таким образом, достичь поставленной в данной работе цели позволит решение следующих задач:
• анализ проблемы, включающий изучение принципов построения сверточных нейронных сетей и особенностей используемых алгоритмов;
• описание сравниваемых алгоритмов обучения;
• выбор критериев для сравнения алгоритмов обучения сверточных нейронных сетей;
• разработка проекта и реализация системы для сравнения алгоритмов обучения;
• проведение эксперимента и описание результатов тестирования;
• оценка эффективности различных алгоритмов.
Структура работы представлена тремя главами. В первой главе рассматриваются сверточные нейронные сети и принципы их построения, а также отмечаются особенности используемых методов обучения нейронных сетей.
Вторая глава посвящена рассматриваемым алгоритмам обучения, в том числе алгоритму обратного распространения ошибки, исследуются метод Адамса и его модификации, проводится выбор критериев для сравнения алгоритмов обучения.
Третья глава отражает формирование необходимого набора данных, описание используемых библиотек для проработки методов обучения. Реализация проектного решения с выбранными алгоритмами обучения также отмечена в третьей главе, в которой освещены проведение эксперимента и описание результатов тестирования. Результатом третьей главы становится оценка эффективности различных алгоритмов.
В таких условиях получила сильное развитие теория, основанная на принципах работы человеческого мозга с использованием технологий работы нейрона. Искусственная нейронная сеть получает точные знания на базе уже прошедших процессов и продуцирует новые знания с использованием уже имеющихся. Положительные результаты применения искусственных нейронных сетей в экономике и исследовании социальных процессов способствовали созданию новых, более сложных конструкций, называемых сверточными нейронными сетями.
Анализ сигнала в такой сети происходит в несколько уровней: поступающий на вход нейрона импульс преобразуется до выхода в нескольких скрытых слоях. Оказалось, что такая сложная система более эффективно решает поставленные задачи.
При этом в процессе «работы» такой сети на последнем этапе, при формировании выходного сигнала могут быть использованы различные оптимизационные методы, от которых зависит близость выходного сигнала к реальному результату.
Таким образом, возникает вопрос о необходимости сравнения используемых методов, для выбора наиболее эффективного.
Исследованию данный проблемы посвящено множество работ, которые можно разделить по нескольким направлениям. Наиболее популярным является направление, связанное с применением сверточных нейронных сетей для классификации изображений. Это направление представлено, например, работами А.А. Воеводы, Д.О. Романникова [1], Е.А. Гузия, В.В. Федоренко [8], Ле Мань Ха [11], Hou B., Luo X., Wang SS., Jiao L., Zhang X. [21].
Целью данной работы является разработка программного обеспечения для сравнения эффективности различных алгоритмов обучения сверточных нейронных сетей.
Таким образом, достичь поставленной в данной работе цели позволит решение следующих задач:
• анализ проблемы, включающий изучение принципов построения сверточных нейронных сетей и особенностей используемых алгоритмов;
• описание сравниваемых алгоритмов обучения;
• выбор критериев для сравнения алгоритмов обучения сверточных нейронных сетей;
• разработка проекта и реализация системы для сравнения алгоритмов обучения;
• проведение эксперимента и описание результатов тестирования;
• оценка эффективности различных алгоритмов.
Структура работы представлена тремя главами. В первой главе рассматриваются сверточные нейронные сети и принципы их построения, а также отмечаются особенности используемых методов обучения нейронных сетей.
Вторая глава посвящена рассматриваемым алгоритмам обучения, в том числе алгоритму обратного распространения ошибки, исследуются метод Адамса и его модификации, проводится выбор критериев для сравнения алгоритмов обучения.
Третья глава отражает формирование необходимого набора данных, описание используемых библиотек для проработки методов обучения. Реализация проектного решения с выбранными алгоритмами обучения также отмечена в третьей главе, в которой освещены проведение эксперимента и описание результатов тестирования. Результатом третьей главы становится оценка эффективности различных алгоритмов.
В ходе работы, целью которой является разработка программного обеспечения для сравнения эффективности различных алгоритмов обучения сверточных нейронных сетей, были решены все поставленные задачи исследования.
1. Проведен анализ проблемы, включающий изучение принципов построения сверточных нейронных сетей и особенностей используемых алгоритмов. Описаны сверточные нейронные сети и отражены особенности используемых алгоритмов для их обучения. Рассмотрены глубокие нейронные сети их архитектура и методы обучения.
2. Приведены алгоритмы обучения, которые выбраны для проведения сравнения. Основными используемыми методами являются SGD RMSProp, Adagrad, Adadelta, Adam, Adamax, Nadam.
3. Осуществлен выбор критериев для сравнения алгоритмов обучения сверточных нейронных сетей.
4. Разработан проект и реализована система для сравнения алгоритмов обучения с использованием языка программирования Python и современных инструментов TensorFlow и библиотеки Keras, позволяющей проводить обучение сверточных нейронных сетей с применением разных оптимизационных алгоритмов.
5. Проведен эксперимент и описаны его результаты, полученные в ходе тестирования разработанного приложения, оценена эффективность различных алгоритмов обучения.
Полученные результаты свидетельствуют о высокой точности распознавания для данного набора данных. Полученные различия между алгоритмами могут считаться значительными только условно, скорее всего оптимального метода для всех наборов данных не существует, поэтому если по результатам обучения нейронной сети получена ошибка, серьёзным образом влияющая на принятие некоторого решения необходимо использовать несколько методов.
1. Проведен анализ проблемы, включающий изучение принципов построения сверточных нейронных сетей и особенностей используемых алгоритмов. Описаны сверточные нейронные сети и отражены особенности используемых алгоритмов для их обучения. Рассмотрены глубокие нейронные сети их архитектура и методы обучения.
2. Приведены алгоритмы обучения, которые выбраны для проведения сравнения. Основными используемыми методами являются SGD RMSProp, Adagrad, Adadelta, Adam, Adamax, Nadam.
3. Осуществлен выбор критериев для сравнения алгоритмов обучения сверточных нейронных сетей.
4. Разработан проект и реализована система для сравнения алгоритмов обучения с использованием языка программирования Python и современных инструментов TensorFlow и библиотеки Keras, позволяющей проводить обучение сверточных нейронных сетей с применением разных оптимизационных алгоритмов.
5. Проведен эксперимент и описаны его результаты, полученные в ходе тестирования разработанного приложения, оценена эффективность различных алгоритмов обучения.
Полученные результаты свидетельствуют о высокой точности распознавания для данного набора данных. Полученные различия между алгоритмами могут считаться значительными только условно, скорее всего оптимального метода для всех наборов данных не существует, поэтому если по результатам обучения нейронной сети получена ошибка, серьёзным образом влияющая на принятие некоторого решения необходимо использовать несколько методов.
Подобные работы
- Информационная технология распознавания жестов для человеко-машинного
взаимодействия на базе сверточных нейронных сетей
Дипломные работы, ВКР, информационные системы. Язык работы: Русский. Цена: 4900 р. Год сдачи: 2019 - Применение сверточных нейронных сетей для локализации объектов на изображении
Магистерская диссертация, информатика. Язык работы: Русский. Цена: 4910 р. Год сдачи: 2020 - «Разработка ПО для определения пола человека по изображению»
Бакалаврская работа, математика и информатика. Язык работы: Русский. Цена: 4850 р. Год сдачи: 2023 - РАЗРАБОТКА УМНОГО БУДИЛЬНИКА НА ОСНОВЕ НЕЙРОННЫХ СЕТЕЙ ДЛЯ МОБИЛЬНОЙ ПЛАТФОРМЫ ANDROID
Дипломные работы, ВКР, информатика. Язык работы: Русский. Цена: 4330 р. Год сдачи: 2018 - Разработка алгоритма распознавания эмоций на изображении
Бакалаврская работа, информатика. Язык работы: Русский. Цена: 4235 р. Год сдачи: 2022 - Разработка алгоритма восстановления расфокусированных и смазанных изображений
Бакалаврская работа, информатика. Язык работы: Русский. Цена: 4200 р. Год сдачи: 2020 - Разработка нейронной сети для решения задачи идентификации биометрических признаков человека
Бакалаврская работа, информатика. Язык работы: Русский. Цена: 4300 р. Год сдачи: 2019 - Методы и алгоритмы анализа изображений при помощи нейронных сетей
Магистерская диссертация, прикладная информатика. Язык работы: Русский. Цена: 4650 р. Год сдачи: 2023 - КЛАССИФИКАЦИЯ РЕНТГЕНОВСКИХ ИЗОБРАЖЕНИЙ ОРГАНОВ
ГРУДНОЙ ПОЛОСТИ С ПОМОЩЬЮ ГЛУБОКИХ НЕЙРОННЫХ СЕТЕЙ
Магистерская диссертация, информатика. Язык работы: Русский. Цена: 5650 р. Год сдачи: 2017





