предисловие
На официальном аккаунте ранее были опубликованы три статьи об интерпретации, анализе и кратком изложении BatchNorm (ссылка на статью в конце статьи). Читатели, прочитавшие эти три статьи, уже должны иметь более глубокое представление о BatchNorm и методе нормализации. . В этой статье я представлю статью о важности BatchNorm, в которой было проведено множество экспериментов и очень всесторонне рассмотрен пакет в BatchNorm.
Добро пожаловать в Техническое руководство CV, в котором основное внимание уделяется техническому обзору компьютерного зрения, отслеживанию новейших технологий и интерпретации классических статей.
Motivation
Ключевым фактором, отличающим BatchNorm от других операторов глубокого обучения, является то, что он работает с пакетами данных, а не с отдельными образцами. BatchNorm смешивает информацию в пакете для вычисления нормализованной статистики, в то время как другие операторы обрабатывают каждый образец в пакете независимо. Поэтому вывод BatchNorm зависит не только от свойств отдельных проб, но и от того, как они сгруппированы.
Как показано на верхнем левом рисунке, в зависимости от размера выборки верхние, средние и нижние цифры указывают на то, что методы выборки BatchNorm следующие:целые наборы данных, мини-пакеты и подмножества мини-пакетов.
Как показано на верхнем правом рисунке, в соответствии со стилем выборки верхние, средние и нижние цифры указывают на то, что методы выборки BatchNorm следующие:весь домен, каждый домен и смесь каждого домена.
В документе рассматриваются эти варианты пакетной обработки в BatchNorm, демонстрируя, что применение нормы пакетной обработки может иметь негативные последствия во многих отношениях, независимо от различных вариантов построения пакетной обработки, но этого можно добиться, проявляя осторожность при выполнении пакетной обработки. представление.
Review of BatchNorm
В мини-пакетах в каждом слое BN вычислите их среднее значение и дисперсию для каждого канала, затем нормализуйте данные, нормализованное значение имеет характеристики нулевого среднего и единичной дисперсии и, наконец, используйте два обучаемых параметра, гамма и бета, масштабирует и сдвигает нормализованные данные.
Кроме того, в процессе обучения также сохраняются среднее значение и дисперсия каждого канала каждого слоя BN каждой мини-партии, и, наконец, вычисляется ожидаемое значение среднего и дисперсии всех мини-партий, которое используется как канал слоя BN в процессе вывода, среднее значение и дисперсия.
Whole Population as a Batch
Во время обучения BatchNorm вычисляет нормализованную статистику, используя мини-пакеты образцов. Однако когда модель используется для тестирования, понятие мини-пакета обычно отсутствует. Первоначально было предложено, чтобы BatchNorm нормализовала признаки во время тестирования с помощью статистических данных μ, σ, вычисляемых для всей обучающей выборки. Здесь μ и σ определяются как пакетная статистика μ, а σ использует всю совокупность как «партию».
Алгоритм EMA широко используется для расчета µ, σ, но он не всегда точно обучает данные о населении, поэтому в статье предлагается новый алгоритм PreciseBN..
Inaccuracy of EMA
EMA: exponential moving average
Формула алгоритма выглядит следующим образом:
EMA может привести к тому, что модель будет оценивать данные о населении неоптимально по следующим причинам:
-
Когда λ велико, статистические данные сходятся медленно. Поскольку каждая итерация обновления вносит лишь небольшую долю (1-λ) в EMA, EMA требует большого количества обновлений, чтобы сходиться к стабильной оценке. По мере обновления модели ситуация ухудшается: в EMA преобладают входные признаки из прошлого, которые устаревают по мере обучения модели.
-
Когда λ мало, в статистике EMA преобладает меньшее количество недавних мини-пакетов, и она не является репрезентативной для всего населения.
PreciseBN
PreciseBN аппроксимирует статистику населения с помощью следующих двух шагов.
-
(фиксированная) модель, применяемая ко многим мини-партиям для сбора статистики по партиям;
-
Объединить статистику по партиям в общую статистику.
По сравнению с EMA PreciseBN обладает еще двумя важными свойствами:
-
Статистика полностью рассчитывается на основе фиксированного состояния модели, в отличие от EMA, в котором используется историческое состояние модели;
-
Все образцы одинаково взвешены.
Результаты экспериментов
1.PreciseBN более стабилен, чем BN.
2.Алгоритм EMA нестабилен при большом размере партии. Авторы утверждают, что нестабильность вызвана двумя факторами, которые ухудшают сходимость статистики EMA при обучении больших партий: (1) более высокая скорость обучения в 32 раза приводит к более резким изменениям признаков; (2) из-за уменьшения общего числа итераций обучения, количество обновлений EMA было уменьшено в 32 раза.
3.PreciseBN нужен только один образец для получения стабильных результатов.
4.Небольшие партии будут накапливать ошибки.
Batch in Training and Testing
Пакетная статистика, используемая во время обучения и логического вывода, несовместима: во время обучения используется мини-пакетная статистика, а во время логического вывода используется статистика совокупности, аппроксимированная алгоритмом EMA для всех мини-пакетов во время обучения.В документе анализируется влияние этой несогласованности на производительность модели и указывается, что в некоторых случаях несогласованность можно легко устранить для повышения производительности.
Чтобы избежать путаницы, определите размер пакета SGD или общий размер пакета как общий размер пакета на всех графических процессорах, а размер пакета нормализации определите как размер пакета на одном графическом процессоре. (Примечание: это вРезюме методов нормализации«Как упоминалось в статье, при использовании нескольких графических процессоров фактическая статистика мини-пакетов основана только на выборках размера пакета / количества графических процессоров)
Размер пакета нормализации напрямую влияет на шум обучения и несогласованность тестов обучения: большие пакеты приближают статистику мини-пакетов к общей статистике, тем самым уменьшая шум обучения и несогласованность тестов обучения.
Для простоты анализа в документе рассматривается частота ошибок 3 различных методов оценки:
-
Оценить статистику мини-пакетов на обучающем наборе
-
Оценить мини-пакетную статистику по набору проверки
-
Оцените статистику населения в наборе проверки
Результаты экспериментов
Небольшие размеры пакетов нормализации (например, 2 или 4) дают низкую производительность, но если используется статистика мини-пакетов (синяя кривая), модель на самом деле имеет достойную производительность. Результаты показывают,Огромное несоответствие между статистикой мини-пакетов и общей статистикой является основным фактором, влияющим на производительность мини-пакетов..
с другой стороны,Когда размер пакета нормализации велик, небольшие несоответствия могут обеспечить регуляризацию для уменьшения ошибок проверки.. В результате красная кривая работает лучше, чем синяя.
На основании вышеизложенных выводов в статье приведены два метода устранения несогласованности для повышения производительности.
-
Use Mini-batch in Inference
-
Use Population Batch in Training
Batch from Different Domains
Процесс обучения модели BatchNorm можно рассматривать как два отдельных этапа: сначала функции изучаются с помощью SGD, а затем статистика населения обучается с использованием этих функций с помощью EMA или PreciseBN. Мы называем эти два этапа «тренингом по SGD» и «тренингом по статистике населения».
В этом разделе в статье анализируются две ситуации, в которых возникает разрыв домена: когда модель обучается в одном домене, но тестируется в других доменах, и когда модель обучается в нескольких доменах. Оба эти фактора могут усложнить использование BatchNorm.
Результаты экспериментов
-
Когда происходит значительный сдвиг домена, модель достигает наилучшего коэффициента ошибок после обучения с общей статистикой по сравнению с обучением с SGD в домене, используемом при оценке. Интуитивно,Формирование пакетов в соответствии с областями может уменьшить несоответствия между обучением и тестами и улучшить обобщение новых распределений данных.
-
Предметно-ориентированное обучение BatchNorm на смешении мультидоменных данных часто предлагалось в предыдущих работах, названных «Domain-Specific BN», «Split BN», «Mixture BN», «Вспомогательный BN», «Переносимая норма»». Все эти методы содержат некоторые из следующих трех параметров.
-
Domain-specific SGD training
-
Domain-specific population statistics
-
Domain-specific affine transform
Исключая три варианта выше, мы показываем, что важно использовать последовательную стратегию между обучением SGD и обучением статистике населения, хотя эта реализация может показаться неинтуитивной.
Information Leakage within a Batch
Я здесь"Резюме методов нормализации"подытожил, что одним из трех недостатков BN является то, что когда выборки в мини-партии не являются независимыми и одинаково распределенными, производительность относительно низкая. Автор считает, что это связано с утечкой информации.
Эксперимент статьи показал, что при использовании мини-пакетной статистики случайной выборки ошибка верификации будет увеличиваться, а при использовании популяционной статистики ошибка верификации будет постепенно увеличиваться с увеличением эпохи, что подтверждает наличие информации BN. проблема с утечкой.
Для решения проблемы утечки информации принято использовать SyncBN для ослабления корреляции между образцами в мини-пакете. Другим обходным решением является случайное перемешивание функций RoI между графическими процессорами перед входом в голову, что назначает каждому графическому процессору случайное подмножество выборок для нормализации, а также ослабляет дисперсию между корреляцией минимальной партии выборок, как показано на рисунке ниже.
Как показано на рисунке ниже, эксперимент доказывает, что и перетасовка, и SyncBN эффективно решают проблему утечки информации, позволяя голове хорошо суммировать статистику населения при тестировании.
С точки зрения скорости, для глубоких моделей перемешивание требует меньше синхронизации между GPU, но передает больше данных за синхронизацию, чем слой SyncBN. Следовательно, их относительная эффективность зависит от архитектуры модели. Согласно более чем SyncBN. Поэтому относительная эффективность перетасовки и SyncBN зависит от архитектуры конкретной модели.
Суммировать
В этой статье рассматривается алгоритм BatchNorm, анализируется влияние статистических данных, рассчитанных с использованием мини-пакетов, и статистических данных, основанных на популяции, в качестве пакетного расчета, а также предлагается приближенный статистический алгоритм PreciseBN, который имеет более стабильный эффект, чем обычно используемый алгоритм EMA. ; Анализируется разница в эффекте от составления мини-партий по разным предметным областям, анализируются два метода работы с не-IID случаями проб в мини-партиях.
В сочетании с предыдущими тремя статьями»Batch Normalization", "BatchNorm для визуализации — как это работает и зачем нужно нейросетям", "Резюме методов нормализации | ака "BN и его потомки"", я полагаю, что читатели получат очень полное представление о BatchNorm и еще больше углубят свое понимание нейронных сетей.
Эта статья взята из серии публикаций в Техническом руководстве CV для общедоступных аккаунтов.
Добро пожаловать в техническое руководство CV для общедоступной учетной записи, в котором основное внимание уделяется техническому обзору компьютерного зрения, отслеживанию новейших технологий и интерпретации классических статей.
Ответьте на ключевое слово «техническое резюме» в официальном аккаунте, чтобы получить краткий PDF-файл исходной технической сводной статьи официального аккаунта.
Другие статьи
Техническое руководство по CV - Резюме и классификация основных статей
Резюме методов настройки параметров для гиперпараметров нейронной сети
CVPR2021 | Переосмысление пакетной обработки в BatchNorm
ICCV2021 | Переосмысление пространственного измерения визуальных трансформеров
CVPR2021 | Transformer для сквозной сегментации экземпляров видео
Анализ сложности сверточных нейронных сетей
Обзор последних исследований по обнаружению малоразмерных целей в 2021 году
Самостоятельное внимание в компьютерном зрении
Обзорная колонка | Обзор оценки позы
Почему GEMM лежит в основе глубокого обучения
Почему 8 бит достаточно для использования глубоких нейронных сетей?
Классическая серия статей — Капсульные сети: новая сеть глубокого обучения
Как просмотреть пузырь искусственного интеллекта
Четкое обнаружение границ с использованием Dice loss
PVT — многофункциональная основа для плотного прогнозирования без свертки
CVPR2021 | Обнаружение объектов в открытом мире
Визуальное обнаружение и распознавание объектов Прошлое, настоящее и возможное
Краткое изложение методов недообучения и переобучения
Краткое изложение общих идей бумажных инноваций
Резюме методов эффективного чтения англоязычной литературы по направлению CV
Обзор непродолжительного обучения компьютерному зрению
Краткий обзор дистилляции знаний
Оптимизировать скорость чтения видео OpenCV
Краткое изложение методов функции потерь
Техническое резюме механизма внимания
Краткое изложение технологии пирамиды функций
Краткое изложение технологии объединения
Краткое изложение методов увеличения данных
Резюме эволюции структуры CNN (1) Классическая модель
Резюме эволюции структуры CNN (2) Облегченная модель
Резюме эволюции структуры CNN (3) Принципы проектирования
Как увидеть будущее направление компьютерного зрения
Краткое изложение технологии визуализации CNN (1) Визуализация карты характеристик
Краткое описание технологии визуализации CNN (2) Визуализация ядра свертки
Краткое изложение технологии визуализации CNN (три) визуализации
Краткое описание технологии визуализации CNN (4) инструменты и проекты визуализации