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

Бумага доступна по ссылке ниже.

Пакетная нормализация: Пакетная нормализация: ускорение обучения глубокой сети за счет уменьшения внутреннего ковариатного сдвига

NF-ResNets: ХАРАКТЕРИЗАЦИЯ РАСПРОСТРАНЕНИЯ СИГНАЛА ДЛЯ ЗАКРЫТИЯ ПРОБЕЛА ПРОИЗВОДИТЕЛЬНОСТИ В НЕНОРМАЛИЗОВАННЫХ RESNETS

Background+Adaptive Gradient Clipping: Высокопроизводительное распознавание крупномасштабных изображений без нормализации

Пакетная нормализация и преимущества [бумага]

Что делает пакетная нормализация? Короче говоря, нормализация партии направлена ​​на нормализацию ввода путем вычитания и деления на статистику мини-пакета. Именно этот процесс описан как функция ниже.

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

  • Уменьшает остаточную ветвь: в качестве особой синергии для остаточных сетей BN ограничивает масштаб остаточной ветви и стабилизирует раннее обучение.
  • Устраняет средний сдвиг: выход ReLU равен [0, inf) и, естественно, имеет ненулевое среднее значение. Это может усугубляться и становиться проблематичным в глубоких нейронных сетях, заставляя сети предсказывать одну и ту же метку для всех данных.
  • Имеет эффект регуляризации: поскольку пакетная статистика вычисляется на другом подмножестве обучающих данных, BN по своей сути действует как шум, усиливающий обобщение сети.
  • Обеспечивает эффективное обучение большими партиями: BN увеличивает наибольшую стабильную скорость обучения, что является важным компонентом обучения больших партий.

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

Проблемы БН

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

  • Удивительно дорого с вычислительной точки зрения: BN — это задача, требующая большого объема памяти, поскольку вся пакетная статистика должна храниться на уровне. Стоимость вычислений также высока (~ 20% в зависимости от сети).
  • Несоответствие между обучением и выводом: результаты вывода зависят от размера партии? Кроме того, введение гиперпараметров, которые необходимо настроить.
  • Нарушает независимость между обучающими примерами в мини-пакете: это очевидная проблема, поскольку каждый образец нормализуется с использованием статистики мини-пакета. Последствиями являются ограничения в некоторых задачах, таких как моделирование последовательности, контрастное обучение, из-за опасений мошенничества.
  • Производительность зависит от размера партии: BN традиционно плохо работает, когда размер партии слишком мал.
  • Нормализация может ограничивать возможности модели: в документе не обсуждается, но такие документы, как StyleGAN2, ESRGAN, обнаруживают артефакты в сгенерированных изображениях при использовании нормализации. Поскольку нормализация приводит к нулевому среднему, алгоритм создает пики на изображении, чтобы изменить величину остальной части изображения.

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

Тем не менее, они превосходят свои нормализованные пакеты, когда размер пакета очень мал, но работают хуже, чем сети с пакетной нормализацией, для больших размеров пакетов. Большинство методов также имеют некоторые общие ограничения BN или имеют свои уникальные проблемы. Результаты также не конкурируют с результатами сети S.O.T.A.

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

Адаптивная обрезка градиента [бумага]

В этой статье предлагается адаптивное отсечение градиента (AGC) как метод улучшения сетей без нормализации. Отсечение градиента стабилизирует тренировку, ограничивая градиенты в соответствии с приведенной ниже формулой. Однако было обнаружено, что ограничение градиента чувствительно к порогу ограничения λ.

Предположим, что W¹ и G¹ — весовая матрица и градиенты l-го слоя. Фробениусова норма ||W¹||ᶠ весов вычисляется как квадратный корень из суммы квадратов весов.

Отношение между фробениусовой нормой весов и градиентами ||G¹||ᶠ/||W¹||ᶠ обеспечивает лучшую относительную меру того, насколько велик шаг градиента. Чтобы решить зависимость от порога ограничения λ, градиенты ограничения AGC основаны на единичных отношениях норм градиента к нормам параметров, как в приведенной ниже формуле.

Авторы предполагают, что

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

Эксперименты

На левом рисунке сравниваются ResNets с пакетной нормализацией, NF-ResNets и NF-ResNets с AGC. AGC, кажется, помогает расширить NF-ResNets до больших размеров пакетов, сохраняя при этом аналогичную / лучшую производительность с пакетными нормализованными сетями. Обучение на больших размерах пакетов более нестабильно, потому что скорость обучения также линейно увеличивается с размером пакета. Например, при обучении с размером пакета 4096 скорость обучения составляет 1,6. На правом рисунке сравниваются результаты для разных порогов отсечения и размеров пакетов. Меньшие пороги отсечения необходимы для ограничения обучения с большими размерами пакетов.

В другом эксперименте изучается, выгодна ли AGC для всех уровней, применяя AGC к определенным уровням в сети. Результаты показали, что всегда лучше не обрезать конечный линейный слой и что можно стабильно обучаться без обрезания начальной свертки, но все четыре этапа должны быть обрезаны при обучении с размером пакета 4096 со скоростью обучения по умолчанию 1,6. AGC применяется к каждому слою, кроме последнего линейного слоя.

В поисках современного

В документе применяются различные методы регуляризации и методы для повышения производительности и конкуренции с EfficientNet. С внесенными изменениями модель ResNeXt-D значительно превосходит EfficientNet. Эффект от удаления пакетной нормализации может показаться разочаровывающим, поскольку модификации из NF-ResNet и AGC не показали прироста точности, как описано в таблице ниже. Тем не менее, они обеспечили значительный выигрыш в задержке, которую можно преобразовать в повышение точности с помощью масштабирования модели.

Вывод

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

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

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