Приглашаем вас ознакомиться с компьютерным видением серии статей -- SENet

искусственный интеллект компьютерное зрение

Приглашаем вас ознакомиться с компьютерным видением серии статей -- SENet

чат

Всегда есть момент, когда я скучаю по далекому умершему. В Праздник середины осени 15 августа давайте отложим нашу напряженную работу и отправимся домой, чтобы произнести тост за пожилых людей. Это первый раз, когда я не проводил Праздник середины осени дома, и все в порядке. Теперь на фестивале нет праздничной атмосферы, а самая главная семья воссоединилась. Дорогие возлюбленные, в Праздник Середины Осени я желаю вам счастливого и счастливого Праздника Середины Осени, здоровья и расслабления, воссоединения, супружеской любви и любви, гармонии и красоты, процветания! ❤️

предисловие

Бумага: Сети сжатия и возбуждения

код

Блок, который можно прививать/интегрировать ?

Сетевая архитектура Momenta SENet выиграла конкурс ImageNet2017. Автором этой статьи является Ху Цзе, старший инженер по исследованиям и разработкам компании Momenta.Компания Momenta основана в 2016 году.Компания автономных водителей. Его основными технологиями являются восприятие окружающей среды, высокоточные карты и алгоритмы принятия решений, основанные на глубоком обучении. Продукты включают различные уровни решений для автономного вождения и производные услуги больших данных. Momenta фокусируется на «построении автономного вождения мозга» и имеет экспертов мирового уровня в области глубокого обучения, таких как автор Faster R-CNN и ResNet в области распознавания изображений, ImageNet 2015, ImageNet 2017, MS COCO Challenge 2015 и многих других. соревнования. Члены команды в основном из университетов и исследовательских институтов, таких как Университет Цинхуа, Массачусетский технологический институт, Microsoft Research Asia, а также из известных высокотехнологичных компаний, таких как Baidu, Ali, Tencent, Huawei и SenseTime, Они имеют глубокие технические знания и сильные технические навыки, оригинальность и большой опыт работы в отрасли.

SENet выиграла классификационное задание конкурса ImageNet2017, который также является последним конкурсом ImageNet, а статья также выиграла устный конкурс CVPR2018. Кроме того, SENet имеет простую идею, удобную реализацию, небольшой объем вычислений и модульность, а также может быть легко встроена в основную структуру сети.Практика постоянно доказывает, что она может помочь сети достичь лучших результатов в выполнении задач.

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

Резюме

  1. Операция свертки является ядром CNN, которая может объединять пространственные и канальные характеристики;
  2. Изучено извлечение расширенных пространственных признаков;
  3. В этой статье предлагается SEblock для функций канала, который может адаптивно корректировать функции канала;
  4. SEblock можно объединить в SENet и добиться лучших результатов на нескольких наборах данных;
  5. SENet добавляет лишь небольшое количество параметров, что значительно повышает точность;
  6. выиграл чемпионат ILSVRC;

Обширная оценка набора данных ImageNet. Сети SENet не ограничиваются конкретным набором данных или задачей. Используя SENets, мы заняли первое место в классификационном конкурсе ILSVRC2017. Наш лучший ансамбль моделей достигает ошибки класса 5 лучших в 2,251% на тестовом наборе. Это представляет собой относительное улучшение примерно на 25% (ошибка 2,991% для первой пятерки) по сравнению с победителем прошлого года.

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

Структура строительных блоков SE показана на диаграмме выше. Объекты сначала проходят через операцию сжатия, которая создает дескрипторы каналов путем агрегирования карт объектов по их пространственному размеру (В × Ш). Функция этого дескриптора состоит в том, чтобы генерировать вложение глобального распределения откликов характеристик канала, позволяя использовать информацию из глобального рецептивного поля сети на всех ее уровнях. За агрегацией следует операция возбуждения, которая принимает форму простого механизма самостробирования, который принимает вложение в качестве входных данных и создает набор весовых коэффициентов модуляции для каждого канала. Эти веса применяются к карте объектов U для создания выходных данных блока SE, которые могут быть напрямую переданы в последующие уровни сети. Сеть SE (SENet) может быть построена путем простого объединения набора блоков SE. Кроме того, эти блоки SE также могут использоваться в качестве необработанных блоков в пределах определенного диапазона глубины в сетевой архитектуре.

Бумажные детали

Идея: позволить нашей нейронной сети использовать глобальную информацию для улучшения полезной информации и подавления бесполезной информации.

Предполагать:

в,

Пусть K = [K1, K2,.....KC], где каждый элемент Ki является ядром фильтра тогда:Где * представляет операцию преобразования (без учета смещения)

этап сжатия: Стадия возбуждения:Модели VGGNets и Inception показывают, что увеличение глубины сети может значительно улучшить качество представлений, которые она способна изучить. Пакетная нормализация (BN) повышает стабильность процесса обучения в глубоких сетях, регулируя распределение входных данных для каждого слоя и создавая более гладкую поверхность оптимизации. Основываясь на этих работах, ResNets демонстрирует, что можно использовать короткие соединения для изучения более глубоких и мощных сетей. Highway Networks представляет самозакрывающуюся машину для регулирования соединений быстрого доступа к информационному потоку. После этих работ связи между сетевыми уровнями были дополнительно реконструированы, что показывает многообещающие улучшения свойств обучения и представления глубоких сетей.

  1. Групповая свертка: ResNeXt
  2. Многофилиальная сеть серии GoogLeNet
  3. Применение свертки 1*1: Xception и др.

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

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

Преимущества SENet:

  1. Конструкция блока SE проста, подключи и работай;
  2. Блок SE имеет меньше параметров

Команда Google предложила MnasNet (MnasNet:Platform-AwareNeuralArchitectureSearchforMobile), используя идею обучения с подкреплением, чтобы предложить метод автоматического поиска нейронной архитектуры для ограниченных по ресурсам терминальных моделей CNN. SEblock используется в MnasNet.

  1. Механизм внимания можно понимать как уделение большего «внимания» наиболее значимым частям;
  2. Механизм внимания широко используется при последовательном обучении пониманию изображений, локализации, описанию изображений, задачам распознавания губ;
  3. Блок в этой статье представляет собой механизм внимания для измерения канала.

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

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

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

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

Процесс conv2d описывается формулой, а ядро ​​свертки понимается размерностью канала.

Операция conv2d смешивает пространственную информацию с информацией о канале. Целью этой статьи является повышение чувствительности информации в измерении канала, а конкретными операциями являются сжатие и возбуждение.

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

  1. Чтобы получить информацию между каналами, добавьте Возбуждение;
  2. Для достижения этой цели необходимо следовать двум рекомендациям:

(1) Операция должна иметь возможность изучать нелинейные отношения между каналами; (2) Убедитесь, что несколько каналов могут быть «выделены»; 3. Используйте сигмовидный механизм для достижения;

На изображении выше показан эксперимент с выбором функции активации. Вывод: сигмовидная лучше.

Интеграция с другими архитектурами. В статье ResNet и Inception интегрированы. Как показано на следующих двух рисунках.

Архитектура исходного модуля Inception (слева) и модуля SE-Inception (справа).

Схема исходного модуля Residual (слева) и модуля SE-ResNet (справа).

В обмен на эту небольшую дополнительную вычислительную нагрузку точность SE-ResNet-50 превышает точность ResNet-50 и фактически приближается к точности более глубокой сети ResNet-101, требующей ~ 7,58 GFLOPS.

Общее число, вносимое весовыми параметрами слоя FC, определяется как:где r — скорость редукции, S — количество этапов (этап относится к набору блоков, которые работают с картами признаков общих пространственных измерений), Cs — размерность выходного канала, а Ns — количество повторяющихся блоков в этап (когда термин смещения используется для уровня FC, введенные параметры и вычислительные затраты обычно незначительны). SE-ResNet-50 вводит более 2,5 миллионов дополнительных параметров.

  1. Блок равен 2C^2/r;
  2. На этапе есть N блоков;
  3. Модель имеет S этапов, поэтому получается приведенная выше формула;

SEblock очень гибок для вставки в CNN, поэтому есть несколько способов. Три варианта: (1) блок SE-PRE, где блок SE перемещается перед остаточным блоком; (2) блок SE-POST, где блок SE перемещается после суммирования с ветвью тождества (после ReLU) и (3) )SE- Идентификационный блок, в котором блоки SE размещаются на идентификационных соединениях параллельно остаточным блокам. Эти варианты показаны на рисунке 5, а производительность каждого варианта представлена ​​в таблице 14. Мы наблюдаем аналогичную производительность SE-PRE, SE-Identity и предлагаемого блока SE.

Полная архитектура SE-ResNet✊

(Слева) РесНет-50. (В центре) SE-ResNet-50. (Справа) SE-ResNeXt-50 с шаблоном 32 × 4d. Форма и работа конкретных параметров остаточных блоков указаны в скобках, а количество блоков, сложенных в каскаде, показано снаружи. Внутренние скобки после Byfcin указывают выходные размеры двух полносвязных слоев в модуле SE.

эксперимент

предмет обсуждения

  1. Горизонтальный контраст

Чем меньше значение, тем лучше.

  1. Отрегулируйте коэффициент уменьшения

Коэффициент уменьшения null Количество нейронов в плотном слое 1

Бумажная рекомендация r = 16

  1. GAP v.s. GMP

Результаты показывают, что средний пул лучше

  1. Сравнение различных функций активации на стадии возбуждения

5. Различные местоположения блока SE Результаты показали, что результаты были схожими.

  1. Блок SE в разных позициях ResNet

Помещение всех блоков SE в него работает лучше всего! Вставка в глубокие слои немного лучше, чем в мелкие.

  1. Влияние наличия или отсутствия Squeeze

Должен быть эффект сжатия.

  1. Исследование возбуждения

Ранние слои являются более общими, более поздние слои более специфичны, а 5-2 — это точка перегиба.

Удаление более поздних слоев может уменьшить параметры, не слишком сильно влияя на модель.

Суммировать

SENet взвешивает количество каналов сверточного уровня, которые хорошо сочетаются с другими сетями (VGG, ResNet).

По сравнению с увеличением ширины модели (ширины в WRN, кардинальности в ResNeXt), глубины (глубины) и значения канала веса блока SE увеличенных параметров немного, увеличенный объем вычислений невелик, а эффект улучшения хороший.

И последнее, но не менее важное: счастливого Праздника Середины Осени!