Может ли одна-единственная фотография заменить миллионы размеченных изображений при обучении нейросетей? Янник Килчер (Yannic Kilcher) разбирает провокационную научную работу, авторы которой утверждают: для настройки первых слоев глубоких моделей гигантские датасеты избыточны.
🧠 Суть исследования: магия одного изображения 0:00
В центре внимания работа «A critical analysis of self-supervision, or what we can learn from a single image», авторами которой выступили Юки М. Асано, Кристиан Рупрехт и Андреа Ведальди. Исследователи задались вопросом: насколько эффективны популярные методы самообучения (self-supervision), такие как RotNet, DeepCluster и BiGAN, если ограничить их крайне малым объемом данных .
Основные выводы авторов:
- Первые несколько слоев сверточной нейросети (CNN) можно обучить на одном единственном изображении так же эффективно, как на миллионах картинок с ручной разметкой .
- Для этого необходима экстремально сильная аугментация данных .
- Однако для глубоких слоев разрыв в качестве между самообучением и обучением с учителем (manual supervision) остается непреодолимым, даже если использовать миллионы неразмеченных изображений .
🛠️ Механика самообучения на примере RotNet 1:39
Самообучение (self-supervision) — это подход, позволяющий извлекать полезные признаки из данных без использования меток, созданных человеком. Как отмечает Янник Килчер (Yannic Kilcher), это своего рода этап «предобучения», подготавливающий сеть к основной задаче .
В качестве примера рассматривается алгоритм RotNet:
- Берется изображение (например, цифра «3» из набора MNIST).
- Изображение случайным образом поворачивается на 0, 90, 180 или 270 градусов .
- Нейросети ставится задача угадать угол поворота.
- Поскольку алгоритм сам знает, на какой угол он повернул картинку, он автоматически создает «фейковые» метки для обучения .
Этот метод работает удивительно хорошо, но данное исследование идет дальше, доказывая, что даже для таких манипуляций не нужен гигантский архив данных.
🖼️ Эксперимент: три картинки и «небольшая хитрость» 4:29
Авторы выбрали три конкретных изображения для своих тестов:
- Изображение A: Переполненная городская сцена с множеством объектов, людей, зданий и сложным освещением. Она выбрана из-за богатства визуальной статистики .
- Изображение B: Рисунок (не натурное фото) с большим количеством деталей, призванный показать разницу между природной и искусственной статистикой .
- Изображение C: Сцена с большими пустыми пространствами, выступающая в роли контрольного образца .
Янник Килчер (Yannic Kilcher) указывает на то, что утверждение об обучении на «одном изображении» содержит долю лукавства. Эти исходные изображения имеют очень высокое разрешение. При обучении сеть видит не одну картинку, а множество фрагментов (патчей) этого изображения, что технически превращает одну большую фотографию в мини-датасет .
📏 Проблема линейных зондов (Linear Probes) 6:27
Для оценки качества обученных представлений авторы использовали метод линейных зондов. Суть метода:
- Берется обученная нейросеть с замороженными весами .
- На выход каждого слоя (h1, h2, h3...) «навешивается» простой линейный классификатор .
- Измеряется точность этого классификатора в целевой задаче (например, классификации ImageNet).
Янник Килчер (Yannic Kilcher) выражает серьезный скепсис относительно этого метода . По его мнению, приравнивание «полезности признаков» к их «линейной разделимости» — это слишком сильное и спорное допущение. Информация о метке содержится уже во входных данных и в первом слое, просто она нелинейна . Если линейный зонд показывает плохой результат на первом слое, это не значит, что слой бесполезен — это значит, что информация в нем еще не структурирована в линейно разделимый вид, удобный для простого классификатора .
📊 Результаты: где самообучение пасует? 11:13
Эксперименты показали поразительные цифры: на первом слое (Layer 1) самообучение на одном изображении дает 100% от производительности сети, обученной с учителем на всем ImageNet . Для сравнения, случайная инициализация весов дает лишь около 60% точности при проверке линейным зондом .
Однако по мере углубления в сеть ситуация меняется:
- Для второго слоя точность самообучения начинает падать относительно эталона .
- На глубоких слоях разрыв становится огромным. Даже использование миллионов неразмеченных картинок не позволяет достичь качества обучения с учителем .
- Аугментация (повороты, искажения, изменение цвета) одного изображения оказалась важнее, чем добавление новых уникальных фотографий в датасет для обучения первых слоев .
Визуальный анализ фильтров, полученных из одного изображения, подтверждает: сеть успешно учится распознавать границы, текстуры и базовые геометрические формы (фильтры Габора), которые универсальны для всех естественных изображений .