Янник Килчер: «Одного фото достаточно для обучения первых слоев нейросети»

Yannic Kilcher 10,8 тыс. 24 мин 3 мин 26.05.2020
Главное

Может ли одна-единственная фотография заменить миллионы размеченных изображений при обучении нейросетей? Янник Килчер (Yannic Kilcher) разбирает провокационную научную работу, авторы которой утверждают: для настройки первых слоев глубоких моделей гигантские датасеты избыточны.

🧠 Суть исследования: магия одного изображения 0:00

В центре внимания работа «A critical analysis of self-supervision, or what we can learn from a single image», авторами которой выступили Юки М. Асано, Кристиан Рупрехт и Андреа Ведальди. Исследователи задались вопросом: насколько эффективны популярные методы самообучения (self-supervision), такие как RotNet, DeepCluster и BiGAN, если ограничить их крайне малым объемом данных .

Основные выводы авторов:

🛠️ Механика самообучения на примере RotNet 1:39

Самообучение (self-supervision) — это подход, позволяющий извлекать полезные признаки из данных без использования меток, созданных человеком. Как отмечает Янник Килчер (Yannic Kilcher), это своего рода этап «предобучения», подготавливающий сеть к основной задаче .

В качестве примера рассматривается алгоритм RotNet:

  1. Берется изображение (например, цифра «3» из набора MNIST).
  2. Изображение случайным образом поворачивается на 0, 90, 180 или 270 градусов .
  3. Нейросети ставится задача угадать угол поворота.
  4. Поскольку алгоритм сам знает, на какой угол он повернул картинку, он автоматически создает «фейковые» метки для обучения .

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

🖼️ Эксперимент: три картинки и «небольшая хитрость» 4:29

Авторы выбрали три конкретных изображения для своих тестов:

Янник Килчер (Yannic Kilcher) указывает на то, что утверждение об обучении на «одном изображении» содержит долю лукавства. Эти исходные изображения имеют очень высокое разрешение. При обучении сеть видит не одну картинку, а множество фрагментов (патчей) этого изображения, что технически превращает одну большую фотографию в мини-датасет .

📏 Проблема линейных зондов (Linear Probes) 6:27

Для оценки качества обученных представлений авторы использовали метод линейных зондов. Суть метода:

  1. Берется обученная нейросеть с замороженными весами .
  2. На выход каждого слоя (h1, h2, h3...) «навешивается» простой линейный классификатор .
  3. Измеряется точность этого классификатора в целевой задаче (например, классификации ImageNet).

Янник Килчер (Yannic Kilcher) выражает серьезный скепсис относительно этого метода . По его мнению, приравнивание «полезности признаков» к их «линейной разделимости» — это слишком сильное и спорное допущение. Информация о метке содержится уже во входных данных и в первом слое, просто она нелинейна . Если линейный зонд показывает плохой результат на первом слое, это не значит, что слой бесполезен — это значит, что информация в нем еще не структурирована в линейно разделимый вид, удобный для простого классификатора .

📊 Результаты: где самообучение пасует? 11:13

Эксперименты показали поразительные цифры: на первом слое (Layer 1) самообучение на одном изображении дает 100% от производительности сети, обученной с учителем на всем ImageNet . Для сравнения, случайная инициализация весов дает лишь около 60% точности при проверке линейным зондом .

Однако по мере углубления в сеть ситуация меняется:

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

💬 Цитаты

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

Янник Килчер 10:33

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

Янник Килчер 06:14
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Self-supervision
Метод обучения нейросетей, где метки для данных создаются автоматически из самих данных без участия человека.
Linear Probe
Простой линейный слой, обучаемый поверх замороженной нейросети для оценки качества извлеченных признаков.
RotNet
Алгоритм самообучения, обучающий сеть предсказывать угол поворота изображения.
Аугментация данных
Методика создания новых тренировочных данных путем трансформации существующих (повороты, обрезка, цветокоррекция).
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект Yannic Kilcher self-supervision RotNet linear probes нейросети