Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
itog_diplom_3-1.docx
Скачиваний:
1
Добавлен:
27.09.2025
Размер:
10.69 Mб
Скачать

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-слой, который случайным образом отключает определенное количество нейронов в каждом слое во время обучения. Это помогает предотвратить переобучение и улучшает обобщающую способность сети.