多任务学习记录:
待看文章
1.多任务网络架构:
(1)2019年的SNR模型
(2)腾讯PCG PLE网络
2.loss设计
(1)根据任务的Uncertainty对权重进行计算,参考经典的:Multi-Task Learning Using Uncertainty to Weigh Losses for Scene Geometry and Semantics
(2)不同loss取值范围不一致,那么是否可以尝试通过调整loss的权重w, 让每个loss对共享网络参数贡献平等呢?GradNorm: Gradient Normalization for Adaptive Loss Balancing in Deep Multitask Networks,以及另外一篇相似思路的文章End-to-end multi-task learning with attention 提出一种Dynamic Weight Averaging的方法来平衡不同的学习任务。
(3)Multi-Task Learning as Multi-Objective Optimization对于MTL的多目标优化理论分析也十分有趣,对于MTL优化理论推导感兴趣的同学值得一看。
Weighting losses with uncertainty
3.优点
深度学习的MTL主要是网络模型的设计能够从多任务监督信号中学会表征共享。MTL的优点主要是:1)由于层共享,减少了内存占用量。 2)由于避免重复计算共享层特征,提高推理速度。 3)如果相关任务共享补充信息或作为彼此的regularizer,则可以提高模型性能。 比如计算机视觉中的检测和分类,检测和分割,分割和深度估计等等。
其他
一些最近的工作采用MTL得到一个初始预测,然后以此改进其特征得到更好的输出,比如PAD-NET、PAP-NET、JTRL和MTI-Net等。
如图是文章对深度学习MTL的分类。MTL结构上分成编码器和解码器两种,优化策略上分成任务平衡或者其他。
PAD_Net :
PAP-NET ( Pattern-Affinitive Propagation Networks)
参考:
https://zhuanlan.zhihu.com/p/145706170 Multi-Task Learning的几篇综述文章
https://zhuanlan.zhihu.com/p/348873723 浅谈多任务学习(Multi-task Learning)