Обучение без учителя: как метод SCAN классифицирует изображения без единой метки

Yannic Kilcher 50,5 тыс. 45 мин 4 мин 03.06.2020
Главное

В области компьютерного зрения долгое время доминировало обучение с учителем (supervised learning), требующее огромных размеченных датасетов. Однако группа исследователей (Вутер Ван Гансбеке, Симон Ван Дамм и др.) предложила метод SCAN, который позволяет классифицировать изображения, вообще не используя метки в процессе обучения. В своем видео Янник Килчер подробно разбирает статью «Learning To Classify Images Without Labels», объясняя, как комбинация самообучения, кластеризации и саморазмечивания позволяет достичь точности, сопоставимой с классическими методами.

🧠 Суть проблемы: как классифицировать то, что не названо? 2:20

Основной вопрос, который задают авторы исследования: можно ли автоматически классифицировать изображения без использования эталонных аннотаций (ground truth) и даже без предварительного знания самих классов .

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

🛠 Трехэтапный алгоритм: от пикселей к семантике 1:06

Авторы статьи предлагают отойти от существующих методов (например, DeepCluster) и использовать трехступенчатый процесс, в котором обучение признаков и кластеризация разделены :

  1. Самоуправляемое обучение (Self-Supervised Learning): получение качественных представлений (embeddings).
  2. Семантическая кластеризация: использование метода ближайших соседей.
  3. Тонкая настройка через саморазметку (Self-labeling): уточнение результатов.

Этап 1: Борьба с «низкоуровневыми» ловушками 9:01

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

Чтобы этого избежать, используется Self-Supervised Learning. Суть проста:

Этап 2: Поиск «соседей» и кластеризация SCAN 13:39

Вместо того чтобы просто запустить стандартный алгоритм k-means поверх полученных векторов, авторы обучают новую сеть (SCAN). Для каждого изображения находятся 5 ближайших соседей в пространстве признаков, полученном на первом этапе .

Основная идея этого этапа: если два изображения являются «соседями» (похожи по признакам), они должны получить одинаковую метку класса . В функцию потерь (loss function) закладываются два условия:

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

Янник признается, что во время разбора формул он сначала усомнился в утверждении авторов о том, что такая функция заставляет сеть выдавать «уверенные» (one-hot) предсказания. Однако после недолгих расчетов в прямом эфире он подтвердил правоту исследователей: из-за специфики нормализации векторов (L1-норма), максимизация скалярного произведения действительно поощряет сеть выбирать один конкретный класс, а не распределять вероятности между несколькими .

Этап 3: Саморазметка (Self-labeling) 28:04

На последнем этапе сеть начинает «учиться у самой себя». Она берет изображения, в классификации которых наиболее уверена (используется порог уверенности, например, 0.7), и использует эти предсказания как твердые метки для дальнейшего дообучения . Это позволяет уточнить границы между кластерами и отсеять «шумные» примеры.

📊 Результаты экспериментов: ImageNet и CIFAR-10 32:11

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

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

⚠️ Критика и «подводные камни» 44:11

Несмотря на восторг от технологического прорыва, Янник Kilcher указывает на важный нюанс — проблему выбора гиперпараметров.

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

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

Также обсуждалась проблема «избыточной кластеризации». Если заставить алгоритм искать 20 классов там, где их всего 10, точность падает, хотя теоретически должна расти из-за большей «щедрости» системы оценки. Это указывает на некоторую хрупкость предложенного подхода при масштабировании на неизвестное количество категорий .

💬 Цитаты

«Поразительно, что эти кластеры получены без каких-либо меток из датасета ImageNet.»

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

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

Янник Килчер 45:07
👥 Спикер
🔗 Упомянутые сайты и проекты
📖 Термины
Self-Supervised Learning
Метод обучения, где нейросеть сама создает для себя задачи на основе структуры данных, не требуя ручной разметки.
Ground Truth
Эталонные данные или «истинные» метки, с которыми сравнивается результат работы алгоритма.
L1-норма
Метод нормализации вектора, при котором сумма абсолютных значений его компонентов равна единице (часто используется для гистограмм вероятностей).
One-hot prediction
Состояние, при котором нейросеть выдает 100% уверенность в одном классе и 0% в остальных.
📊 Цифры
⚖️ Другая сторона
Искусственный интеллект SCAN Self-Supervised Learning ImageNet Yannic Kilcher Clustering