Глубокое погружение в методы исключения DNN, CNN и RNN для регуляризации, неопределенности Монте-Карло и сжатия модели

Мотивации

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

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

В зависимости от того, какой это DNN, CNN или RNN, могут применяться разные методы исключения. На практике мы используем только один (или почти). Я считаю, что это ужасная ловушка. Итак, в этой статье мы погрузимся математически и визуально в мир бросивших школу, чтобы понять:

  • стандартный метод отсева
  • варианты Standard Dropout
  • методы отсева, применяемые к CNN
  • методы отсева, применяемые к RNN
  • другие приложения отсева (Монте-Карло и сжатие)

(Извините, я не смог остановиться, так что это чуть больше 12 методов… 😄)

Обозначения

Стандартный отсев

Наиболее хорошо известным и используемым методом исключения является стандартный метод исключения [1], представленный в 2012 году Хинтоном и др. > по понятным причинам в этой статье мы будем называть это Standard Dropout.

Чтобы предотвратить переобучение на этапе обучения, нейроны опускаются случайным образом. Введенный в плотную (или полностью связанную) сеть, для каждого слоя мы даем вероятность p выпадения. На каждой итерации каждый нейрон с вероятностью p будет пропущен. Хинтон и др. В документе рекомендуется вероятность выпадения p=0.2 на входном слое и вероятность p=0.5 на скрытых слоях. Очевидно, нас интересует выходной слой, который является нашим предсказанием. Поэтому мы не применяем отсев на выходном слое.

Математически мы говорим, что вероятность пропуска для каждого нейрона следует распределению Бернулли вероятности p. Таким образом, мы производим поэлементное умножение вектора нейрона (слоя) на маску, в которой каждый элемент является случайной величиной, соответствующей распределению Бернулли.

На этапе тестирования (или вывода) выпадений нет. Все нейроны активны. Чтобы компенсировать дополнительную информацию по сравнению с этапом обучения, мы взвешиваем по вероятности присутствия. Таким образом, вероятность того, что нейрон не будет пропущена. Это 1-p.

DropConnect

Возможно, вы уже знакомы со стандартным методом исключения. Но есть много вариаций. Чтобы упорядочить прямой проход плотной сети, вы можете применить выпадение к нейронам. DropConnect [2], представленный L. Wan et al. не применяет отсев непосредственно к нейронам, но к весам и смещению, связывающим эти нейроны.

Таким образом, мы находим тот же механизм, что и в методе Standard Dropout. За исключением того, что маска (элементы которой представляют собой случайные величины, следующие за распределением) не применяется к вектору нейрона , а к матрице веса, соединяющие слой с предыдущим.

Для фазы тестирования можно использовать ту же логику, что и для метода Standard Dropout. Мы можем умножить на вероятность присутствия. Но это не метод, предложенный L. Wan et al. Это интересно, потому что они предлагают стохастический подход к отсеву даже на этапе тестирования путем применения гауссовского приближения DropConnect. Затем путем случайного рисования образцов из этого гауссовского представления. Мы вернемся к гауссовским приближениям сразу после выдачи.

Выделяться

В качестве стандартного метода отсева, Выдающийся [3], предложенный Л. Дж. Ба и Б. Фреем, основан на маске Бернулли (я буду называть эти маски в соответствии с распределением, в котором они следуйте, будет проще). Разница в том, что вероятность p пропуска нейрона не постоянна на слое. Оно адаптивно в зависимости от значения весов.

Это может работать для любой g функции активации или даже быть отдельной нейронной сетью. Аналогично для Ws, который может быть функцией W. Затем на этапе тестирования мы балансируем по вероятности присутствия.

Пример

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

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

Отсев по Гауссу

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

Вот лишь несколько примеров. Быстрое выпадение [4], Вариативное выпадение [5] или Конкретное выпадение [6] - это методы, интерпретирующие выпадение из байесовская точка зрения. Конкретно, вместо маски Бернулли у нас есть маска, элементы которой являются случайными переменными, соответствующими распределению Гаусса (Нормальное распределение). Я не буду здесь вдаваться в демонстрацию закона больших чисел, дело не в этом. Итак, давайте попробуем понять это интуитивно.

В статьях [4], [5] и [6] показано, что мы можем смоделировать маску Бернулли для наших отсевов с помощью нормального закона. Но какая разница. Все и ничего одновременно. Это ничего не меняет в отношении соответствия этих методов переобучению из-за совместной адаптации и / или предсказательной способности наших нейронов. Но это меняет все с точки зрения времени выполнения, необходимого для фазы обучения по сравнению с методами, представленными ранее.

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

Математически это умножение с гауссовой маской (например, с центром в 1 со стандартным отклонением закона Бернулли p(1-p)). Это имитирует выпадение путем случайного взвешивания их предсказательной способности, сохраняя все нейроны активными на каждой итерации. Еще одно практическое преимущество этого метода заключается в 1: на этапе тестирования не требуется вносить никаких изменений по сравнению с моделью без исключения.

Выпадение из пула

«Трудная для понимания» часть статьи окончена. Остается более интуитивно понятным, что дает нам лучшие характеристики.

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

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

Почему бы не воспользоваться преимуществами слоев, которые правильны и часто используются в CNN. Например, Максимальный уровень объединения. Для тех, кто не знает: Max Pooling Layer - это фильтр, переданный на изображение или (карта функций), выбирающий максимальную активацию перекрывающейся области.

Исключение максимального объединения [7] - метод исключения, применяемый к CNN, предложенный Х. Ву и Х. Гу. Он применяет маску Бернулли непосредственно к ядру Max Pooling Layer перед выполнением операции объединения. Интуитивно это позволяет свести к минимуму скопление высоких активаторов. Это очень хороший момент, чтобы ограничить высокую прогностическую способность некоторых нейронов. На этапе тестирования вы можете взвесить, как и предыдущие методы, по вероятности присутствия.

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

Пространственное исключение

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

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

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

Отрезать

Давайте углубимся в наш подход, чтобы преодолеть тот факт, что соседние пиксели сильно коррелированы. Вместо применения масок Бернулли к карте объектов их можно применять в областях. Это метод вырезания [9], предложенный Т. Де Врисом и Дж. У. Тейлором.

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

Опять же в этом разделе нет математики. Этот метод во многом зависит от нашего воображения: квадратные области, прямоугольники, круги, на всех картах объектов, по одной или, возможно, на нескольких… Это на ваше усмотрение. 😃

Макс-падение

Наконец, чтобы завершить этот раздел о CNN, я должен указать, что, очевидно, можно комбинировать несколько методов. Это то, что делает нас сильными, когда мы знаем разные методы: мы можем использовать их преимущества одновременно. Это то, что предлагают С. Парк и Н. Квак в своем методе Max-Drop [10].

Этот подход является своего рода смесью Pooling Dropout и Gaussian Dropout. Исключение выполняется на максимальном уровне объединения, но с использованием байесовского подхода.

В своей статье они показывают, что этот метод дает результаты столь же эффективные, как и при использовании пространственного исключения. В дополнение к тому факту, что на каждой итерации все нейроны остаются активированными, что ограничивает замедление во время фазы обучения.
Эти результаты были получены с µ = 0,02 и σ² = 0,05.

RNNDrop

Что ж, мы видели некоторые методы отсева для DNN и CNN. В ходе исследования также пытались выяснить, какие методы могут быть эффективными для рекуррентных нейронных сетей (RNN). Обычно они полагаются на LSTM, поэтому я возьму этот конкретный случай с RNN. Его можно будет распространить на другие RNN.

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

RNNDrop [11], предложенный T. Moon et al. это самый простой способ. Маска Бернулли применяется только к скрытым состояниям ячеек. Но эта маска остается одинаковой от последовательности к другой. Это называется выборкой отсева для каждой последовательности. Это просто означает, что на каждой итерации мы создаем случайную маску. Затем от одной последовательности к другой эта маска остается неизменной. Таким образом, отброшенные элементы остаются отброшенными, а существующие элементы остаются в наличии. И это на всех последовательностях.

Повторяющееся выпадение

Рекуррентный отсев [12], предложенный С. Семенютой и соавт. это интересный вариант. Состояние ячейки остается нетронутым. Исключение применяется только к части, которая обновляет состояние ячейки. Таким образом, на каждой итерации маска Бернулли заставляет некоторые элементы больше не вносить вклад в долговременную память. Но память не изменена.

Отказ от вариационной РНС

Наконец, простой, но эффективный метод RNN Dropout [13], предложенный Y. Gal и Z. Ghahramani, представляет собой приложение отсева на основе последовательности перед внутренними воротами. Это приводит к отключению различных точек LSTM.

Открой свой разум

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

Отсев из Монте-Карло

Методы исключения также могут служить индикатором неопределенности модели. Позволь мне объяснить. Для одних и тех же входных данных модель, в которой выпадет выпадение, будет иметь другую архитектуру на каждой итерации. Это приводит к расхождению в выходных данных. Если сеть достаточно обобщенная и если совместная адаптация ограничена, то прогноз распределяется по всей модели. Это приводит к более низкой дисперсии на выходе на каждой итерации с одним и тем же входом. Изучение этой дисперсии может дать представление о достоверности, которую можно присвоить модели. Это можно увидеть на примере подхода Я. Гала и З. Гахрамани [14].

Модель сжатия

Наконец, интуитивно, применяя отсевы случайным образом, мы можем увидеть эффективность или неэффективность данных нейронов или даже слоев для прогноза. Следуя этому наблюдению, мы можем сжать модель, уменьшив количество параметров при минимальном снижении производительности. К. Неклюдов и др. [15] предложили такой метод с использованием Variational Dropout для сокращения DNN и CNN.

Знания - это все о том, чтобы делиться.
Не стесняйтесь подписываться на меня или оставлять отзыв о том, что вам понравилось или не понравилось. ✏️

🔵 Вы также можете связаться со мной в LinkedIn, чтобы быть в курсе моих статей и обсудить

Увидимся скоро! 🥰

Источники и ссылки

[1] Г. Э. Хинтон, Н. Шривастава, А. Крижевский, И. Суцкевер и Р. Р. Салахутдинов, Улучшение нейронных сетей путем предотвращения совместной адаптации детекторов признаков

[2] Л. Ван, М. Цайлер, С. Чжан, Ю. ЛеКун и Р. Фергус, Регуляризация нейронных сетей с использованием dropconnect

[3] Л. Дж. Ба и Б. Фрей, Адаптивный отсев для обучения глубоких нейронных сетей

[4] С. Ван и К. Мэннинг, Быстрое прекращение обучения

[5] Д. П. Кингма, Т. Салиманс и М. Веллинг, Вариационный отсев и трюк с локальной репараметризацией

[6] Й. Гал, Дж. Хрон, А. Кендалл, Бетонный выпад

[7] Х. Ву и Х. Гу, На пути к отказу от обучения сверточным нейронным сетям

[8] Дж. Томпсон, Р. Горошин, А. Джайн, Ю. ЛеКун и К. Бреглер, Эффективная локализация объектов с использованием сверточных сетей

[9] T. DeVries и G. W. Taylor, Улучшенная регуляризация сверточных нейронных сетей с вырезом

[10] С. Парк и Н. Квак, Анализ эффекта отсева в сверточных нейронных сетях

[11] Т. Мун, Х. Чой, Х. Ли и И. Сонг, Rnndrop

[12] С. Семениута, А. Северин, Э. Барт, Периодическое прекращение обучения без потери памяти

[13] Y. Gal, Z. Ghahramani, Теоретически обоснованное применение отсева в рекуррентных нейронных сетях

[14] Y. Gal и Z. Ghahramani, Отсев как байесовское приближение: представление неопределенности модели в глубоком обучении

[15] К. Неклюдов, Д. Молчанов, А. Ашуха, Д. П. Ветров, Структурированное байесовское отсечение с помощью логнормального мультипликативного шума

[16] А. Лабач, Х. Салехинежад, Исследование методов отсева для глубоких нейронных сетей

Все изображения и GIF-файлы самодельные и бесплатны для использования