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

В глубоком обучении, особенно в обнаружении объектов, может легко произойти переобучение. Переоснащение означает, что модель очень сложна, так что она очень хорошо подходит для набора поездов, но не работает на тестовом наборе. Отказ означает, что иногда он обнаруживает даже шумы на тестовом изображении.

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

В Pytorch мы можем добавить слой Dropout просто:

from torch import nn
dropout = nn.Dropout(p=0.2)

Но что происходит под капотом?

Схема регуляризации отсева

Техника Dropout создает суб-нейронную сеть из исходной, выбирая некоторые нейроны в скрытых слоях. Выборка представляет собой повторную выборку узлов в нейронной сети (только узлы в скрытых слоях) и определение некоторых масок.

Выпадение не предназначено для узлов смещения! Dropout — это метод регуляризации, и его идея состоит в том, чтобы уменьшить переоснащение, вызванное весами. Следовательно, регуляризация не предназначена для узлов смещения, потому что они не получают никаких входных данных. Следовательно, их отбрасывание не помогает улучшить прогнозы.

Пример игрушки

Рассмотрите следующую полносвязную сеть, в которой функцией активации является ReLU. (Чтобы увидеть, как сеть связана с матрицами, посмотрите приведенный выше GIF.)

В этом примере цель состоит в том, чтобы спрогнозировать x = (1 , 1) с помощью следующих масок исключения.

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

Первый скрытый слой:

где g⁽¹⁾ — функция активации ReLU, тогда

Примечание. Первый выпадающий слой, μ⁰, один для всех узлов. Поэтому на результат это никак не влияет.

Второй скрытый слой:

где g⁽²⁾ — функция активации ReLU, тогда

Третий скрытый слой:

где g⁽³⁾ — функция активации ReLU, тогда

Выходной слой:

Упражнение:

Вычислите прогноз, если маски отсева:

Окончательный ответ:

Краткое содержание

Эта история поможет вам понять технику отсева. Я планирую добавить больше таких игрушечных примеров в машинное обучение и глубокое обучение. Поэтому следите за обновлениями, если хотите читать дальше 😊.