Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Linear Probing

Il probing lineare addestra un classificatore lineare sulle caratteristiche di un modello congelato per verificare cosa codificano le sue rappresentazioni. Come funziona, codice e confronto con il fine-tuning.

Il probing lineare è una tecnica che misura quante informazioni utili contengono le rappresentazioni di un modello preaddestrato, addestrando soltanto un classificatore lineare, detto probe, sulle sue feature congelate. I pesi dell'encoder non cambiano mai: le immagini o il testo lo attraversano una sola volta, gli embedding risultanti diventano input fissi e una regressione logistica o un singolo livello denso impara a prevedere le etichette a partire da essi. Un'elevata accuratezza del probe indica che l'encoder dispone già gli esempi in modo tale che un confine rettilineo separi le classi. Nelle strutture dati, lo stesso nome indica un metodo non correlato per risolvere le collisioni nelle tabelle hash, controllando la posizione successiva.

Come funziona il probing lineare#

Un esperimento di probing carica un encoder preaddestrato, lo congela, esegue l'estrazione delle feature su un dataset etichettato e addestra un classificatore lineare sulle feature memorizzate, riportando i risultati su un set di test tenuto da parte. Il probe dispone di un peso per ciascuna feature di ciascuna classe, oltre a un bias, quindi può tracciare solo confini decisionali lineari e non può creare autonomamente nuove feature; qualsiasi accuratezza raggiunga riflette ciò che ha appreso l'encoder. La regressione logistica applica una softmax o una funzione sigmoide ai punteggi, ma i confini decisionali restano lineari nello spazio delle feature. Poiché viene addestrato solo il probe, le feature possono essere calcolate una sola volta e poi riutilizzate, il che rende il probing molto meno costoso della messa a punto.

I modelli di classificazione Ultralytics YOLO26 espongono le feature congelate tramite model.embed(), che per impostazione predefinita raggruppa l'output del livello precedente alla testa di classificazione in un vettore per immagine: 256 numeri per il modello nano. L'esempio seguente usa un probe su gatti e cani di CIFAR-10, immagini a bassa risoluzione mai viste dal modello addestrato su ImageNet, e addestra lo stesso probe sui pixel grezzi per un confronto:

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}")

Il probe ottiene 0,573 sui pixel grezzi, appena sopra lo 0,5 che si avrebbe indovinando, e 0,833 sulle feature di YOLO26: una differenza che misura le informazioni sulle classi rese linearmente accessibili dall'encoder YOLO26 congelato.

Cosa rivela un probe#

Un probe lineare verifica se le informazioni sono presenti e facili da estrarre. Guillaume Alain e Yoshua Bengio proposero i probe con classificatore lineare come strumento diagnostico in «Understanding Intermediate Layers Using Linear Classifier Probes» e rilevarono che la separabilità lineare delle feature aumentava monotonicamente con la profondità nelle reti studiate. Eseguire il probing di ogni livello in questo modo mostra dove una rete forma i concetti richiesti da un'attività. Nell'apprendimento auto-supervisionato, l'accuratezza del probing lineare su ImageNet è diventata il metodo standard per confrontare encoder addestrati senza etichette, poiché il probe aggiunge quasi nulla su cui una rappresentazione debole possa fare affidamento. Nell'elaborazione del linguaggio naturale, i probe addestrati sugli stati nascosti di un modello linguistico verificano se il modello codifica proprietà come la parte del discorso, la sintassi o la veridicità di un'affermazione.

I risultati del probing dipendono dal livello scelto, dalla risoluzione di input e dal preprocessing, dalla quantità di dati etichettati, dalla regolarizzazione del probe e dalla suddivisione delle immagini tra addestramento e valutazione; i confronti tra encoder sono quindi validi solo se tutti questi fattori restano invariati. Quando un probe lineare non funziona, a volte ha successo un piccolo probe non lineare, a indicare che l'informazione è presente ma codificata in modo non lineare.

  • Messa a punto: aggiorna alcuni o tutti i pesi dell'encoder insieme alla testa, ottenendo di solito un'accuratezza maggiore sui dati obiettivo. In «Fine-Tuning Can Distort Pretrained Features», la messa a punto ha ottenuto in media un'accuratezza superiore del 2% in distribuzione rispetto al probing lineare su 10 dataset, ma inferiore del 7% in condizioni di distribuzione diversa; LP-FT, che esegue prima il probing lineare e poi la messa a punto a partire da quella testa, ha superato la messa a punto completa dell'1% in distribuzione e del 10% in condizioni di distribuzione diversa.
  • Valutazione con k vicini più prossimi: classifica ogni embedding di test usando le etichette degli embedding di addestramento più vicini, senza alcun addestramento; è un altro protocollo comune per gli encoder auto-supervisionati.
  • Estrazione delle feature e transfer learning: l'estrazione delle feature produce gli embedding usati dal probe, e addestrare una testa lineare su un backbone congelato è la forma meno costosa di transfer learning, che il tutorial sul transfer learning di PyTorch descrive come l'uso della rete quale estrattore di feature fisso.

Limiti del probing lineare#

Il probing lineare misura quanto le informazioni siano accessibili linearmente, un aspetto diverso dall'utilità di una rappresentazione dopo l'adattamento. Gli autori dei masked autoencoder (MAE) hanno rilevato che i risultati del probing lineare e della messa a punto erano in gran parte non correlati: il loro encoder ViT-L ha raggiunto un'accuratezza del 73,5% su ImageNet con il probing lineare; la messa a punto del solo ultimo blocco transformer l'ha portata all'81,0%, mentre MoCo v3 ha ottenuto risultati di probing superiori a MAE, ma è rimasto indietro rispetto a MAE in ogni configurazione di messa a punto parziale.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning