Explora el aprendizaje por transferencia para entrenar una IA de alta precisión con menos datos. Aprende a aprovechar los pesos preentrenados Ultralytics para acelerar tus proyectos de visión artificial.
El aprendizaje por transferencia es una potente técnica de aprendizaje automático (ML) en la que un modelo desarrollado para una tarea específica se reutiliza como punto de partida para un modelo en una segunda tarea relacionada. En lugar de entrenar una red neuronal desde cero, lo que requiere enormes conjuntos de datos y una potencia computacional significativa, los desarrolladores aprovechan los conocimientos que ya ha adquirido una IA. Este enfoque imita la forma en que aprenden los seres humanos; por ejemplo, saber tocar el piano hace que sea mucho más fácil aprender a tocar el órgano , ya que se transfiere la comprensión básica de la teoría musical y la destreza de los dedos. En el contexto del aprendizaje profundo, esto significa que un modelo puede alcanzar una alta precisión en un nuevo problema con una cantidad de datos y un tiempo significativamente menores.
La eficacia del aprendizaje por transferencia radica en la naturaleza jerárquica de la extracción de características. Los modelos de aprendizaje profundo, en particular los utilizados en la visión por ordenador, aprenden a reconocer patrones en capas. Las capas iniciales de la columna vertebral detect características detect y universales como bordes, curvas y texturas. Estas características de bajo nivel son aplicables a casi cualquier tarea visual.
El proceso suele constar de dos fases principales:
El aprendizaje por transferencia ha democratizado la IA al permitir la creación de soluciones especializadas sin necesidad de contar con los recursos de las grandes empresas tecnológicas.
Es útil distinguir el aprendizaje por transferencia de términos estrechamente relacionados:
Los siguientes Python El fragmento muestra el aprendizaje por transferencia utilizando el
ultralytics biblioteca. Cargamos el YOLO26 modelo,
que viene con pesos preentrenados derivados del COCO . Cuando iniciamos el entrenamiento con un nuevo conjunto de datos, el
modelo transfiere automáticamente sus características preaprendidas a la nueva tarea.
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 gestionar conjuntos de datos y ejecutar estos procesos de entrenamiento en la nube, herramientas como la Ultralytics agilizan el proceso, permitiendo a los equipos colaborar en la anotación de datos y desplegar modelos de aprendizaje transferido de manera eficiente.
Para profundizar en la teoría académica, las notas de Stanford CS231n ofrecen una excelente visión general, mientras que el tutorial de aprendizajePyTorch proporciona amplios detalles técnicos para su implementación.