优化模型的优点
最优化模型在经济管理中起着核心作用,借助线性规划、非线性规划、动态规划、整数规划及系统科学方法,它能够构建出最优方案模型。此类模型能精确呈现经济活动中的条件极值问题,即在特定目标下,如何最有效率地运用各类资源,或在资源受限的情境下,如何实现最佳效果。它不仅适用于解决资源的最优配置问题,还能协助解决最佳部门结构问题、生产力合理布局问题、最优积累率问题、物资合理调运问题、最低成本问题等。
具体来说,最优化模型通过数学手段和方法,寻找满足特定目标的最优解。例如,在资源分配问题中,模型能确定如何分配有限的资源,以实现最大的产出或最小的成本。在部门结构优化方面,它能够帮助公司找到最优的组织结构,从而提升效率和降低成本。在生产力布局问题上,模型能协助公司合理规划生产布局,实现资源的有效利用。
此外,最优化模型在实际应用中还具有灵活性及适应性。公司可以根据自身需求,调整模型中的参数和条件,以适应不同的市场环境和内部条件。通过持续优化,公司能够不断提升自身的竞争力,实现可持续发展。同时,这种模型也为公司提供了科学决策的依据,帮助管理层更好地理解和掌控复杂的经济活动。
概括而言,最优化模型在经济管理中的应用范围广泛,能够帮助公司解决各种资源分配和优化问题,提升效率和降低成本,实现更好的经济效益。它不仅是一种强大的数学工具,更是推动公司实现可持续发展的重要途径。
多目标优化在推荐中的应用
多目标排序通常指的是存在两个或两个以上的目标函数,寻求一种排序方法,使得所有目标函数都达到最优或满意。
在推荐系统中,多数产品都是基于隐式反馈进行推荐,导致评估用户满意度时存在不同的偏差:
1)不同目标表达不同的满意程度:在电商应用中,购买行为表达的满意度高于点击、浏览;
2)单个目标衡量不全面:在信息流应用中,仅以点击率为目标,可能会存在标题党;在招聘应用中,仅以投递转化率为目标,可能存在招聘方不活跃或者对候选者不满意度下降。
3)用户表达满意的方式不同:在电商应用中,用户喜欢商品的表达可能会以收藏或者加购的形式,取决于用户偏好;在招聘应用中,招聘方对候选者的满意方式可能以在线沟通、电话沟通、直接面试邀请等形式,取决于招聘方偏好。
推荐系统中有多个业务指标,可以通过一些方法使得多个业务的综合目标收益最大化。比如说,电商场景,希望能够在优化GMV的基础上提高点击率,提高用户粘性;信息流场景,希望提高用户点击率的基础上提高用户关注、点赞、评论等行为,提高留存;招聘场景,希望提高求职者投递转化率的基础上提高招聘方的体验满意度,从而使得双方的满足度均提高。因此推荐系统做到后期,往往会向多目标方向演化,承担起更多的业务目标。
多目标排序问题的解决方案:多模型分数融合、通过样本权重进行多目标优化、排序学习(Learning To Rank,LTR)、多任务学习(Multi-Task Learning,MTL)。
1.多模型分数融合
多模型融合的方式也是相对经典传统的做法,每个目标训练一个模型,每个模型算出一个分数,然后根据自身业务的特点,通过某种方式将这些分数综合起来,计算出一个总的分数再进行排序,综合分数的计算通常会根据不同目标的重要性设定相应的参数来调节。
最常见的是weighted sum融合多个目标,给不同的目标分配不同的权重。当然,融合的函数可以有很多,比如连乘或者指数相关的函数,可以根据自己面临的场景不断去探索。
1.1规则公式法
以电商推荐系统为例,假定有五个预估目标,分别是点击率 CTR、购买转化率 CVR、收藏率 collect,加购率 cart、停留时长 stay,这五个目标分别对应五个模型,排序阶段的作用就是利用模型根据各自目标来给候选 Item计算一个预估值(分数),排序阶段结束每个 Item都会有五个不同的目标预估分数,如何用这些分数进行融合,是交给下一个流程--重排序模块来处理的。
分数融合的一种思路是利用一个带参数公式来实现,如下:
有了公式,那么超参数(α,β,a,b,c等)如果进行学习获取?目前工业界就是人工调参,通过线上AB实验不断调整参数,一个很繁琐的工作。
1.2线性回归法
如果经验公式,我们很容易想到的一种思路是类似于集成学习中一种多模型融合方法 Stacking,即将多个目标模型预估出的结果作为输入,然后用一个简单的线性回归进行线性加权融合,学习到各个目标的权重,这样我们就可以预估综合分数了。但是我们却忽略了一个重要的问题,该如何设置样本的 Label呢?事实上,并没有一个真实的综合分数可供我们去训练学习,因此,这种办法很难真正去实现。而在工业界,更多的做法是人工调试,但如此又会带来很多问题,比如模型灵活度不够。
2.样本权重(sample weight)
如果主目标是点击率,分享功能是我们希望提高的功能。那么点击和分享都是正样本(分享是点击行为的延续),分享的样本可以设置更高的样本权重。模型训练在计算梯度更新参数时,对于sample weight大的样本,如果预测错误就会带来更大的损失,梯度要乘以权重。通过这种方法能够在优化点击率的基础上,优化分享率。实际AB测试会发现,这样的方法,目标点击率会受到一定的损失换取目标分享率的增长。通过线上AB测试和sample weight调整的联动,可以保证在可接受的A目标损失下,优化目标B,实现初级的多目标优化。
若主要目标是点击量,那么我们期望提升的功能便是分享。点击与分享均被视为正面样本(分享可视作点击行为的延伸),对于分享样本,可设定更高的样本权重。在模型训练过程中,当计算梯度更新参数时,对于权重较大的样本,若预测失误,则损失更大,需将梯度乘以权重。此法可在优化点击量的同时,提升分享量。实际AB测试表明,此方法可能导致目标点击量有所下降,以换取目标分享量的提升。通过线上AB测试与样本权重调整的联动,可在可接受的A目标损失范围内,优化B目标,实现初步的多目标优化。
优势:模型结构简单,仅在训练时通过梯度乘以样本权重实现对特定目标的提升或衰减。带有样本权重的模型与线上的基础模型完全一致,无需额外的架构支持。
劣势:本质上并未对多目标进行建模,而是将不同的目标转化为同一个目标。这种转化的程度需要多次AB测试才能确定。
- 排序学习(Learning To Rank,LTR)
在多模型融合中,我们通过模型计算预估值或综合评分,其核心目的是为推荐物品排序,而非真正的评分。因此,我们可以采用排序学习方法来解决多目标问题。由于涉及多个目标,可排除pointwise方案,考虑pairwise和listwise方案。具体来说,模型可以考虑BPR或LambdaMART等算法。
与多模型融合中的Label标注相比,排序学习模型的Label标注相对容易,因为我们只关注相对关系,而不需要真实的评分数据。一种常见的标注方法是对多目标产生的物品构建Pair,例如,用户对物品i产生购买,对物品j产生点击,假设我们认为购买的目标比点击的目标更重要,则可让i>j,其他目标以此类推。有了顺序对后,我们便可以训练排序学习模型,这样一个模型便可以融合多个目标,而无需训练多个模型。
- 多任务学习(Multi-Task Learning,MTL)
4.1 概念
多任务学习是一种基于共享表示,将多个相关任务一起学习的机器学习方法。多任务学习涉及多个相关任务同时并行学习,梯度同时反向传播,利用相关任务训练信号中的特定领域信息来提高泛化能力。
一般来说,优化多个损失函数等同于进行多任务学习。即使只优化一个损失函数,也有可能借助辅助任务来改进原任务模型。
多任务学习的前提条件:多个任务之间必须具有相关性,并拥有可以共享的底层表示。
在多任务学习的定义中,共享表示是一个非常重要的限定。个人认为,共享表示对最终任务的学习有两类作用:
促进作用:通过浅层的共享表示互相分享、互相补充学习到的领域相关信息,从而互相促进学习,提高对信息的穿透和获取能力。
约束作用:在多个任务同时进行反向传播时,共享表示会兼顾到多个任务的反馈。由于不同的任务具有不同的噪声模式,同时学习多个任务的模型就会通过平均噪声模式从而学习到更一般的表征,这有点像正则化的意思。因此,相对于单任务,过拟合风险会降低,泛化能力增强。
因此,在深度神经网络中,执行多任务学习有两种最常用的方法:
参数的硬共享机制
共享Hard参数是神经网络MTL最常用的方法。在实际应用中,通常通过在所有任务之间共享隐藏层,同时保留几个特定任务的输出层来实现,如下图所示:
共享Hard参数大大降低了过拟合的风险。
参数的软共享机制
共享Soft参数,每个任务都有自己的参数和模型。模型参数之间的距离是正则化的,以便鼓励参数相似化,例如使用L2距离进行正则化。
多任务学习之所以有效,是因为多任务学习的方式引入了归纳偏置(inductive bias),归纳偏置有两个效果:
1)互相促进:可以把多任务模型之间的关系看作是互相先验知识,也称归纳迁移(inductive transfer)。有了对模型的先验假设,可以更好地提升模型的效果。
2)约束作用:借助多任务间的噪声平衡以及表征偏置来实现更好的泛化性能。
4.2 主流多任务学习模型
主流模型有E**M模型、EMS2模型、MMoE模型等。本文以阿里E**M模型为例进行介绍。
用户的行为可以抽象为一个序列模式:浏览->点击->购买。
CVR是指从点击到购买的转化,传统的CVR预估会存在两个问题:样本选择偏差和数据稀疏问题。
样本选择偏差:模型使用用户点击的样本来训练,但预测却使用整个样本空间。
数据稀疏问题:用户点击到购买的样本太少。
E**M是一个多任务学习模型,它同时学习点击率和转化率两个目标,即模型直接预测展现转换(pCTCVR):单位流量获得成交的概率,将pCVR视为一个中间变量,模型结构如下:
该网络结构共有三个子任务,分别用于输出pCTR、pCVR和pCTCVR。
对于pCTR来说,可将有点击行为的曝光事件作为正样本,没有点击行为的曝光事件作为负样本;对于pCTCVR来说,将同时有点击行为和购买行为的曝光事件作为正样本,其他作为负样本。上述公式可以转化为:
我们可以通过分别估计pCTCVR和pCTR,然后通过两者相除来解决。然而,在实际使用中,这种除**引入新的问题。因为在预测阶段,pCTR实际上是一个很小的值,范围一般在百分之几,预估时会出现pCTCVR>pCTR的情况,导致pCVR预估值大于1。E**M巧妙地将除法改为乘法来解决上述问题。
它引入了pCTR和pCTCVR两个辅助任务,训练时,loss为两者相加。
该模型融入了pCTR及pCTCVR两项辅助任务,在训练过程中,损失函数是这两个任务损失的总和。
那些由具有点击行为的展示事件构成的样本被标记为正样本,而未发生点击行为的展示事件则被标记为负样本;在CTCVR任务中,若展示事件同时包含点击和购买行为,则被标记为正样本,反之则为负样本。
此外,两个子网络的嵌入层是共用的。鉴于CTR任务的训练样本量远大于CVR任务,E**M模型中嵌入层共享机制确保了CVR子任务也能从仅展示无点击的样本中汲取知识,从而极大缓解了训练数据稀疏性问题。
多任务学习(MTL)能够实现多个模型特性的互补:点击率预估模型擅长捕捉表面特征,例如标题党和图片带来的点击诱惑;而转化模型则专注于学习更深层次的特性,如用户体验和服务质量。
4.3构建所有损失的帕累托
多任务学习本质上是一个多目标问题,因为不同任务之间可能存在冲突,需要做出权衡。
帕累托最优所描述的情形涉及多个优化目标,即在不损害其他目标的前提下优化某一目标。
4.3.1 将多任务学习视为多目标优化
定义如下:
优化目标:
5.多目标优化实践
【参考文献】
1. ; Multi-Task Learning as Multi-Objective Optimization
2.