Descubra cómo la destilación del conocimiento transfiere la inteligencia de grandes maestros a alumnos compactos. Optimice Ultralytics para una implementación rápida y eficiente en el borde.
La destilación de conocimiento es una técnica sofisticada en el aprendizaje automático en la que se entrena a una red neuronal compacta , denominada «alumno», para que reproduzca el comportamiento y el rendimiento de una red más grande y compleja, conocida como «maestro». El objetivo principal de este proceso es la optimización del modelo, lo que permite a los desarrolladores transferir las capacidades predictivas de arquitecturas pesadas a modelos ligeros adecuados para su implementación en hardware con recursos limitados. Al capturar la rica información codificada en las predicciones del maestro, el modelo alumno suele alcanzar una precisión significativamente mayor que si se entrenara únicamente con los datos brutos, salvando eficazmente la brecha entre el alto rendimiento y la eficiencia.
En el aprendizaje supervisado tradicional, los modelos se entrenan utilizando «etiquetas duras» de los datos de entrenamiento, donde una imagen se categoriza de forma definitiva (por ejemplo, 100 % «perro» y 0 % «gato»). Sin embargo, un modelo maestro preentrenado produce una salida a través de una función softmax que asigna probabilidades a todas las clases. Estas distribuciones de probabilidad se conocen como «etiquetas blandas» o «conocimiento oscuro».
Por ejemplo, si un modelo de profesor analiza una imagen de un lobo, podría predecir un 90 % de lobo, un 9 % de perro y un 1 % de gato. Esta distribución revela que el lobo comparte características visuales con un perro, un contexto que una etiqueta rígida ignora. Durante el proceso de destilación, el alumno minimiza una función de pérdida, como la divergencia de Kullback-Leibler, para alinear sus predicciones con las etiquetas blandas del profesor. Este método, popularizado por la investigación de Geoffrey Hinton, ayuda al alumno a generalizar mejor y reduce el sobreajuste en conjuntos de datos más pequeños.
La destilación del conocimiento es fundamental en industrias donde los recursos computacionales son escasos, pero el alto rendimiento es imprescindible.
Es importante diferenciar la destilación de conocimiento de otras estrategias de compresión, ya que modifican los modelos de maneras fundamentalmente diferentes.
En un flujo de trabajo práctico, primero se selecciona una arquitectura ligera que sirva como estudiante. Ultralytics se puede utilizar para gestionar conjuntos de datos y track experimentos de entrenamiento de estos modelos eficientes. A continuación se muestra un ejemplo de inicialización de un modelo YOLO26 compacto, que es ideal para el despliegue en el borde y para servir como red estudiante:
from ultralytics import YOLO
# Load a lightweight YOLO26 nano model (acts as the student)
# The 'n' suffix denotes the nano version, optimized for speed
student_model = YOLO("yolo26n.pt")
# Train the model on a dataset
# In a custom distillation loop, the loss would be influenced by a teacher model
results = student_model.train(data="coco8.yaml", epochs=5, imgsz=640)