Linear Probing
トランスファーラーニングのために、線形プロービングがロジスティック回帰、特徴抽出、およびUltralytics YOLO26の埋め込みを使用して凍結されたAI表現をどのように評価するかを学びます。
リニアプロービングは、固定された特徴量の上に簡単な線形予測器を学習させることで、モデルが学習した表現がどれほど有用かを測定する評価および適応手法です。事前学習済みのエンコーダーは変更せず、分類のためのロジスティック回帰などが多く用いられる線形層のみを、ラベル付きデータに適合させます。プローブのパフォーマンスが優れている場合、エンコーダーの埋め込みがすでに関連する概念を整理しており、単純な決定境界で分離できることを示しています。
機械学習において、この用語は、ハッシュ衝突のあとに近隣のストレージ位置を確認するハッシュテーブルのリニアプロービングとは無関係です。AIやディープラーニングにおいては、線形モデルを用いて表現をプロービングすることを特に指します。
リニアプロービングの仕組み#
一般的なニューラルネットワークには、生入力を特徴量ベクトルに変換するエンコーダーまたはバックボーンと、その後のタスク固有の予測ヘッドが含まれます。リニアプロービングは4つのステップに従います。
- エンコーダーを事前学習するか読み込みます。
- トレーニングによってパラメータが更新されないようにパラメータを凍結します。
- ラベル付きサンプルに対して特徴量抽出を実行します。
- 固定された特徴量を使用して線形分類器をトレーニングします。
マルチクラス分類の場合、プローブは通常、ソフトマックス出力を持つ単一の全結合層、またはscikit-learnのロジスティック回帰分類器です。ロジスティック回帰には非線形な確率変換が含まれていますが、そのクラススコアと決定境界は入力特徴量の線形関数です。
自己教師あり学習ではリニアプロービングが特に一般的であり、エンコーダーはラベルなしデータから学習します。Keras NNCLRの例は、凍結されたエンコーダーの特徴量に対して全結合分類器をトレーニングすることで、これを実証しています。プローブの容量には制限があるため、複雑な非線形変換を学習して弱い表現を簡単に補うことはできません。
リニアプローブのパフォーマンスが明らかにするもの#
リニアプローブは、情報が存在するかどうか、そしてその情報に表現内で容易にアクセスできるかどうかをテストします。猫と犬の画像が埋め込み空間内で分離可能なグループを形成する場合、線形分類器はトレーニング可能なパラメータがわずかであってもそれらを区別できます。情報がより複雑な配置でエンコードされている場合、リニアプローブのパフォーマンスが低い場合でも、非線形分類器であれば成功する可能性があります。
したがって、プローブの精度は、モデル品質の完全な尺度というよりも診断として扱う必要があります。これは以下の要素の影響を受ける可能性があります。
- 選択されたエンコーダーの層と埋め込み次元。
- 入力解像度と前処理。
- ラベル付きトレーニングデータの量とバランス。
- 線形モデルに適用される正則化。
- トレーニングセットと評価セット間のデータ漏洩。
ホールドアウトされた検証データセットを使用してください。できれば、scikit-learnのtrain-test分割ユーティリティなどの再現可能な層化手順で作成されたものが望ましいです。精度に加えて、分類指標レポートを使用すると、表現が一貫して分離できていないクラスを明らかにすることができます。
リニアプロービングと関連手法の比較#
リニアプロービングは転移学習および表現評価手法のより広いファミリーに属しますが、いくつかの重要な違いがあります。
- リニアプロービングとファインチューニングの比較: プローブは線形ヘッドのみを更新します。ファインチューニングはエンコーダーの重みの一部または全部を更新するため、モデルの柔軟性が高まりますが、追加の計算が必要になり、過学習のリスクが高まります。TensorFlow転移学習ガイドでは、ベースモデルを凍結してから、オプションでファインチューニングのために凍結を解除する方法について説明しています。
- リニアプロービングと特徴量抽出の比較: 特徴量抽出は埋め込みを生成し、リニアプロービングはそれらの埋め込み上で予測器をトレーニングして評価します。
- リニアプロービングと線形回帰の比較: 線形回帰は連続値を予測します。分類プローブは通常、ロジスティック回帰やソフトマックス層を使用して離散クラスを予測します。
- リニアプロービングと近傍評価の比較: リニアプローブはクラス境界を学習します。近傍法は、それらの境界を学習することなく、近くにある保存された埋め込みに従ってサンプルを分類します。PyTorch転移学習チュートリアルでは、密接に関連する凍結エンコーダーのワークフローを固定特徴量抽出器と呼んでいます。
Ultralytics YOLOによるリニアプロービング#
事前学習済みのUltralytics YOLO26分類モデルは、ドキュメント化されたmodel.embed() APIを通じて画像埋め込みを生成できます。次の例では、特徴量を事前に計算することで暗黙的にエンコーダーを凍結し、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のエンコーダーの重みは固定されたままになります。これにより、エンドツーエンドのトレーニングを通じた適応能力を測定するのではなく、その視覚的表現の有用性を切り分けて評価できます。
現実世界での応用と実践的なガイダンス#
-
ラベルなし事前学習の評価: ロボット工学チームは、大量のラベルなし倉庫ビデオでエンコーダーを事前学習し、フォークリフト、作業員、パレットの小さなラベル付きデータセットを使用してその特徴量をプローブする場合があります。プローブの精度が高いことは、その表現が限られたアノテーションでも、下流の画像分類または検出をサポートできる可能性があることを示しています。
-
ドメイン適合性の比較: 医療画像チームは、複数の候補エンコーダーを凍結し、組織カテゴリ用の同一の線形プローブをトレーニングできます。同じ分割と前処理の下で1つのエンコーダーのパフォーマンスが大幅に優れている場合、その表現は後のファインチューニングのためのより強力な出発点となります。
公平な比較を行うために、データセットの分割、特徴量層、前処理、分類器、および最適化設定を一定に保ってください。可能であれば、リニアプロービングと完全なファインチューニングの両方を評価してください。プローブは固定された特徴量内のアクセス可能な情報を測定し、ファインチューニングは完全なモデルがどれほど効果的に適応できるかを測定します。






