Недавно исследователи из Facebook AI, Национального университета Сингапура и Qihoo 360 совместно предложили новую операцию свертки (OctConv) для замены существующей общей свертки. Эта новая свертка не только требует меньше памяти и вычислений, но и помогает повысить производительность.
Сверточная нейронная сеть(CNN) добилась выдающихся достижений во многих задачах компьютерного зрения, но за высокой точностью стоит высокая избыточность и значительные вычислительные затраты.
Для операции свертки (рис. 1) каждая позиция представлена D-мерным вектором признаков, а извлечение признаков заключается в обработке каждой позиции отдельно посредством скользящей свертки для получения соответствующего признака.
Однако эта стратегия сохранения выражения признака для каждого местоположения и обработки их по одному явно неразумна. Потому что для изображений соседние позиции часто описывают одну и ту же семантику, таким образом, разделяя некоторые признаки.
В то же время ядра свертки, изученные CNN, не все являются высокочастотными ядрами свертки, как показано на рисунке 2. Это означает, что одна часть свертки фокусируется на извлечении «низкочастотных признаков», а другая — на извлечении «высокочастотных признаков». Для карты признаков, соответствующей низкочастотной свертке, нам может понадобиться только сохранить ее низкочастотный сигнал, и нет необходимости хранить карту признаков с высоким разрешением.
Как показано на рисунке 3, в этой статье предлагается разделить карты признаков на две группы: низкочастотные признаки (синие) и высокочастотные признаки (оранжево-красные), а также хранить «карты низкочастотных признаков», которые медленно изменяются в пространство в тензорах с низким разрешением, общие функции между соседними местоположениями. OctConv, предложенный в этой статье, представляет собой операцию свертки, которая может напрямую воздействовать на выражение признака. Он содержит обновления собственного состояния каждой частоты (зеленые стрелки), а также обмен информацией между частотами (красные стрелки).
Название Octave Convolution (OctConv) должно быть вдохновлено функциями SIFT. Октава означает восемь гамм, а 8 ступеней вниз в музыке означают, что частота уменьшается вдвое. В этой статье используется октава, чтобы изолировать высокочастотные и низкочастотные функции в разные группы и вдвое уменьшить разрешение низких частот.
Исследователи указали, что OctConv можно напрямую использовать для замены существующей свертки, и он работает по принципу plug-and-play, без настройки параметров и не влияет на структуру сети и размер модели CNN. Поскольку OctConv фокусируется на уменьшении избыточности пространственных измерений CNN, он является ортогональным и дополняет существующие методы, которые сосредоточены на проектировании топологии сети и упрощении сокращения сетевых характеристик.
Эксперименты показывают, что замена обычной свертки на OctConv может стабильно улучшать существующие 2D сети CNN (включаяResNet, ResNeXt,DenseNet, MobileNet, SE-Net) для повышения эффективности распознавания изображений в ImageNet, а также может постоянно улучшать 3D-сети CNN (C2D, I3D) и повышать производительность в Kinetics (набор данных для распознавания линейных видеодействий). Oct-ResNet-152 с OctConv даже сравним с современными сетями автоматического поиска (NAS, PNAS и т. д.).
Документ: Отбросьте октаву: уменьшение пространственной избыточности в сверточных нейронных сетях с помощью октавной свертки
Адрес бумаги:export.AR West V.org/PDF/1904.05…
Сторонние результаты воспроизведения:GitHub.com/Terry cart вы…
В естественных изображениях информация передается на разных частотах, где более высокие частоты обычно кодируются в деталях, а более низкие частоты обычно кодируются в общей структуре. Точно так же выходную карту объектов сверточного слоя также можно рассматривать как смесь информации с разными частотами.
В этой статье мы предлагаем декомпозировать карты смешанных объектов на основе частоты и разработать новую операцию октавной свертки (OctConv) для хранения и обработки пространственно меняющихся «более медленных» карт объектов с более низким пространственным разрешением, тем самым уменьшая затраты памяти и вычислений.
В отличие от существующих многомасштабных методов, OctConv представляет собой единый модуль свертки общего назначения и plug-and-play, который может напрямую заменить (обычные) свертки без каких-либо изменений в сетевой архитектуре. OctConv является ортогональным и дополняет те, которые используются для построения лучших топологий или уменьшения избыточности каналов в сгруппированных или глубинных свертках.
Эксперименты показывают, что, заменив обычные свертки на OctConv, исследователи могут постоянно повышать точность задач распознавания изображений и видео при одновременном снижении затрат памяти и вычислительных ресурсов. ResNet-152, оснащенный OctConv, может достичь 82,9% точности классификации топ-1 в ImageNet всего с 22,2 гигафлопс.
метод
В этом разделе мы сначала вводим представление объектов, используемое для уменьшения пространственной избыточности в картах объектов, а затем описываем свертки Octave, которые действуют непосредственно на это представление (рис. 4). Исследователи также обсуждают детали реализации, показывая, как OctConv может быть включен в сгруппированные и глубокие сверточные архитектуры.
Здесь есть кое-что очень интересное. Исследователи указали, что понижение частоты дискретизации с помощью свертки приводит к тому, что карты объектов не выровнены точно. Для понижения частоты дискретизации рекомендуется использовать операции объединения.
Экспериментальная оценка
В этом разделе исследователи проверяют производительность и эффективность предлагаемой свертки Octave для 2D- и 3D-сетей. Исследователи сначала представляют исследование контрольных переменных для классификации изображений на ImageNet, а затем сравнивают его с текущими современными методами. Впоследствии, используя наборы данных Kinetics-400 и Kinetics-600, исследователи показали, что предложенный OctConv также работает для 3D CNN. Лучшие результаты по каждой категории/блоку выделены в статье жирным шрифтом.