Aprendizaje por transferencia

Transfer Learning

El aprendizaje por transferencia es una técnica de aprendizaje automático en la que un modelo entrenado en una tarea se reutiliza o adapta para realizar una tarea diferente pero relacionada. En lugar de empezar desde cero, el aprendizaje por transferencia aprovecha el conocimiento preaprendido para acelerar el entrenamiento y mejorar el rendimiento, principalmente cuando la nueva tarea tiene datos etiquetados limitados.

Aprender a tocar el piano facilita el aprendizaje de otro instrumento, como la guitarra; el conocimiento central sobre la música se transfiere entre tareas.

Por qué es importante el aprendizaje por transferencia

El entrenamiento de modelos de aprendizaje profundo desde cero a menudo requiere conjuntos de datos masivos, hardware potente y tiempo. El aprendizaje por transferencia ofrece un atajo. Utilizando un modelo que ya ha aprendido patrones de un gran conjunto de datos, los desarrolladores pueden aplicarlo a nuevos problemas con menos datos y esfuerzo.

Este método es particularmente valioso en campos con escasez de datos etiquetados, como la imagenología médica o las tareas de lenguaje especializadas. El aprendizaje por transferencia también permite a las organizaciones más pequeñas beneficiarse de los modelos de IA a gran escala que entrenan las principales empresas tecnológicas.

Cómo funciona el aprendizaje por transferencia

El aprendizaje por transferencia normalmente sigue estos pasos:

  1. Preentrenamiento
    Se entrena un modelo base en un conjunto de datos grande y de propósito general. Por ejemplo, un modelo de reconocimiento de imágenes puede entrenarse con millones de imágenes de ImageNet, o un modelo de lenguaje puede entrenarse con vastos textos de Internet.
  2. Transferencia/reutilización
    El modelo preentrenado se reutiliza en su totalidad o copiando capas específicas. Su conocimiento se traslada a una nueva tarea relacionada.
  3. Ajuste fino
    A continuación, el modelo se ajusta con un conjunto de datos más pequeño específico de la nueva tarea. Dependiendo de la tarea, algunas capas se actualizan con nuevos datos, mientras que otras pueden permanecer sin cambios.

Componentes esenciales del aprendizaje por transferencia

1. Modelo base

El modelo se entrena en la tarea de origen y contiene características generales que se pueden aplicar a otras tareas. VGG, ResNet o BERT son modelos base de uso común.

2. Tarea de origen

La tarea original en la que se entrenó el modelo base. Proporciona al modelo conocimientos fundamentales, como la comprensión del lenguaje o las características de la imagen.

3. Tarea de destino

La nueva tarea para la que se adapta el modelo. Normalmente tiene menos datos, pero se beneficia del conocimiento del modelo preentrenado.

4. Capas congeladas

En el aprendizaje por transferencia, algunas capas del modelo pueden estar «congeladas»; sus pesos no se actualizan durante el entrenamiento. Esto preserva las características aprendidas y reduce la cantidad de datos necesarios para el ajuste fino.

5. Capas de ajuste fino

Otras capas se dejan entrenables, lo que significa que se ajustan para adaptarse mejor a la tarea de destino. El ajuste fino permite que el modelo se especialice en el nuevo dominio.

Tipos de aprendizaje por transferencia

1. Aprendizaje por transferencia inductivo

En este tipo, las tareas de origen y destino son diferentes, pero pueden utilizar el mismo tipo de datos. El objetivo es mejorar el rendimiento de la tarea de destino utilizando el conocimiento del modelo de origen.

Ejemplo: Utilizar un modelo entrenado para la clasificación de texto para mejorar el análisis de sentimientos.

2. Aprendizaje por transferencia transductivo

Las tareas son las mismas, pero los dominios de datos son diferentes. El objetivo es aplicar el conocimiento aprendido de un dominio a otro.

Ejemplo: Se utilizó un modelo de reconocimiento de voz entrenado en inglés americano para datos de inglés británico.

3. Aprendizaje por transferencia no supervisado

Tanto las tareas de origen como las de destino no están supervisadas. Por ejemplo, transferir representaciones aprendidas de una tarea de agrupación a otra en diferentes conjuntos de datos.

Aprendizaje por transferencia en la práctica

Procesamiento del lenguaje natural (PNL)

El aprendizaje por transferencia es fundamental para la PNL moderna. Los grandes modelos lingüísticos como BERT, GPT y RoBERTa se preentrenan en corpus de texto masivos utilizando métodos auto supervisados. Estos modelos se ajustan luego en conjuntos de datos más pequeños y específicos de la tarea, como:

  • Clasificación de sentimientos
  • Respuesta a preguntas
  • Reconocimiento de entidades nombradas

El ajuste fino permite que estos modelos superen a los modelos de PNL tradicionales con muchos menos datos etiquetados.

Visión artificial

En visión, el aprendizaje por transferencia permite a los desarrolladores utilizar modelos preentrenados como ResNet, MobileNet o EfficientNet entrenados en conjuntos de datos como ImageNet. Estos modelos se pueden ajustar para realizar:

En lugar de aprender patrones de bajo nivel como bordes y colores desde cero, el modelo se basa en el conocimiento existente.

Voz y audio

Los modelos preentrenados como wav2vec o HuBERT se pueden ajustar para el reconocimiento de voz o la detección de emociones. Esto evita la necesidad de extensos datos de audio etiquetados, lo cual es costoso.

Imagen médica

El aprendizaje por transferencia se utiliza ampliamente en la atención médica, donde las imágenes médicas etiquetadas son escasas. Los modelos preentrenados en imágenes generales se adaptan para identificar enfermedades en radiografías, resonancias magnéticas y tomografías computarizadas.

Beneficios del aprendizaje por transferencia

1. Reduce los requisitos de datos

Dado que el modelo base ya aprendió patrones generales, se necesitan menos datos etiquetados para el entrenamiento en la nueva tarea.

2. Entrenamiento más rápido

El entrenamiento comienza desde una línea de base sólida, por lo que se requieren menos épocas de entrenamiento y recursos.

3. Mejor rendimiento

El aprendizaje por transferencia mejora la precisión y la generalización, especialmente en conjuntos de datos pequeños o ruidosos.

4. Eficiencia de recursos

Permite a las organizaciones o equipos más pequeños aprovechar los grandes modelos que otros entrenan, evitando la necesidad de una infraestructura de alta gama.

5. Permite la adaptación del dominio

Ayuda a adaptar los modelos entre dominios (por ejemplo, de texto general a texto legal o médico), ahorrando tiempo y esfuerzo.

Retos y limitaciones

1. Transferencia negativa

En algunos casos, el conocimiento de la tarea de origen puede perjudicar el rendimiento en la tarea de destino, especialmente si son demasiado diferentes. Esto se conoce como transferencia negativa.

2. Sobreajuste durante el ajuste fino

Si el conjunto de datos de destino es demasiado pequeño y se ajustan muchas capas, el modelo puede sobreajustarse y perder generalización.

3. Problemas de compatibilidad

No todas las arquitecturas de modelos o tareas admiten el aprendizaje por transferencia de manera eficaz. Es necesario hacer coincidir los formatos de datos y las estructuras de capas.

4. Alto costo inicial

Si bien el aprendizaje por transferencia ahorra recursos para la tarea de destino, el modelo base aún debe preentrenarse, lo que a menudo requiere un tiempo y un cálculo significativos.

Modelos preentrenados populares para el aprendizaje por transferencia

Dominio modelo descripción
PNL BERT Entrenado en el modelado de lenguaje enmascarado, que se utiliza ampliamente para tareas de clasificación y control de calidad.
PNL GPT-3/GPT-4 Modelos de lenguaje generativo entrenados en texto de Internet a gran escala.
PNL T5 Reformula las tareas de PNL como problemas de texto a texto.
Visión ResNet El modelo basado en CNN entrenado en ImageNet se utiliza comúnmente en la clasificación de imágenes.
Visión EfficientNet Modelo de visión escalable y de alto rendimiento.
Audio wav2vec 2.0 Modelo de representación de audio auto supervisado de Facebook AI.

Ejemplo de flujo de trabajo: clasificación de imágenes mediante aprendizaje por transferencia

  1. Cargue un modelo preentrenado (por ejemplo, ResNet50 entrenado en ImageNet).
  2. Elimine la capa de clasificación final.
  3. Agregue una nueva capa que coincida con el número de clases de destino (por ejemplo, 5 tipos de enfermedades).
  4. Congele todas las capas excepto el nuevo encabezado de clasificación.
  5. Entrene el modelo en un pequeño conjunto de datos etiquetados.
  6. Opcionalmente, descongele más capas para el ajuste fino después del entrenamiento inicial.

Esta estrategia reduce drásticamente el tiempo de entrenamiento y mejora el rendimiento, especialmente en conjuntos de datos pequeños.

Prácticas recomendadas para utilizar el aprendizaje por transferencia

1. Elija un modelo preentrenado cercano al dominio de su tarea

Es esencial seleccionar un modelo preentrenado que se haya entrenado con datos similares a su tarea de destino. Por ejemplo, si está trabajando en la clasificación de imágenes médicas, elegir un modelo preentrenado en imágenes médicas (como los modelos entrenados en conjuntos de datos de radiografías de tórax) será más eficaz que utilizar un modelo entrenado en conjuntos de datos de imágenes generales (como ImageNet). Cuanto más cerca esté la tarea del modelo preentrenado de su problema específico, más valiosas serán sus características aprendidas.

2. Comience con la extracción de características y luego pase al ajuste fino si es necesario

Utilice el modelo preentrenado como extractor de características si su conjunto de datos es pequeño. Esto significa que utiliza las capas preentrenadas sin modificar sus pesos, solo entrenando un nuevo clasificador sobre las características extraídas. Esto le permite beneficiarse del conocimiento del modelo preentrenado sin el riesgo de sobreajuste en su conjunto de datos más pequeño. Si el rendimiento no es satisfactorio, puede ajustar el modelo permitiendo que algunos de sus pesos se actualicen, ajustándolo a su tarea específica.

3. Congele las capas inferiores inicialmente, luego descongele por etapas

Cuando ajuste fino un modelo preentrenado, comience por congelar las capas inferiores, que generalmente capturan características básicas como bordes, texturas o formas simples. Estas características suelen ser transferibles entre diferentes tareas. Luego, solo entrene las capas superiores, que son más específicas de la tarea. A medida que avanza el entrenamiento, puede descongelar capas adicionales, lo que permite que el modelo ajuste más de sus parámetros para que se ajusten mejor a la tarea de destino. Esta descongelación gradual reduce el riesgo de sobreajuste y acelera el proceso de ajuste fino.

4. Utilice la detención temprana para evitar el sobreajuste

La detención temprana es una técnica que supervisa el rendimiento del modelo en un conjunto de validación durante el entrenamiento. El entrenamiento se detiene temprano si el rendimiento del modelo deja de mejorar o comienza a deteriorarse (lo que indica un sobreajuste). Esto ayuda a evitar que el modelo aprenda ruido o patrones irrelevantes de los datos de entrenamiento y garantiza que se generalice mejor en datos no vistos.

5. Normalice y preprocese los datos de manera coherente entre el origen y el destino

La normalización y el preprocesamiento de datos son pasos cruciales en el aprendizaje por transferencia. Asegúrese de que los pasos de preprocesamiento (como el cambio de tamaño de la imagen, el escalado o la tokenización) utilizados durante el entrenamiento del modelo preentrenado se repliquen al aplicar el modelo a su nueva tarea. Esto incluye la normalización de los valores de píxeles o las entradas de texto como se entrenó el modelo original. La coherencia en el preprocesamiento de datos garantiza que el modelo pueda aplicar eficazmente las características que ha aprendido al nuevo conjunto de datos.

Tendencias futuras en el aprendizaje por transferencia

El aprendizaje por transferencia está evolucionando rápidamente. Algunas tendencias notables incluyen:

  • Transferencia interlingüística: Entrenamiento en un idioma y aplicación a otros (por ejemplo, mBERT, XLM-R).
  • Aprendizaje con pocos ejemplos y aprendizaje con cero ejemplos: Los modelos grandes como GPT-4 pueden realizar tareas con una capacitación adicional mínima o nula.
  • Transferencia multimodal: Modelos como CLIP y Flamingo transfieren conocimientos entre texto, visión y audio.
  • Aprendizaje continuo: Extender el aprendizaje por transferencia para actualizar los modelos a lo largo del tiempo sin olvidar el conocimiento pasado.

El aprendizaje por transferencia permite que los sistemas de IA reutilicen el conocimiento de una tarea para resolver otra, lo que reduce drásticamente la necesidad de grandes conjuntos de datos etiquetados y recursos computacionales. Se ha convertido en una piedra angular del aprendizaje automático moderno, impulsando todo, desde chatbots y reconocimiento de imágenes hasta diagnósticos médicos y sistemas de voz.

Al ajustar modelos preentrenados potentes, los desarrolladores pueden lograr un alto rendimiento en nuevas tareas con datos limitados. A medida que el aprendizaje por transferencia continúa evolucionando, especialmente en entornos multilingües, multimodales y de pocos ejemplos, seguirá siendo una estrategia vital en la construcción de sistemas escalables, eficientes e inteligentes.

Glosario relacionado