Transfer Learning
El aprendizaje por transferencia reutiliza como punto de partida para otra tarea un modelo entrenado en una tarea distinta, por lo que la nueva tarea necesita muchos menos datos etiquetados y menos tiempo de entrenamiento.
El aprendizaje por transferencia es una técnica de aprendizaje automático que reutiliza un modelo entrenado para una tarea como punto de partida para otra tarea relacionada. Entrenar una red neuronal desde pesos aleatorios requiere grandes conjuntos de datos etiquetados y una capacidad de cálculo considerable, mientras que un modelo preentrenado con millones de imágenes ya ha aprendido características visuales que necesitan la mayoría de las tareas nuevas. Al partir de esos pesos del modelo aprendidos, un modelo nuevo alcanza una gran precisión con muchas menos imágenes etiquetadas y en una fracción del tiempo de entrenamiento; por eso, el aprendizaje por transferencia es la forma habitual de crear modelos de visión artificial para tareas personalizadas.
Cómo funciona el aprendizaje por transferencia#
El aprendizaje por transferencia funciona porque las redes profundas aprenden características en una jerarquía. Las primeras capas de un backbone responden a bordes, colores y texturas que aparecen en casi cualquier imagen, mientras que las capas más profundas los combinan para formar partes de objetos y conceptos específicos de cada tarea. Un estudio de Yosinski et al. midió esta progresión en redes convolucionales y descubrió que las características de las primeras capas son generales, que la transferibilidad disminuye en las capas superiores a medida que las características se especializan en la tarea original y que las características transferidas mejoran la generalización incluso después del ajuste fino con el nuevo conjunto de datos.
El proceso tiene dos fases:
- Preentrenamiento: Un modelo aprende representaciones generales con un gran conjunto de datos de benchmark, como ImageNet, COCO u Objects365, y genera un conjunto de pesos preentrenados.
- Adaptación: Las capas de salida, como un clasificador o una cabeza de detección, se sustituyen o redimensionan para las nuevas clases y se entrenan con el conjunto de datos de destino. En la extracción de características, las capas preentrenadas permanecen congeladas y solo aprenden las capas nuevas. En el ajuste fino, también se actualizan algunas o todas las capas preentrenadas, normalmente con una tasa de aprendizaje menor.
La cantidad de la red que se vuelve a entrenar depende de dos preguntas: cuántos datos etiquetados tiene la nueva tarea y cuánto se parece a los datos de preentrenamiento. Los apuntes de CS231n de Stanford describen los cuatro casos resultantes:
Aprendizaje por transferencia para la detección de objetos#
Los modelos de detección casi siempre se entrenan mediante transferencia: los puntos de control oficiales de YOLO26 se preentrenaron con Objects365 durante 150 épocas antes de ajustarse con COCO, tal como documenta la receta de entrenamiento de YOLO26. Al ejecutar train() en un punto de control cargado con un conjunto de datos nuevo, se transfiere cada peso compatible; se restablecen las filas de salida específicas de las clases si cambia el número de clases, pero se mantienen las filas cuyos nombres de clase coinciden. También se acepta un argumento freeze que mantiene fijas las primeras capas, lo que resulta especialmente útil con conjuntos de datos pequeños.
from ultralytics import YOLO
# Cargar los pesos de YOLO26n preentrenados con las 80 clases de COCO
model = YOLO("yolo26n.pt")
# Adaptar a un nuevo conjunto de datos de una sola clase; freeze=10 mantiene fijas las 10 primeras capas
results = model.train(data="medical-pills.yaml", epochs=20, freeze=10)El backbone preentrenado ya detecta formas, bordes y texturas, así que el entrenamiento solo tiene que aprender el aspecto de una pastilla a partir de las 92 imágenes de entrenamiento etiquetadas del conjunto de datos de pastillas médicas.
Aprendizaje por transferencia frente a términos relacionados#
- Ajuste fino: Una forma de llevar a cabo el aprendizaje por transferencia, en la que los pesos preentrenados siguen actualizándose con los datos nuevos. La extracción de características con un backbone congelado es la otra modalidad principal.
- Adaptación de dominio: Una forma de aprendizaje por transferencia en la que la tarea sigue siendo la misma, pero cambia la distribución de los datos, por ejemplo, al pasar de imágenes diurnas a imágenes nocturnas, a menudo con pocas etiquetas de destino o ninguna.
- Aprendizaje de cero ejemplos y aprendizaje con pocos ejemplos: Permiten tratar clases nuevas sin ejemplos etiquetados o con solo unos pocos, y se basan en el conocimiento general de un modelo preentrenado en lugar de en una fase completa de adaptación.
- Ajuste fino eficiente en parámetros (PEFT): Adapta modelos preentrenados muy grandes entrenando un pequeño conjunto de parámetros añadidos o seleccionados, como las matrices LoRA, mientras los pesos originales permanecen congelados.
- Olvido catastrófico: La pérdida de las capacidades de la tarea original cuando se ajusta un modelo con datos nuevos. Mezclar algunas imágenes de las clases originales en el nuevo conjunto de entrenamiento o congelar más capas ayuda a limitarlo.










