Предисловие:
Технологии, связанные с нормализацией, разрабатывались в течение нескольких лет, и существуют соответствующие методы для различных сценариев применения.В этой статье эти методы обобщены, а также представлены их идеи, методы и сценарии применения. В основном связаны с: LRN, BN, LN, IN, GN, FRN, WN, BRN, CBN, CmBN и т. д.
Эта статья также известна как «BN и ее преемники», потому что почти все методы нормализации, которые появляются после BN, улучшены для трех дефектов BN, и в этой статье также представлены три дефекта BN. Я полагаю, что у читателей будет более полное понимание и понимание метода нормализации после прочтения этой статьи.
LRN(2012)
Нормализация локального ответа (LRN) была впервые предложена в AlexNet. С тех пор, как был предложен Б.Н., от него в основном отказались, поэтому здесь представлены только его источник и основные идеи.
Идея LRN исходит из нейробиологического латерального торможения, когда активированные нейроны подавляют соседние нейроны. Опишите LRN одним предложением: увеличьте карту объектов с большим значением отклика и уменьшите маленькое значение отклика.
Основная идея состоит в том, чтобы сделать корреляцию между картами признаков, сгенерированными разными ядрами свертки, меньше, чтобы карты признаков на разных каналах могли фокусироваться на разных признаках.Например, признак A более значим на одном канале, а признак B более значим. в другом более выражено на одном канале.
Batch Normalization(2015)
Бумага: Пакетная нормализация: ускорение обучения глубокой сети за счет уменьшения внутреннего ковариатного сдвига
Объяснение, предложенное Б.Н. в статье: Обучение глубокой нейронной сети очень сложно, так как в процессе обучения по мере изменения параметров предыдущих слоев будет меняться и распределение входных данных каждого слоя, а также изменение входное распределение слоя порождает одну проблему, поскольку слоям необходимо постоянно адаптироваться к новым распределениям, обучение усложняется, а тонкие изменения параметров сети усиливаются по мере того, как сеть становится глубже.
Это замедляет обучение из-за низкой скорости обучения и необходимости тщательной инициализации параметров, а также, как известно, сложно обучать модели с насыщенными нелинейностями. Мы называем это явление внутренним ковариантным сдвигом и решаем его путем нормализации входных данных слоя.
Другие пояснения: Предположим, что входные данные содержат несколько функций x1, x2, ... xn. Каждая функция может иметь различный диапазон значений. Например, функция x1 может иметь значение от 1 до 5, а функция x2 может иметь значение от 1000 до 99999.
Как показано на левом рисунке ниже, поскольку два данных не находятся в одном диапазоне, но они используют одинаковую скорость обучения, траектория градиентного спуска колеблется взад и вперед по одному измерению, требуя больше шагов для достижения минимума. В настоящее время скорость обучения установить непросто.Если скорость обучения слишком велика, она будет колебаться взад и вперед для данных с небольшим диапазоном.Если скорость обучения слишком мала, для данных практически не будет изменений с большим ассортиментом.
Как показано на правом рисунке ниже, когда функции находятся в одном диапазоне размеров после нормализации, ландшафт потерь похож на чашу, скорость обучения легче установить, а градиентный спуск относительно стабилен.
Алгоритм:
В пакете, в каждом слое BN, для одного и того же канала каждой выборки вычислите их среднее значение и дисперсию, а затем нормализуйте данные.Нормализованное значение имеет характеристики нулевого среднего и единичной дисперсии, и, наконец, нормализованные данные масштабируются и смещается с использованием двух обучаемых параметров, гаммы и бета.
Кроме того, в процессе обучения также сохраняются среднее значение и дисперсия каждого слоя BN в каждой мини-партии, и, наконец, ожидаемое значение среднего и дисперсии всех мини-пакетов вычисляется как среднее значение и дисперсия BN. слой в процессе вывода.
Примечание: BN лучше после функции активации, чем до функции активации.
фактический эффект:
1) Можно использовать большую скорость обучения, чем без BN
2) Предотвратить переоснащение, удалить Dropout и Local Response Normalization.
3) Поскольку загрузчик данных нарушает порядок, мини-пакеты в каждую эпоху разные, и нормализация разных мини-пакетов может иметь эффект улучшения данных.
4) Значительно ускорить скорость сходимости
5) Избегайте взрывных градиентов и исчезающих градиентов
Примечание. У BN есть некоторые проблемы, и большинство последующих статей по нормализации улучшены вокруг этих дефектов BN. Для удобства написания эти дефекты будут упомянуты один за другим в следующих статьях.
Различия и связи между BN, LN, IN и GN
На рисунке ниже разница видна более четко. (N представляет N отсчетов, а C представляет канал. Здесь для удобства выражения двумерное HxW представлено одномерным H*W.)
Основная проблема, решаемая последними тремя, заключается в том, что эффект BN зависит от размера партии, когда размер партии относительно мал, производительность серьезно ухудшается. Как видите, IN, LN и GN не зависят от размера партии.
Разница между ними заключается в том, что диапазон данных для расчета среднего значения и дисперсии различен, LN вычисляет среднее значение и дисперсию одной выборки по всем каналам, значение IN вычисляет среднее значение и дисперсию одной выборки на каждом канале, GN вычисляет канала каждой выборки Разделить на g групп и вычислить среднее значение и дисперсию для каждой группы.
сравнение между ними. (Примечание: этот эффект является лишь сравнением по одному и тому же случаю. На самом деле, каждый из них имеет свои собственные сценарии применения, и последние три явно превосходят BN в соответствующих сценариях применения)
Instance Normalization(2016)
Документ: Нормализация экземпляра: недостающий ингредиент для быстрой стилизации
В задачах распознавания, таких как изображение и видео, эффект BN лучше, чем у IN. Однако в задачах генерации, таких как GAN, перенос стиля и адаптация домена, эффект IN значительно лучше, чем у BN.
Проанализируйте причину этого явления по разнице между BN и IN: BN подсчитывает среднее значение и дисперсию нескольких выборок, и домены этих нескольких выборок, вероятно, будут разными, что эквивалентно модели, разделяющей распределение данных разных доменов. , нормализовано.
Layer Normalization (2016)
Диссертация: Нормализация слоев
Первый недостаток BN заключается в том, что он зависит от размера партии.Второй недостаток заключается в том, что влияние динамических сетей, таких как RNN, неочевидно, и когда длина последовательности вывода превышает длину всех последовательностей для обучения, это склонны к проблемам. С этой целью предлагается нормализация слоя.
Когда мы применяем пакетную нормализацию к RNN очевидным образом, нам нужно вычислять и хранить отдельные статистические данные для каждого временного шага в последовательности. Это проблематично, если тестовая последовательность длиннее любой обучающей последовательности. LN не имеет такой проблемы, потому что его нормировочный член зависит только от общего входа в слой на текущем временном шаге. Он также имеет только один набор параметров усиления и смещения, общих для всех временных шагов. (Примечание: усиление и смещение в LN эквивалентны гамме и бета в BN)
Применение LN: RNN, трансформатор и т.д.
Group Normalization(2018)
Диссертация: групповая нормализация
Как показано на рисунке ниже, при уменьшении размера пакета BN значительно ухудшается, а групповая нормализация всегда постоянна.Когда размер пакета относительно велик, он немного ниже, чем BN, но когда размер пакета относительно мал, он значительно лучше, чем БН.
Но у GN есть два недостатка, один из которых заключается в том, что он немного ниже, чем BN, когда размер пакета большой, а другой заключается в том, что он требует, чтобы количество каналов было кратно количеству групп g, потому что оно сгруппировано по каналы.
Сценарии применения ГН: В таких задачах, как обнаружение целей и семантическая сегментация, требующих максимально возможного разрешения, из-за ограничений памяти для большего разрешения может быть взят только относительно небольшой размер пакета.ГН, который не зависит от размера пакета, может быть выбран метод нормализации.
Алгоритм реализации ГН
Weights Normalization(2016)
Документ: Нормализация веса: простая перепараметризация для ускорения обучения глубоких нейронных сетей
Предыдущие методы основаны на карте признаков для нормализации.В этой статье предлагается нормализовать веса.
Чтобы объяснить этот метод, требуется много чернил. Вот предложение, объясняющее его основной метод: разложить весовой вектор w на скаляр g и вектор v. Скаляр g представляет длину весового вектора w, а вектор v представляет направление весового вектора.
Этот подход улучшает условие задачи оптимизации и ускоряет сходимость стохастического градиентного спуска, независимо от характеристик размера партии, подходит для рекуррентных моделей (таких как LSTM) и чувствительных к шуму приложений (таких как глубокое обучение с подкреплением или генеративные модели), в то время как Пакетная нормализация менее подходит для этих приложений.
Нормализация веса также имеет очевидный недостаток: WN не имеет функции нормализации шкал признаков, как BN, поэтому инициализация WN должна быть осторожной, поэтому автор предлагает метод инициализации для вектора v и скаляра g.
Batch Renormalization(2017)
Документ: Пакетная перенормировка: на пути к уменьшению зависимости от минипакетов в пакетно-нормализованных моделях
Ранее мы упоминали, что BN использует ожидание среднего значения и дисперсии каждой мини-партии в процессе обучения как среднее значение и дисперсию в процессе вывода, Предпосылка этого заключается в том, что мини-партия и выборочная совокупность независимы и идентичны распределенный. Таким образом, третий недостаток BN заключается в том, что когда выборки в мини-партии не являются независимыми и одинаково распределенными, производительность относительно низкая.
Основываясь на ухудшении производительности первого дефекта, размер пакета слишком мал, а третий дефект, автор предлагает пакетную перенормировку (сокращенно BRN).
Основное различие между BRN и BN заключается в том, что BN использует ожидание среднего значения и дисперсии каждой мини-партии во время обучения как среднее значение и дисперсию всего набора данных, в то время как каждая мини-партия имеет свое собственное среднее значение и дисперсию во время обучения. таким образом, среднее значение и дисперсия на этапе вывода отличаются от таковых во время обучения, и BRN предлагает постоянно учиться исправлять среднее значение и дисперсию всего набора данных в процессе обучения, делая его как можно ближе к среднему значению и дисперсии весь набор данных и, наконец, используется для этапа вывода.
Алгоритм реализации BRN следующий:
ПРИМЕЧАНИЕ. Здесь R и D представляют масштабирование масштабирования и перевод и не участвуют в обратной передаче.
Модели, обученные с помощью BRN, значительно превосходят BN при обучении с небольшими пакетами или мини-пакетами без IID. При этом BRN сохраняет преимущества BN, такие как чувствительность к инициализации и эффективность обучения.
Cross-GPU BN(2018)
Документ: MegDet: большой мини-пакетный детектор объектов
В случае использования многокарточного распределенного обучения входные данные разбиваются на несколько частей, а прямая и обратная передачи выполняются на соответствующих картах, а параметры обновляются, BN нормализуется для выборок на одной карте, поэтому фактическое нормализованное количество выборок не является размером партии. Например, размер партии = 32, обучение с четырьмя картами, на самом деле нормализует только 32/4 = 8 выборок.
Идея пакетной нормализации между графическими процессорами состоит в том, чтобы выполнить нормализацию на нескольких картах.
Конкретный алгоритм реализации следующий:
FRN(2019)
Бумага: Уровень нормализации отклика фильтра: устранение пакетной зависимости при обучении глубоких нейронных сетей
FRN по-прежнему улучшается из-за проблемы, заключающейся в том, что небольшой размер партии снижает производительность.
FRN состоит из двух компонентов: нормализации отклика фильтра (FRN) и порогового линейного блока (TLU).
Первый очень похож на нормализацию экземпляра и также основан на одной выборке и одном канале, разница в том, что IN вычитает среднее значение, а затем делит его на стандартное отклонение. И FRN не вычитает среднее значение. Причина, указанная авторами, следующая: если вычитание среднего является нормальной операцией для схем нормализации, то для пакетно-независимых схем нормализации она произвольна и не имеет смысла.
TLU добавляет порог, основанный на ReLU, который является обучаемым параметром. Это связано с тем, что FRN не имеет операции вычитания среднего значения, что может привести к произвольному смещению нормализованного результата на 0. Если за FRN следует уровень активации ReLU, может быть сгенерировано много нулевых значений, что вредно. для моделирования обучения и производительности.
Алгоритм реализации FRN
Экспериментальный эффект
Cross-Iteration BN(2020)
Диссертация: Нормализация пакетов между итерациями
Основная идея CBN — задействовать выборки первых k-1 итераций в расчете текущего среднего и дисперсии. Однако из-за обновления данных первых k-1 итераций его нельзя использовать напрямую. В статье предлагается метод обработки для аппроксимации данных первых k-1 итераций с помощью полиномов Тейлора.
В Yolo_v4 также предлагается улучшенная версия, которая подсчитывает данные только четырех мини-пакетов в каждом пакете и обновляет веса, масштабирование и смещения после четвертого мини-пакета.
Экспериментальный эффект
Суммировать
В этой статье представлены текущие классические методы нормализации, большинство из которых улучшены для BN. В этой статье подробно представлены их основные идеи, методы улучшения и сценарии применения. Некоторые методы не вводят подробно детали реализации. Для читателей, которые заинтересованы или в необходимости, пожалуйста, прочитайте исходный текст статьи самостоятельно.
В дополнение к вышеперечисленным методам существует множество методов нормализации, таких как Eval Norm, распространение нормализации, нормализация нормализаторов и т. д. Однако эти методы широко не используются и не будут повторяться здесь.
Другие статьи
Краткое изложение методов увеличения данных
Краткое описание технологии визуализации CNN
Резюме эволюции структуры CNN - классическая модель
Резюме эволюции структуры CNN - упрощенная модель
Резюме эволюции структуры CNN - принципы проектирования
Краткое изложение технологии объединения
Сводка по немаксимальному подавлению
Краткое изложение методов чтения английской литературы
Краткое изложение общих идей бумажных инноваций
Эта статья взята из серии технических резюме технического руководства по общедоступному аккаунту CV.
Ответить в паблике "CV Technical Guide"Техническое резюме", чтобы получить краткий PDF-файл всех вышеперечисленных сводных статей серии
Справочные документы
-
Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift
-
Instance Normalization: The Missing Ingredient for Fast Stylization
-
Layer Normalization
-
Group Normalization
-
Weight Normalization: A Simple Reparameterization to Accelerate Training of Deep Neural Networks
-
Batch Renormalization: Towards Reducing Minibatch Dependence in Batch-Normalized Models
-
MegDet: A Large Mini-Batch Object Detector
-
Filter Response Normalization Layer: Eliminating Batch Dependence in the Training of Deep Neural Networks
-
Cross-Iteration Batch Normalization
-
YOLOv4: Optimal Speed and Accuracy of Object Detection
-
EvalNorm: Estimating Batch Normalization Statistics for Evaluation