Libere el poder del transfer learning para ahorrar tiempo, impulsar el rendimiento de la IA y abordar nuevas tareas con datos limitados utilizando modelos pre-entrenados.
El aprendizaje por transferencia es una técnica de aprendizaje automático en la que un modelo desarrollado para una tarea se reutiliza como punto de partida para un modelo sobre una segunda tarea relacionada. para un modelo sobre una segunda tarea relacionada. En lugar de entrenar un modelo desde cero, lo que requiere grandes cantidades de de datos de entrenamiento y recursos informáticos, el aprovecha los conocimientos -como mapas de características, ponderaciones y patrones- aprendidos en la tarea original. Este enfoque es la piedra angular del aprendizaje profundo moderno, especialmente en visión por computador (CV), lo que a los desarrolladores lograr una gran precisión significativamente menos datos y tiempos de entrenamiento más cortos.
El proceso se basa en la capacidad de redes neuronales para aprender representaciones jerárquicas. En las capas iniciales de un modelo, a menudo denominadas columna vertebral, la red aprende características visuales universales como bordes, texturas y formas. Estas características son aplicables a casi cualquier tarea visual.
El aprendizaje por transferencia suele constar de dos fases principales:
Para una inmersión teórica más profunda, los apuntes de Stanford CS231n sobre Aprendizaje por Transferencia proporcionan un un recurso excelente.
El aprendizaje por transferencia aborda el problema habitual de la escasez de datos. Al empezar con características preaprendidas, los modelos evitan evitar el sobreajuste en conjuntos de datos pequeños y convergen que los modelos inicializados con pesos aleatorios.
El aprendizaje por transferencia es la base de soluciones de sectores:
Resulta útil distinguir el aprendizaje por transferencia de términos similares:
Los siguientes Python ejemplo demuestra cómo aplicar el aprendizaje por transferencia utilizando
el sitio ultralytics biblioteca. Cargamos un modelo YOLO11 preentrenado en COCO y lo afinamos en un conjunto de datos de muestra.
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 más detalles sobre la implementación, consulte el tutorial oficial de Tutorial de Aprendizaje por TransferenciaPyTorch o la Guía de Aprendizaje por TransferenciaTensorFlow .