Linear Probing
선형 프로빙이 로지스틱 회귀, 특징 추출 및 Ultralytics YOLO26 임베딩을 사용하여 고정된 AI 표현을 평가하는 방법을 알아봅니다.
선형 프로빙은 고정된 feature 위에 간단한 선형 predictor를 학습하여 모델이 학습한 표현이 얼마나 유용한지 측정하는 평가 및 적응 기법입니다. 사전 학습된 encoder는 변경하지 않고, 레이블이 지정된 데이터에 선형 layer만 적합합니다. 분류에서는 선형 layer로 logistic regression을 사용하는 경우가 많습니다. Probe 성능이 높다는 것은 encoder의 embedding이 이미 관련 개념을 체계적으로 구성하고 있어 간단한 decision boundary로 구분할 수 있음을 의미합니다.
머신 러닝에서 이 용어는 해시 테이블의 선형 프로빙과는 관련이 없습니다. 해시 충돌이 발생한 후 인접한 저장 위치를 확인하는 방식이기 때문입니다. AI와 딥러닝에서 선형 프로빙은 구체적으로 선형 모델로 표현을 탐색하는 것을 의미합니다.
선형 프로빙 작동 방식#
일반적인 신경망에는 원시 입력을 feature vector로 변환하는 encoder 또는 backbone이 있으며, 그 뒤에 task-specific prediction head가 이어집니다. 선형 프로빙은 다음 네 단계로 진행됩니다.
- Encoder를 사전 학습하거나 불러옵니다.
- 학습 중 parameter가 업데이트되지 않도록 parameter를 고정합니다.
- 레이블이 지정된 예제에서 feature extraction을 수행합니다.
- 고정된 feature를 사용하여 선형 classifier를 학습합니다.
다중 클래스 분류에서 probe는 일반적으로 softmax output을 사용하는 단일 dense layer이거나 scikit-learn logistic regression classifier입니다. Logistic regression에는 비선형 확률 변환이 포함되지만, class score와 decision boundary는 입력 feature의 선형 함수입니다.
선형 프로빙은 encoder가 레이블이 지정되지 않은 데이터에서 학습하는 self-supervised learning에서 특히 많이 사용됩니다. Keras NNCLR example은 고정된 encoder의 feature 위에 dense classifier를 학습하여 이를 보여 줍니다. Probe의 capacity가 제한되어 있으므로 복잡한 비선형 변환을 학습하여 약한 표현을 쉽게 보완할 수 없습니다.
선형 Probe 성능이 보여 주는 것#
선형 probe는 표현에 정보가 존재하는 동시에 쉽게 접근할 수 있는지를 테스트합니다. Embedding space에서 고양이와 개 이미지가 분리 가능한 그룹을 형성한다면, 선형 classifier는 적은 수의 trainable parameter로 이들을 구분할 수 있습니다. 정보가 더 복잡한 방식으로 인코딩되어 있다면 선형 probe의 성능이 낮더라도 비선형 classifier는 성공할 수 있습니다.
따라서 Probe accuracy는 모델 품질을 완전히 측정하는 지표가 아니라 진단 지표로 간주해야 합니다. 다음 요인의 영향을 받을 수 있습니다.
- 선택한 encoder layer와 embedding dimension
- 입력 해상도와 전처리
- 레이블이 지정된 학습 데이터의 양과 균형
- 선형 모델에 적용된 regularization
- 학습 세트와 평가 세트 간 data leakage
분리해 둔 validation dataset을 사용하며, 가급적 재현 가능한 stratified 절차로 생성해야 합니다. 예를 들어 scikit-learn의 train-test splitting utility를 사용할 수 있습니다. Accuracy 외에도 classification metrics report를 통해 표현이 일관되게 분리하지 못하는 class를 확인할 수 있습니다.
선형 프로빙과 관련 방법의 비교#
선형 프로빙은 transfer 및 representation evaluation 방법의 더 넓은 범주에 속하지만, 몇 가지 중요한 차이점이 있습니다.
- 선형 프로빙과 fine-tuning의 비교: Probe는 선형 head만 업데이트합니다. Fine-tuning은 encoder weight의 일부 또는 전체를 업데이트하므로 모델에 더 큰 유연성을 제공하지만, 추가적인 compute가 필요하고 overfitting 위험이 증가합니다. TensorFlow transfer learning guide에서는 base model을 고정한 후 fine-tuning을 위해 선택적으로 고정을 해제하는 방법을 설명합니다.
- 선형 프로빙과 feature extraction의 비교: Feature extraction은 embedding을 생성하고, 선형 프로빙은 해당 embedding에 대해 predictor를 학습하고 평가합니다.
- 선형 프로빙과 linear regression의 비교: Linear regression은 연속적인 값을 예측합니다. Classification probe는 일반적으로 logistic regression 또는 softmax layer를 사용하여 이산적인 class를 예측합니다.
- 선형 프로빙과 nearest-neighbor evaluation의 비교: 선형 probe는 class boundary를 학습합니다. Nearest-neighbor 방법은 이러한 boundary를 학습하지 않고 저장된 인접 embedding에 따라 sample을 분류합니다. PyTorch transfer learning tutorial에서는 이와 밀접한 관련이 있는 frozen-encoder workflow를 fixed feature extractor라고 설명합니다.
Ultralytics YOLO를 사용한 선형 프로빙#
사전 학습된 Ultralytics YOLO26 classification model은 문서화된 model.embed() API를 통해 image embedding을 생성할 수 있습니다. 다음 예제에서는 feature를 미리 계산하여 encoder를 암묵적으로 고정한 다음, 선형 probe를 적합하여 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))고양이와 개의 레이블을 사용해 학습하는 것은 logistic regression model뿐이며, YOLO26 encoder weight는 고정된 상태로 유지됩니다. 이를 통해 end-to-end training으로 적응하는 능력이 아니라 시각적 표현의 유용성을 분리하여 측정할 수 있습니다.
실제 적용 사례와 실용적 지침#
-
레이블이 지정되지 않은 사전 학습 평가: Robotics 팀은 대량의 레이블이 지정되지 않은 warehouse video로 encoder를 사전 학습한 다음, forklift, worker, pallet로 구성된 소규모 레이블 데이터셋을 사용하여 feature를 probe할 수 있습니다. Probe accuracy가 높다면 제한적인 annotation만으로도 해당 표현이 downstream image classification 또는 detection을 지원할 가능성이 있음을 나타냅니다.
-
도메인 적합성 비교: Medical imaging 팀은 여러 후보 encoder를 고정하고 tissue category에 대해 동일한 선형 probe를 학습할 수 있습니다. 동일한 split과 preprocessing을 사용했을 때 한 encoder의 성능이 크게 더 높다면, 해당 표현은 이후 fine-tuning을 위한 더 강력한 출발점입니다.
공정하게 비교하려면 dataset split, feature layer, preprocessing, classifier, optimization setting을 동일하게 유지해야 합니다. 가능한 경우 선형 프로빙과 full fine-tuning을 모두 평가해야 합니다. Probe는 고정된 feature에서 접근 가능한 정보를 측정하고, fine-tuning은 전체 모델이 얼마나 효과적으로 적응할 수 있는지를 측정합니다.









