Desbloqueie o poder da aprendizagem por transferência para economizar tempo, impulsionar o desempenho da IA e enfrentar novas tarefas com dados limitados usando modelos pré-treinados.
A aprendizagem por transferência é uma técnica de aprendizagem automática em que um modelo desenvolvido para uma tarefa é reutilizado como ponto de partida para um modelo numa segunda tarefa relacionada. Em vez de treinar um modelo de raiz, o que requer grandes quantidades de dados de treino e recursos computacionais, a aprendizagem por transferência A aprendizagem por transferência aproveita os conhecimentos - tais como mapas de caraterísticas, pesos e padrões - aprendidos numa tarefa de origem. Esta abordagem é a pedra angular da aprendizagem profunda moderna, particularmente na visão computacional (CV), permitindo aos que permite aos programadores obter uma elevada precisão com significativamente menos dados e tempos de formação mais curtos.
O processo baseia-se na capacidade das redes neuronais para aprender representações hierárquicas hierárquicas. Nas camadas iniciais de um modelo, frequentemente designadas por a rede aprende caraterísticas visuais universais como arestas, texturas e formas. Essas caraterísticas são aplicáveis a quase todas as tarefas visuais.
A aprendizagem por transferência envolve normalmente duas fases principais:
Para um mergulho teórico mais profundo, as Stanford CS231n sobre Aprendizagem por Transferência é um excelente recurso.
A aprendizagem por transferência responde ao desafio comum da escassez de dados. Ao começar com caraterísticas pré-aprendidas, os modelos evitam evitam o sobreajuste em conjuntos de dados pequenos e convergem muito mais do que os modelos inicializados com pesos aleatórios.
A aprendizagem por transferência potencia soluções de IA amplamente utilizadas em vários sectores:
É útil distinguir a aprendizagem por transferência de termos semelhantes:
O seguinte Python exemplo demonstra como aplicar a aprendizagem por transferência utilizando
o ultralytics biblioteca. Carregamos um modelo YOLO11 pré-treinado em COCO e afinamo-lo num conjunto de dados de amostra.
from ultralytics import YOLO
# Load a pre-trained model (weights derived from the COCO dataset)
# This acts as our starting point for transfer learning
model = YOLO("yolo11n.pt")
# Fine-tune the model on a new dataset (e.g., COCO8)
# The model adapts its pre-learned features to the specific data
model.train(data="coco8.yaml", epochs=5)
# The updated model can now be used for inference on the new task
model.predict("path/to/image.jpg")
Para mais pormenores sobre a implementação, consulte o Tutorial de aprendizagem por transferênciaPyTorch ou o Guia de aprendizado de transferênciaTensorFlow .