Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

Linear Probing

선형 프로빙은 동결된 모델의 특징을 사용해 선형 분류기를 학습하여 표현이 무엇을 인코딩하는지 테스트합니다. 작동 방식, 코드, 미세 조정과의 차이를 다룹니다.

선형 프로빙은 사전 학습된 모델의 표현에 얼마나 유용한 정보가 담겨 있는지 측정하는 기법으로, 고정된 특성 위에 프로브라고 하는 선형 분류기만 학습합니다. 인코더의 가중치는 전혀 변경되지 않습니다. 이미지나 텍스트를 한 번 인코더에 통과시키고, 그 결과로 얻은 임베딩을 고정 입력으로 사용하여 로지스틱 회귀 또는 단일 완전 연결 레이어가 레이블을 예측하도록 학습합니다. 프로브 정확도가 높다는 것은 인코더가 이미 예시를 클래스 간에 직선 경계로 구분할 수 있도록 배치했다는 뜻입니다. 자료구조 분야에서 같은 용어는 해시 테이블의 충돌을 해결하기 위해 다음 슬롯을 확인하는, 이와 무관한 방법을 가리킵니다.

선형 프로빙의 작동 방식#

프로브 실험에서는 사전 학습된 인코더를 불러와 고정하고, 레이블이 지정된 데이터셋에서 특성 추출을 수행한 다음, 저장된 특성에 선형 분류기를 학습하고 별도로 보유한 테스트 세트에서 결과를 보고합니다. 프로브에는 클래스별 특성 하나당 가중치 하나와 편향이 있으므로 선형 결정 경계만 그릴 수 있으며 자체적으로 새로운 특성을 만들 수 없습니다. 따라서 프로브가 달성한 정확도는 인코더가 학습한 내용을 반영합니다. 로지스틱 회귀는 점수에 소프트맥스 또는 시그모이드를 적용하지만, 결정 경계는 여전히 특성 공간에서 선형입니다. 프로브만 학습하므로 특성을 한 번 계산해 재사용할 수 있어 프로빙은 파인튜닝보다 훨씬 저렴합니다.

Ultralytics YOLO26 분류 모델은 model.embed()를 통해 고정된 특성을 제공합니다. 기본 설정에서는 분류 헤드 직전 레이어의 출력을 풀링하여 이미지마다 벡터 하나로 변환하며, 나노 모델에서는 256개의 숫자가 됩니다. 다음 예제에서는 모델이 학습 중 본 적 없는 저해상도 이미지인 CIFAR-10의 고양이와 개 데이터에 해당 특성을 프로빙하고, 비교를 위해 원시 픽셀에도 동일한 프로브를 적용합니다. 해당 모델은 ImageNet으로 학습되었습니다.

from pathlib import Path

import numpy as np
from PIL import Image
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import train_test_split
from torchvision.datasets.utils import download_and_extract_archive
from ultralytics import YOLO

# 500 cat and 500 dog images from the CIFAR-10 test split
download_and_extract_archive("https://github.com/ultralytics/assets/releases/download/v0.0.0/cifar10.zip", "data")
cats = sorted(Path("data/cifar10/test/cat").glob("*.png"))[:500]
dogs = sorted(Path("data/cifar10/test/dog").glob("*.png"))[:500]
paths, labels = cats + dogs, [0] * 500 + [1] * 500

# Frozen YOLO26 classifier features, and raw pixels as a baseline representation
encoder = YOLO("yolo26n-cls.pt")
features = np.stack([encoder.embed(path, verbose=False)[0].cpu().numpy() for path in paths])
pixels = np.stack([np.asarray(Image.open(path)).ravel() / 255 for path in paths])

# Train the same linear probe on each representation and score it on held-out images
for name, x in [("raw pixels", pixels), ("YOLO26 features", features)]:
    x_train, x_test, y_train, y_test = train_test_split(x, labels, test_size=0.3, random_state=0, stratify=labels)
    probe = LogisticRegression(max_iter=5000)
    probe.fit(x_train, y_train)
    print(f"{name}: {probe.score(x_test, y_test):.3f}")

프로브는 원시 픽셀에서 0.573을 기록해 무작위 추측의 0.5보다 간신히 높았고, YOLO26 특성에서는 0.833을 기록했습니다. 이 차이는 고정된 YOLO26 인코더가 클래스 정보를 선형적으로 얼마나 쉽게 접근할 수 있도록 만드는지를 측정합니다.

프로브가 보여주는 것#

선형 프로브는 정보가 존재하는지와 쉽게 읽어낼 수 있는지를 테스트합니다. Guillaume Alain과 Yoshua Bengio는 진단 도구로 선형 분류기 프로브를 제안한 “선형 분류기 프로브를 사용한 중간 레이어 이해”에서, 자신들이 연구한 네트워크의 특성이 깊이에 따라 단조롭게 선형 분리 가능해진다는 사실을 발견했습니다. 이 방식으로 모든 레이어를 프로빙하면 네트워크가 작업에 필요한 개념을 형성하는 지점을 파악할 수 있습니다. 자기 지도 학습에서는 레이블 없이 학습한 인코더를 비교하는 표준 방법으로 ImageNet의 선형 프로브 정확도를 사용했습니다. 프로브가 약한 표현에 의존할 만한 요소를 거의 추가하지 않기 때문입니다. 자연어 처리에서는 언어 모델의 은닉 상태를 대상으로 학습한 프로브를 사용해 품사, 구문, 문장의 진위 여부와 같은 속성을 인코딩하는지 테스트합니다.

프로브 결과는 선택한 레이어, 입력 해상도와 전처리, 레이블이 지정된 데이터의 양, 프로브의 정규화, 학습 이미지와 평가 이미지의 분할 방식에 따라 달라집니다. 따라서 인코더를 비교하려면 이러한 조건을 모두 동일하게 유지해야 합니다. 선형 프로브가 실패하더라도 작은 비선형 프로브가 성공할 때가 있는데, 이는 정보가 존재하지만 비선형적으로 인코딩되어 있음을 보여줍니다.

  • 파인튜닝: 헤드와 함께 인코더 가중치의 일부 또는 전부를 업데이트하며, 일반적으로 대상 데이터에서 더 높은 정확도를 얻습니다. “파인튜닝은 사전 학습된 특성을 왜곡할 수 있습니다”에 따르면, 10개 데이터셋에서 파인튜닝의 분포 내 정확도는 선형 프로빙보다 평균 2% 높았지만 분포 변화 상황에서는 7% 낮았습니다. 먼저 선형 프로빙을 수행한 다음 해당 헤드에서 파인튜닝하는 LP-FT는 분포 내에서 전체 파인튜닝보다 1%, 분포 변화 상황에서 10% 더 높은 성능을 보였습니다.
  • k-최근접 이웃 평가: 학습을 전혀 하지 않고 각 테스트 임베딩을 가장 가까운 학습 임베딩의 레이블로 분류합니다. 이는 자기 지도 인코더에 흔히 사용하는 또 다른 평가 프로토콜입니다.
  • 특성 추출 및 전이 학습: 특성 추출은 프로브가 사용하는 임베딩을 생성합니다. 고정된 백본에 선형 헤드를 학습시키는 것은 가장 저렴한 전이 학습 방식이며, PyTorch의 전이 학습 튜토리얼에서는 이를 네트워크를 고정된 특성 추출기로 사용하는 것이라고 설명합니다.

선형 프로빙의 한계#

선형 프로빙은 정보에 선형적으로 얼마나 쉽게 접근할 수 있는지를 측정하며, 이는 적응 후 표현이 얼마나 유용한지와는 다릅니다. 마스크드 오토인코더(MAE)의 저자들은 선형 프로빙 결과와 파인튜닝 결과의 상관관계가 대체로 낮다는 사실을 발견했습니다. 이들의 ViT-L 인코더는 선형 프로빙으로 ImageNet 정확도 73.5%를 기록했으며, 마지막 트랜스포머 블록만 파인튜닝하자 정확도가 81.0%로 올랐습니다. MoCo v3는 MAE보다 높은 프로브 성능을 보였지만, 모든 부분 파인튜닝 설정에서 MAE보다 낮았습니다.

솔루션 살펴보기

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 보전, 지리 공간 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO를 활용해 항공기 검사, 활주로 FOD 감지, 공항 지상 운영, 복합재 결함 감지 등 항공우주 분야에 컴퓨터 비전을 적용하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요