В новом видео популярный исследователь искусственного интеллекта Янник Килчер (Yannic Kilcher) подробно разбирает революционную технологию DINO, разработанную лабораторией Facebook AI Research. Этот метод самообучения (self-supervised learning) для архитектуры Vision Transformers позволяет нейросетям находить объекты на изображениях и сегментировать их вообще без использования размеченных данных. Разработка демонстрирует удивительные эмерджентные свойства, приближая компьютерное зрение к человеческому восприятию и открывая новую веху в беспричинном обучении моделей.
🧩 Основы архитектуры: Как устроены Vision Transformers 6:17
Для понимания принципов работы DINO необходимо разобраться в базовой структуре моделей Vision Transformers (ViT). Изначально трансформеры создавались для обработки естественного языка (NLP), где текст разбивается на отдельные слова или токены. Чтобы перенести эту логику на компьютерное зрение, разработчики применили элегантный подход разделения картинки на фрагменты.
Процесс подготовки данных для ViT состоит из нескольких последовательных шагов:
- Исходное изображение разбивается на сетку квадратных патчей (маленьких фрагментов).
- Двумерный массив полученных патчей «разворачивается» в одномерную последовательность.
- Каждый фрагмент пропускается через полносвязный слой для формирования векторного представления (токен-эмбеддинга).
- В начало полученной последовательности добавляется специальный служебный токен — CLS token (classification token).
В процессе прохождения через блоки трансформера механизм self-attention позволяет CLS-токену агрегировать информацию со всех остальных визуальных токенов изображения. На выходе из сети именно финальный вектор этого токена используется в качестве глобального представления всей картинки. Примечательно, что архитектура ViT не отдает изначального предпочтения какому-то конкретному участку кадра, обрабатывая все патчи равноправно.
🔄 Архитектура DINO: Метод сквозной самодистилляции 11:49
Название метода DINO расшифровывается как self-distillation with no labels (самодистилляция без меток). В отличие от классического контрастивного обучения (contrastive learning), здесь не используются негативные примеры, когда модели нужно явно указывать, какие изображения не похожи друг на друга. Вместо этого система обучается исключительно на сопоставлении различных вариантов («взглядов») одного и того же кадра.
В основе пайплайна DINO лежит концепция взаимодействия двух сетей — Студента (Student) и Учителя (Teacher). Процесс обработки данных выглядит следующим образом:
- Исходное изображение подвергается случайным трансформациям (аугментациям): поворотам, цветовому искажению, размытию и соляризации.
- Создаются «глобальные вырезки» (global crops), покрывающие более 50% площади изображения.
- Создаются «локальные вырезки» (local crops), занимающие менее 50% площади исходного кадра.
- Сеть-Учитель получает на вход только глобальные вырезки, обладающие широким контекстом.
- Сеть-Студент принимает как глобальные, так и локальные фрагменты.
Главная задача обучения заключается в том, чтобы заставить Студента по маленькому локальному фрагменту предсказывать то же самое глобальное представление, которое Учитель выдает для всей картинки целиком.
В классической дистилляции знаний Учитель — это заранее обученная большая замороженная модель, а Студент — обучаемая маленькая сеть. Однако в DINO обе сети имеют идентичную архитектуру, а Учитель строится непосредственно на базе Студента. Веса Учителя обновляются с помощью механизма экспоненциального скользящего среднего (EMA) от весов Студента. То есть Учитель представляет собой сглаженную во времени, более стабильную версию самого Студента.
🛡️ Борьба с коллапсом моделей: Центрирование и шарпенинг 18:00
Фундаментальная проблема обучения без учителя при отсутствии негативных примеров — риск тривиального коллапса модели (collapse). Если нейросеть начнет выдавать абсолютно одинаковый вектор для любого входного изображения, функция потерь станет нулевой, обучение остановится, а сама модель станет бесполезной. Для предотвращения этого разработчики Facebook AI Research применили комбинацию двух противоположных механизмов: центрирования (centering) и шарпенинга (sharpening).
Специфика стабилизации выходов в DINO реализуется через оригинальную интерпретацию финального слоя:
- Выходные векторы обеих сетей пропускаются через полносвязный слой без фиксированных меток классов. Модель фактически заставляют саму придумывать произвольное $K$-мерное пространство признаков.
- К выходам применяется функция Softmax, превращающая абстрактные логиты в распределение вероятностей (псевдоклассы).
- Внедряется параметр температуры распределения ($T$). При этом для Учителя устанавливается значительно более низкая температура, чем для Студента.
Заниженная температура Учителя (процесс шарпенинга) делает его распределение вероятностей более резким, пиковым и уверенным. Это дает Студенту четкий и не зашумленный целевой сигнал для обучения. Однако сам по себе шарпенинг стимулирует коллапс к одной доминирующей категории.
Чтобы сбалансировать систему, применяется центрирование: из логитов Учителя вычитается их скользящее среднее по всему датасету. Это смещает распределение в сторону равномерного и не позволяет сети постоянно выбирать один и тот же псевдокласс. На Учителя также накладывается запрет на прохождение градиента (stop-gradient), что делает его исключительно источником стабильных целей.
📊 Результаты тестов: Превосходство над классическими подходами 28:23
Модель DINO продемонстрировала выдающиеся результаты на бенчмарке ImageNet. При тестировании методом линейной оценки (когда веса обученной DINO замораживаются, а сверху обучается лишь один простой линейный слой) точность Top-1 достигла 80.1%. Это сопоставимо с лучшими результатами обучения с учителем и превосходит классические сверточные архитектуры ResNet примерно на 5%.
Более того, представления DINO оказались настолько качественными, что позволили реализовать полноценную классификацию вообще без дообучения весов — с помощью метода $k$-ближайших соседей ($k$-NN) в пространстве признаков. Нейросеть эффективно группирует похожие объекты в кластеры самостоятельно. Метод показал высочайшую эффективность в задачах поиска похожих изображений (image retrieval) и детектирования копий (copy detection).
Самым удивительным эмерджентным свойством DINO стала визуализация карт внимания (attention maps) CLS-токена. Без каких-либо явных подсказок и сегментационных масок в процессе обучения, трансформер научился с идеальной точностью выделять контуры объектов на сцене. Модель четко отделяет полосы на шкуре зебры, колеса от кузова грузовика и продолжает стабильно удерживать объект в фокусе внимания, даже когда он временно скрывается за препятствиями (например, корабль за волнами или лошадь за высокой травой).
В отличие от моделей с учителем, которые часто страдают от «поверхностного обучения» (shortcut learning) и цепляются за случайные фоновые маркеры ради быстрой оптимизации функции потерь, самообученная DINO формирует глубокое понимание структуры сцены. Ей несвойственна избыточная гипероптимизация под конкретную узкую задачу.
🧠 Философский взгляд: Почему это работает и в чём ограничения? 33:41
Анализируя феноменальный успех DINO, Янник Килчер выдвигает две ключевые гипотезы, объясняющие, почему алгоритм без разметки демонстрирует столь очеловеченные результаты сегментации.
Во-первых, по мнению исследователя, критически важную роль играют аугментации данных. Настраивая параметры цветового сдвига или кадрирования, инженеры фактически закладывают в систему «человеческие априорные знания» (human prior). Искусственно искажая яркость, создатели сообщают модели: «Яркость не имеет значения для определения сути объекта». Таким образом, через фильтры аугментаций в нейросеть неявно транслируются правила нашего восприятия физического мира. По мнению Килчера, для создания истинно автономного ИИ человечеству придется полностью отказаться от ручного проектирования аугментаций под конкретные домены.
Во-вторых, Янник Килчер обращает внимание на скрытый фактор формирования тренировочных датасетов. Даже если изображения собираются «в дикой природе» (например, парсятся из Instagram), они не являются статистически независимыми и одинаково распределенными (IID). Любой человек, делая снимок, подсознательно центрирует объект интереса и выделяет его на фоне — никто не выкладывает в соцсети пустую грунтовую дорогу без явного смыслового акцента.
Следовательно, сама структура человеческой фотографии уже содержит в себе подсказку о том, куда должно быть направлено внимание модели. Из-за этой особенности, по мнению Килчера, не стоит ожидать аналогичной высокой эффективности DINO в специфических сферах со случайными, не сфокусированными человеком потоками данных.