Linear Probing
Узнай, как линейное зондирование оценивает замороженные ИИ-представления с помощью логистической регрессии, извлечения признаков и эмбеддингов Ultralytics YOLO26 для трансфертного обучения.
Линейное зондирование — это метод оценки и адаптации, который измеряет полезность выученных представлений модели путем обучения простого линейного предиктора поверх замороженных признаков. Предобученный энкодер остается неизменным, в то время как на размеченных данных настраивается только линейный слой, часто представляющий собой логистическую регрессию для классификации. Высокая эффективность зонда говорит о том, что эмбеддинги энкодера уже упорядочивают соответствующие концепты так, что их можно разделить простыми решающими границами.
В машинном обучении этот термин не связан с линейным пробированием в хеш-таблицах, где соседние ячейки памяти проверяются после коллизии. В сфере ИИ и глубокого обучения он относится конкретно к исследованию представления с помощью линейной модели.
Как работает линейное зондирование#
Типичная нейронная сеть содержит энкодер или бэкбон, который преобразует исходные входные данные в вектор признаков, за которым следует специализированная голова предсказания. Линейное зондирование состоит из четырех шагов:
- Предобучить или загрузить энкодер.
- Заморозить его параметры, чтобы обучение не могло их обновить.
- Выполнить извлечение признаков на размеченных примерах.
- Обучить линейный классификатор, используя эти фиксированные признаки.
Для многоклассовой классификации в качестве зонда обычно используется один плотный слой с выводом softmax или классификатор логистической регрессии scikit-learn. Хотя логистическая регрессия включает в себя нелинейное преобразование вероятностей, ее оценки классов и решающие границы являются линейными функциями входных признаков.
Линейное зондирование особенно распространено в самоконтролируемом обучении, где энкодер учится на неразмеченных данных. Пример Keras NNCLR демонстрирует это путем обучения плотного классификатора поверх признаков замороженного энкодера. Поскольку зонд имеет ограниченную емкость, он не может легко компенсировать слабые представления за счет изучения сложных нелинейных преобразований.
Что показывает эффективность линейного зонда#
Линейный зонд проверяет, присутствует ли информация в представлении и является ли она легко доступной. Если изображения кошек и собак образуют разделимые группы в пространстве эмбеддингов, линейный классификатор может различить их с помощью небольшого числа обучаемых параметров. Если информация закодирована через более сложную структуру, нелинейный классификатор может добиться успеха даже тогда, когда линейный зонд работает плохо.
Поэтому точность зонда следует рассматривать как диагностический инструмент, а не как полную мерку качества модели. На нее могут влиять:
- Выбранный слой энкодера и размерность эмбеддинга.
- Входное разрешение и предобработка.
- Количество и сбалансированность размеченных обучающих данных.
- Регуляризация, применяемая к линейной модели.
- Утечка данных между обучающей и оценочной выборками.
Используй отложенный набор данных валидации, желательно созданный с помощью воспроизводимой стратифицированной процедуры, такой как утилита разделения на train-test в scikit-learn. Помимо точности, отчет о метриках классификации может выявить классы, которые представление разделяет непоследовательно.
Линейное зондирование против связанных методов#
Линейное зондирование относится к более широкому семейству методов переноса и оценки представлений, но здесь важен ряд различий:
- Линейное зондирование против тонкой настройки: Зонд обновляет только линейную голову. Тонкая настройка обновляет некоторые или все веса энкодера, давая модели большую гибкость, но требуя дополнительных вычислений и увеличивая риск переобучения. В руководстве по трансферному обучению TensorFlow описано замораживание базовой модели с ее последующим возможным размораживанием для тонкой настройки.
- Линейное зондирование против извлечения признаков: Извлечение признаков создает эмбеддинги; линейное зондирование обучает предиктора на этих эмбеддингах и оценивает его.
- Линейное зондирование против линейной регрессии: Линейная регрессия предсказывает непрерывные значения. Зонды классификации обычно предсказывают дискретные классы с помощью логистической регрессии или слоя softmax.
- Линейное зондирование против оценки методом ближайших соседей: Линейный зонд изучает границы классов. Методы ближайших соседей классифицируют сэмплы в соответствии с близлежащими сохраненными эмбеддингами без обучения этих границ. В руководстве по трансферному обучению PyTorch тесно связанный рабочий процесс с замороженным энкодером называется фиксированным экстрактором признаков.
Линейное зондирование с Ultralytics YOLO#
Предобученная модель классификации Ultralytics YOLO26 может генерировать эмбеддинги изображений с помощью документированного API model.embed(). В следующем примере энкодер неявно замораживается путем предварительного вычисления признаков, после чего настраивается линейный зонд для различения кошек и собак из CIFAR-10:
import numpy as np
from sklearn.linear_model import LogisticRegression
from sklearn.metrics import accuracy_score
from sklearn.model_selection import train_test_split
from torchvision.datasets import CIFAR10
from ultralytics import YOLO
dataset = CIFAR10(root="data", train=False, download=True)
samples = [(image, label) for image, label in dataset if label in (3, 5)][:400]
images, labels = zip(*samples, strict=True)
encoder = YOLO("yolo26n-cls.pt")
embeddings = encoder.embed(list(images), verbose=False)
features = np.stack([embedding.cpu().numpy() for embedding in embeddings])
x_train, x_test, y_train, y_test = train_test_split(features, labels, test_size=0.25, random_state=42, stratify=labels)
probe = LogisticRegression(max_iter=1000)
probe.fit(x_train, y_train)
predictions = probe.predict(x_test)
print(accuracy_score(y_test, predictions))Только модель логистической регрессии обучается на метках кошек и собак; веса энкодера YOLO26 остаются фиксированными. Это позволяет изолировать полезность его визуального представления, а не измерять способность адаптироваться посредством сквозного (end-to-end) обучения.
Реальные применения и практические рекомендации#
-
Оценка неразмеченного предобучения: Команда робототехников может предобучить энкодер на больших объемах неразмеченного видео со склада, а затем протестировать его признаки с помощью небольшого размеченного датасета с вилочными погрузчиками, рабочими и паллетами. Высокая точность зонда указывает на то, что представление может подойти для последующей классификации изображений или детекции при ограниченной разметке.
-
Сравнение пригодности доменов: Команда медицинских визуализаторов может заморозить несколько кандидатов в энкодеры и обучить одинаковые линейные зонды для категорий тканей. Если один энкодер показывает существенно лучшие результаты при том же разделении и предобработке, его представление является более прочной отправной точкой для последующей тонкой настройки.
Для честного сравнения сохраняй неизменными разделение датасета, слой признаков, предобработку, классификатор и настройки оптимизации. По возможности оценивай как линейное зондирование, так и полную тонкую настройку: зонд измеряет доступную информацию в фиксированных признаках, в то время как тонкая настройка измеряет, насколько эффективно полная модель может адаптироваться.






