2019年阿里巴巴推荐团队发表的论文《SDM:SequentialDeepMatchingModelforOnlineLarge-scaleRecommenderSystem》提出了SDM(SequentialDeepMatchingModel)算法,其在双塔模型的基础上,引入用户行为序列,挖掘其中长、短期兴趣信息,并融合得到用户兴趣表征,从而能够通过用户历史行为进行更加个性化的推荐。
损失函数使用交叉熵损失函数:
2019年阿里巴巴天猫团队发表的论文《Multi-InterestNetworkwithDynamicRoutingforRecommendationatTmall》提出了MIND(Multi-InterestNetworkwithDynamicrouting)算法,设计了多兴趣抽取层(Multi-InterestExtractorLayer),通过动态路由(DynamicRouting),自适应地聚合用户历史行为生成用户兴趣表征,将用户历史行为划分为多个聚类,每类的用户历史行为被转化为表征用于表示用户的某一类兴趣,因此,对于一个用户,MIND会输出多个用户表征,用于表达用户多样化的兴趣。
MIND的任务之二是将召回的目标商品的特征通过商品塔转化为商品表征:
《LearningTree-basedDeepModelforRecommenderSystems》是阿里妈妈算法团队于2018年发表的一篇论文,其中提出了TDM,创新性地将树结构索引和深度神经网络结合,在推荐系统召回阶段,通过树结构索引实现海量商品的快速检索和高效剪枝。
论文中还提到,召回过程中实际并不需要计算出概率真实值,只需要计算出各节点概率的相对大小即可,因此论文使用用户和商品交互这类隐式反馈作为样本,使用一个深度神经网络进行训练,用作各节点的分类器,即全局所有分类器共用一个深度神经网络。
对于树的构建和模型训练,论文的整体方案是,先采用一定的方法初始化树,再按以下的步骤循环多次:
最终得到线上服务使用的深度神经网络和树结构。
TDM方案存在以下不足:一是索引和模型的联合训练比较耗计算资源,二是树结构索引中的每个非叶子节点并不表示具体的某个商品(仅每个叶子节点表示具体的某个商品),因此在模型中,节点特征无法使用商品信息。而NANN解决了上述的两个不足:一是在模型训练和图搜索上进行优化减少计算量,二是图中的节点均表示具体商品,可以充分使用商品信息。
NANN的模型结构如下图所示:
对于图的构建,论文直接使用了HNSW算法,并使用商品向量的L2距离作为距离度量。基于HNSW算法进行分层遍历,如下所示:
多任务学习、多场景学习的主要区别如图25所示,多任务学习是对同一样本数据集的多个不同类型的任务进行联合学习,而多场景学习是对多个不同场景样本数据集的同一类任务进行联合学习。
在DeepGSP机制下,强化学习涉及的状态、动作和奖励定义如下:
2018年发表的论文《BudgetConstrainedBiddingbyModel-freeReinforcementLearninginDisplayAdvertising》提出了基于无模型强化学习的自动出价。
这里的无模型是指不对环境进行建模、不直接计算状态转移概率,智能体只能和环境进行交互,通过采样得到的数据进行学习,这类学习方法统称为无模型的强化学习(Model-freeReinforcementLearning)。无模型的强化学习又可以分为基于价值和基于策略的算法,基于价值的算法主要是学习价值函数,然后根据价值函数导出一个策略,学习过程中并不存在一个显式的策略,而基于策略的算法则是直接显式地学习一个策略函数,另外,基于策略的算法中还有一类Actor-Critic算法,其会同时学习价值函数和策略函数。
论文具体使用DQN算法,该算法将强化学习中基于价值的算法和深度学习相结合。另外,论文在该算法的基础上,针对自动出价场景的特点进行优化。
论文使用带约束的马尔科夫决策过程(ConstrainedMarkovDecisionProcess,CMDP)对自动出价问题进行建模,如图31所示,其分为离线训练环境和在线预测环境。
自动出价目标可由下式表示:
基于上述约束条件的统一表示,论文给出带约束自动出价问题的统一表示:
论文进一步推导出上述线性规划问题取得最优解时,每次展现的出价可由下式表示:
上一节已提到无模型的强化学习分为基于价值和基于策略的算法,基于价值的算法主要是学习价值函数,然后根据价值函数导出一个策略,学习过程中并不存在一个显式的策略,而基于策略的算法则是直接显式地学习一个策略函数,另外,基于策略的算法中还有一类Actor-Critic算法,其会同时学习价值函数和策略函数。USCB具体使用了Actor-Critic算法中的DDPG算法。DDPG算法使用Actor网络和Critic网络分别拟合策略函数和价值函数。DDPG算法在和环境的交互中,先使用Actor网络根据状态得到动作,再使用Critic网络根据状态和动作得到动作价值。USCB中DDPG算法的实现与原始DDPG算法基本一致,其中几处细节是:
和USCB类似,PerBid首先对带约束自动出价问题进行建模:
和USCB类似,PerBid也推导出最优出价公式:
之前所介绍的各自动出价方案,均先离线与仿真竞价系统交互进行训练、再在线与真实竞价系统交互进行预测,因此存在一个共性问题是如何保持仿真竞价系统和真实竞价系统的一致性,而真实竞价系统存在复杂的拍卖机制、激励的出价竞争,仿真竞价系统难以精确模拟真实竞价系统,而如果不能保持两个系统的一致性,则可能导致仿真竞价系统下所训练的自动出价方案在真实竞价系统中非最优。
阿里妈妈在2023年发表的论文《SustainableOnlineReinforcementLearningforAuto-bidding》,其提出的SOLA框架,将离线强化学习和在线安全探索相结合,同时解决了训练依赖仿真竞价系统和在线探索出价安全性的问题。
粗排和精排均可以认为是排序(LearningtoRank,LTR)问题,而排序问题的求解一般有3种方式:
这三种方法从上到下,从只考虑序列中元素自身、到考虑序列中两两元素相互关系再到考虑序列中所有元素相互关系,考虑的信息更加全面,但问题求解的样本空间也逐渐增大,从所有元素构成的样本空间、到所有元素两两配对构成的样本空间、再到所有元素组合序列构成的样本空间。
《COLD:TowardstheNextGenerationofPre-RankingSystem》由阿里妈妈于2020年发表,介绍了其粗排模型基于Pointwise类型的排序方法,从简单的后验统计、到浅层模型、再到深层模型的演进历程,并主要介绍了其深层模型COLD在模型结构和工程实现上的优化思路,从而在保证在线系统性能要求的前提下,在模型准确度上取得较好的提升。
降低精度。网络前向传播中的运算主要是矩阵相乘,而Float16相对Float32在矩阵相乘上有更高的性能,因此,可以使用Float16替代Float32。
令真实的训练样本集,IP(ImmediatePositive)表示立即发生转化的正样本,DP(DelayPositive)表示延迟发生转化的正样本,其等价于FN(FakeNegative),即假负样本,RN(RealNegative)表示未发生转化的真负样本。
对于上述反馈延迟问题,业界已经有比较多的理论研究和业务实践,其中一个思路是保持模型不变,但针对反馈延迟导致的样本标记分布偏差,通过在损失函数中进行正负样本的加权来纠偏。
对于点击延迟,论文在处理样本时并不会等待其相应的点击发生,而是直接将样本标记为负样本,待点击发生后,再将原样本复制成一条新样本,并将新样本标记为正样本。
论文通过推导,损失函数最终可写成:
通过复制,训练样本集除包含真实样本集中的Positive、FakeNegative和RealNegative外,还包含复制样本集中的真正样本和真负样本,真实样本集和复制样本集除部分样本的标记不同外,其余均一致。
前述论文均是基于重要性采样,并不断优化权重计算方式,但均存在一个问题,即FakeNegative样本在训练时被错误地标记。阿里妈妈于2022年发表了论文《AsymptoticallyUnbiasedEstimationforDelayedFeedbackModelingviaLabelCorrection》,提出了DEFUSE(DElayedFeedbackmodelingwithUnbiaSedEstimation)算法,采用两阶段优化来解决上述问题,首先预测FakeNegative样本的概率,然后再进行重要性采样。
基于规则的归因算法包括但不限于:
基于数据的算法最早于2011年在论文《Data-drivenMulti-touchAttributionModels》中被提出,其中使用Logistic回归模型进行各触点归因权重分析,而随着深度学习的发展,近几年来不少论文探索基于深度学习的多触点归因算法。
2018年发表的论文《DeepNeuralNetwithAttentionforMulti-channelMulti-touchAttribution》提出了DNAMTA算法。论文指出其首次在业界将深度学习应用于多触点归因中。
即将转化路径中属于该渠道的触点的归因权重求和。
将各个渠道的ROI作为其权重,从总预算中分配该渠道的预算:
CAMTA的整体网络结构如图48所示,其包含三部分。
2021年的论文《CausalMTA:EliminatingtheUserConfoundingBiasforCausalMulti-touchAttribution》提出了CausalMTA,其和CAMTA相比,将用户偏好这一混杂因子,进一步区分为不变的静态属性和变化的动态特征,对于静态属性,其使用变分循环自编码器作为渠道序列生成模型获取其无偏分布,然后基于无偏分布和逆概率加权方法对每个转化路径重加权,从而消除静态属性引起的选择偏差,而对于动态特征,其和CAMTA类似,也是借鉴CRN,通过循环神经网络和域对抗训练,生成用户历史的无偏表征,从而消除动态特征引起的选择偏差,得到无偏的转化率预估模型。最后,基于转化率预估模型,采用反事实分析计算各渠道的夏普利值作为归因权重,即对各渠道,使用转化率预估模型分别预估有无该渠道时的转化率,因引入该渠道带来的转化率提升即该渠道对转化的边际期望增益,也就是该渠道的夏普利值,被作为该渠道的归因权重。
CausalMTA整体解决方案模型如图50所,其包含三部分。第一部为转化路径重加权(JourneyReweighting),其对于静态属性,使用变分循环自编码器作为渠道序列生成模型获取其无偏分布,然后基于无偏分布和逆概率加权方法对每个转化路径重加权,从而消除静态属性引起的选择偏差。第二部分为因果转化率预估(CausalConversionPrediction),其对于动态特征,借鉴CRN,通过循环神经网络和域对抗训练,生成用户历史的无偏表征,从而消除动态特征引起的选择偏差,得到无偏的转化率预估模型。第三部分为归因权重计算(Attribution),其基于转化率预估模型,采用反事实分析计算各渠道的夏普利值作为归因权重,即对各渠道,使用转化率预估模型分别预估有无该渠道时的转化率,因引入该渠道带来的转化率提升即该渠道对转化的边际期望增益,也就是该渠道的夏普利值,被作为该渠道的归因权重。
上一节介绍的MMoE采用多个专家网络对各任务的知识进行挖掘和共享,并对每个任务设计其专有的门控网络,每个任务的门控网络对各专家网络的输出进行加权求和作为该任务专有网络塔的输入。
综上,PLE构建多层抽取网络,在CGC网络区分任务专有专家网络和共享专家网络、分别挖掘专有和共享知识的基础上,进一步通过共享门控网络逐层从所有专家网络中抽取共享知识,从而实现各任务专有信息和所有任务共享信息的逐层抽取和深层挖掘。