Linear Probing
Saiba como o probing linear avalia representações de IA congeladas com regressão logística, extração de características e embeddings do Ultralytics YOLO26 para aprendizagem por transferência.
A sondagem linear é uma técnica de avaliação e adaptação que mede a utilidade das representações aprendidas por um modelo, treinando um preditor linear simples sobre características congeladas. O codificador pré-treinado permanece inalterado, enquanto apenas uma camada linear — geralmente uma regressão logística para classificação — é ajustada aos dados rotulados. Um desempenho forte na sondagem sugere que os embeddings do codificador já organizam conceitos relevantes de modo que possam ser separados com fronteiras de decisão simples.
Em aprendizagem automática, o termo não tem relação com a sondagem linear em tabelas hash, na qual as posições de armazenamento vizinhas são verificadas após uma colisão. Em IA e aprendizagem profunda, refere-se especificamente à sondagem de uma representação com um modelo linear.
Como funciona a sondagem linear#
Uma rede neural típica contém um codificador ou backbone que transforma a entrada bruta num vetor de características, seguido por uma cabeça de previsão específica da tarefa. A sondagem linear segue quatro passos:
- Pré-treinar ou carregar um codificador.
- Congelar os respetivos parâmetros para que o treino não os possa atualizar.
- Executar a extração de características em exemplos rotulados.
- Treinar um classificador linear utilizando essas características fixas.
Para a classificação multiclasse, a sondagem é normalmente uma única camada densa com saída softmax ou um classificador de regressão logística do scikit-learn. Embora a regressão logística inclua uma transformação de probabilidade não linear, as suas pontuações de classe e fronteiras de decisão são funções lineares das características de entrada.
A sondagem linear é especialmente comum na aprendizagem autossupervisionada, na qual um codificador aprende a partir de dados não rotulados. O exemplo NNCLR do Keras demonstra isso treinando um classificador denso sobre as características de um codificador congelado. Como a sondagem tem capacidade limitada, não consegue compensar facilmente representações fracas aprendendo transformações não lineares complexas.
O que revela o desempenho da sondagem linear#
Uma sondagem linear testa se a informação está presente e é facilmente acessível numa representação. Se as imagens de gatos e cães formarem grupos separáveis no espaço de embeddings, um classificador linear consegue distingui-los com poucos parâmetros treináveis. Se a informação estiver codificada através de uma disposição mais complexa, um classificador não linear pode ter sucesso mesmo quando a sondagem linear apresenta um desempenho fraco.
A precisão da sondagem deve, portanto, ser tratada como um diagnóstico e não como uma medida completa da qualidade do modelo. Pode ser afetada por:
- A camada do codificador selecionada e a dimensão do embedding.
- A resolução da entrada e o pré-processamento.
- A quantidade e o equilíbrio dos dados de treino rotulados.
- A regularização aplicada ao modelo linear.
- A fuga de dados entre os conjuntos de treino e avaliação.
Utiliza um conjunto de dados de validação separado, de preferência criado com um procedimento reprodutível e estratificado, como o utilitário de divisão treino-teste do scikit-learn. Para além da precisão, um relatório de métricas de classificação pode revelar classes que a representação não separa de forma consistente.
Sondagem linear vs. métodos relacionados#
A sondagem linear pertence à família mais ampla de métodos de transferência e avaliação de representações, mas há várias distinções importantes:
- Sondagem linear vs. ajuste fino: Uma sondagem atualiza apenas a cabeça linear. O ajuste fino atualiza alguns ou todos os pesos do codificador, dando ao modelo mais flexibilidade, mas exigindo computação adicional e aumentando o risco de sobreajuste. O guia de aprendizagem por transferência do TensorFlow descreve o congelamento de um modelo base antes de, opcionalmente, o descongelar para ajuste fino.
- Sondagem linear vs. extração de características: A extração de características produz os embeddings; a sondagem linear treina e avalia um preditor sobre esses embeddings.
- Sondagem linear vs. regressão linear: A regressão linear prevê valores contínuos. As sondagens de classificação geralmente preveem classes discretas com regressão logística ou uma camada softmax.
- Sondagem linear vs. avaliação por vizinhos mais próximos: Uma sondagem linear aprende fronteiras de classe. Os métodos de vizinhos mais próximos classificam amostras de acordo com embeddings armazenados próximos, sem aprender essas fronteiras. O tutorial de aprendizagem por transferência do PyTorch chama ao fluxo de trabalho estreitamente relacionado, com um codificador congelado, um extrator de características fixo.
Sondagem linear com Ultralytics YOLO#
Um modelo de classificação Ultralytics YOLO26 pré-treinado pode gerar embeddings de imagens através da API model.embed() documentada. O exemplo seguinte congela implicitamente o codificador ao pré-calcular as características e, em seguida, ajusta uma sondagem linear para distinguir gatos de cães do 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))Apenas o modelo de regressão logística aprende com os rótulos de gatos e cães; os pesos do codificador YOLO26 permanecem fixos. Isto isola a utilidade da sua representação visual, em vez de medir a sua capacidade de adaptação através do treino de ponta a ponta.
Aplicações no mundo real e orientações práticas#
-
Avaliação do pré-treino não supervisionado: Uma equipa de robótica pode pré-treinar um codificador com grandes volumes de vídeo não rotulado de um armazém e, em seguida, sondar as suas características utilizando um pequeno conjunto de dados rotulado de empilhadores, trabalhadores e paletes. Uma elevada precisão na sondagem indica que a representação pode suportar a classificação de imagens ou a deteção subsequente com anotações limitadas.
-
Comparação da adequação ao domínio: Uma equipa de imagiologia médica pode congelar vários codificadores candidatos e treinar sondagens lineares idênticas para categorias de tecidos. Se um codificador tiver um desempenho substancialmente melhor com a mesma divisão e o mesmo pré-processamento, a sua representação será um ponto de partida mais forte para um ajuste fino posterior.
Para comparações justas, mantém constantes a divisão do conjunto de dados, a camada de características, o pré-processamento, o classificador e as definições de otimização. Avalia tanto a sondagem linear como o ajuste fino completo quando possível: a sondagem mede a informação acessível nas características fixas, enquanto o ajuste fino mede a eficácia com que o modelo completo se pode adaptar.









