Explore a aprendizagem por transferência para treinar IA de alta precisão com menos dados. Aprenda a aproveitar os pesos pré-treinados Ultralytics para acelerar os seus projetos de visão computacional.
A aprendizagem por transferência é uma técnica poderosa na aprendizagem automática (ML), em que um modelo desenvolvido para uma tarefa específica é reutilizado como ponto de partida para um modelo numa segunda tarefa relacionada. Em vez de treinar uma rede neural a partir do zero — o que requer conjuntos de dados massivos e um poder computacional significativo —, os programadores aproveitam o conhecimento que uma IA já adquiriu. Essa abordagem imita a forma como os humanos aprendem; por exemplo, saber tocar piano torna muito mais fácil aprender a tocar órgão , pois o conhecimento básico de teoria musical e a destreza dos dedos são transferidos. No contexto do aprendizado profundo, isso significa que um modelo pode atingir alta precisão em um novo problema com significativamente menos dados e tempo.
A eficácia da aprendizagem por transferência reside na natureza hierárquica da extração de características. Os modelos de aprendizagem profunda, particularmente aqueles usados na visão computacional, aprendem a reconhecer padrões em camadas. As camadas iniciais da estrutura detect características detect e universais, como bordas, curvas e texturas. Essas características de baixo nível são aplicáveis a quase todas as tarefas visuais.
O processo envolve normalmente duas fases principais:
A aprendizagem por transferência democratizou a IA, permitindo a criação de soluções especializadas sem recursos de grandes empresas de tecnologia.
É útil distinguir a aprendizagem por transferência de termos intimamente relacionados:
O seguinte Python O trecho demonstra a aprendizagem por transferência usando o
ultralytics biblioteca. Carregamos o YOLO26 modelo,
que vem com pesos pré-treinados derivados do COCO . Quando iniciamos o treino num novo conjunto de dados, o
modelo transfere automaticamente as suas características pré-aprendidas para a nova tarefa.
from ultralytics import YOLO
# Load a pre-trained YOLO26 model (transferring weights from COCO)
model = YOLO("yolo26n.pt")
# Train the model on a new, smaller dataset to adapt its knowledge
# This leverages the pre-learned backbone for faster convergence
results = model.train(data="coco8.yaml", epochs=5)
Para gerir conjuntos de dados e executar esses treinamentos na nuvem, ferramentas como a Ultralytics simplificam o processo, permitindo que as equipas colaborem na anotação de dados e na implementação eficiente de modelos aprendidos por transferência.
Para um aprofundamento na teoria académica, as notas do curso CS231n da Universidade de Stanford oferecem uma excelente visão geral, enquanto o TutorialPyTorch de AprendizagemPyTorch fornece detalhes técnicos abrangentes para implementação.