Transfer Learning
Explora a aprendizagem por transferência para treinar IA de alta precisão com menos dados. Aprende a utilizar os pesos pré-treinados do Ultralytics YOLO26 para acelerar os teus projetos de visão computacional.
A aprendizagem por transferência é uma técnica poderosa em aprendizagem de máquina (ML), na qual um modelo desenvolvido para uma tarefa específica é reutilizado como ponto de partida para um modelo destinado a uma segunda tarefa relacionada. Em vez de treinar uma rede neural do zero — o que exige enormes conjuntos de dados e um poder computacional significativo —, os desenvolvedores aproveitam o conhecimento que uma IA já adquiriu. Essa abordagem imita a forma como os seres humanos aprendem; por exemplo, saber tocar piano torna muito mais fácil aprender órgão, porque a compreensão fundamental da teoria musical e a destreza dos dedos são transferidas. No contexto da aprendizagem profunda, isso significa que um modelo pode alcançar alta precisão num novo problema com significativamente menos dados e tempo.
Como funciona a aprendizagem por transferência#
A eficácia da aprendizagem por transferência reside na natureza hierárquica da extração de características. Os modelos de aprendizagem profunda, especialmente os utilizados em visão computacional, aprendem a reconhecer padrões em camadas. As camadas iniciais do backbone detetam características simples e universais, como contornos, curvas e texturas. Essas características de baixo nível são aplicáveis a praticamente qualquer tarefa visual.
O processo normalmente envolve duas fases principais:
-
Pré-treino: um modelo é treinado num conjunto de dados de referência de grande escala, como o ImageNet, para aprender representações visuais gerais. Isso resulta num conjunto de pesos do modelo que já compreendem a estrutura visual.
-
Adaptação: o modelo pré-treinado é então adaptado a uma tarefa específica de um domínio. Isso é frequentemente feito ao "congelar" as camadas iniciais (mantendo os respetivos pesos fixos) e retreinar apenas as camadas finais, ou a cabeça de deteção, num conjunto de dados personalizado menor.
Aplicações no mundo real#
A aprendizagem por transferência democratizou a IA ao permitir criar soluções especializadas sem os recursos das Big Tech.
- IA na área da saúde: é difícil reunir milhões de imagens médicas anotadas para cada doença específica. No entanto, os investigadores podem utilizar um modelo pré-treinado em objetos do quotidiano e aplicá-lo à análise de imagens médicas. O modelo transfere a sua capacidade de detetar formas e anomalias para identificar tumores em radiografias ou exames de MRI com elevada precisão.
- IA na indústria: em ambientes industriais, os sistemas de inspeção visual têm de se adaptar rapidamente a novas linhas de produtos. Um modelo generalizado de deteção de defeitos pode ser atualizado rapidamente para detetar falhas num novo componente específico, como um microchip, utilizando fluxos de trabalho de fabrico inteligente para minimizar o tempo de inatividade.
Relação com outros conceitos#
É útil distinguir a aprendizagem por transferência de termos estreitamente relacionados:
- vs. Ajuste fino: o ajuste fino é um método específico de implementação da aprendizagem por transferência. Enquanto a aprendizagem por transferência é o conceito abrangente de reutilizar conhecimento, o ajuste fino refere-se ao processo mecânico de descongelar partes do modelo e treiná-las com novos dados utilizando uma taxa de aprendizagem mais baixa.
- vs. Aprendizagem zero-shot: a aprendizagem por transferência requer uma fase de treino com alguns dados anotados para a nova tarefa. Em contrapartida, a aprendizagem zero-shot tenta classificar objetos que o modelo nunca viu antes, recorrendo frequentemente a descrições semânticas em vez de exemplos visuais.
Exemplo prático#
O seguinte trecho de Python demonstra a aprendizagem por transferência utilizando a biblioteca ultralytics. Carregamos o modelo YOLO26, que inclui pesos pré-treinados derivados do conjunto de dados COCO. Quando iniciamos o treino num novo conjunto de dados, o modelo transfere automaticamente as suas características previamente 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 estas sessões de treino na cloud, ferramentas como a Ultralytics Platform simplificam o processo, permitindo que as equipas colaborem na anotação de dados e implementem modelos com aprendizagem por transferência de forma eficiente.
Para uma análise mais aprofundada da teoria académica, as notas do Stanford CS231n oferecem uma excelente visão geral, enquanto o Tutorial de aprendizagem por transferência do PyTorch fornece detalhes técnicos abrangentes para a implementação.









