DeepMAD: Mathematical Architecture Design for Deep Convolutional Neural Network

DeepMAD: Mathematical Architecture Design for Deep Convolutional Neural Network

Mihail Tregubov

Перевод сделан в лаборатории CV Центра ИИ Контура.

DeepMAD: Mathematical Architecture Design for Deep Convolutional Neural Network
Xuan Shen, Yaohua Wang, Ming Lin, Yilun Huang, Hao Tang, Xiuyu Sun, Yanzhi Wang, Northeastern University, Alibaba Group, Amazon, ETH Zurich, May 29, 2023


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

Готовим чаёк и погнали! :)


Introduction

Свёрточные нейронные сети (CNNs) доминировали в моделях компьютерного зрения в последние десятилетия. Появление Vision Transformers (ViTs) заложило новую парадигму глубокого обучения, превосходящую модели CNN благодаря инновации механизма самовнимания (self-attention) и другим специализированным компонентам в ViTs. Несмотря на огромный успех моделей ViT в 2020-х годах, модели CNN все еще имеют множество преимуществ. Во-первых, модели CNN не требуют модули self-attention, которые требуют квадратичной вычислительной сложности в зависимости от размера токена. Во-вторых, модели CNN обычно лучше обобщаются на малых наборах данных по сравнению с моделями ViT. Кроме того, свёрточные операторы хорошо оптимизированы и плотно интегрированы на различных аппаратных платформах в индустрии (например, edge devices). Учитывая вышеупомянутые преимущества, недавние исследования пытаются возродить модели CNN, используя новые архитектурные паттерны.

После модификаций современные CNN значительно отличаются от традиционных моделей CNN, подобных ResNet. Хотя эти усилия сокращают разрыв между CNN и ViT, разработка таких высокопроизводительных моделей CNN требует значительных усилий по настройке структуры и нетривиальных знаний о проектировании сетей, поэтому это занимает много времени и сложно для обобщения и настройки. Более того, большинство этих методов зависят от данных и требуют значительных вычислительных ресурсов. Даже если не учитывать вычислительные затраты, например, AutoML, шаблоны, создаваемые алгоритмами AutoML, сложно интерпретировать. Трудно объяснить, почему такие архитектуры предпочтительны и какие теоретические выводы можно сделать из этих результатов, поэтому важно исследовать проектирование архитектуры на принципиальной основе с ясной теоретической мотивацией и читаемостью для человека. В данной работе предлагается новая парадигма проектирования под названием Mathematical Architecture Design (DeepMAD), которая разрабатывает высокопроизводительные модели CNN на основе заложенных принципов. 

Сравнение моделей DeepMAD, Swin и ConvNeXt на ImageNet-1k. DeepMAD обеспечивает лучшую производительность, чем Swin и ConvNeXt при тех же масштабах

DeepMAD основан на последних достижениях теории глубокого обучения. Для оптимизации архитектуры моделей CNN, DeepMAD предлагает инновационную задачу constrained mathematical programming (MP), решение которой выявляет оптимизированные структурные параметры, такие как ширина и глубина сети. В частности, DeepMAD максимизирует дифференциальную энтропию сети с ограничениями с точки зрения эффективности. Эффективность контролирует поток информации в сети, который должен быть тщательно настроен, чтобы созданные сети работали корректно. Размерность предложенной задачи математического программирования (MP) в DeepMAD составляет менее нескольких десятков. Поэтому она может быть решена с помощью готовых MP-решателей практически мгновенно на CPU.


Непосредственно Mathematical Architectural Design

Чтобы вывести задачу математического программирования (MP) для модели, мы раскладываем ее на два ключевых вида слоев — CNN и MLP. Мы сначала определяем энтропию каждого вида слоев, которая контролирует его выразительность, а затем вводим ограничение, которое контролирует его эффективность. В заключение, максимизируем суммарную целевую функцию энтропии с учетом ограничения на суммарную эффективность.

Энтропия MLP блока


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

Энтропия CNN блока


Эффективность блока

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

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

Обычно ρ должно быть небольшой постоянной. Авторы обнаружили, что ρ∈[0.1,2.0] обычно дает хорошие результаты в большинстве задач компьютерного зрения. 

Три эмпирических закона


Авторы считают, что следующие три эвристических правила полезны для архитектурного проектирования в Deep MAD:

  1. Взвешенная многомасштабная энтропия
    CNN-сети обычно содержат pooling-слои, понижающие размерность. Эти слои разделяют сеть на несколько стадий. Каждая стадия захватывает признаки на определенном масштабе. Чтобы учесть энтропию на разных масштабах, мы используем взвешенную сумму для объединения энтропии последнего слоя в каждой стадии и получения энтропии сети. 
  2. Единая глубина стадий
    Мы требуем, чтобы глубина каждой стадии была равномерно распределена насколько это возможно. Для измерения равномерности распределения глубины мы используем дисперсию глубин.
  3. Неубывающее количество каналов
    Мы требуем, чтобы количество каналов на каждой стадии не уменьшалось с увеличением глубины сети. Это предотвращает наличие малой ширины на высокоуровневых стадиях. Это правило также является распространенной практикой во многих вручную спроектированных сетях.

Финальная DeepMAD формула



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

Эксперименты проводятся в три этапа. Во-первых, на CIFAR-100 исследуется связь между точностью и эффективностью модели, чтобы подтвердить нашу теорию эффективности. Затем DeepMAD используется для разработки лучших ResNet и мобильных сетей. Чтобы продемонстрировать мощь DeepMAD, мы проектируем SOTA модели CNN, используя DeepMAD с обычными сверточными слоями. Результаты на ImageNet-1K представлены с сравнением с популярными современными моделями CNN и ViT. Наконец, модели CNN, разработанные DeepMAD, переносятся на несколько задач нижнего уровня, таких как MS COCO для обнаружения объектов, ADE20K для семантической сегментации и UCF101 / Kinetics400 для распознавания действий. Постоянные улучшения производительности демонстрируют отличную переносимость моделей DeepMAD.

Эффективность на CIFAR-100


Эффективность ρ по сравнению с точностью top-1 и энтропией каждой сгенерированной модели на CIFAR-100. Лучшая модель отмечена звездочкой.
Архитектуры вокруг ρ = {0.1, 0.5, 1.0} выбраны и сгруппированы по ρ. Для измерения корреляции используется коэффициент Кендалла τ


Мы можем видеть, что энтропия увеличивается с ρ монотонно. Это происходит, потому что, чем больше ρ, тем глубже сеть, и, следовательно, тем больше энтропия, как было описано выше. Однако, как показано на графике, точность модели не всегда увеличивается с ρ и энтропией. Когда ρ мало, точность модели пропорциональна энтропии модели; когда ρ слишком велико, такая зависимость больше не существует. Поэтому ρ должно быть ограничено в определенном «эффективном» диапазоне в DeepMAD. Когда ρ около 0.5, сеть может достичь наилучшей производительности, и корреляция между энтропией сети и точностью сети достигает 0.77.

DeepMAD на ResNet/Mobile/SOTA CNNs


Результаты архитектур, составленных с помощью DeepMAD в сопоставимом классе. Рассматриваемые классы: ResNet Family, Mobile CNNs, SOTA

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

Низкая производительность семейства ResNet может быть объяснена их малым значением ρρ, которое ограничивает их энтропию модели. Этот феномен снова подтверждает нашу теорию эффективности.

 DeepMAD-B0 достигает точности 76.1% по топ-1, что сопоставимо с EfficientNet-B0 (76.3%). Следует отметить, что EfficientNet-B0 разработан с использованием метода grid search, что заняло около 3800 GPU-дней. Производительность DeepMAD-B0 сопоставима с EfficientNet-B0, при этом задача MP решается на CPU за несколько минут. В сравнении с MobileNet-V2 по параметрам и FLOPs, DeepMAD-MB достигает точности 72.3% по топ-1, что на 0.3% выше.

Используя только обычные сверточные слои в качестве строительных блоков, DeepMAD достигает сопоставимой или лучшей производительности по сравнению с моделями ViT.

 Downstream таски


Рассматриваемые downstream таски: Инстанс сегментация / Семантическая сегментация / Распознавание действий

Модели, получаемые с помощью DeepMAD, являются основой для последующих задач, включая обнаружение объектов, семантическую сегментацию и распознавание действий. Заметим, что больший вес финальной стадии (можем настраивать этот гиперпараметр) в итоговой энтропии может улучшить производительность в задаче классификации изображений, тогда как меньший вес может улучшить производительность в задаче нижнего уровня (обнаружение объектов). Для разных задач дополнительные улучшения можно получить путем тонкой настройки α5​. Однако в данной работе используется настройка α5=8 как баланс между задачей классификации изображений и задачей обнаружения объектов.


Направления для будущих улучшений

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


Report Page