Сеть в нейроне, новое измерение: мощность

В этой статье рассматривается ResNeXt от Калифорнийского университета в Сан-Диего и Facebook AI Research (FAIR). Название модели ResNeXt содержит Next. Это означает следующее измерение поверх ResNet. Следующее измерение называется измерением мощности. И ResNeXt становится первым, занявшим второе место в задаче классификации ILSVRC.

По сравнению с ResNet (победитель в ILSVRC 2015, 3,57%) и PolyNet (2-й занявший второе место, 3,04%, название команды CU-DeepLink), ResNeXt попал в топ-5 ошибок 3,03%, что является большим относительным улучшением. около 15% !!

И он опубликован в 2017 CVPR, который уже получил более 500 ссылок, пока я писал этот рассказ. (Сик-Хо Цанг @ средний)

Что покрывается

  1. Агрегированное преобразование
  2. Связь с Inception-ResNet и групповая свертка в AlexNet
  3. Полное исследование архитектуры и абляции
  4. Результаты

1. Агрегированное преобразование

1.1. Возвращаясь к простому нейрону

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

  • Расщепление: вектор x нарезается как низкоразмерное вложение, и в приведенном выше примере это одномерное подпространство xi.
  • Преобразование: низкоразмерное представление преобразуется и в приведенном выше примере просто масштабируется: wixi.
  • Агрегирование: преобразования во всех вложениях агрегируются путем суммирования.

1.2. Агрегированные преобразования

В отличие от «Сеть-в-сети», это «Сеть-в-нейроне» расширяется в новом измерении. Вместо линейной функции в простом нейроне, который умножает на xi на каждом пути, для каждого пути выполняется нелинейная функция.

Введено новое измерение C, которое называется «Мощность». Параметр мощности определяет количество более сложных преобразований.

2. Связь с Inception-ResNet и Grouped Convolution в AlexNet

Для сравнения, указанные выше 3 блока имеют ОДИНАКОВЫЕ ВНУТРЕННИЕ РАЗМЕРЫ в каждом блоке.

(а) Блок ResNeXt (слева)

  • Для каждого пути Conv1 × 1 – Conv3 × 3 – Conv1 × 1 выполняются на каждом пути свертки. Это узкое место в блоке ResNet. Внутренний размер каждого пути обозначается как d (d = 4). Количество путей - это количество элементов C (C = 32). Если мы суммируем размерность каждого Conv3 × 3 (т.е. d × C = 4 × 32), это также размер 128.
  • Размер увеличивается непосредственно с 4 до 256, а затем складывается, а также добавляется путем пропуска пути подключения.
  • По сравнению с Inception-ResNet, которому необходимо увеличить размерность с 4 до 128, а затем до 256, ResNeXt требует минимальных дополнительных усилий при проектировании каждого пути.
  • В отличие от ResNet, в ResNeXt нейроны на одном пути не будут подключаться к нейронам на других путях.

(б) Блок Inception-ResNet (средний)

  • В Inception-v4 предлагается объединить модуль Inception и блок ResNet. Каким-то образом из-за устаревшей проблемы для каждого пути свертки сначала выполняются Conv1 × 1 – Conv3 × 3. При сложении (т.е. 4 × 32) Conv3 × 3 имеет размерность 128.
  • Затем выходные данные объединяются с размером 128. И Conv1 × 1 используется для восстановления размеров от 128 до 256.
  • Наконец, к выходным данным добавлен путь пропуска подключения.
  • Основное отличие состоит в том, что они имеют раннюю конкатенацию.

(c) Групповая свертка в AlexNet (справа)

  • Conv1 × 1 – Conv3 × 3 – Conv1 × 1 выполняются на пути свертки, что на самом деле является узким местом, предложенным в ResNet. Conv3 × 3 имеет размер 128.
  • Однако здесь используется групповая свертка, предложенная в AlexNet. Следовательно, этот Conv3 × 3 является более широким, но редко связанным модулем. (Поскольку нейроны на одном пути не будут соединяться с нейронами на других путях, поэтому он слабо связан.)
  • Таким образом, имеется 32 группы сверток. (2 группы только в AlexNet)
  • Затем происходит параллельное соединение пропуска и добавляется путь свертки. Таким образом, путь свертки изучает остаточное представление.

Хотя структуры в (b) и (c) не всегда совпадают с общей формой в уравнении, показанном в 1.2, действительно, авторы пробовали указанные выше три структуры, как показано выше, и обнаружили, что результаты совпадают.

Наконец, авторы решили реализовать структуру в (c), потому что она более лаконична и быстрее, чем две другие формы.

3. Полное исследование архитектуры и абляции

3.1. Исследование абляции C и d при одинаковой сложности

  • ResNet-50 - это частный случай ResNeXt-50 с C = 1, d = 64.
  • Для честного сравнения пробуются разные ResNeXt с разными C и d с аналогичной сложностью с ResNet. Это показано в средней правой части рисунка выше.
  • И обнаружено, что ResNeXt-50 (32 × 4d) получает 22,2% ошибок первой 1 для набора данных ImageNet-1K (1K означает 1K классов), в то время как ResNet-50 получает только 23,9% ошибок первой 1.
  • И ResNeXt-101 (32 × 4d) получает ошибку 21,2% первой первой для набора данных ImageNet, в то время как ResNet-101 получает только 22,0% ошибки первой 1.

3.2. Важность мощности

  • ResNet-200: 21,7% ошибок в первой и 5,8% в первой пятерке.
  • ResNet-101, более широкий: частота ошибок составляет только 21,3% и 5,7% ошибок, что означает, что только увеличение ширины не очень помогает.
  • ResNeXt-101 (2 × 64d): просто установив C = 2 (т. е. два пути свертки в блоке ResNeXt), очевидное улучшение уже получено с 20,7% ошибок первой и 5,5% первой пятерки.
  • ResNeXt-101 (64 × 4d): установив C = 64 (т. е. 64 пути свертки в блоке ResNeXt), уже достигнуто еще большее улучшение с коэффициентами ошибок 20,4% среди первых 1 и 5,3%. Это означает, что количество элементов важно для повышения точности классификации.

3.2. Важность остаточных соединений

Без остаточных соединений частота ошибок значительно увеличивается как для ResNet-50, так и для ResNeXt-50. Остаточные соединения важны.

4. Результаты

4.1. ImageNet-1K

ImageNet-1K - это подмножество набора данных ImageNet класса 22K, который содержит 1000 классов. Это также набор данных для задачи классификации ILSVRC.

  • Со стандартным размером изображения, используемым для тестирования одного урожая, ResNeXt-101 получает 20,4% первых 1 и 5,3% первых 5 ошибок,
  • С изображением большего размера, используемым для тестирования отдельных культур, ResNeXt-101 получает 19,1% первых и 4,4% лучших 5 ошибок, что дает лучшие результаты, чем все современные подходы, ResNet, Pre- Активация ResNet , Inception-v3 , Inception-v4 и Inception-ResNet-v2 .

4.2. ImageNet-5K

ImageNet-1K каким-то образом был насыщен после стольких лет разработки.

ImageNet-5K - это подмножество набора данных ImageNet класса 22K, который содержит 5000 классов, которые также содержат классы ImageNet-1K.

  • 6,8 миллиона изображений, 5 × набора данных ImageNet-1K.
  • Поскольку официального набора для обучения / проверки не существует, для оценки используется исходный набор проверки ImageNet-1K.
  • Классификация по 5 тысячам - это softmax по 5 тысячам классов. Таким образом, будут возникать автоматические ошибки, когда сеть прогнозирует метки для других классов 4K в наборе данных проверки ImageNet-1K.
  • Односторонняя классификация - это просто softmax для 1K классов.

ResNeXt, конечно, показал лучшие результаты, чем ResNet, как показано выше.

4.3. CIFAR-10 и CIFAR-100

CIFAR-10 и CIFAR-100, два очень известных набора данных класса 10 и 100.

  • Слева: По сравнению с ResNet, ResNeXt всегда дает лучшие результаты в CIFAR-10.
  • Справа: По сравнению с Wide ResNet (WRN), ResNeXt-29 (16 × 64d) дает ошибки 3,58% и 17,31% для CIFAR-10 и CIFAR-100 соответственно. Это были лучшие результаты среди всех современных подходов на тот момент.

4.4. Обнаружение объектов MS COCO

  • При подключении ResNet / ResNeXt к Faster R-CNN с аналогичной сложностью модели ResNeXt всегда превосходит ResNet как для AP@0,5 (IoU ›0,5), так и для среднего AP (средний прогноз) на всех уровнях IoU.

С успехом ResNeXt, он также используется Mask R-CNN, например, для сегментации. Надеюсь, что позже я смогу осветить и Mask R-CNN.

Ссылка

[2017 CVPR] [ResNeXt]
Агрегированные остаточные преобразования для глубоких нейронных сетей

Мои связанные обзоры по классификации изображений

[LeNet] [AlexNet] [ZFNet] [VGGNet] [SPPNet] [PReLU-Net] [GoogLeNet / Inception-v1] [BN-Inception / Inception-v2 ] [ Inception-v3 ] [ Inception-v4 ] [ Xception ] [ MobileNetV1 ] [ ResNet ] [ Pre-Activation ResNet ] [ RiR ] [ RoR ] [ Стохастическая глубина] [WRN] [PolyNet] [DenseNet]

Мои связанные обзоры по обнаружению объектов

[Быстрее R-CNN]