Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Multi-task Learning

Open In Colab

Multi-task Learning

O multi-task learning (MTL) é um paradigma que visa resolver múltiplas tarefas simultaneamente, utilizando um único modelo. A principal motivação por trás do MTL é o compartilhamento de informação entre tarefas relacionadas, onde as representações aprendidas em uma tarefa podem beneficiar outras, levando a uma melhor generalização e redução do overfitting (Caruana, 1997). Ao compartilhar representações internas, o MTL permite que o modelo capte padrões comuns entre as tarefas, o que muitas vezes resulta em um aprendizado mais robusto e eficiente. Além disso, o MTL também proporciona eficiência computacional, pois evita a necessidade de treinar modelos separados para cada tarefa, o que pode reduzir significativamente o custo de treinamento e a complexidade do sistema. Este paradigma é amplamente utilizado em diversas áreas, como visão computacional e processamento de linguagem natural, onde tarefas inter-relacionadas podem compartilhar características comuns.

Formas

O multi-task learning (MTL) pode ser realizado de diversas maneiras, dependendo de como as tarefas são integradas e de como as representações são compartilhadas. Uma das abordagens mais comuns é a de compartilhamento tardio de parâmetros, onde as tarefas compartilham as primeiras camadas do modelo para aprender representações gerais, e as camadas finais são específicas para cada tarefa. Outra abordagem é o compartilhamento antecipado, onde as tarefas têm redes praticamente separadas desde o início.

Além disso, existem abordagens com redes completamente separadas que utilizam mecanismos para alinhar o aprendizado entre as tarefas, permitindo que troquem informações indiretamente, como as cross-stitch networks (Misra, 2016), ajustando as representações com base em seus respectivos contextos. Essas diferentes formas de realizar MTL são escolhidas dependendo da relação entre as tarefas e da necessidade de personalização das representações para cada uma.

Exemplos e Aplicações

Multi-task Learning permite o desenvolvimento de diversas aplicações. De forma simplificada, um exemplo simples pode ser considerado o multi-label classification, já que a detecção de diferentes classes são realizadas simultaneamente. Porém, costumamos utilizar o termo de MTL para tarefas mais complexas.

Um grande exemplo de MTL é a detecção de objetos, visto que temos saídas nas redes neurais para classificação e regressão (bounding boxes). Também temos modelos que realizam detecção e segmentação de objetos simultâneos, como Mask-RCNN, caracterizando aplicações de MTL.

Além de visão computacional, também é possível realizar MTL ao treinar redes de processamento de linguagem natural para analisar sentimentos e classificar tópicos simultaneamente. Em séries temporais, podemos realizar previsão de diversas saídas, como previsão de demanda e preço de produtos, simultaneemente.

Aplicações mais recentes, como o desenvolvimento de veículos autônomos, envolvem não apenas realização de diversas tarefas, mas também uso de diversas modalidades de dados. Para isto, começamos também a trabalhar com Multi-modal Learning.

Exercícios

  1. Volte ao exemplo de séries temporais da aula 4 (4.a) e explique como os modelos definidos trabalham com o conceito de multi-task learning

  2. Ao invés de um modelo multi-task, separe em dois modelos, um para GR e outro para CO2. Compare o resultado com a abordagem multi-task original.

  3. Explore modificações de arquitetura utilizando compartilhamento tardio (late sharing).

Referências

  • Caruana, R. (1997). Multitask learning. Machine learning, 28, 41-75.

  • Misra, I., Shrivastava, A., Gupta, A., & Hebert, M. (2016). Cross-stitch networks for multi-task learning. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 3994-4003).