Нейросетевой метод определения типа стекла по содержимым примесям - Студенческий научный форум

XIII Международная студенческая научная конференция Студенческий научный форум - 2021

Нейросетевой метод определения типа стекла по содержимым примесям

Бугаева Г.М. 1, Репинский В.Н. 1
1МТУСИ
 Комментарии
Текст работы размещён без изображений и формул.
Полная версия работы доступна во вкладке "Файлы работы" в формате PDF
Введение

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

Задачи классификации подразумевают отнесение произвольного объекта исходного множества к тому или иному классу [1].

Наиболее перспективной архитектурой является многослойный персептрон с методом обучения типа back-propagation (или его модификациями), в котором выходные значения сравниваются с правильным ответом для вычисления значения некоторой предопределенной функции ошибки. Используя информацию об ошибке, переданной обратно по соединениям сети, алгоритм корректирует вес каждого. [2]

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

Подготовка набора данных для обучения и тестирования сети

Рассматриваемый набор содержит 1500 данных для определения типа стекла по определенным параметрам.

Таблица 1. Параметры для определения типа стекла.

RI

Na

Mg

Al

Si

K

Ca

Ba

Fe

Type

Данные параметры позволяют определить принадлежность конкретного случая к одному из классов. Набор был поделен на обучающую и тестовую выборку в соотношении 30 на 70.

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

Моделирование

Обучение происходит на многослойной нейронной сети с обратным распространением ошибки и двумя скрытыми слоями.

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

Для обучения нейронной сети выставлены такие параметры как функция потерь (Loss), точность (Accuracy).

Точность (accuracy) используется для определения доли правильно классифицированных изображений.

Функция потерь (loss) характеризует потери при неправильном принятии решений на основе наблюдаемых данных, измеряет точность во время обучения модели, значение которой необходимо минимизировать.

Значения количества эпох и скорости обучения:

epochs = 100

learning_rate = 0.05

Таким образом, имеем входной слой, состоящий из 10 нейронов, первый скрытый слой, состоящий из того же количества нейронов, что и во входном, второй скрытый слой, состоящий из 3 нейрона, выходной слой, состоящий из трёх нейронов (количество классов в нашей задаче).

Обучение и исследование результатов

Проверим работоспособность нейронной сети на разных архитектурах. Для этого подберем

Первый и последний (выходной) слои одинаковы для каждой из 3-х архитектур. Первый слой содержит 10 входных нейронов. Выходной слой содержит 3 нейрона.

Обучение нейронных сетей состоит в настройке весов с помощью метода прямого распространения (нахождение значения гипотезы каждого нейрона) и метода обратного распространения ошибки (распространение сигналов ошибки от выходов сети к её входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы. [4]

Задачей алгоритма является подобрать такие параметры

Просмотров работы: 0