XYZNOT

Статьи · arXiv 1512.03385

Глубокое остаточное обучение для распознавания изображений

Deep Residual Learning for Image Recognition

Опубликовано cs.CV arXivPDF

Читать с переводом и ИИ

Кратко в трёх строках

  1. 🎯 Более глубокие обычные (plain) сети страдают от проблемы деградации оптимизации: увеличение глубины приводит к росту ошибки обучения, несмотря на отсутствие затухания градиентов.
  2. 🔧 Стеки слоев реформулированы для аппроксимации остаточного отображения с помощью беспараметрических identity shortcut соединений .
  3. 📈 Обеспечено обучение сетей глубиной до 152 слоев на ImageNet (ошибка top-5 ансамбля 3,57%) и завоевано 1-е место на соревнованиях ILSVRC и COCO 2015.

Аннотация

Более глубокие нейронные сети сложнее обучать. Мы представляем фреймворк остаточного обучения (residual learning), облегчающий оптимизацию сетей, которые существенно глубже использовавшихся ранее. Мы явно реформулируем слои как обучающие функции остатка относительно входных данных слоя вместо поиска абсолютных отображений. Мы приводим исчерпывающие эмпирические доказательства того, что эти остаточные сети (ResNet) легче оптимизировать и они могут повышать точность за счет значительно увеличенной глубины. На датасете ImageNet мы оцениваем сети глубиной до 152 слоев — в 8 раз глубже VGG, но обладающие меньшей вычислительной сложностью. Ансамбль таких сетей достиг ошибки 3,57% на тестовой выборке ImageNet. Этот результат занял 1-е место в задаче классификации ILSVRC 2015. Мы также представляем анализ на CIFAR-10 со 100 и 1000 слоями. Глубина репрезентаций имеет центральное значение для многих задач визуального распознавания. Исключительно благодаря нашим сверхглубоким репрезентациям мы получили 28% относительного улучшения на датасете детекции объектов COCO. Глубокие остаточные сети стали основой наших заявок на конкурсы ILSVRC & COCO 2015, где мы также заняли первые места в задачах ImageNet detection, ImageNet localization, COCO detection и COCO segmentation.

Оригинальная аннотация (англ.)

Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions with reference to the layer inputs, instead of learning unreferenced functions. We provide comprehensive empirical evidence showing that these residual networks are easier to optimize, and can gain accuracy from considerably increased depth. On the ImageNet dataset we evaluate residual nets with a depth of up to 152 layers---8x deeper than VGG nets but still having lower complexity. An ensemble of these residual nets achieves 3.57% error on the ImageNet test set. This result won the 1st place on the ILSVRC 2015 classification task. We also present analysis on CIFAR-10 with 100 and 1000 layers. The depth of representations is of central importance for many visual recognition tasks. Solely due to our extremely deep representations, we obtain a 28% relative improvement on the COCO object detection dataset. Deep residual nets are foundations of our submissions to ILSVRC & COCO 2015 competitions, where we also won the 1st places on the tasks of ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation.

Разбор статьи

Проблема и мотивация

Глубина сети критически важна для формирования признаков визуального распознавания, однако простое наращивание слоев вскрывает фундаментальную проблему деградации (degradation problem): по мере роста глубины точность насыщается, а затем стремительно падает. Важно, что эта деградация не вызвана переобучением — более глубокие сети демонстрируют более высокую ошибку именно на обучающей выборке, чем их более мелкие аналоги, несмотря на то, что такие методы, как Batch Normalization и нормализованная инициализация, гарантируют отсутствие затухания прямых активаций и обратных градиентов.

Теоретически более глубокая модель заведомо способна выучить тривиальное решение (identity mapping): достаточно скопировать обученную более мелкую модель и настроить дополнительные слои как тождественные преобразования. Однако стандартные методы оптимизации не способны найти это решение, когда обучают неявные нелинейные отображения с нуля.

Ключевые идеи

  • Фреймворк остаточного обучения (Residual Learning Framework): Вместо аппроксимации целевого отображения цепочкой слоев, они явно обучаются остаточному отображению . Исходное отображение восстанавливается как .
  • Identity Shortcut Connections: Реализуют операцию через сквозные связи, пропускающие один или несколько слоев. Такие соединения не требуют дополнительных параметров и практически не создают вычислительных накладных расходов.
  • Упрощение оптимизации и предобусловливание: Если тождественные отображения оптимальны, оптимизатору достаточно просто свести остаточные веса к нулю. На практике амплитуды выходов остаточных функций невелики, что указывает на эффективное предобусловливание за счет identity connections.
  • Архитектура Bottleneck: Для очень глубоких вариантов (ResNet-50, ResNet-101, ResNet-152) 2-слойные остаточные блоки заменяются на 3-слойные bottleneck-блоки (свертки , , ), что снижает вычислительные затраты при сохранении выразительной способности.

Метод

Для базового остаточного блока, в котором размерности входа и выхода совпадают: где и — векторы входа и выхода, а для 2-слойного блока (где обозначает ReLU, а свободные члены опущены для простоты). Поэлементное сложение выполняется перед применением второй функции активации ReLU .

Когда размерности карт признаков меняются (например, при пространственном уменьшении или удвоении числа каналов): Здесь представляет собой один из вариантов:

  • Вариант A: Дополнение нулями недостающих измерений (zero-padding) с сохранением identity shortcuts (со страйдом 2 для даунсемплинга), что не требует дополнительных параметров.
  • Вариант B: Линейная проекция сверткой (), используемая только при несовпадении размерностей, при этом для остальных блоков используются строгие identity-соединения.
  • Вариант C: Проекционные связи для абсолютно всех остаточных блоков.

В статье для моделей ImageNet (ResNet-50/101/152) принят Вариант B, поскольку Вариант C приводит к избыточному росту числа параметров без значимого прироста качества, а чистые identity-связи критически важны для сохранения эффективности bottleneck-структур.

Результаты

  • Классификация на ImageNet:
    • ResNet-34 превосходит plain-34 на 3,5% по ошибке top-1 (25,03% против 28,54% на 10-crop валидации) и полностью решает проблему деградации обучения.
    • ResNet-152 демонстрирует ошибку top-5 на валидации в 4,49% для одиночной модели (11,3 млрд FLOPs, что по сложности ниже VGG-16 с 15,3 млрд FLOPs).
    • Ансамбль ResNet достиг ошибки top-5 в 3,57% на тестовом наборе, выиграв 1-е место в соревновании классификации ILSVRC 2015.
  • CIFAR-10: Глубина ResNet масштабируется без проблем через 20, 32, 44, 56 и 110 слоев; ResNet-110 достигает ошибки на тесте 6,43%. Экспериментальная сеть из 1202 слоев была успешно обучена без сбоев оптимизации (ошибка обучения ).
  • Downstream-задачи и трансферное обучение: Замена VGG-16 на ResNet-101 в составе Faster R-CNN повысила метрику mAP@[.5, .95] на MS COCO с 21,2% до 27,2% (относительный прирост 28%), а mAP на PASCAL VOC 2007 test — с 73,2% до 76,4%. Глубокие остаточные сети также заняли 1-е место в ImageNet detection, ImageNet localization, COCO detection и COCO segmentation.

Ограничения и открытые вопросы

  • Переобучение на ультраглубоких архитектурах: На датасете CIFAR-10 модель из 1202 слоев показала более высокую ошибку на тесте (7,93%), чем ResNet-110 (6,43%), несмотря на ошибку обучения , из-за нехватки регуляризации для небольшого набора данных.
  • Теоретическая природа деградации: Статья экспериментально доказывает, что причина не в затухании градиентов, и выдвигает гипотезу об экспоненциально низкой скорости сходимости plain-сетей, оставляя строгое теоретическое доказательство динамики оптимизации для будущих исследований.
  • Однослойные остаточные блоки: Формулировка остаточного обучения не дает заметного эффекта, когда состоит всего из одного слоя (сводясь к ).

Ключевые термины

degradation problem (проблема деградации)
Парадоксальное явление, при котором увеличение глубины нейросети приводит к более высокой ошибке обучения, несмотря на отсутствие проблемы затухающих или взрывающихся градиентов.
residual learning (остаточное обучение)
Реформулирование слоев нейросети для явного изучения функции остатка относительно их входов вместо непосредственной аппроксимации абсолютного отображения .
identity shortcut connection
Беспараметрическая сквозная связь, передающая входной вектор или карту признаков без изменений и складывающая их поэлементно с выходом цепочки сверточных слоев.
projection shortcut (проекционное соединение)
Сквозная связь, использующая линейную матрицу преобразования или свертку () для выравнивания размерностей при несовпадении числа каналов или пространственного разрешения входа и выхода.
bottleneck design (бутылочное горлышко)
3-слойный остаточный блок, состоящий из сверток , и , где слои сначала сжимают, а затем восстанавливают размерность каналов для снижения вычислительной сложности.
plain network (обычная сеть)
Базовая архитектура сверточной нейросети, представляющая собой последовательное соединение стандартных сверточных слоев и пулинга без сквозных (shortcut) или остаточных связей.

Вопросы

Почему проблема деградации не вызвана затуханием градиентов?

Сети обучались с использованием Batch Normalization и нормализованной инициализации весов, что гарантировало ненулевую дисперсию сигналов при прямом проходе и адекватную норму градиентов при обратном распространении. Кроме того, более глубокие сети (например, plain-34) все же сходились к нетривиальным решениям, но сходимость происходила с большей ошибкой на обучении, чем у мелких сетей.

В чем разница между identity shortcut в ResNet и сетями Highway Networks?

В Highway Networks используются параметризованные механизмы гейтинга, зависящие от входных данных, которые могут «закрываться» и переставать быть остаточными. В ResNet identity shortcuts не содержат параметров, никогда не закрываются и гарантируют сквозное остаточное обучение на всех этапах.

Когда используется проекция вместо тождественного пропуска (identity shortcut)?

Проекция (свертка ) применяется преимущественно тогда, когда размерности входа и выхода не совпадают (например, при удвоении числа каналов и уменьшении пространственного разрешения вдвое шагом со страйдом 2). При равных размерностях чистые identity-связи достаточны, более экономичны и не раздувают число параметров в bottleneck-блоках.

Почему ResNet-1202 показала худший результат на CIFAR-10, чем ResNet-110?

ResNet-1202 пострадала от переобучения, а не от сбоя оптимизации. Модель успешно достигла ошибки обучения , однако ее 19,4 млн параметров оказались избыточными для столь небольшого датасета, как CIFAR-10, без применения дополнительной регуляризации вроде dropout.

Обзор на этой странице написан ИИ по тексту статьи и может содержать ошибки. Подробности смотрите в самой статье.

Читать с переводом и ИИ