Тема: Разработка программного обеспечения для сравнения алгоритмов обучения сверточных нейронных сетей
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
Введение 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. Проведен анализ проблемы, включающий изучение принципов построения сверточных нейронных сетей и особенностей используемых алгоритмов. Описаны сверточные нейронные сети и отражены особенности используемых алгоритмов для их обучения. Рассмотрены глубокие нейронные сети их архитектура и методы обучения.
2. Приведены алгоритмы обучения, которые выбраны для проведения сравнения. Основными используемыми методами являются SGD RMSProp, Adagrad, Adadelta, Adam, Adamax, Nadam.
3. Осуществлен выбор критериев для сравнения алгоритмов обучения сверточных нейронных сетей.
4. Разработан проект и реализована система для сравнения алгоритмов обучения с использованием языка программирования Python и современных инструментов TensorFlow и библиотеки Keras, позволяющей проводить обучение сверточных нейронных сетей с применением разных оптимизационных алгоритмов.
5. Проведен эксперимент и описаны его результаты, полученные в ходе тестирования разработанного приложения, оценена эффективность различных алгоритмов обучения.
Полученные результаты свидетельствуют о высокой точности распознавания для данного набора данных. Полученные различия между алгоритмами могут считаться значительными только условно, скорее всего оптимального метода для всех наборов данных не существует, поэтому если по результатам обучения нейронной сети получена ошибка, серьёзным образом влияющая на принятие некоторого решения необходимо использовать несколько методов.





