====
论文
====

======
Python
=====
=

=========
Tensorflow
=========

=======
PyTorch
=======

=====
Keras
=====

====
专题
====

====
链接
====

====
视频

====

=======
药物设计

=======

=======
材料科学
=======

============
经济学与金融学
==========
==


================
Multi-task Learning
======
==========


multi-task-learning-example
LibMTL
Multi-Task-Learning-PyTorch Awesome-Multi-Task-Learning
Multi-task Learning 理论(多任务学习) awesome-multi-task-learning
多任务学习中各loss权重应该如何设计呢? - 知乎  
   
   
   
   
   
   
   

 

多任务学习

给定 m 个学习任务,这m个任务或它们的一个子集彼此相关但不完全相同。通过使用所有m个任务中包含的知识,有助于改善特定模型的学习。 多任务学习的特点:具有相关联任务效果相互提升作用,即同时学习多个任务,若某个任务中包含对另一个任务有用的信息,则能够提高在后者上的表现;具有正则化的效果,即模型不仅需要在一个任务上表现较好,还需要再别的任务上表现好,倾向于学习到在多个任务上表现都比较好的特征;多任务模型可以共享部分结构,降低内存占用,在推理时减少重复计算,提高推理速度。MTL 处理的任务应具有一定的关联性,若同时学习两个不相关甚至冲突的任务,模型表现可能会受到损害出现经常所说的跷跷板现象,即两个任务联合学习的时候,可能一个任务效果变好,另一个任务效果变差,这个现象称为负迁移。究其本质主要是训练过程中可能出现以下 3 个问题导致的:多任务梯度方向不一致:同一组参数,不同的任务更新方向不同,导致模型参数出现震荡,任务之间出现负迁移的现象,一般出现在多个任务之间差异较大的场景。多任务收敛速度不一致:不同的任务收敛速度不一样,有的任务简单收敛速度快,有的任务困难收敛速度慢,导致模型训练一定轮数后,有的任务已经过拟合,有的任务还是欠拟合的状态;多任务 loss 取值量级差异大:不同的任务 loss 取值范围差异大,模型被 loss 比较大的任务主导,这种情况在两个任务使用不同损失函数,或者拟合值的取值差异大等情况下最为常见。与标准的单任务学习相比,多任务学习的方法设计可以分别从网络结构与损失函数两个角度出发。模型网络结构的不断创新,解决的是多个任务之间如何最高效的实现参数的共享与分离,让模型既能融合不同任务之间的共性,又能给每个任务提供独立的空间防止干扰。另一个角度是如何优化多任务学习的训练过程,如损失函数的优化等,