UNIR Revista
El aprendizaje por transferencia reutiliza elementos del machine learning lo que permite optimizar recursos y ahorro de tiempo en la cantidad de datos necesarios para entrar a los nuevos modelos.
El transfer learning (aprendizaje por transferencia) se basa en el concepto de reutilización de elementos de los modelos de machine learning (aprendizaje automático) preentrenados en nuevos modelos que se utilizarán para fines similares. Esto permite optimizar los recursos y los datos etiquetados necesarios para el entrenamiento.
El transfer learning consiste en reutilizar los elementos de un modelo de machine learning previamente entrenado en un nuevo modelo. Si ambos se desarrollan para realizar tareas similares, entonces el conocimiento se puede compartir entre ellos.
Este enfoque reduce los recursos utilizados y la cantidad de datos etiquetados necesarios para entrenar a los nuevos modelos, por lo que se está convirtiendo en una parte importante de la evolución del machine learning, utilizándose cada vez más como técnica en el proceso de desarrollo.
Existen varios tipos de aprendizaje automático, siendo el supervisado uno de los más utilizados. Este utiliza un conjunto de datos etiquetados para entrenar los modelos, por lo que es necesario etiquetar correctamente los conjuntos de datos. El proceso de entrenamiento suele requerir bastantes recursos y tiempo, una cuestión que queda resuelta con el aprendizaje por transferencia.
¿Cuándo se emplea el transfer learning?
El transfer learning se usa generalmente cuando el entrenamiento de un modelo de aprendizaje automático para resolver una nueva tarea requiere muchos recursos. El proceso reutiliza partes relevantes de un modelo de aprendizaje automático existente para solventar un problema nuevo similar.
El concepto clave del aprendizaje por transferencia es la generalización, es decir, solo se transfiere el conocimiento que puede ser utilizado por otro modelo en diferentes escenarios o condiciones. En lugar de que los modelos estén ligados a un conjunto de datos de entrenamiento, los modelos utilizados en el aprendizaje por transferencia son más generalizados. Los modelos desarrollados de esta manera se pueden utilizar en condiciones cambiantes y con diferentes conjuntos de datos.
¿Cómo funciona el transfer learning?
Transferir aprendizaje significa tomar las partes relevantes de un modelo de aprendizaje automático previamente entrenado y aplicarlo a un problema nuevo pero similar. Los desarrolladores deberán identificar qué partes del modelo se pueden reutilizar para la nueva tarea y cuáles deben volver a entrenarse. Por ejemplo, un nuevo modelo puede mantener los procesos que permiten que la máquina identifique objetos, pero vuelve a entrenar el modelo para identificar un objeto específico diferente.
Un modelo de machine learning que identifica un determinado objeto dentro de un conjunto de imágenes es un candidato principal para el transfer learning. Se puede mantener la mayor parte del modelo que trata sobre cómo reconocer diferentes objetos, pero la parte del algoritmo que identifica uno específico es el elemento que se volverá a entrenar. En este caso, no es necesario reconstruir y volver a entrenar un algoritmo de aprendizaje automático desde cero.
En el aprendizaje automático supervisado los modelos se entrenan para completar tareas específicas a partir de datos etiquetados durante el proceso de desarrollo. La entrada y la salida deseada están claramente mapeadas y alimentadas al algoritmo. Luego, el modelo puede aplicar las tendencias aprendidas y el reconocimiento de patrones a nuevos datos. Los modelos desarrollados de esta manera serán muy precisos al resolver tareas en el mismo entorno que sus datos de entrenamiento. Se volverá mucho menos preciso si las condiciones o el entorno cambian en la aplicación del mundo real más allá de los datos de entrenamiento. Es posible que se requiera la necesidad de un nuevo modelo basado en nuevos datos de entrenamiento, incluso si las tareas son similares. El aprendizaje por transferencia es una técnica que ayuda a resolver este problema.
Como concepto, funciona transfiriendo la mayor cantidad de conocimiento posible de un modelo existente a un nuevo modelo diseñado para una tarea similar. Por ejemplo, trasladar los aspectos más generales de un modelo que conforman los principales procesos para completar una tarea. Este podría ser el proceso detrás de cómo se identifican o clasifican los objetos o las imágenes. Luego, se pueden agregar capas adicionales de conocimiento más específico al nuevo modelo, lo que le permite realizar su tarea en nuevos entornos.
Principales aplicaciones del transfer learning
Aunque es una técnica relativamente nueva, el transfer learning se está utilizando en varios campos del machine learning, principalmente en:
Procesamiento de lenguaje natural
El procesamiento del lenguaje natural es la capacidad de un sistema para comprender y analizar el lenguaje humano, ya sea a través de archivos de audio o de texto. Es una parte importante de mejorar la manera en que interactúan los humanos y los sistemas. El procesamiento del lenguaje natural es intrínseco a los servicios cotidianos, como los asistentes de voz, el software de reconocimiento de voz, los subtítulos automáticos, las traducciones y las herramientas de contextualización del idioma. Un ejemplo actual es Chat GPT.
El aprendizaje por transferencia se utiliza de varias maneras para fortalecer los modelos de aprendizaje automático que se ocupan del procesamiento del lenguaje natural. Los ejemplos incluyen el entrenamiento simultáneo de un modelo para detectar diferentes elementos del idioma o la incorporación de capas preentrenadas que comprenden dialectos o vocabulario específicos.
El transfer learning también se puede utilizar para adaptar modelos en diferentes idiomas. Los aspectos de los modelos entrenados y refinados en función del idioma inglés se pueden adaptar para idiomas o tareas similares. Los recursos de idioma inglés digitalizados son muy comunes, por lo que los modelos se pueden entrenar en un gran conjunto de datos antes de que los elementos se transfieran a un modelo para un nuevo idioma.
Visión artificial
La visión artificial es la capacidad de los sistemas para comprender y entender el significado de videos o imágenes. Los algoritmos de aprendizaje automático se entrenan con grandes colecciones de imágenes para poder reconocer y categorizar temas de imágenes. En este caso, el transfer learning tomará los aspectos reutilizables de un algoritmo de visión artificial y los aplicará a un nuevo modelo.
El aprendizaje por transferencia puede tomar los modelos precisos producidos a partir de grandes conjuntos de datos de entrenamiento y ayudar a aplicarlos a conjuntos de imágenes más pequeños. Esto incluye transferir los aspectos más generales del modelo, como el proceso para identificar los bordes de los objetos en las imágenes. Luego se puede entrenar la capa más específica del modelo que se ocupa de identificar tipos de objetos o formas. Será necesario refinar y optimizar los parámetros del modelo, pero la funcionalidad central de este se habrá construido a través del aprendizaje de transferencia.
Redes neuronales
Las redes neuronales son la base del deep learning, un área del machine learning que intenta simular y replicar las funciones del cerebro humano. El entrenamiento de redes neuronales requiere una gran cantidad de recursos debido a la complejidad de los modelos. El aprendizaje por transferencia se utiliza para hacer que el proceso sea más eficiente y reducir la demanda de recursos.
Cualquier conocimiento o característica transferible se puede mover entre redes para agilizar el desarrollo de nuevos modelos. La aplicación del conocimiento a través de diferentes tareas o entornos es una parte importante de la construcción de dicha red. El aprendizaje transferido generalmente se limita a procesos o tareas generales que se mantienen viables en diferentes entornos.
El transfer learning es ampliamente utilizado con redes neuronales convolucionales para el desarrollo de modelos de deep learning en sistemas inteligentes de procesamiento de imágenes.