原文:http://yongfeng.me/attach/lin-recsys2019.pdf
背景:多目标任务中常出现跷跷板(极化)现象,可以通过改进模型结构或改进多loss的梯度下降机制,阿里19年首次提出将帕累托解应用于推荐系统中的多任务学习,我们主要介绍原理部分;
帕累托最优:在多目标优化中有个共识,没有任何目标可以在不损害另一个目标的情况下进一步提升。
支配解:在帕累托最优的背景下,只有当 A 在所有目标上都优于 B 时,才认为解决方案 A 支配解决方案 B。
帕累托解的目标是找到不被任何其他解决方案支配的解决方案,值得一提的是,帕累托有效解并不是唯一的,所有此类解的集合被称为“帕累托边界”。
作者基于KKT,构建了PE-LTR梯度下降算法,LTR(Learning To Rank是模型的能力体现);
若尝试最小化总损失函数,则考虑模型参数的 KKT 条件:
$\sum_{i=1}^{K}w_i=1,\exists w_i\ge c_i,i\in{1,...K} and \sum_{i=1}^{K}w_i\nabla_\theta L_i(\theta)=0$
其中$\nabla_\theta L_i(\theta)$为$L_i$ 的梯度,满足此条件的被称为帕累托平稳解;
上述KKT条件可以被转化成最优化问题:
$min.\left\|w_i\nabla_\theta L_i(\theta)\right\|_2^2$
$s.t. \sum_{i=1}^{K}w_i=1,w_i\ge c_i,\forall i\in{1,...K}$
令$\hat{w_i}=w_i-c_i$,上式可以等价成:
$min.\left\|w_i\nabla_\theta L_i(\theta)\right\|2^2$,$s.t. \sum{i=1}^{K}\hat{w_i}=1-\sum_{i=1}^{K} c_i,\hat{w_i}\ge0,\forall i\in{1,...K}$
经由拉格朗日解法,可得$\hat{w_i}$的解析解$\hat{w_i}^*$ : $\hat{w_i}^* = ((M^TM)^{-1}M\hat{z})[1 : K]$
其中,$M=$$\begin{bmatrix} GG^T & e \\ e^T & 0 \end{bmatrix}$$\in R^{(K+1)\times(K+1)}$,$\hat{z}=$$\begin{bmatrix} -GG^Tc\\ 1-\sum_{i=1}{K}c_i \end{bmatrix}$$\in R^{(K+1)\times1}$
其中,$G=$$\begin{bmatrix} \nabla_\theta L_1(\theta) \\ ...\\e^T \nabla_\theta L_K(\theta) \end{bmatrix}$$\in R^{K\times m}$,$c=$$\begin{bmatrix} c_1\\ ...\\ c_K \end{bmatrix}$$\in R^{K\times1}$
其中,$[1 : K]$指的是$((M^TM)^{-1}M\hat{z})$前K个元素组成的子向量,$K$是多目标的个数,$m$是$\theta$的长度,**$e$**是全1向量,$c$是每个目标权重的下限约束;
可以得到最终的权重:$w_i=\hat{w_i}^{*}+c_i$