- •Задание на выпускную квалификационную работу
- •Календарный план выполнения выпускной квалификационной работы
- •Реферат
- •Содержание
- •Введение
- •1 Метрологическая надежность нейросетей
- •1.1 Определение надежности в информационно-измерительной технике
- •1.2 Метрологическая надежность при распознавании видеоизображений нейронной сетью
- •1.3 Определение нейронной сети
- •1.4 Нейронные сети, использующиеся для распознавания объектов на видеоизображениях
- •1.5 Сверточные нейронные сети
- •1.5.1 Сверточный слой
- •1.5.2 Субдискретизирующий слой
- •1.5.3 Функция потери
- •1.5.4 Функция активации
- •1.5.5 Отсев
- •1.5.6 Батч-нормализация
- •1.5.7 Регуляризация
- •1.6 Существующие программные программы на основе сверточных нейросетей
- •1.6.1 Приложение ai Scry
- •1.6.2 Система Im2Calories
- •1.6.3 Система FindFace
- •2 Выбор критериев надежности для тестирования нейроных сетей
- •2.1 Критерии надежности при распознавании видеоизображений нейросетью
- •2.2 Выбор математической модели нейросетей
- •2.2.1 Нейросеть AlexNet
- •2.2.2 Нейросеть SqueezeNet
- •2.2.3 Сравнение нейросетей AlexNet и SqueezeNet
- •2.3 Алгоритм сравнения критериев надежности при распознавании видеоизображений нейросетью
- •2.4 Виды шумов на изображениях
- •2.4.1 Импульсный шум
- •2.4.2 Мультипликативный шум
- •2.4.3 Гауссов шум
- •2.4.4 Шум квантования
- •2.4.5 Применение рассмотренных ранее шумов
- •3 Тестирование на видеоизображении выбранных критериев надежности
- •3.1 Выбор видеоизображения для тестирования на критерии надежности
- •3.1 Эффективность распознавания изображений без шума
- •3.2 Эффективность распознавания при наличии импульсного шума
- •3.3 Эффективность распознавания изображений при наличии мультипликативного шума
- •3.3 Эффективность распознавания при наличии Гауссова шума
- •3.3 Эффективность распознавания при наличии шума квантования
- •3.4 Вывод, по результатам тестирований
- •4 Проблемы безопасности программного средства
- •4.1 Назначение разработки
- •4.2 Оценка риска и опасностей, связанных с разработкой
- •4.3 Основные ограничения факторов
- •4.4 Эргономические вопросы проектирования
- •Заключение
- •Список использованных источников
- •Приложение а
- •Приложение б
- •Приложение в
- •Приложение г
1.5.5 Отсев
Переобучение (overfitting) нейронной сети - это процесс, когда нейронная сеть в процессе обучения начинает "запоминать" обучающие данные вместо того, чтобы обобщать их для применения на новых данных. Другими словами, сеть становится слишком "приспособленной" к обучающему набору данных и не способна адекватно обрабатывать новые данные, которые она не видела в процессе обучения. Одной из причин переобучения может быть слишком большая сложность сети или недостаточный объем данных для обучения. Для предотвращения переобучения можно использовать такие методы, как отсе, регуляризация, уменьшение числа параметров, аугментация данных и т.д.
Отсев (Dropout) - это техника регуляризации, которая позволяет предотвратить переобучение сверточной нейронной сети. Суть отсева заключается в том, что на каждой итерации обучения часть нейронов сети (обычно около 50%) случайным образом игнорируется и не участвует в расчетах.
Отсев, примененный к слою, состоит из случайного удаления (установки на ноль) ряда выходных элементов слоя во время обучения
Рисунок 1.16 –Пример применения отсева к вектору
После применения отсева, этот вектор будет иметь несколько нулевых записей, распределенных случайным образом. Коэффициент отсева – это доля обнуленных объектов; обычно оно составляет от 0,2 до 0,5. Во время тестирования ни одно значение не обнуляется, а вместо этого выходные значения слоя уменьшаются с коэффициентом, равным коэффициенту отсева, чтобы сбалансировать ответ, так как некоторые тестовые данные могут использоваться при обучении.
Основная идея заключается в том, что введение шума в выходные значения слоя может нарушить несущественные закономерности возникновения событий, которые сеть начнет запоминать, если шум отсутствует.
1.5.6 Батч-нормализация
При подачи разных признаков во время обучения, система замедляется, так как адаптирование происходит долго [23]. Такая проблема возникает на внутренних слоях из-за процессов обучения в которых параметры сети меняются.
Батч-нормализация (Batch Normalization) - это метод нормализации данных, который применяется к выходу слоев нейронных сетей [3]. Батч-нормализация выполняется путем центрирования и нормализации значений каждого батча (набора образцов), то есть каждого ряда данных, которые проходят через слой. Это позволяет устранить проблемы, связанные с небольшими значениями градиентов и "затухающих градиентов".
Батч-нормализация может быть использована для ускорения обучения, улучшения обобщающей способности сети, а также для сглаживания правильных значений и ускорения сходимости.
1.5.7 Регуляризация
Регуляризация сверточных нейронных сетей — это процесс добавления дополнительных ограничений к процессу обучения сети с целью улучшить ее обобщающую способность и предотвратить переобучение.
Одним из примеров такой регуляризации является L2-регуляризация. L2-регуляризация может быть применена к сверточным слоям и/или полносвязным слоям. Это может быть особенно полезно в случае проблемы переобучения, когда модель становится слишком сложной и начинает иметь высокую ошибку на данных, которые она не видела ранее. Добавление L2-регуляризации к функции потерь позволяет модели обучаться с более умеренными весами, что может уменьшить переобучение и повысить обобщающую способность модели.
Также, для регуляризации сверточной нейронной сети можно использовать dropout-слой, который случайным образом отключает определенное количество нейронов в каждом слое во время обучения. Это помогает предотвратить переобучение и улучшает обобщающую способность сети.
