Назад в библиотеку

Моделирование и проектирование нейронной сети по распознаванию цветных прямоугольников

Автор:Чернобай Д.С., Гудаев О.А
Источник:Информатика, управляющие системы, математическое и компьютерное моделирование (ИУСМКМ - 2023) - 2023 / Сборник материалов XIV международной научно-технической конференции. — Донецк, ДонНТУ — 2023, Том 1, с. 97-101.

Аннотация

Чернобай Д.С., Гудаев О.А. Рассматривается проектирование нейросетевого приложения на базе сверточной нейронной сети. Будет представлена подробная концептуальная модель нейросетевого приложения, так же будут представлено поведение программы с помощью диаграмм в нотации UML и спроектирована модель архитектуры сверточной нейронной сети

Введение

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

Свёрточные нейронные сети завоевали популярность в компьютерном зрении из-за их экстраординарно хорошего качества работы на задачах классификации изображений. На сегодняшний день они являются одной из самых популярных архитектур в глубоком обучении [4, 5].

Свёрточная нейронная сеть – это нейронная сеть, в которой вместо общей операции умножения на матрицу, по крайней мере в одном слое, используется свёртка [1]. Свёртка – это операция над двумя функциями вещественного аргумента.

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

Концептуальное проектирование

Разработка сверточной нейронной сети (НС) начинается с изучения предметной области. В данном случае нужно изучить предметную область – распознавание цветных прямоугольников для более корректной реализации программы и спроектировать программу с помощью UML диаграмма

Для построения концептуальной модели НС была выбрана диаграмма Mind Map. На рисунке 1 представлена ментальная карта НС по распознаванию цветных прямоугольников от которой выступают 3 ветви составных частей: «Разработка модели НС», «Обучение НС» и «Разработка моделей нейросетевого распознавания».

Рисунок 1 – Ментальная карта разработки НС

Рисунок 1 – Ментальная карта разработки НС

На рисунке 2 представлено разбиение ветви «Разработка модели НС» на подветви «Входные данные», «Сверточные слои», «Пулинговые слои», «Полносвязный слой» и «Выходные данные». Данная ветвь указывает из каких элементов будет состоять разрабатываемая сверточная нейронная сеть.

Рисунок 2 – Разбиение ветви «Разработка модели НС»

Рисунок 2 – Разбиение ветви «Разработка модели НС»

На рисунке 3 представлено разбиение ветви «Обучение НС» на такие подветки как «Подготовка данных», «Обучение» и «Тестирование»

Рисунок 3 – Разбиение ветви «Обучение НС»

Рисунок 3 – Разбиение ветви «Обучение НС»

На рисунке 4 представлено разбиение подветви «Подготовка данных» на такие компоненты как «Единое расширение», «Единый размер» и «Применение фильтров».

Рисунок 4 – Разбиение подветви «Подготовка данных»

Рисунок 4 – Разбиение подветви «Подготовка данных»

На рисунке 5 представлено разбиение ветви «Разработка моделей нейросетевого распознавания» на такие компоненты как «Модель обучения» и «Модель тестирования».

Рисунок 5 – Разбиение ветви «Разработка моделей нейросетевого распознавания»

Рисунок 5 – Разбиение ветви «Разработка моделей нейросетевого распознавания»

Проектирование в диаграммах нотации UML

Далее нужно определить, какой функционал будет доступен. Это можно изобразить с помощью UML диаграммы вариантов использования, которая представлена на рисунке 6.

Из данной диаграммы можно наблюдать, что доступны возможности обучения, тестирования и просмотра результатов НС.

Просмотр результатов подразумевает под собой результатов следующего вида: просмотр результатов обучения и просмотр обучения тестирования

Рисунок 6 – UML диаграмма вариантов использования

Рисунок 6 – UML диаграмма вариантов использования

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

Диаграммы компонентов изображенная на рисунке 7 показывает, как выглядит модель системы на физическом уровне. На диаграмме изображены компоненты программного обеспечения и связи между ними.

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

Рисунок 7 – UML диаграмма компонентов

Рисунок 7 – UML диаграмма компонентов

Модель архитектуры нейронной сети

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

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

Рисунок 8 – Модель свёрточной нейронной сети

Рисунок 8 – Модель свёрточной нейронной сети

После происходит процесс создания карт свертки и пулинга в количестве 64 штук, это является 1 уровнем. На уровнях 2 и 3 происходит точно такие же операции, только карты находятся в количестве 192 и 384 соответственно. После последней стадии пулинга данные преобразовываются в вектор для полносвязного слоя и рассчитывается на основе данного вектора выходные данные – присутствует ли необходимый цветной прямоугольник или нет.

Выводы

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

Список использованной литературы

  1. Гудфеллоу, Я. Глубокое обучение / Я. Гудфеллоу, А. Курвилль. – пер. с англ. А.А. Слинкина. 2-ое изд., искр. – М.: ДМК Пресс, 2018. – 652 с.
  2. Воронова, Л.И. Machine Learning: регрессионные методы интеллектуального анализа данных: Учебное пособие / Л.И. Воронова, В.И. Воронов. – МТУСИ. – М., 2018. – 83 с.
  3. Justin L. Developing a Real-Tim Gun Detection Classifier. / L. Justin, M. Sydney, [Электронный ресурс], – Режим доступа: https://cs231n.stanford.edu/reports/2017/pdfs/716.pdf
  4. Рашка С. «Python и машинное обучение» / C. Рашка. – пер. с англ. А.В. Логунова. М.: ДМК Пресс, 2017. – 418 с.
  5. Гнездилов, В. С. Разработка речевого аннотирования положения образов средствами когнитивных функций облачных сервисов / В. С. Гнездилов, О. А. Гудаев // Материалы XII Международной научно-технической конференции ИУСМКМ-2021. – Донецк: ДОННТУ, 2021. – С. 450-452.