Янник Кильхер: «Инволюция — новый убийца сверточных нейросетей?»

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

В этом выпуске Янник Кильхер (Yannic Kilcher) анализирует исследовательскую работу, представляющую инновационный оператор для компьютерного зрения под названием Involution (инволюция). Исследователи из Гонконгского университета науки и технологий, ByteDance AI Lab и Пекинского университета предлагают переосмыслить фундаментальные принципы работы сверточных нейронных сетей (CNN).

🧠 Что такое инволюция? 0:29

По мнению авторов работы, современные нейросети для зрения по-прежнему сильно зависят от классических сверток, несмотря на растущую популярность трансформеров. Идея инволюции заключается в «инверсии» классических принципов построения сверточных слоев.

Сравнение принципов работы

Классическая свертка обладает двумя ключевыми свойствами:

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

Как устроена инволюция

Вместо статичного набора весов инволюция генерирует ядро «на лету» для каждого конкретного пикселя.

  1. Динамическая генерация: Для каждого пикселя используется небольшая двухслойная нейросеть («узкое горлышко»), которая на основе значений самого пикселя вычисляет веса ядра.
  2. Вещание (broadcasting): Вместо создания разных ядер для каждого канала, используется одно ядро, которое транслируется (broadcast) по всем каналам.
  3. Отсутствие свертки (aggregation): Это позволяет избежать лишних операций редукции, существенно сокращая количество параметров.

По словам Янника Кильхера, такой подход делает инволюцию «золотой серединой» между классической сверткой и механизмом self-attention.

⚖️ Связь с механизмом внимания (Attention) 19:57

Авторы утверждают, что инволюция концептуально близка к механизмам внимания, так как веса вычисляются динамически на основе входных данных. Однако Кильхер отмечает важные различия:

Кильхер замечает, что утверждение авторов о том, что self-attention является лишь «усложненной версией инволюции», может быть некоторым преувеличением, однако сама идея вычисления весов на лету представляется ему весьма перспективной.

📊 Результаты и эффективность 25:24

В экспериментах, проведенных на наборе данных ImageNet, сети на основе инволюции показали впечатляющие результаты в сравнении с ResNet:

Янник Кильхер полагает, что успех инволюции обусловлен эффективным механизмом совместного использования весов (weight sharing). При этом он выражает осторожный оптимизм: хотя архитектура отлично работает на стандартных задачах, еще предстоит выяснить, как она поведет себя при масштабировании на сверхбольшие объемы данных, где трансформеры могут оказаться эффективнее.

💬 Цитаты

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

Янник Кильхер 0:29

«Если вы не работаете с задачами колоссального масштаба, сверточные нейросети остаются лучшим выбором.»

Янник Кильхер 1:51
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Свертка (Convolution)
Операция в нейросетях, при которой ядро с весами скользит по изображению, извлекая признаки.
Self-attention
Механизм, позволяющий модели оценивать важность различных частей входных данных относительно друг друга.
Трансляционная инвариантность
Способность нейросети распознавать объект независимо от его положения на изображении.
4D-тензор
Многомерный массив данных, используемый для представления весов сверточных ядер в глубоком обучении.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Involution Convolutional Neural Networks Computer Vision Yannic Kilcher