Involution против CNN: как работают динамические ядра в Vision

Yannic Kilcher 25,4 тыс. 30 мин 2 мин 08.05.2021
Главное

Революция в сверточных сетях: концепция Involution 0:00

Традиционные сверточные нейронные сети (CNN) долгие годы оставались стандартом в задачах компьютерного зрения, начиная от архитектуры AlexNet и заканчивая ResNet. Однако исследователи из Гонконгского университета науки и технологий, ByteDance AI Lab и Пекинского университета представили альтернативный подход — операцию Involution. По мнению автора канала Янника Килчера, данный метод предлагает эффективный компромисс между классическими свертками и механизмами селф-аттеншн (self-attention), позволяя достичь высокой производительности при значительно меньшем количестве параметров и вычислительных затрат.

Принципы работы стандартной свертки 3:01

Чтобы понять суть инновации, необходимо проанализировать фундаментальные принципы классической свертки, которые авторы предлагают «инвертировать»:

  1. Пространственная агностичность (Spatial Agnostic): Сверточный фильтр (ядро) обладает свойством трансляционной инвариантности. Применяя одно и то же ядро ко всему изображению, сеть выполняет идентичные вычисления независимо от расположения объекта, что является формой совместного использования весов (weight sharing).
  2. Канальная специфичность (Channel Specific): В стандартных CNN ядра представляют собой четырехмерные тензоры. Для каждого выходного канала создается свой набор весов, так как каждый канал призван распознавать специфические признаки (например, наличие углов, краев или конкретных объектов).

Философия Involution: переосмысление дизайна 10:32

Авторы Involution предлагают изменить эти принципы, внедрив пространственную специфичность и канальную агностичность.

Такой механизм делает вычисления «пространственно специфичными»: даже при прохождении одного и того же изображения, для разных областей будут использоваться разные веса, адаптированные под конкретные локальные особенности.

Связь с механизмом внимания и результаты 19:42

Янник Килчер отмечает, что Involution имеет сходство с механизмами внимания (self-attention), так как оба подхода используют «быстрые веса» (fast weights), вычисляемые непосредственно из данных. Однако в Involution отсутствует квадратичная сложность взаимодействия элементов, характерная для классического аттеншн-механизма, и нет необходимости в явной подаче позиционных кодировок, так как модель уже «знает» о расположении пикселей благодаря динамической генерации весов.

Эксперименты показывают многообещающие результаты:

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

💬 Цитаты

«Involution — это нечто среднее между сверткой и механизмом внимания.»

Янник Килчер 00:29

«Это очень интересная разработка для всех, кто не работает с задачами сверхбольшого масштаба.»

Янник Килчер 00:55
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Свертка (Convolution)
Математическая операция, лежащая в основе CNN, при которой ядро фильтра скользит по изображению для извлечения признаков.
Трансляционная инвариантность
Способность нейросети распознавать объект независимо от того, в какой части кадра он находится.
Self-attention
Механизм, позволяющий модели динамически определять важность различных частей входных данных относительно друг друга.
Абляция (Ablation study)
Метод научного исследования, при котором поочередно удаляются отдельные компоненты системы для оценки их вклада в общий результат.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Involution Computer Vision CNN