На базе EfficientNet компания Google ввела в поисковое пространство Fused-MBConv, одновременно внедрив механизм адаптивной регулярной регулировки силы для прогрессивного обучения, и в результате получилась комбинация EfficientNetV2, которая достигла производительности SOTA на множестве эталонных наборов данных, и Training быстрее.
paper: АР Вест V.org/ABS/2104.00…
code: GitHub.com/Google/auto…
Эта статья представляет собой обновление EfficientNet от Google MingxingTan и Quov V.Le, целью которого является максимальное повышение скорости обучения при сохранении эффективного использования параметров. На базе EfficientNet в пространство поиска вводится Fused-MBConv, при этом для прогрессивного обучения вводится механизм адаптивной регулярной регулировки силы. Комбинация этих двух улучшений дает наш EfficientNetV2, который обеспечивает самую современную производительность на нескольких наборах эталонных данных с более быстрым обучением. Например, EfficientNetV2 обеспечивает максимальную точность 87,3% и скорость обучения в 5-11 раз выше.
1 Abstract
В этой статье предлагается сверточная нейронная сеть EfficientNetV2 с более высокой скоростью обучения и меньшим количеством параметров. Мы используем NAS с поддержкой обучения и технологию масштабирования для совместной оптимизации скорости обучения и количества параметров, а пространство поиска NAS расширяется за счет использования новых операций (таких как Fused-MBConv). Эксперименты показывают, что по сравнению с другими схемами SOTA предлагаемая EfficientNetV2 сходится быстрее, а модель меньше (6,8x).
Во время обучения мы можем ускориться, постепенно увеличивая размер изображения, но обычно это приводит к падению производительности. Чтобы компенсировать эту потерю производительности, мы предлагаем улучшенный метод прогрессивного обучения, который адаптивно регулирует коэффициент регуляризации в соответствии с размером изображения, например, отсев и увеличение данных.
Благодаря методу прогрессивного обучения предлагаемая EfficientNetV2 значительно превосходит другие модели в наборе данных CIFAR/Cars/Flowers; за счет предварительного обучения на наборе данных ImageNet21K предлагаемая модель достигает 87,3% точности top1 в ImageNet, с точностью 2,0%. чем ViT, и скорость обучения выше (5x-11x).
На приведенном выше рисунке показано сравнение между предложенным методом и другими схемами SOTA с точки зрения скорости обучения, количества параметров и точности. Основные вклады этой статьи включают следующие пункты:
- Предлагается класс меньшей и более быстрой сверточной нейронной сети EfficientNetV2. Благодаря преимуществам NAS с поддержкой обучения и масштабирования, EfficientNetV2 значительно превосходит другие схемы с точки зрения скорости обучения и объема параметров;
- Предлагается улучшенная стратегия прогрессивного обучения, которая может адаптивно регулировать коэффициент регуляризации в зависимости от размера изображения. Это может повысить точность при ускорении обучения;
- Предлагаемая схема обеспечивает в 11 раз более высокую скорость обучения и в 6,8 раз меньше параметров для наборов данных ImageNet, CIFAR, Cars, Flowers и других.
2 Method
Прежде чем официально представить EfficientNetV2, давайте кратко рассмотрим EfficientNet, а затем представим NAS с возможностью обучения и масштабирование, а также предлагаемый EfficientNetV2.
Review of EfficientNet
EfficientNet — это статья, опубликованная в 2019 году. Она использует поиск NAS для FLOP и параметров для получения EfficientNet-B0, а затем использует составное масштабирование для получения более крупных версий моделей, таких как EfficientNetB1-B7.
В приведенной выше таблице показано сравнение EfficientNet и других методов с точки зрения точности, количества параметров и Flops. Эта статья направлена на повышение скорости обучения модели при сохранении эффективности параметров.
Understanding Training Efficiency
Мы изучаем модули EfficientNetV1 и получаем централизованные и простые методики ускорения обучения.
- Обучение с очень большими размерами изображений происходит медленно. Было показано, что большой размер изображения EfficientNet приводит к значительному объему памяти. Поскольку общий объем памяти GPU/TPU фиксирован, нам приходится обучать эти модели небольшими партиями, что, несомненно, замедлит скорость обучения. Простым усовершенствованием является использование FixRes, которое предназначено для обучения с изображениями меньшего размера. Как показано в следующей таблице: использование меньших фрагментов изображения приводит к меньшим вычислениям и большим пакетам, что может ускорить обучение (в 2,2 раза); в то же время обучение с меньшими фрагментами изображения также приводит к несколько более высокой точности. В следующих главах мы предложим более продвинутый метод обучения: цель ускорения обучения достигается за счет постепенной настройки размера изображения и коэффициента регуляризации.
- Глубинные извилины в ранних слоях медленные. Основной модуль EfficientNet использует глубокую свертку, которая имеет меньше параметров и вычислений (но часто не может полностью использовать существующие ускорители). Недавно предложенный Fused-MBConv может более полно использовать ускоритель на мобильном телефоне/сервере. Он заменяет свертки по глубине и свертки в MBConv на обычные свертки, как показано на рисунке ниже.
Для систематического сравнения этих двух модулей мы используем Fused-MBConv для замены исходного MBConv на основе EfficientNet-B4 Сравнение производительности показано в таблице ниже. Видно, что: (1) Fused-MBConv может ускорить обучение и принести небольшое улучшение параметров и FLOP при замене этапов 1-3; (2) Если заменить все этапы 1-7, это принесет большое количество Увеличивайте и уменьшайте скорость обучения с помощью FLOP. То есть правильное сочетание MBConv и Fused-MBConv определить напрямую непросто, поэтому мы используем NAS для поиска наилучшего сочетания.
- В равной степени масштабирование каждого этапа неоптимально. EfficientNet использует составные тесты для одинакового масштабирования всех этапов. Например, когда коэффициент глубины равен 2, количество слоев на всех этапах сети удваивается. Однако разные этапы не вносят одинаковый вклад с точки зрения скорости обучения и размера параметра. Мы будем использовать стратегию неравномерного масштабирования, чтобы добавить больше слоев на более поздних этапах. Кроме того, для использования EfficientNet изображений большого размера, что приводит к большому объему вычислений и снижению скорости обучения, мы немного скорректировали правила масштабирования и ограничили их.Максимальный размер изображения на несколько меньшее значение.
Training-Aware NAS and Scaling
На данный момент мы получили множество схем проектирования для ускоренного обучения. Чтобы лучше совместить эти схемы, мы предлагаем NAS с поддержкой обучения.
- Поиск NAS. Используемая здесь структура NAS в основном основана на EfficientNet и MnasNet, но в то же время оптимизирует количество параметров и эффективность обучения. В частности, мы используем EfficientNet в качестве магистральной сети, а пространство поиска представляет собой пространство на основе этапов, аналогичное EfficientNet, которое включает операции свертки, такие как MBConv и Fused-MBConv, количество слоев, размер ядра и коэффициент расширения; С другой стороны, мы используем две стратегии сокращения пространства поиска: (1) удаление неизбежных опций поиска, таких как операторы объединения, (2) повторное использование информации о номере канала в EfficientNet. Поскольку пространство поиска меньше, мы можем использовать простой случайный поиск для поиска больших сетей (таких как размер EfficientNet-B4). В частности, мы отбираем 1000 моделей и обучаем каждую модель в течение 10 эпох. Вознаграждение за поиск включает в себя точность модели A, нормализованную продолжительность обучения S и количество параметров P, которые комбинируются взвешенным образом.
-
Архитектура EfficiencyNetV2. В приведенной выше таблице приведены данные по найденной архитектуре EfficientNetV2-S. По сравнению с EfficientNet имеет несколько отличий:
- EfficientNetV2 широко использует MBConv и Fused-MBConv (в основном на заре существования сети);
- EfficientNetV2 использует меньший коэффициент масштабирования, что приводит к меньшему объему памяти;
- EfficientNetV2 имеет тенденцию выбирать ядро свертки меньшего размера и использовать больше слоев, чтобы компенсировать уменьшение рецептивного поля;
- EfficientNetV2 удаляет последнюю стадию шага-1 в EfficientNet.
-
Эффективное масштабирование сети. Мы строим EfficientNetV2-S с составным масштабированием, подобным EfficientNet (и добавляем несколько дополнительных оптимизаций), чтобы получить EfficientNetV2-M/L. Дополнительные оптимизации описаны ниже:
- Ограничьте максимальный размер изображения логического вывода до 480;
- Добавьте больше слоев позже в сеть, чтобы увеличить емкость модели, не требуя слишком много времени, см. этапы 5 и 6 в таблице выше.
- Сравнение скорости обучения. В приведенной выше таблице показано сравнение скорости обучения различных сетей (все сети Moses используют одинаковый размер изображения). Мы обнаружили, что: (1) EfficientNet может по-прежнему достигать очень хорошего баланса производительности при разумном обучении; (2) EfficientNetV2 обучает быстрее, чем другие методы.
3 Progressive Learning
Как упоминалось ранее: размер изображения оказывает большое влияние на скорость обучения. Помимо FixRes, есть и другие методы, которые динамически изменяют размер изображения во время обучения, но обычно приводят к потере точности.
Мы считаем, что указанное выше падение точности в основном связано с несбалансированным фактором регуляризации, то есть: при обучении с изображениями разных размеров мы должны одновременно регулировать силу регуляризации. Фактически, более крупные модели требуют более сильной регуляризации, чтобы избежать переобучения, например, EfficientNet-B7 использует более крупные ядра отсева для более сильного увеличения данных. Здесь мы считаем: Для той же модели
- Небольшой размер изображения приведет к меньшей емкости модели, поэтому необходимо ослабить фактор регуляризации;
- Большие размеры изображений приводят к увеличению объема вычислений и модели, что требует более сильных факторов регуляризации, чтобы избежать переобучения.
Чтобы проверить вышеупомянутую гипотезу, мы обучили модель с различными размерами изображений и увеличением данных, и результаты показаны в таблице выше. Сделанные здесь экспериментальные выводы в основном согласуются с изложенными выше предположениями. Это нас мотивирует: в процессе обучения коэффициент регуляризации адаптивно настраивается с изменением размера изображения, что является нашей улучшенной прогрессивной схемой обучения.
На приведенном выше рисунке показана схема схемы обучения, предложенной в этой статье.На начальном этапе обучения мы используем изображения меньшего размера + ослабленное обучение регуляризации, в это время модель может быстро освоить способность простого выражения; затем мы постепенно увеличьте размер изображения и добавьте более сильный фактор регуляризации. На рисунке ниже показаны пошаговые инструкции для этой поэтапной схемы обучения.
Предлагаемое здесь добавочное обучение совместимо с существующими регуляризаторами.Для простоты мы в основном изучаем следующие три регуляризатора: Dropout, RandAugment и Mixup.
4 Experiments
В процессе обучения мы разделили все обучение на четыре этапа, каждый этап составляет около 87 эпох: на раннем этапе обучения мы используем небольшие блоки изображений + ослабленная регуляризация, на более позднем этапе обучения мы используем более крупные ядра блоков изображений. для улучшения регуляризации в приведенной выше таблице приведены максимальный и минимальный размеры изображения и сила регуляризации для различных моделей.
В приведенной выше таблице показано сравнение между предложенным методом и другими схемами с точки зрения точности, количества параметров, FLOPs и затрат времени. Отсюда видно:
- По сравнению с другими методами предлагаемый EfficientNetV2 имеет более высокую скорость обучения, более высокую точность и меньшее количество параметров.
- По сравнению с EfficientNet-B7, EfficientNetV2 имеет такую же точность, но скорость обучения в 11 раз выше.
- По сравнению с RegNet и ResNeSt, EfficientNetV2 имеет более высокую точность и более высокую скорость логического вывода.
- По сравнению с ViT, EfficientNetV2 превосходит ViT-L/16 (21k) с точностью 85,7%.
- Что касается скорости вывода, EfficientNetV2 имеет более высокую точность и более высокую скорость, чем EfficientNet; по сравнению с ResNeSt, EfficientNetV2-M имеет на 0,6% более высокую точность и в 2,8 раза более высокую скорость.
- Масштабирование размера данных более эффективно, чем просто масштабирование размера модели: когда точность top1 превышает 85%, трудно повысить точность за счет увеличения размера модели, однако предобучение ImageNet21K позволяет значительно повысить точность модели.
В приведенной выше таблице сравниваются возможности трансферного обучения предлагаемых методов. Можно видеть, что по сравнению с другими схемами сверточной сети и трансформатора эффективность обобщения метода, предложенного в этой статье, лучше.
Наконец, мы также анализируем влияние адаптивной регуляризации, и результаты показаны на рисунке выше. Видно, что: (1) адаптивная регуляризация может повысить точность модели на 0,7%, (2) добавление к мелкомасштабному изображению ослабляющей регуляризации может ускорить сходимость модели.