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

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

Концептуально ансамблевое обучение объединяет несколько моделей в одну метамодель, чтобы минимизировать ошибку обобщения. Есть много способов эффективного построения ансамблевых моделей.

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

Выбывать

Затем, примерно в 2012 году, возникла идея Dropout. Эта концепция произвела революцию в глубоком обучении. Большая часть успеха, достигнутого с помощью Deep Learning, приписывается Dropout.

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

Регуляризация снижает чрезмерную подгонку, добавляя штраф к функции потерь. Но методы регуляризации L1 и L2 не решили полностью проблему переобучения. Причина - совместная адаптация.

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

L1 и L2 не могут этого предотвратить. Результат - увеличение размера нейросети не поможет. И это ограничивает нашу нейронную сеть!

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

Для промежуточных уровней выбор (1-p) = 0,5 для больших сетей идеален. Для входного слоя (1-p) должно быть около 0,2 или ниже. Это связано с тем, что удаление входных данных может отрицательно сказаться на обучении. Чтобы понять, почему 0,5 - это хорошо, вам нужно изучить математику.

В Dropout мы отбрасываем соединение с вероятностью (1-p). Выражаясь математически, у нас есть веса связности, умноженные на случайную величину, где ~ Бернулли (p). Мы можем заменить ворота Бернулли на другие ворота. Например, гауссовы ворота. И это дает нам отсев по Гауссу.

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

Вес сети будет больше обычного из-за выпадения. Следовательно, перед завершением сети, веса сначала масштабируются в соответствии с выбранной частотой отсева. Затем сеть можно использовать как обычно, чтобы делать прогнозы.

Заключение

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

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

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

Это также решает проблему ансамбля, у нас есть ансамбль из разных нейронных сетей, и все они созданы из одной единой сети / архитектуры, удаляя из нее некоторые узлы.

Источники:

  1. Https://machinelearningmaster.com/dropout-for-regularizing-deep-neural-networks/
  2. Https://towardsdatascience.com/simplified-math-behind-dropout-in-deep-learning-6d50f3f47275
  3. Https://medium.com/@amarbudhiraja/https-medium-com-amarbudhiraja-learning-less-to-learn-better-dropout-in-deep-machine-learning-74334da4bfc5
  4. Https://prvnk10.medium.com/ensemble-methods-and-the-dropout-technique-95f36e4ae9be