带你读《2022技术人的百宝黑皮书》——生成式重排在内容推荐中的应用实践(2) https://developer.aliyun.com/article/1246844?groupCode=taobaotech
DPP
基于DPP的多样性算法通过计算核矩阵 的行列式找到候选内容集合中相关性和多样性最大的子集。相比于MMR每次只考虑当前内容与前序已选内容中最相似的内容的相似度,DPP会综合考虑所有已选内容的相互影响。
为候选内容集合, 为已选中内容集合, 为内容i的相关性分, 为内容i和内容j的相似度分, 为平衡相关性与多样性的因子, 越大生成的列表多样性越高。我们使用多组不同超参数 生成了具有不同多样性程度的候选列表。
基于DPP的多样性重排打散是我们在线上全量部署的方法,通过复用线上已有的重排打散方法可以确保在序列评估模型不差的情况下取得和线上base相近的效果。
beam search
MMR和DPP均为greedy search策略,每一步选当前状态下目标效用函数最大的内容加入候选列表中,直到候选列表长度满足要求。贪心策略的每一步都采取的是局部最优策略,并不能保证产生是全局最优解。例如第一坑位选择效率分最高的内容并不一定能保证整个列表的收益最大化。
exhaustive search策略相比greedy search能够确保产生全局最优的策略,假设从m个候选内容中挑选n个组成最终的候选列表,那么一共有 种组合方式。假设从50个内容选择10个内容返回,那么则约有 种组合,庞大的计算量对于线上的推荐系统来说是不可接受的。
beam search则是exhaustive search和greedy search之间的一种折中解法,能够以较低的计算代价产生接近全局最优的策略。设定超参数k为beam size,那么在序列生成的每一步我们都会有k个序列,在已选中的k个序列的基础上再加入新的内容,得到m个候选序列,根据序列价值从高到底选择这m个序列中的k个作为下一步的已选中序列,不断迭代直到列表中所有位置都被填充完毕,此时序列价值最高的k个将作为最终的结果。
带你读《2022技术人的百宝黑皮书》——生成式重排在内容推荐中的应用实践(4) https://developer.aliyun.com/article/1246841?groupCode=taobaotech