Saiba como a destilação de conhecimento transfere inteligência de professores grandes para alunos compactos. Otimize Ultralytics para uma implementação rápida e eficiente.
A destilação de conhecimento é uma técnica sofisticada em aprendizagem automática em que uma rede neural compacta, chamada de «aluno», é treinada para reproduzir o comportamento e o desempenho de uma rede maior e mais complexa, conhecida como «professor». O objetivo principal desse processo é a otimização do modelo, permitindo que os desenvolvedores transfiram os recursos preditivos de arquiteturas pesadas para modelos leves, adequados para implantação em hardware com recursos limitados. Ao capturar as informações ricas codificadas nas previsões do professor, o modelo aluno geralmente alcança uma precisão significativamente maior do que se fosse treinado apenas com os dados brutos, preenchendo efetivamente a lacuna entre alto desempenho e eficiência.
Na aprendizagem supervisionada tradicional, os modelos são treinados usando "rótulos rígidos" dos dados de treino, onde uma imagem é categorizada de forma definitiva (por exemplo, 100% "cão" e 0% "gato"). No entanto, um modelo professor pré-treinado produz uma saída por meio de uma função softmax que atribui probabilidades a todas as classes. Essas distribuições de probabilidade são conhecidas como "rótulos suaves" ou "conhecimento oculto".
Por exemplo, se um modelo de professor analisa uma imagem de um lobo, ele pode prever 90% de lobo, 9% de cão e 1% de gato. Essa distribuição revela que o lobo compartilha características visuais com um cão, contexto que uma etiqueta rígida ignora. Durante o processo de destilação, o aluno minimiza uma função de perda, como a divergência de Kullback-Leibler, para alinhar as suas previsões com as etiquetas suaves do professor. Este método, popularizado pela pesquisa de Geoffrey Hinton, ajuda o aluno a generalizar melhor e reduz o sobreajuste em conjuntos de dados menores.
A destilação do conhecimento é fundamental em setores onde os recursos computacionais são escassos, mas o alto desempenho é indispensável.
É importante diferenciar a destilação de conhecimento de outras estratégias de compressão, pois elas modificam os modelos de formas fundamentalmente diferentes.
Em um fluxo de trabalho prático, primeiro selecione uma arquitetura leve para servir como aluno. A Ultralytics pode ser usada para gerenciar conjuntos de dados e track experimentos de treinamento desses modelos eficientes. Abaixo está um exemplo de inicialização de um modelo YOLO26 compacto, que é ideal para implantação de ponta e serve como uma rede de alunos:
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)