解决的问题:多任务训练不容易达到最优
思路:解决帕累托(pareto)最优问题
方法:
目标函数为多任务损失函数加权:
每个batch step分成两步:
1、固定w,用sgd降低Li;
2、固定del(theta),调整w。
第一步就是正常的梯度下降,关键在于第二步。
第二步的目标函数是:
这个目标其实就是从前面那个目标函数最优化到KKT条件来的。
这个方法的效果在于:
如果wi对应的任务,在某一次sgd中的梯度比较大,那么wi就会调整为比较大的值,那么下一次梯度下降的时候,该任务的权重就增加。
问题是:
为什么不用计算得到的wi决定本次sgd的加权梯度呢?