Ultralytics YOLO27: Únete a la lista de espera.
Licencia YOLO
Volver al glosario de Ultralytics

Linear Probing

El sondeo lineal entrena un clasificador lineal con las características de un modelo congelado para comprobar qué codifican sus representaciones. Cómo funciona, código y comparación con el ajuste fino.

La evaluación con sondas lineales es una técnica que mide cuánta información útil contienen las representaciones de un modelo preentrenado: para ello, se entrena únicamente un clasificador lineal, la sonda, sobre sus características congeladas. Los pesos del codificador nunca cambian: las imágenes o el texto pasan por él una vez, las incrustaciones resultantes se convierten en entradas fijas y una regresión logística o una única capa densa aprende a predecir las etiquetas a partir de ellas. Una precisión alta de la sonda significa que el codificador ya organiza los ejemplos de modo que una frontera recta separa las clases. En estructuras de datos, el mismo nombre se refiere a un método distinto para resolver colisiones en tablas hash comprobando la siguiente posición.

Cómo funciona la prueba lineal#

Un experimento con una sonda carga un codificador preentrenado, lo congela, realiza una extracción de características en un conjunto de datos etiquetado, entrena un clasificador lineal con las características almacenadas y presenta los resultados obtenidos en un conjunto de prueba reservado. La sonda tiene un peso por característica para cada clase, además de un sesgo, por lo que solo puede trazar fronteras de decisión lineales y no puede generar características nuevas por sí misma; cualquier exactitud que alcance refleja lo que ha aprendido el codificador. La regresión logística aplica una softmax o una sigmoide a sus puntuaciones, pero las fronteras de decisión siguen siendo lineales en el espacio de características. Como solo se entrena la sonda, las características se pueden calcular una vez y reutilizar, lo que hace que la evaluación con sondas sea mucho menos costosa que el ajuste fino.

Los modelos de clasificación Ultralytics YOLO26 exponen características congeladas mediante model.embed(), que, de forma predeterminada, agrupa la salida de la capa anterior al cabezal de clasificación en un vector por imagen: 256 números para el modelo nano. El siguiente ejemplo evalúa con una sonda esas características en gatos y perros de CIFAR-10, imágenes de baja resolución que el modelo entrenado con ImageNet nunca había visto, y ajusta la misma sonda sobre píxeles sin procesar para compararlas:

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

La sonda obtiene 0,573 con píxeles sin procesar, apenas por encima del 0,5 de una predicción al azar, y 0,833 con las características de YOLO26. Esta diferencia mide la información sobre las clases que el codificador congelado de YOLO26 hace accesible de forma lineal.

Qué revela una sonda#

Una sonda lineal comprueba si la información está presente y si es fácil de extraer. Guillaume Alain y Yoshua Bengio propusieron las sondas de clasificación lineal como herramienta de diagnóstico en «Understanding Intermediate Layers Using Linear Classifier Probes» y descubrieron que la separabilidad lineal de las características aumentaba de forma monótona con la profundidad en las redes que estudiaron. Evaluar así cada capa muestra dónde forma una red los conceptos que necesita una tarea. En el aprendizaje autosupervisado, la precisión de las sondas lineales en ImageNet se convirtió en el método estándar para comparar codificadores entrenados sin etiquetas, ya que la sonda añade muy poco a lo que podría aprovechar una representación débil. En el procesamiento del lenguaje natural, las sondas entrenadas con los estados ocultos de un modelo de lenguaje comprueban si este codifica propiedades como la categoría gramatical, la sintaxis o la veracidad de una afirmación.

Los resultados de las sondas dependen de la capa elegida, la resolución de entrada y el preprocesamiento, la cantidad de datos etiquetados, la regularización de la sonda y la división de las imágenes entre entrenamiento y evaluación; por tanto, las comparaciones entre codificadores solo son válidas si todos estos factores se mantienen constantes. Cuando falla una sonda lineal, a veces funciona una pequeña sonda no lineal, lo que demuestra que la información está presente, pero codificada de forma no lineal.

  • Ajuste fino: Actualiza algunos o todos los pesos del codificador junto con el cabezal, lo que suele dar una mayor precisión en los datos objetivo. En «Fine-Tuning Can Distort Pretrained Features», el ajuste fino obtuvo de media un 2 % más de precisión dentro de la distribución que la evaluación con sondas lineales en 10 conjuntos de datos, pero un 7 % menos bajo cambio de distribución. LP-FT —primero evaluación con sondas lineales y después ajuste fino a partir de ese cabezal— superó al ajuste fino completo en un 1 % dentro de la distribución y en un 10 % bajo cambio de distribución.
  • Evaluación con k vecinos más cercanos: Clasifica cada incrustación de prueba según las etiquetas de las incrustaciones de entrenamiento más cercanas, sin entrenar nada; es otro protocolo habitual para codificadores autosupervisados.
  • Extracción de características y aprendizaje por transferencia: La extracción de características genera las incrustaciones que consume una sonda, y entrenar un cabezal lineal sobre una red troncal congelada es la forma más barata de aprendizaje por transferencia. El tutorial de aprendizaje por transferencia de PyTorch lo describe como usar la red como extractor fijo de características.

Limitaciones de la evaluación con sondas lineales#

La evaluación con sondas lineales mide hasta qué punto la información es accesible de forma lineal, lo cual no es lo mismo que medir la utilidad de una representación después de adaptarla. Los autores de los autocodificadores enmascarados (MAE) descubrieron que los resultados de la evaluación con sondas lineales y del ajuste fino apenas estaban correlacionados: el codificador ViT-L alcanzó una precisión del 73,5 % en ImageNet con evaluación lineal; ajustar solo su último bloque Transformer la elevó al 81,0 %, y MoCo v3 obtuvo mejores resultados que MAE con sondas, pero quedó por detrás en todas las configuraciones de ajuste fino parcial.

Explora las soluciones

Visión artificial en el deporte

Visión artificial en el deporte

Descubre cómo Ultralytics YOLO impulsa la visión artificial en el deporte con el seguimiento de jugadores y balones, analíticas de rendimiento, información útil para entrenadores y rehabilitación de deportistas.
Más información
Visión artificial para imágenes aéreas

Visión artificial para imágenes aéreas

Convierte imágenes aéreas y de drones en información útil en tiempo real para la agricultura, la acuicultura, la conservación y el análisis geoespacial con Ultralytics YOLO.
Más información
Visión artificial en el sector aeroespacial

Visión artificial en el sector aeroespacial

Aplica la visión artificial en el sector aeroespacial con Ultralytics YOLO para inspeccionar aeronaves, detectar objetos extraños en pistas, gestionar operaciones en tierra y detectar defectos en materiales compuestos.
Más información
Visión artificial en seguridad

Visión artificial en seguridad

Protege todas tus instalaciones con los modelos Ultralytics YOLO. La IA visual permite supervisar perímetros, detectar amenazas, reconocer matrículas y mejorar la seguridad laboral.
Más información
Visión artificial en robótica

Visión artificial en robótica

Potencia máquinas más inteligentes con los modelos Ultralytics YOLO. La IA visual en robótica impulsa la navegación autónoma, la percepción, el seguimiento de objetos y el control en tiempo real.
Más información
Visión artificial en logística

Visión artificial en logística

Agiliza la logística con modelos Ultralytics YOLO. La IA visual permite inspeccionar paquetes, clasificarlos, realizar el seguimiento de vehículos y supervisar la seguridad del almacén en tiempo real.
Más información
Visión artificial en el comercio minorista

Visión artificial en el comercio minorista

Reinventa el comercio minorista con modelos Ultralytics YOLO. La IA visual permite realizar el seguimiento del inventario, supervisar estanterías, gestionar colas y obtener información más útil sobre los clientes.
Más información
Visión artificial en el sector sanitario

Visión artificial en el sector sanitario

Desarrolla soluciones sanitarias con modelos Ultralytics YOLO. La IA visual en el sector sanitario permite acelerar el diagnóstico por imagen, mejorar los diagnósticos y supervisar a los pacientes.
Más información
Visión artificial en la fabricación

Visión artificial en la fabricación

Optimiza la fabricación con modelos Ultralytics YOLO. La IA visual mejora el control de calidad, la detección de defectos, el cumplimiento de las normas de uso de EPI y la automatización de las líneas de montaje.
Más información
Visión artificial en la automoción

Visión artificial en la automoción

Aplica la visión artificial al sector de la automoción con modelos Ultralytics YOLO. La IA visual mejora la seguridad vial, la asistencia al conductor y la automatización de vehículos para lograr carreteras más inteligentes.
Más información
Visión artificial en la agricultura

Visión artificial en la agricultura

Incorpora la IA de visión a la agricultura inteligente con modelos Ultralytics YOLO. Impulsa la monitorización de cultivos, el seguimiento del ganado y la agricultura de precisión para obtener cosechas más abundantes e inteligentes.
Más información

¡Construyamos juntos el futuro de la IA!

Inicia tu recorrido hacia el futuro del aprendizaje automático