Multitask Learning
El aprendizaje multitarea (MTL) es un tipo de técnica de aprendizaje automático en la que se entrena un modelo para realizar varias tareas simultáneamente. En el aprendizaje profundo, MTL se refiere al entrenamiento de una red neuronal para realizar múltiples tareas al compartir algunas de las capas y parámetros de la red entre tareas. En MTL, el objetivo es mejorar el rendimiento de generalización del modelo aprovechando la información compartida entre tareas. Al compartir algunos de los parámetros de la red, el modelo puede aprender una representación más eficiente y compacta de los datos, lo que puede ser beneficioso cuando las tareas están relacionadas o tienen algunos puntos en común.
Hay diferentes formas de implementar MTL en el aprendizaje profundo, pero el enfoque más común es usar un extractor de funciones compartido y varios encabezados específicos de tareas. El extractor de características compartidas es una parte de la red que se comparte entre tareas y se usa para extraer características de los datos de entrada. Los encabezados específicos de la tarea se utilizan para hacer predicciones para cada tarea y, por lo general, están conectados al extractor de características compartidas. Otro enfoque es utilizar una capa de toma de decisiones compartida, donde la capa de toma de decisiones se comparte entre tareas y las capas específicas de tareas están conectadas a la capa de toma de decisiones compartida.
MTL puede ser útil en muchas aplicaciones, como procesamiento de lenguaje natural, visión por computadora y atención médica, donde múltiples tareas están relacionadas o tienen algunos puntos en común. También es útil cuando los datos son limitados, MTL puede ayudar a mejorar el rendimiento de generalización del modelo al aprovechar la información compartida entre tareas.
Sin embargo, MTL también tiene sus propias limitaciones, como cuando las tareas son muy diferentes.
El aprendizaje multitarea es un subcampo del aprendizaje profundo. Se recomienda que se familiarice con los conceptos de redes neuronales para comprender lo que significa el aprendizaje multitarea. ¿Qué es el aprendizaje multitarea? El aprendizaje multitarea es un subcampo del aprendizaje automático que tiene como objetivo resolver múltiples tareas diferentes al mismo tiempo, aprovechando las similitudes entre las diferentes tareas. Esto puede mejorar la eficiencia del aprendizaje y también actuar como un regularizador que discutiremos en un rato. Formalmente, si hay n tareas (los enfoques convencionales de aprendizaje profundo apuntan a resolver solo 1 tarea usando 1 modelo en particular), donde estas n tareas o un subconjunto de ellas están relacionadas entre sí pero no son exactamente idénticas, Aprendizaje multitarea(MTL) ayudará a mejorar el aprendizaje de un modelo en particular utilizando el conocimiento contenido en todas las n tareas. Intuición detrás del aprendizaje multitarea (MTL):Al utilizar modelos de aprendizaje profundo, generalmente buscamos obtener una buena representación de las características o atributos de los datos de entrada para predecir un valor específico. Formalmente, nuestro objetivo es optimizar para una función particular entrenando un modelo y ajustando los hiperparámetros hasta que el rendimiento no se pueda aumentar más. Mediante el uso de MTL, podría ser posible aumentar el rendimiento aún más al obligar al modelo a aprender una representación más generalizada a medida que aprende (actualiza sus pesos) no solo para una tarea específica sino para un montón de tareas. Biológicamente, los humanos aprenden de la misma manera. Aprendemos mejor si aprendemos varias tareas relacionadas en lugar de centrarnos en una tarea específica durante mucho tiempo. MTL como regularizador:En la jerga de Machine Learning, MTL también puede verse como una forma de inducir sesgos. Es una forma de transferencia inductiva, el uso de múltiples tareas induce un sesgo que prefiere hipótesis que puedan explicar todas las n tareas. MTL actúa como un regularizador al introducir un sesgo inductivo como se indicó anteriormente. Reduce significativamente el riesgo de sobreajuste y también reduce la capacidad del modelo para adaptarse al ruido aleatorio durante el entrenamiento. Ahora, analicemos las técnicas principales y predominantes para usar MTL. Uso compartido de parámetros duros: se utiliza una capa oculta común para todas las tareas, pero varias capas específicas de tareas se mantienen intactas hacia el final del modelo. Esta técnica es muy útil ya que al aprender una representación para varias tareas mediante una capa oculta común, reducimos el riesgo de sobreajuste.
Suposiciones y consideraciones: el uso de MTL para compartir conocimientos entre tareas es muy útil solo cuando las tareas son muy similares, pero cuando se viola esta suposición, el rendimiento disminuirá significativamente. Aplicaciones: las técnicas MTL han encontrado varios usos, algunas de las principales aplicaciones son:
- Detección de objetos y reconocimiento facial
- Automóviles autónomos: los peatones, las señales de alto y otros obstáculos se pueden detectar juntos
- Filtrado colaborativo multidominio para aplicaciones web
- Predicción de acciones
- Modelado de lenguaje y otras aplicaciones de PNL
- Relación entre tareas: MTL es más efectivo cuando las tareas están relacionadas o tienen algunos puntos en común, como el procesamiento del lenguaje natural, la visión por computadora y la atención médica.
- Limitación de datos: MTL puede ser útil cuando los datos son limitados, ya que permite que el modelo aproveche la información compartida entre tareas para mejorar el rendimiento de la generalización.
- Extractor de características compartidas: un enfoque común en MTL es usar un extractor de características compartidas, que es una parte de la red que se comparte entre tareas y se usa para extraer características de los datos de entrada.
- Encabezados específicos de la tarea: los encabezados específicos de la tarea se utilizan para hacer predicciones para cada tarea y, por lo general, están conectados al extractor de características compartidas.
- Capa de toma de decisiones compartida: otro enfoque es utilizar una capa de toma de decisiones compartida, donde la capa de toma de decisiones se comparte entre tareas y las capas específicas de tareas están conectadas a la capa de toma de decisiones compartida.
- Diseño cuidadoso de la arquitectura: la arquitectura de MTL debe diseñarse cuidadosamente para adaptarse a las diferentes tareas y garantizar que las características compartidas sean útiles para todas las tareas.
- Sobreajuste: los modelos MTL pueden ser propensos al sobreajuste si el modelo no se regulariza correctamente.
- Evitar la transferencia negativa: cuando las tareas son muy diferentes o independientes, MTL puede conducir a un rendimiento subóptimo en comparación con el entrenamiento de un modelo de una sola tarea. Por lo tanto, es importante asegurarse de que las funciones compartidas sean útiles para todas las tareas para evitar la transferencia negativa.