推荐系统工程知识体系

编号

类别

领域

模型配方

定理/算法/模型/方法名称

定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化

精度/密度/误差/强度

底层规律/理论定理

典型应用场景和各类特征

变量/常量/参数列表及说明

数学特征

语言特征

时序和交互流程的所有细节/分步骤时序情况及数学方程式流、动模型和流向方法的数学描述

认知/注意力人性/利益/关系/情感/交易/理论基础和推荐形式特征

5000万并发用户所需要的CPU/GPU/内存/存储盘/IO硬件/队列/网络的资源情况

R-0003

基础改进

协同过滤

评分矩阵 -> 物品相似度计算 -> 预测评分

基于物品的协同过滤

1. 数据表示:同R-0001,构建评分矩阵 Rm×n​。
2. 相似度计算:计算物品 i与 j的相似度 si,j​。常用调整余弦相似度:
si,j​=∑u∈Ui​​(Ru,i​−Rˉu​)2​⋅∑u∈Uj​​(Ru,j​−Rˉu​)2​∑u∈Ui,j​​(Ru,i​−Rˉu​)(Ru,j​−Rˉu​)​
其中 Ui,j​是对物品 i和 j都评分的用户集合。
3. 选择近邻:对每个物品 i,选择Top-K个最相似的物品集合 N(i)。
4. 预测评分:用户 u对物品 i的预测评分基于其已评分物品的加权平均:
(\hat{R}{u,i} = \frac{\sum{j \in N(i) \cap I(u)} s{i,j} \cdot R{u,j}}{\sum_{j \in N(i) \cap I(u)}

s_{i,j}

} )
其中 I(u)是用户 u评分过的物品集。
5. 生成推荐:对预测评分排序,取Top-N推荐。

误差:RMSE/MAE。通常比UserCF更稳定,预测精度更高,尤其在用户数远大于物品数时。
强度:物品相似度相对稳定,可离线高效计算,适合物品数相对稳定的场景。

同质性假设的物理解释:用户倾向于喜欢与他过去喜欢的物品相似的物品。

场景:亚马逊“买了这个商品的人也买了...”,电商、内容平台。
特征
- 可解释性:强,“因为您喜欢A,所以推荐相似的B”。
- 可扩展性:物品相似度矩阵 O(n2),通常物品数 n远小于用户数 m,且更稳定,可定期更新。
- 冷启动:对新用户友好(只要他有历史行为),对新物品不友好。

Rm×n​:评分矩阵。
si,j​:物品i与j的相似度。
Ui,j​:对物品i和j都评分的用户集。
N(i):物品i的Top-K相似物品集。
I(u):用户u评分过的物品集。
K,N:超参数。

集合:用户集、物品集、评分集。
统计:调整余弦相似度(中心化后计算相关性)。
加权平均:预测值为邻居评分的线性组合,权重为相似度。

无。

离线训练流程
1. 日志收集。
2. 物品相似度计算:S=ItemSimCompute(R),存储 S。
在线推荐流程
1. 请求接收:用户 u发起请求。
2. 获取用户近期交互物品列表 Irecent​(u)。
3. 召回候选集:C=∪j∈Irecent​(u)​N(j)。
4. 评分预测:对每个候选物品 i∈C,计算 R^u,i​(公式如上)。
5. 过滤与排序:过滤已交互物品,取TopN。

R-0004

基础改进

矩阵分解

评分矩阵 + 偏置项 -> 低维分解

偏置SVD

1. 核心思想:在基础矩阵分解 r^ui​=puT​qi​基础上,加入全局、用户、物品偏置项,以捕捉数据中的系统性偏差。
2. 预测公式
r^ui​=μ+bu​+bi​+puT​qi​
其中 μ是全局平均评分,bu​是用户偏置(用户评分严苛度),bi​是物品偏置(物品受欢迎度)。
3. 目标函数
minb∗​,p∗​,q∗​​∑(u,i)∈K​(rui​−μ−bu​−bi​−puT​qi​)2+λ(bu2​+bi2​+∥pu​∥2+∥qi​∥2)
4. 优化求解:使用SGD,更新规则如下:
误差:eui​=rui​−r^ui​
bu​←bu​+γ(eui​−λbu​)
bi​←bi​+γ(eui​−λbi​)
pu​←pu​+γ(eui​⋅qi​−λpu​)
qi​←qi​+γ(eui​⋅pu​−λpu​)
5. 参数:μ,bu​,bi​,pu​,qi​,λ,γ,k。

误差:RMSE。相较于基础MF,由于引入了偏置项,能更好地拟合实际评分分布,通常获得更低的RMSE。

评分由全局平均水平、用户个人偏差、物品自身属性以及用户与物品的交互(隐因子匹配)共同决定。

场景:显式评分预测任务(如电影评分)。
特征
- 可解释性增强:偏置项有明确含义。
- 效果提升:是Netflix Prize中许多优秀模型的基础组件。
- 仍是协同过滤:无法利用辅助信息。

μ:全局平均评分,常量。
bu​:用户u的偏置,变量。
bi​:物品i的偏置,变量。
pu​,qi​,k,λ,γ:同MF。
eui​:预测误差。

线性模型:预测公式是隐向量内积与偏置项的线性叠加。
正则化回归:L2正则防止过拟合。
优化:随机梯度下降。

无。

流程:与R-0002(基础MF)几乎相同,仅在预测和参数更新时增加偏置项计算。
离线训练:迭代更新 bu​,bi​,pu​,qi​。
在线预测:r^ui​=μ+bu​+bi​+puT​qi​。

理论基础:评分是多种偏差与潜在兴趣的共同结果。
推荐形式:评分预测。

资源估算:与R-0002(基础MF)几乎相同,仅增加存储用户和物品偏置向量的少量开销(约 (2亿+1000万)*4字节 ≈ 0.8GB),可忽略不计。计算流程一致。

R-0005

基础改进

矩阵分解

隐因子模型 + 时间动态

时间敏感的偏置SVD

1. 核心思想:用户和物品的偏置并非静态,而是随时间变化。将偏置项建模为时间的函数。
2. 预测公式
r^ui​(t)=μ+bu​(t)+bi​(t)+puT​qi​
其中 t是评分发生的时间戳。
3. 时间函数建模(以用户偏置为例):
- 分段时间函数:将时间轴划分为箱(bin),每个箱有一个独立的偏置值 bu​(t)=bu​+bu,bin(t)​。
- 线性函数:bu​(t)=bu​+αu​⋅devu​(t),其中 (\text{dev}_u(t) = \text{sign}(t - t_u) \cdot

t - t_u

^{\beta} ),tu​是用户平均评分时间。
- 物品偏置​ bi​(t)可类似建模(如电影上映后的口碑变化)。
4. 目标函数与优化:在偏置SVD目标函数基础上,将所有偏置项替换为时间函数 bu​(t),bi​(t),并加入对时间函数参数的正则化。使用SGD优化。

误差:RMSE。在包含时间戳的数据集(如Netflix)上,能显著提升预测精度,因其捕捉了兴趣漂移和物品生命周期。

用户偏好和物品受欢迎度是随时间动态变化的,而非固定不变。

场景:具有强烈时间效应的推荐,如新闻、短视频、季节性商品。
特征
- 动态性:能建模兴趣漂移。
- 复杂性:引入时间维度,参数增多,需要带时间戳的数据。
- 过拟合风险:时间函数若过于复杂易过拟合。

t:时间戳,变量。
bu​(t),bi​(t):时变的用户/物品偏置函数。
αu​,β:时间函数的参数。
tu​:用户u的平均评分时间,常量。
其他同偏置SVD。

时间序列分析:将偏置视为时间序列。
函数建模:用参数化函数(分段、线性、指数)拟合时间效应。
动态系统

无。

离线训练:需在训练样本中增加时间戳特征,优化时针对每个样本的特定时间t计算偏置。
在线预测:预测时需使用当前时间 tnow​来计算 bu​(tnow​)和 bi​(tnow​),再代入预测公式。

R-0006

排序学习

点击率预测

特征向量 -> 线性加权 -> 逻辑函数 -> 预估CTR

逻辑回归

1. 问题定义:将推荐问题转化为二分类(点击/未点击)问题。给定特征向量 x,预测点击概率 (P(y=1

\mathbf{x}) )。
2. 模型方程
线性部分:z=wTx+b=∑j=1d​wj​xj​+b
逻辑函数:y^​=σ(z)=1+e−z1​
其中 y^​为预估CTR,w为权重,b为偏置,x为特征向量(包含用户、物品、上下文特征)。
3. 损失函数:交叉熵损失。
L=−N1​∑i=1N​[yi​log(y^​i​)+(1−yi​)log(1−y^​i​)]
4. 优化求解:常用梯度下降法及其变种(如SGD, Adam)。梯度计算:
∂wj​∂L​=N1​∑i=1N​(y^​i​−yi​)xij​
wj​←wj​−γ∂wj​∂L​
5. 特征工程:核心。包括连续特征分箱、离散特征独热编码、交叉特征等。

误差/强度:使用对数损失(LogLoss)和AUC评估。模型简单、可解释性强、计算高效,是CTR预估的基准模型。对特征工程依赖大。

广义线性模型。用逻辑函数将线性组合结果映射到(0,1)区间,表示为概率。

场景:在线广告点击率预估、信息流推荐排序阶段。
特征
- 可解释性:权重 wj​直接反映特征重要性。
- 效率:线上预测仅需一次向量内积和逻辑函数计算,极快。
- 线性局限:无法自动学习特征间的高阶非线性交互。

x∈Rd:特征向量。
y∈{0,1}:真实标签(点击=1)。
y^​∈(0,1):预估CTR。
w∈Rd:权重参数。
b∈R:偏置参数。
γ:学习率。
σ(⋅):sigmoid函数。

代数:向量内积。
优化:凸优化(对于对数损失,LR是凸函数),可找到全局最优。
概率与统计:伯努利分布的最大似然估计。

无。

离线训练
1. 特征工程:生成样本特征向量 xi​。
2. 模型训练:迭代执行梯度下降更新权重 w和 b。
在线预测
1. 请求到来,实时拼接用户、物品、上下文特征得到 x。
2. 计算 z=wTx+b。
3. 计算 y^​=1/(1+exp(−z))。
4. 依据 y^​排序。

理论基础:概率判别模型。将推荐视为在给定特征下用户是否点击的概率预估问题。
推荐形式:基于预估CTR的排序列表。

R-0007

排序学习

点击率预测

特征向量 -> FM层(一阶+二阶特征交互)-> 逻辑输出

因子分解机

1. 动机:在LR基础上,显式建模特征间的二阶交互,解决特征组合问题,且能处理高维稀疏数据。
2. 模型方程
y^​(x)=w0​+∑i=1d​wi​xi​+∑i=1d​∑j=i+1d​⟨vi​,vj​⟩xi​xj​
其中,w0​是全局偏置,wi​是一阶权重,vi​∈Rk是特征 i的隐向量,⟨⋅,⋅⟩表示点积。
3. 二阶项计算优化:利用因式分解,将计算复杂度从 O(d2)降到 O(kd):
∑i=1d​∑j=i+1d​⟨vi​,vj​⟩xi​xj​=21​∑f=1k​((∑i=1d​vi,f​xi​)2−∑i=1d​vi,f2​xi2​)
4. 目标函数与优化:用于CTR预估时,同样使用交叉熵损失。可以使用SGD、ALS或MCMC求解。
5. 梯度更新(对隐向量 vi​):
∂vi,f​∂y^​​=xi​∑j=1d​vj,f​xj​−vi,f​xi2​
然后通过链式法则更新 vi,f​。

误差:LogLoss, AUC。相比LR,能自动学习特征交叉,在特征交互重要的场景下(如“男性&游戏”),效果显著提升。

将特征交互的权重矩阵 Wij​分解为两个低秩矩阵的乘积 viT​vj​,从而用隐向量的内积来建模两个特征间的交互强度。

场景:CTR预估、排序,尤其适合具有大量类别特征且特征组合重要的场景(如广告、推荐)。
特征
- 自动特征交叉:避免了繁琐的手工特征工程。
- 稀疏友好:即使在特征从未共现的情况下,也能通过隐向量估计其交互权重。
- 可解释性:隐向量内积的大小和符号反映了特征交互的方向和强度。

x∈Rd:稀疏特征向量。
w0​:全局偏置。
wi​:特征i的一阶权重。
vi​∈Rk:特征i的k维隐向量。
k:隐向量维度(超参数)。
⟨⋅,⋅⟩:向量点积。

代数:向量内积,矩阵分解(将交互权重矩阵低秩化)。
优化:非凸优化问题,但经验上SGD等算法效果很好。
组合特征:显式建模所有二阶特征组合。

无。

离线训练
1. 特征编号:每个特征字段(如user_id=123, item_cat=游戏)被独热编码为一个特征维度。
2. 模型训练:迭代采样样本,计算预测值 y^​,根据梯度更新 w0​,wi​,vi​。
在线预测
1. 实时特征编码。
2. 计算一阶项和优化后的二阶项公式,求和后过sigmoid函数。计算复杂度 O(kds​),ds​为非零特征数。

理论基础:在稀疏数据下,通过因子分解来参数化特征交互。
推荐形式:基于包含特征交叉的CTR预估排序。

资源估算
前提:d=1亿维特征,k=10。
- 内存:存储一阶权重 wi​(1亿4B=400MB) 和隐向量 Vd×k​(1亿10 * 4B=4GB)。总计约4.4GB。
- CPU:线上预测计算量大于LR,需计算二阶项。但由于特征高度稀疏,实际计算很快。仍需大量计算节点应对高并发。
- 存储/网络:同LR,特征服务是关键瓶颈。

R-0008

深度学习

点击率预测

稀疏特征 -> 嵌入层 -> 多层感知机 -> 输出层

Deep Crossing

1. 核心架构:用深度学习自动学习特征的高阶交叉,替代手工特征工程。
2. 网络结构
- 嵌入层:将高维稀疏类别特征映射为低维稠密嵌入向量。对于特征 i,有 ei​=Ei​xi​,其中 Ei​∈Rk×di​是嵌入矩阵,xi​是one-hot向量。
- 堆叠层:将所有嵌入向量和数值特征拼接成一个大向量:z(0)=concat(e1​,...,em​,xdense​)。
- 多层感知机
z(l)=ReLU(W(l)z(l−1)+b(l)),l=1,...,L−1
z(L)=σ(W(L)z(L−1)+b(L))
其中最后一层使用sigmoid激活函数输出CTR预估值 y^​=z(L)。
3. 目标与优化:最小化交叉熵损失,使用反向传播和梯度下降优化(如Adam)。

误差:LogLoss, AUC。相比线性模型和FM,理论上能学习更复杂的非线性模式,但需要更多数据和调参。

通过深度神经网络自动进行特征表示学习和高阶非线性组合。

场景:大规模稀疏特征的CTR预估,是深度学习CTR模型的经典范式。
特征
- 端到端学习:从原始特征到预测,无需复杂特征工程。
- 表达能力:MLP可以近似任意复杂函数。
- 黑盒性:可解释性差,调参复杂。

Ei​:第i个特征域的嵌入矩阵。
ei​:特征i的嵌入向量。
W(l),b(l):第l层MLP的权重和偏置。
L:网络深度。
ReLU:激活函数。
σ:sigmoid函数。

线性代数:矩阵乘法,向量拼接。
优化:非凸优化,基于梯度的反向传播。
表示学习:通过嵌入层将离散ID映射为稠密向量,蕴含语义信息。

无。

离线训练
1. 数据准备:生成(特征,标签)对。
2. 前向传播:计算网络各层输出直至预测值 y^​。
3. 反向传播:计算损失对所有权重的梯度 ∇W​L。
4. 参数更新:W←W−γ∇W​L。
在线预测
1. 特征编码与嵌入查找。
2. 多层前向传播计算。需GPU/CPU加速。

理论基础:表示学习与深度学习。用神经网络自动学习特征的高阶交叉表示。
推荐形式:基于深度神经网络的CTR预估排序。

资源估算
前提:特征域数量M=100,嵌入维度k=10,MLP层为1024->512->256->1。
- 内存:嵌入表是主要部分,约 M * (平均特征数) * k * 4B。假设平均每个域有100万特征,则约需 100 * 1e6 * 10 * 4B = 4GB。MLP参数约 (1e3 * 1e3 + 5e2 * 1e3 + 2.5e2 * 5e2 + 2.5e2 * 1) * 4B ≈ 7MB。总内存~4GB。
- CPU/GPU:线上预测需要神经网络前向计算,对算力要求高。需使用GPU集群或高度优化的CPU推理框架(如TensorRT, ONNX Runtime)。
- 存储/网络:模型参数、嵌入表达数十GB,需要高效的模型分发和加载机制。

R-0009

深度学习

点击率预测

宽部分(记忆) + 深部分(泛化) -> 联合训练

Wide & Deep

1. 核心思想:联合训练宽线性模型(记忆)和深度神经网络(泛化),兼顾记忆性与泛化性。
2. 宽部分:广义线性模型 ywide​=wTx+b。输入是原始特征和手工设计的交叉特征(如 user_installed_app & impression_app),用于记忆。
3. 深部分:深度神经网络(如Deep Crossing),输入是类别特征的嵌入向量和连续特征,用于泛化。
4. 联合训练:将两部分的输出加权求和(或拼接后通过最终层)得到最终预测:
y^​=σ(wwideT​x+wdeepT​adeep(lf​)​+b)
其中 adeep(lf​)​是深部分最后一层激活值。更常见的是将宽部分和深部分最后一层的激活值拼接后通过一个逻辑回归层:
y^​=σ(wjointT​[x,adeep(lf​)​]+b)
5. 训练:两部分共享损失函数(交叉熵),通过反向传播同时更新宽部分和深部分的参数。

误差:LogLoss, AUC。在Google Play的线上A/B测试中取得显著效果提升。宽部分增强了模型的记忆能力,深部分提供了泛化能力。

集成学习思想。宽模型负责记忆历史数据中频繁出现的特征组合(记忆),深模型探索未出现过的特征组合(泛化),两者互补。

场景:应用商店推荐、大型信息流产品。特别适合同时需要捕捉高频规则(记忆)和探索新模式(泛化)的场景。
特征
- Memorization & Generalization:核心优势。
- 工程友好:易于在已有线性模型系统上迭代引入深度学习。
- 仍需特征工程:宽部分依赖手工交叉特征。

x:宽部分输入特征(含交叉特征)。
adeep(lf​)​:深部分最终层输出向量。
wwide​,wjoint​,b:权重参数。
σ:sigmoid函数。

模型集成:线性模型与神经网络的并联集成。
联合优化:共享损失函数,端到端训练。
特征交叉:宽部分显式交叉,深部分隐式交叉。

无。

离线训练
1. 宽部分:处理原始特征和交叉特征。
2. 深部分:处理嵌入特征和数值特征。
3. 联合输出层计算预测,反向传播更新所有参数。
在线预测
1. 并行计算宽部分(线性加权)和深部分(前向传播)。
2. 拼接两部分结果,通过最终逻辑层输出CTR。

理论基础:记忆与泛化的平衡。宽部分记住用户明确的偏好,深部分发掘潜在的偏好。
推荐形式:集成模型的CTR预估排序。

资源估算
前提:宽部分特征维度d_wide=1000,深部分同DeepCrossing。
- 内存:宽部分权重(~4KB)+ 深部分参数(~4GB)。总计约4GB,与Deep Crossing相当。
- CPU/GPU:线上预测需同时计算线性部分和深度部分,计算开销略大于纯Deep模型。需要更强的推理算力。
- 存储/网络:模型更大,分发和加载开销略增。

R-0010

深度学习

点击率预测

稀疏特征 -> 嵌入层 -> 乘积层(内积/外积) -> DNN -> 输出

神经网络因子分解机

1. 动机:FM只能学习二阶特征交互,且交互方式是固定的内积。DeepFM用DNN来学习高阶特征交互,用FM组件来学习二阶交互,且共享嵌入层。
2. 模型结构
- 共享嵌入层:每个特征域对应一个嵌入向量 vi​。
- FM部分:计算一阶和二阶交互。二阶交互输出为一个向量:
yFM​=∑i=1d​wi​xi​+∑i=1d​∑j=i+1d​⟨vi​,vj​⟩xi​xj​
在实现中,FM部分通常只输出一个标量(或与Deep部分拼接)。
- Deep部分:将所有特征的嵌入向量拼接后输入DNN:
z(0)=concat(v1​x1​,...,vm​xm​)
a(l)=σ(W(l)a(l−1)+b(l))
yDNN​=a(L)
- 输出层:将FM和DNN的输出拼接,通过一个逻辑回归层:
y^​=σ(Wout​[yFM​;yDNN​]+bout​)
3. 训练:端到端训练,最小化交叉熵损失。

误差:LogLoss, AUC。在多个公开数据集上表现优于LR、FM和Wide&Deep(无需宽部分的手工特征)。

通过共享嵌入和双塔(FM塔和DNN塔)结构,统一且高效地学习低阶和高阶特征交互。

场景:CTR预估,是Wide&Deep的改进,避免了手工特征工程。
特征
- 端到端:无需特征工程。
- 全面交互:同时捕捉低阶和高阶特征交互。
- 参数共享:FM和DNN共享嵌入,训练更高效,嵌入表示更一致。

vi​:特征i的嵌入向量(与FM共享)。
yFM​:FM部分的输出(通常为标量)。
yDNN​:DNN部分的输出向量。
Wout​,bout​:输出层权重。

模型集成:FM与DNN的并行集成。
表示学习:共享嵌入层学习特征的低维表示。
特征交互:FM显式建模二阶,DNN隐式建模高阶。

无。

离线训练/在线预测:流程与Wide&Deep类似,只是将“宽部分”替换为“FM部分”,且输入特征无需手工交叉。FM部分的计算使用优化后的O(kd)公式。

理论基础:继承Wide&Deep思想,用FM替代手工宽部分,实现完全端到端。
推荐形式:基于深度因子分解机的CTR预估排序。

资源估算:与Deep Crossing/Wide&Deep处于同一量级。FM部分计算增加一些开销,但相比DNN部分可忽略。主要开销仍在嵌入表和DNN前向计算。

R-0011

深度学习

点击率预测

稀疏特征 -> 嵌入层 -> CIN(压缩交互网络) + DNN -> 输出

极深因子分解机

1. 动机:DNN学习高阶特征交互是隐式且 bit-wise 的,xDeepFM提出显式且 vector-wise 的高阶特征交互网络CIN。
2. 模型结构
- 嵌入层:同DeepFM。
- 线性部分:同FM的一阶部分。
- CIN部分
输入:第0层 X0∈Rm×D,其中m是特征域数,D是嵌入维度。
第k层 Xk的计算:
Xhk​=∑i=1Hk−1​​∑j=1m​Wijk,h​(Xik−1​∘Xj0​)
其中 ∘是哈达玛积(逐元素乘),Hk​是第k层的向量数,Wk,h是参数矩阵。CIN的输出是每一层所有向量的和池化后拼接:pk=∑i=1Hk​​Xik​,最终 p+=[p1,...,pT]。
- DNN部分:同DeepFM的Deep部分。
- 输出层:拼接线性部分、CIN部分和DNN部分的输出,通过线性层+sigmoid输出。
3. 特点:CIN学习特征交互是显式的,且阶数随网络深度增加。

误差:LogLoss, AUC。在包含丰富特征交互的数据集上,性能优于DeepFM等模型。

通过压缩交互网络显式地、向量级地学习有界阶特征交互。CIN的结构类似于RNN和CNN的交叉。

场景:对特征交互模式有复杂要求的CTR预估场景。
特征
- 显式高阶交互:CIN专门设计用于学习高阶交互。
- 计算复杂:CIN的时间和空间复杂度较高。
- 可解释性:比纯DNN有一定可解释性,可分析不同阶的交互强度。

X0:初始嵌入矩阵。
Xk:第k层CIN的输出。
Hk​:第k层的特征图数量(超参数)。
Wk,h:CIN权重参数。
T:CIN网络深度(交互阶数)。
:哈达玛积。

张量运算:CIN层涉及张量(三维)的乘法和求和。
显式多项式:CIN本质上学习的是特征向量的多项式交互。
组合爆炸控制:通过压缩(求和)操作控制复杂度。

无。

离线训练/在线预测:计算图包含三部分并行。CIN部分的计算是主要的复杂度来源,需要实现高效的张量运算(通常用深度学习框架实现)。

理论基础:显式高阶特征交互建模。认为DNN的bit-wise交互在推荐任务中可能不是最优的,应进行vector-wise交互。
推荐形式:基于显式高阶特征交叉的CTR预估排序。

资源估算:由于CIN网络的存在,计算和存储开销显著高于DeepFM。假设CIN层数T=3,每层H=100,则CIN部分参数量巨大。线上预测延迟较高,需要更强大的推理算力(GPU)支持。模型大小可能达到数百MB至GB级别。

R-0012

深度学习

点击率预测

多专家网络 + 门控网络 -> 任务塔

多门混合专家

1. 问题定义:多任务学习,如同时预测点击率和观看时长。共享底层特征,但不同任务有不同模式。
2. 模型结构
- 专家网络:多个子网络(专家),每个是一个前馈神经网络。第i个专家的输出为 Ei​(x)。
- 门控网络:为每个任务t分配一个门控网络 Gt​(x),输出对各个专家的权重(通过softmax归一化):
gt​(x)=softmax(Wgt​​x)
gt​(x)是一个k维向量(k个专家),表示任务t对各个专家的权重。
- 任务特定塔:每个任务有自己浅层的任务塔(前馈网络)。任务t的输入是加权后的专家输出:
yt​=Tt​(∑i=1k​gt,i​(x)⋅Ei​(x))
其中 Tt​是任务t的塔,gt,i​是门控向量第i维。
3. 训练:总损失是各任务损失的加权和:L=∑t=1T​wt​Lt​,其中 Lt​是任务t的损失(如交叉熵,MSE)。

误差:各任务各自的评估指标(如AUC,MAE)。通过共享专家网络,捕捉任务间共同模式;通过门控和任务塔,学习任务特定模式,缓解跷跷板现象。

集成学习与条件计算。不同任务可以“软选择”不同的专家组合,实现参数共享与任务特异性的平衡。

场景:推荐系统多目标优化(如点击率、点赞率、转发率、完播率等)、多场景推荐。
特征
- 灵活共享:门控机制允许不同任务以不同方式利用共享专家。
- 缓解负迁移:比硬共享底层参数效果更好。
- 参数高效:通过共享专家,增加模型容量但不过度增加参数。

Ei​(⋅):第i个专家网络函数。
Gt​(⋅):任务t的门控网络函数。
gt​(x):任务t的门控权重向量。
Tt​(⋅):任务t的塔网络函数。
wt​:任务t的损失权重(超参数)。
k:专家数量(超参数)。
T:任务数量。

条件计算:门控网络动态路由输入到不同的专家子网络。
加权求和:任务输入是专家的加权和,权重由输入决定。
多目标优化:联合优化多个相关但不完全一致的目标。

无。

离线训练:前向传播计算各任务输出,计算加权总损失,反向传播更新所有网络(专家、门控、任务塔)参数。
在线预测:输入x,并行计算所有专家输出和门控权重,为每个任务计算加权和并通过任务塔,输出多任务预估值。

理论基础:多任务学习。利用任务之间的相关性提升整体性能,并减少服务多个任务的总体计算开销。
推荐形式:多目标融合排序(如CTR*WatchTime)。

资源估算
前提:k=8个专家,每个专家是256->128的DNN;T=2个任务。
- 内存:存储所有专家网络、门控网络、任务塔网络的参数。参数量约为单任务模型的k倍(但专家可较小)。可能达数十GB。
- CPU/GPU:线上预测需要运行k个专家网络和T个门控网络+T个任务塔。计算量是单任务的数倍。需要强大的推理集群。
- 存储/网络:大模型分发。

R-0013

深度学习

召回/表征学习

用户序列 -> 深度网络 -> 用户向量;物品特征 -> 深度网络 -> 物品向量 -> 最近邻搜索

YouTube DNN 召回

1. 两阶段流程:召回(候选集生成) + 排序。本条目聚焦召回阶段模型。
2. 模型结构
- 输入:用户观看历史(视频ID序列)、搜索词序列、人口统计学特征、上下文特征等。
- 嵌入与池化:将稀疏ID特征嵌入为向量。对变长序列(如历史视频),将每个视频ID的嵌入向量进行平均池化
- 特征拼接:将所有嵌入向量和连续特征拼接成一个大向量。
- 深度神经网络:输入拼接向量,通过多个ReLU全连接层。
- 输出:在训练时,最后一层是一个softmax分类器,输出为用户将要观看的下一个视频的概率分布(超多分类,类别数为所有视频)。线上服务时,使用softmax前的网络输出(即用户向量 u)进行最近邻搜索。
3. 训练技巧
- 负采样:应对超大规模softmax,使用负采样或分层softmax。
- Example Age:将视频上传时间作为特征,解决视频热度偏见。
4. 线上服务:离线计算所有视频的物品向量(通常用一个浅层网络从视频特征得到,或直接用其ID embedding),存入向量检索引擎(如FAISS)。线上用用户向量 u检索最近邻的K个视频。

强度:通过离线向量检索,能从百万/千万量级物品库中快速召回数百个候选,是工业界召回标准方案。评估常用召回率、命中率等。

将推荐问题转化为超大规模多分类问题,学习一个从用户上下文到用户向量的映射,使得用户向量与其即将交互的物品向量在向量空间中接近。

场景:YouTube视频召回,以及各类大规模内容推荐的召回阶段。
特征
- 高效检索:将推荐转化为向量最近邻搜索,极大加速。
- 融合多信号:可融合丰富的历史行为和上下文特征。
- 表征学习:学到的用户/物品向量可用于其他任务。

用户特征:历史物品ID序列、搜索词、人口统计等。
物品特征:物品ID、标签等。
u:用户向量(DNN倒数第二层输出)。
vj​:物品j的向量(softmax层权重矩阵的列向量或单独网络生成)。
负采样数:训练超参数。

表示学习:学习用户和物品的稠密向量表示。
度量学习:在向量空间中,用户与正样本物品的余弦/内积相似度应大于负样本。
近似最近邻搜索:线上服务依赖高维向量快速检索算法。

处理搜索词序列时,会使用简单的语言模型(如n-gram)或词嵌入。

离线训练
1. 样本构造:以用户历史序列中最后一个视频为正样本,采样负样本。
2. 前向传播得到用户向量 u和正样本物品logit uTv+​。
3. 计算采样softmax损失,反向传播更新网络和物品向量。
在线服务
1. 实时获取用户特征,通过DNN前向传播得到用户向量 ut​。
2. 用 ut​在向量索引中执行近似最近邻搜索,返回Top-K个物品ID。

理论基础:从用户历史行为序列中学习用户的即时兴趣表征。
推荐形式:基于用户实时向量的向量化召回。

资源估算
前提:物品库n=1000万,向量维度d=256。
- 内存(线上召回):存储向量索引(如HNSW图)和物品向量,约 1000万 * 256 * 4字节 ≈ 10GB。用户DNN模型参数约数百MB至GB。总内存10-20GB/机器,需多机分片存储索引。
- CPU/GPU:用户向量生成(DNN前向计算)需要算力,可GPU加速。向量检索(ANN)是CPU密集型。需要大规模ANN服务集群。
- 存储:存储训练数据、模型、索引,PB级。

R-0014

序列模型

序列推荐

用户行为序列 -> GRU -> 下一个物品预测

GRU4Rec

1. 问题定义:基于用户的历史交互序列(如点击序列)Su​=[i1​,i2​,...,it​],预测下一个可能交互的物品 it+1​。
2. 模型结构:使用GRU(门控循环单元)对序列进行建模。
- 输入层:将物品ID it​通过嵌入层映射为向量 et​。
- GRU层
更新门:zt​=σ(Wz​et​+Uz​ht−1​+bz​)
重置门:rt​=σ(Wr​et​+Ur​ht−1​+br​)
候选状态:h~t​=tanh(Wh​et​+Uh​(rt​⊙ht−1​)+bh​)
隐状态:ht​=(1−zt​)⊙ht−1​+zt​⊙h~t​
- 输出层:将最终隐状态 ht​通过一个前馈层,然后与所有物品的嵌入矩阵 V做点积,得到每个物品的得分,再通过softmax得到下一个物品的概率分布:
y^​=softmax(VT(Wo​ht​+bo​))
其中 V∈Rd×n是物品嵌入矩阵(可与输入嵌入层共享权重)。
3. 训练:使用交叉熵损失,通过随时间反向传播(BPTT)优化。

误差:使用精确率@K、召回率@K、MRR、NDCG等序列推荐指标。能够有效捕捉用户兴趣的序列模式和短期演变。

序列依赖建模。用户的下一个行为依赖于之前的行为序列,GRU等RNN模型适合捕捉此类依赖。

场景:会话式推荐、下一首歌/视频推荐、电商下一件商品预测。
特征
- 序列性:显式建模行为间的顺序依赖。
- 短期兴趣:擅长捕捉短期会话内的兴趣。
- 可并行:通过优化(如CuDNN)可高效训练。

Su​:用户行为序列。
it​:时刻t的物品ID。
et​:物品i_t的嵌入向量。
ht​:GRU在时刻t的隐状态。
zt​,rt​:更新门和重置门。
W∗​,U∗​,b∗​:GRU参数。
V:物品嵌入/输出矩阵。

序列建模:循环神经网络(RNN)及其变体GRU。
门控机制:通过更新门和重置门控制信息流,缓解长程依赖问题。
多分类:输出是在所有物品上的概率分布。

无。

离线训练
1. 序列分割:将用户长序列分割为固定长度L的子序列。
2. 对于每个序列 [i1​,...,iL​],输入 [i1​,...,iL−1​],目标输出是下一个物品 [i2​,...,iL​]。
3. GRU依次处理输入,用最终隐状态预测下一个物品,计算损失并BPTT更新参数。
在线预测
1. 获取用户最近L个行为序列。
2. 将序列输入GRU,得到最终隐状态 hL​。
3. 计算 hL​与所有物品向量的点积(或通过ANN检索),取Top-K作为推荐。

理论基础:序列模式与兴趣演化。用户的行为序列蕴含着其兴趣的转移和演化模式。
推荐形式:“接下来你可能喜欢”的序列化推荐。

资源估算
前提:物品数n=1000万,嵌入维度d=64,GRU隐层大小H=128。
- 内存:物品嵌入表 ~ 1000万64 * 4B = 2.56GB。GRU参数 ~ 3(dH + HH + H)*4B ≈ 0.2MB。主要内存是嵌入表。
- CPU/GPU:线上预测需要对序列进行串行或并行GRU前向计算,然后进行向量检索(ANN)。GRU计算对时延敏感,需优化。通常需要GPU推理。
- 存储/网络:同深度召回模型。

R-0015

序列模型

序列推荐

用户行为序列 -> Transformer编码器 -> 下一个物品预测

SASRec

1. 动机:克服RNN/GRU串行计算效率低、难以捕捉长距离依赖的缺点,使用自注意力机制建模序列。
2. 模型结构
- 嵌入层:物品嵌入 E∈Rn×d和位置嵌入 P∈RL×d。序列输入表示为 H0=[e1​+p1​,e2​+p2​,...,eL​+pL​]。
- 自注意力块(堆叠N层):
第l层:Sl=Attention(Hl−1)=softmax(d​QKT​)V
其中 Q=Hl−1WQ,K=Hl−1WK,V=Hl−1WV。
然后经过前馈网络和残差连接、层归一化:
Hl=LayerNorm(Sl+Hl−1)
Hl=LayerNorm(FFN(Hl)+Hl)
- 预测层:取最后一层最后一个位置的输出 hLN​,与物品嵌入矩阵E点积,通过softmax预测下一个物品:
y^​=softmax(EhLN​)
3. 因果注意力:为防止信息泄露,在注意力权重计算时使用掩码,使得位置i只能关注到位置 ≤ i 的信息。

误差:精确率@K,召回率@K,NDCG。在长序列和捕捉复杂依赖上通常优于GRU4Rec。

基于自注意力的序列建模。每个位置的表示是序列中所有位置(在其之前)的加权和,权重由相关性决定,能直接捕捉长程依赖。

场景:用户行为序列较长、依赖关系复杂的下一项推荐,如电商、音乐、长视频。
特征
- 长程依赖:自注意力机制能直接建模任意距离的依赖。
- 并行计算:训练时可并行计算整个序列,效率高。
- 可解释性:注意力权重可视化为物品间的关系强度。

E:物品嵌入矩阵。
P:位置嵌入矩阵。
L:序列最大长度。
Hl:第l层输出序列表示。
WQ,WK,WV:自注意力层的投影矩阵。
N:Transformer块层数。
因果掩码:下三角布尔矩阵。

自注意力:计算序列内所有位置对之间的相关性。
位置编码:为序列引入顺序信息。
残差连接与层归一化:稳定深度网络训练。
掩码语言模型:通过因果掩码实现自回归预测。

无。

离线训练:输入序列 [i1​,i2​,...,iL​],通过嵌入层和N层因果Transformer块,用最后一个位置的输出预测 iL+1​,计算交叉熵损失并反向传播。
在线预测:给定用户最近L个行为序列,通过模型前向传播得到最终表示 hL​,与物品嵌入矩阵点积并取Top-K。计算复杂度为 O(L2⋅d),L较大时较慢,需优化。

理论基础:Transformer在NLP的成功迁移。将用户行为序列视为“物品语言”的句子,预测下一个“词”。
推荐形式:基于深度序列建模的下一项预测推荐。

资源估算
前提:d=64, L=50, N=2。
- 内存:物品嵌入表~2.56GB。Transformer参数 ~ 4N*d^2 * 12? 实际约几MB到几十MB。主要内存仍在嵌入表。
- CPU/GPU:自注意力计算复杂度为 O(L2d),当L较大时(如>100),线上推理延迟可能成为瓶颈。需要GPU和高度优化的Transformer推理库(如TensorRT, FasterTransformer)。
- 存储/网络:模型大小中等,但嵌入表巨大。

R-0016

图模型

协同过滤

用户-物品二部图 -> 图卷积网络 -> 用户/物品表征 -> 内积预测

LightGCN

1. 图构建:将用户-物品交互数据构建为无向二部图 G=(V,E),其中节点集合 V=U∪I,边 (u,i)∈E表示用户u与物品i有过交互。
2. 模型核心:简化GCN,只保留邻居聚合,去除特征变换和非线性激活。
- 初始嵌入:为用户和物品分配随机初始化嵌入向量 eu(0)​,ei(0)​。
- 传播(卷积)层:第k层嵌入通过聚合邻居的(k-1)层嵌入得到:
(e_u^{(k)} = \sum{i \in \mathcal{N}u} \frac{1}{\sqrt{

\mathcal{N}_u

} \sqrt{

\mathcal{N}_i

}} e_i^{(k-1)} )
(e_i^{(k)} = \sum{u \in \mathcal{N}i} \frac{1}{\sqrt{

\mathcal{N}_u

} \sqrt{

\mathcal{N}_i

}} e_u^{(k-1)} )
其中 Nu​,Ni​表示邻居节点集合。
- 最终嵌入:将各层嵌入加权求和(或简单相加)得到最终表示:
eu​=∑k=0K​αk​eu(k)​,ei​=∑k=0K​αk​ei(k)​
其中 αk​是超参数(可设为 1/(K+1))。
3. 预测与训练:用户u对物品i的预测评分通过内积得到:y^​ui​=euT​ei​。使用BPR损失或成对损失进行训练:
L=−∑(u,i,j)∈D​lnσ(y^​ui​−y^​uj​)+λ∥E(0)∥2
其中 D是训练三元组集合(用户u,正样本i,负样本j)。

误差:召回率@K,NDCG@K,Hit Ratio@K。在协同过滤基准数据集上常达到SOTA,且模型简单高效。

R-0017

多任务学习

点击率/转化率预测

共享底层 -> MMoE门控 -> 多个任务塔

多门混合专家

(已在R-0012中详细描述。此处为保持编号连续性,简要列出,内容同R-0012)

(同R-0012)

(同R-0012)

(同R-0012)

(同R-0012)

(同R-0012)

(同R-0012)

(同R-0012)

推荐系统工程知识体系表(R-0018 ~ R-0032)

编号

类别

领域

模型配方

定理/算法/模型/方法名称

定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化

精度/密度/误差/强度

底层规律/理论定理

典型应用场景和各类特征

变量/常量/参数列表及说明

数学特征

语言特征

时序和交互流程的所有细节/分步骤时序情况及数学方程式流、动模型和流向方法的数学描述

认知/注意力人性/利益/关系/情感/交易/理论基础和推荐形式特征

5000万并发用户所需要的CPU/GPU/内存/存储盘/IO硬件/队列/网络的资源情况

R-0018

排序学习

列表级排序

文档列表 -> 梯度提升树 -> Lambda梯度 -> 优化NDCG

LambdaMART

1. 问题定义:学习一个排序函数 f,使得对于查询 q,文档列表的排序结果最大化评价指标(如NDCG)。
2. 核心:Lambda梯度
- 直接优化诸如NDCG的不可微指标是困难的。LambdaMART通过定义每个文档对的“Lambda”梯度来绕过这个问题。
- 对于一对文档 (i,j),其中 i的相关性高于 j,定义:
(\lambda_{ij} = \frac{-\sigma}{1+e^{\sigma (s_i - s_j)}} \cdot

\Delta Z_{ij}

)
其中 si​=f(xi​)是模型对文档 i的预测分数,σ是形状参数,ΔZij​是交换文档 i和 j的位置后,评价指标(如NDCG)的变化量。
- 文档 i的总Lambda梯度为:λi​=∑j:reli​>relj​​λij​−∑j:reli​<relj​​λji​。
3. MART算法:使用梯度提升决策树(GBDT)作为基学习器。在每一轮迭代中:
a. 计算当前模型下所有训练样本的Lambda梯度 λi​。
b. 训练一棵回归树来拟合这些Lambda梯度(即预测 λi​)。
c. 通过线搜索确定该树叶子节点的最佳输出值,以最小化损失。
d. 将新树加入模型:fm​(x)=fm−1​(x)+η⋅hm​(x),其中 η是学习率。
4. 预测:对于新查询,用最终的提升树集合 f(x)为每个文档打分,然后按分排序。

强度:直接优化信息检索评价指标(如NDCG, MAP)。在众多排序学习竞赛中表现优异,是Learning to Rank的标杆算法。

梯度提升框架与代理损失函数。通过构造与指标变化量相关的梯度(Lambda梯度),将列表级排序问题转化为回归问题,用GBDT求解。

场景:搜索引擎、广告排序、推荐系统的排序阶段(精排)。
特征
- 指标驱动:直接优化业务关心的排序指标。
- 非线性能力强:GBDT能自动学习特征的高阶组合。
- 可解释性一般:树模型有一定可解释性,但不如线性模型。
- 训练慢:需要多轮迭代和大量的树。

q:查询。
xi​:文档 i的特征向量。
reli​:文档 i的真实相关性标签。
si​=f(xi​):模型预测分数。
λij​:文档对 (i,j)的Lambda梯度。
ΔZij​:交换 i,j位置后的指标变化。
σ:sigmoid函数的参数(通常为1)。
hm​(x):第 m棵回归树。
η:学习率,M:树的数量。

梯度提升:加法模型,前向分步算法。
代理损失:通过Lambda梯度构造的平滑代理损失,其负梯度方向近似于优化排序指标的方向。
决策树:非参数模型,用于拟合梯度。

无。

离线训练
1. 准备查询-文档对,每个文档有特征向量 x和相关性标签 rel。
2. 初始化模型 f0​(x)。
3. For​ m=1to M:
a. 对于每个查询下的文档列表,根据当前模型分数 si​和真实标签 reli​,计算每个文档的Lambda梯度 λi​。
b. 使用 {(xi​,λi​)}作为训练数据,拟合一棵回归树 hm​(x)。
c. 确定树 hm​每个叶子节点的输出值 γlm​,以最小化损失。
d. 更新模型:fm​(x)=fm−1​(x)+η⋅hm​(x)。
在线预测:对于新查询的候选文档,提取特征 x,输入训练好的GBDT模型 f(x)得到分数,排序后输出。

R-0019

深度学习

点击率预测

稀疏特征 -> 嵌入层 -> Wide部分(记忆) + Deep部分(泛化) -> 联合输出

Wide & Deep

1. 核心思想:联合训练宽线性模型(Wide)和深度神经网络(Deep),兼顾记忆(memorization)和泛化(generalization)。
- Wide部分:广义线性模型 ywide​=wTx+b,输入为原始稀疏特征和交叉特征(如 user_installed_app & impression_app),用于记忆历史数据中的频繁共现模式。
- Deep部分:前馈神经网络。稀疏特征先通过嵌入层转化为稠密向量,然后拼接并输入多层全连接层:
a(l+1)=f(W(l)a(l)+b(l)),输出为 ydeep​。
2. 联合训练:将Wide部分和Deep部分的输出通过一个逻辑回归单元组合:
(P(Y=1

\mathbf{x}) = \sigma( y{wide} + y{deep} + b_{joint} ) )
其中 σ是sigmoid函数。损失函数为交叉熵损失。
3. 特征处理:原始输入特征包括连续特征和类别特征。类别特征通过嵌入层;连续特征可直接输入或分桶后嵌入。Wide部分的交叉特征需要人工设计。

误差:LogLoss, AUC。通过结合线性和非线性模型,在Google Play推荐中取得了线上效果的显著提升。记忆部分使模型能够记住稀疏特征组合,泛化部分使模型能够探索未出现过的特征组合。

集成学习思想。宽模型负责记忆(利用历史共现),深模型负责泛化(学习特征深层交互),联合训练实现优势互补。

场景:大规模推荐系统、应用商店推荐、广告点击率预估。
特征
- 记忆与泛化结合:核心优势。
- 需要特征工程:Wide部分的交叉特征依赖人工设计。
- 可扩展性强:Deep部分可以轻松扩展。

x:原始特征向量(包括用于Wide的交叉特征)。
xwide​:Wide部分的输入特征(原始特征+交叉特征)。
xdeep​:Deep部分的输入特征(原始类别特征的嵌入+连续特征)。
ywide​,ydeep​:Wide和Deep部分的输出。
W(l),b(l):Deep部分第l层的权重和偏置。
f:激活函数(如ReLU)。

线性模型:Wide部分是广义线性模型。
深度神经网络:Deep部分是多层感知机。
联合优化:两个部分的参数通过同一个损失函数同时更新。

无。

离线训练
1. 特征工程:生成原始特征和人工交叉特征。
2. 输入层:特征分别进入Wide组件和Deep组件(Deep部分先经过嵌入层)。
3. Wide组件:线性计算 ywide​。
4. Deep组件:多层非线性变换得到 ydeep​。
5. 输出层:将 ywide​和 ydeep​相加后过sigmoid,得到最终预测概率。
6. 计算交叉熵损失,反向传播同时更新Wide和Deep的参数。
在线预测:与训练过程类似,前向传播计算最终概率用于排序。

理论基础:记忆与泛化的权衡。记忆通过宽线性模型捕捉历史数据的强规则;泛化通过深度模型发掘潜在的新模式。
推荐形式:兼顾规则化推荐和探索性推荐的CTR预估模型。

R-0020

深度学习

点击率预测

稀疏特征 -> 嵌入层 -> FM组件(二阶交互) + Deep组件(高阶交互) -> 联合输出

DeepFM

1. 动机:结合FM和深度神经网络的优势,同时低阶和高阶特征交互,且无需Wide & Deep中的人工特征工程。
2. 模型结构
- FM组件:与标准FM相同,负责学习一阶和二阶特征交互:
yFM​=w0​+∑i=1d​wi​xi​+∑i=1d​∑j=i+1d​⟨vi​,vj​⟩xi​xj​
- Deep组件:与Wide & Deep的Deep部分类似。稀疏特征通过嵌入层得到稠密向量,将所有特征的嵌入向量拼接后输入多层感知机:
a(0)=[e1​,e2​,...,em​](拼接的嵌入向量)
a(l+1)=σ(W(l)a(l)+b(l))
(y_{DNN} = \sigma(W^{

L

}a^{

L

} + b^{

L

}) )(经过一个线性层)
- 共享嵌入层:FM组件和Deep组件共享同一个嵌入层​ V,这迫使嵌入学习同时适合低阶和高阶交互的表示。
3. 最终输出
y^​=sigmoid(yFM​+yDNN​)
使用交叉熵损失进行端到端训练。

误差:LogLoss, AUC。相比Wide & Deep,省去了人工交叉特征工程,且FM部分能更有效地学习二阶交互,通常能取得更好的效果。

集成学习与表征共享。FM作为Wide部分的增强替代,通过共享嵌入层实现低阶与高阶特征交互的协同学习。

场景:CTR预估,特别是特征交互复杂的场景,如电商、广告。
特征
- 端到端特征学习:无需人工交叉特征。
- 全面特征交互:FM捕捉显式二阶,DNN捕捉隐式高阶。
- 参数共享:共享嵌入减少参数,并促进表示学习。

R-0021

深度学习

用户兴趣建模

用户行为序列 -> 注意力权重 -> 加权求和 -> 兴趣表示

深度兴趣网络

1. 动机:用户兴趣是多样的,且当前候选物品只与历史行为中的部分兴趣相关。DIN通过引入注意力机制,自适应地学习用户兴趣与候选物品的相关性。
2. 核心:局部激活单元
- 输入:用户U的历史行为序列 [b1​,b2​,...,bT​](每个 bi​是物品的嵌入向量),以及候选物品A的嵌入向量。
- 对每个历史行为 bi​,计算其与候选物品A的注意力权重:
ai​=Attention(bi​,A)=∑j=1T​exp(MLP([bj​;A;bj​⊙A;bj​−A]))exp(MLP([bi​;A;bi​⊙A;bi​−A]))​
其中 [;]表示拼接,\odot表示逐元素乘,MLP是一个小型神经网络。
- 用户兴趣表示:用户U对于候选物品A的向量表示为历史行为的加权和:
VU​(A)=∑i=1T​ai​⋅bi​
3. 模型整体:将 VU​(A)与用户其他特征(如画像)、候选物品特征、上下文特征等拼接,输入多层MLP,最终预测CTR。

误差:AUC, LogLoss。在阿里巴巴的电商场景中,DIN显著提升了CTR和GMV。它能够根据候选物品动态调整用户兴趣表示,模拟了人类注意力机制。

注意力机制。用户对历史行为的关注度不是均等的,而是与当前候选物品高度相关。注意力权重模拟了这种相关性。

场景:用户历史行为丰富的场景,如电商、短视频、新闻推荐。
特征
- 动态兴趣:用户兴趣表示随候选物品变化。
- 可解释性:注意力权重可以解释为历史行为与当前候选的相关程度。
- 计算开销:注意力计算需要与所有历史行为交互,序列长时开销大。

bi​:用户历史行为物品i的嵌入向量。
A:候选物品的嵌入向量。
ai​:行为 bi​的注意力权重。
VU​(A):用户对于候选物品A的动态兴趣表示。
MLP:注意力打分网络(通常为1~2层)。
T:用户行为序列长度。

注意力机制:软注意力,权重通过神经网络和softmax计算。
向量运算:拼接、逐元素乘、减、加权和。
动态表征:用户表征是输入(候选物品)的函数。

无。

离线训练
1. 特征处理:将用户历史行为序列中的物品ID转换为嵌入向量 bi​,候选物品ID转换为嵌入向量 A。
2. 注意力计算:对于每个候选物品A,遍历用户历史行为序列,计算每个 bi​与A的注意力权重 ai​。
3. 兴趣汇聚:计算加权和 VU​(A)。
4. 最终预测:将 VU​(A)、用户画像、上下文等特征拼接,输入MLP得到预测CTR。
5. 计算损失,反向传播更新所有参数(包括注意力网络和MLP)。
在线预测:对于每个候选物品,都需要重新计算注意力权重和用户兴趣表示。无法像静态用户向量那样提前计算,因此线上计算压力大。

理论基础:注意力心理学。人类的注意力是有限的,且会根据当前任务(候选物品)选择性地关注历史信息中的相关部分。
推荐形式:基于动态兴趣的CTR预估,推荐理由可追溯至相关历史行为。

资源估算
前提:用户平均行为序列长度T=100,物品嵌入维度k=64,注意力MLP很小。
- 内存:存储物品嵌入表(数千万物品 * 64维 * 4B ≈ 数十GB)。用户兴趣表示需在线计算,不存储。
- CPU/GPU主要瓶颈。线上预测时,对于每个候选物品,都需要与用户100个历史行为计算注意力(100次小型MLP前向传播),然后加权求和。假设有100个候选物品,则需要1万次注意力计算。计算复杂度为 O(T∗C),其中C是候选集大小。需要强大的GPU推理集群,并常需将候选集裁剪到较小规模(如几十个)。
- 存储/网络:需要实时获取用户长序列行为,对缓存和网络延迟要求高。

R-0022

深度学习

用户兴趣建模

用户行为序列 -> GRU序列建模 -> 注意力兴趣演化 -> 兴趣状态

深度兴趣进化网络

1. 动机:用户兴趣是动态演化的,DIN忽略了行为间的时序依赖。DIEN通过GRU对行为序列建模,并设计辅助损失和注意力机制来捕捉兴趣演化。
2. 模型结构
- 兴趣提取层:使用GRU对用户行为序列 [b1​,b2​,...,bT​]进行编码,得到隐藏状态序列 [h1​,h2​,...,hT​],每个 ht​表征了时刻t的用户兴趣。
- 兴趣进化层
a. 辅助损失:在兴趣提取层,引入辅助损失,使用下一个行为 bt+1​作为正样本,负采样物品作为负样本,来监督 ht​的学习,确保 ht​能表达用户兴趣。
b. 注意力GRU:为了捕捉与当前候选物品A相关的兴趣演化路径,将注意力机制融入GRU的更新过程。计算每个隐藏状态 ht​与候选物品A的注意力得分 at​,然后用 at​来影响GRU的更新门,得到最终的兴趣状态序列 [i1​,i2​,...,iT​]。具体地,AGRU用 at​替换了GRU的更新门:
it​=(1−at​)∗it−1​+at​∗i~t​
其中 i~t​是候选隐藏状态。
- 最终兴趣:取最后一个兴趣状态 iT​,或对所有 it​进行注意力加权求和,作为用户的最终兴趣表示 VU​。
3. 预测层:将 VU​、候选物品嵌入、其他特征拼接,输入MLP预测CTR。

误差:AUC。相比DIN,DIEN通过建模兴趣的序列演化,能更好地捕捉用户兴趣的动态变化趋势,在电商等强时序场景下效果更优。

序列建模与注意力机制的结合。用户兴趣不仅与当前候选相关,其本身也遵循一个随时间演化的序列模式。GRU用于建模序列,注意力用于聚焦相关演化路径。

场景:用户兴趣有明显演化趋势的场景,如电商购物(从浏览到购买)、新闻阅读(话题演变)。
特征
- 兴趣演化:核心贡献,建模了兴趣的动态变化过程。
- 辅助监督:通过辅助损失使兴趣表示更具判别性。
- 计算更复杂:比DIN多了GRU序列建模,计算开销更大。

bt​:t时刻的用户行为物品嵌入。
ht​:兴趣提取层GRU在t时刻的隐藏状态。
it​:兴趣进化层AGRU在t时刻的兴趣状态。
at​:t时刻兴趣状态与候选物品的注意力权重。
A:候选物品嵌入。
GRU参数:更新门、重置门、候选状态的相关权重矩阵。

循环神经网络:GRU,用于处理变长序列,捕捉时序依赖。
注意力机制:软注意力,用于兴趣进化层的AGRU。
辅助任务:通过二分类损失辅助主任务训练。

无。

离线训练
1. 兴趣提取层:将行为序列输入GRU,得到隐藏状态序列 ht​。同时,用 ht​预测下一个行为 bt+1​(辅助损失)。
2. 兴趣进化层:将 ht​序列和候选物品A输入AGRU。计算每个 ht​与A的注意力得分 at​,用 at​控制AGRU的更新,得到兴趣状态序列 it​。
3. 兴趣汇聚:取 iT​或加权求和得到 VU​。
4. 预测层:拼接 VU​、A等特征,输入MLP得到CTR预测,计算主损失。
5. 总损失 = 主损失 + α * 辅助损失,反向传播更新所有参数。
在线预测:与DIN类似,需要为每个候选物品在线计算GRU和注意力,计算复杂度极高。通常需要将用户兴趣状态 it​进行缓存或近似计算。

理论基础:序列建模与兴趣演化。用户兴趣不是静态的,而是随着时间推移和交互的进行而不断变化和演进的。
推荐形式:基于兴趣演化轨迹的CTR预估,能预测用户兴趣的未来走向。

资源估算
前提:序列长度T=100,GRU隐藏层维度=64,物品嵌入维度=64。
- 内存:存储GRU参数和物品嵌入表。GRU参数内存较小,主要仍是嵌入表(数十GB)。
- CPU/GPU计算开销巨大。线上预测时,对于每个候选物品,需要:1) 运行GRU的前向传播(序列长度100);2) 计算序列中每个位置的注意力权重;3) 运行AGRU。计算复杂度为 O(T∗C),且每一步的GRU计算涉及矩阵运算。比DIN更重。必须依赖强大的GPU和极致的工程优化(如序列截断、模型蒸馏、候选集裁剪)。
- 存储/网络:需要实时获取用户长序列行为。

R-0023

深度学习

用户行为序列

用户行为序列 -> Transformer编码器 -> 序列表征 -> 下一项预测

行为序列Transformer

1. 动机:将自然语言处理中的Transformer架构应用于用户行为序列建模,利用其强大的序列编码能力和并行计算优势。
2. 模型结构
- 嵌入层:将行为序列中的每个物品 it​转换为嵌入向量 et​。同时加入可学习的位置编码 pt​以注入时序信息:xt​=et​+pt​。
- Transformer编码层:由L个相同的层堆叠而成,每层包含:
a. 多头自注意力
Attention(Q,K,V)=softmax(dk​​QKT​)V
其中 Q,K,V由输入 X通过线性变换得到。多头机制将注意力分散到多个子空间。
b. 前馈网络:一个两层的MLP,对每个位置独立处理。
c. 残差连接和层归一化:应用于每个子层之后。
- 输出层:取最后一个Transformer层的输出中,对应序列最后一个位置的向量 hT​,通过一个线性层+softmax,预测下一个物品的概率分布:
(P(i_{T+1}

i_1, ..., i_T) = \text{softmax}(h_T W^T) )
3. 训练:使用交叉熵损失,预测序列中下一个物品。

误差:使用召回率@K、NDCG@K、MRR等序列推荐指标。在捕捉长期依赖和并行计算效率上优于RNN-based模型。

自注意力机制。允许序列中任意两个位置直接交互,从而更好地捕捉长距离依赖关系,并避免了RNN的序列计算瓶颈。

场景:下一项预测,如音乐播放列表推荐、短视频流推荐、电商下一件商品推荐。
特征
- 长程依赖:自注意力机制能有效捕捉远距离物品间的关联。
- 并行计算:训练时整个序列可并行处理,效率高。
- 位置编码:需要显式地加入位置信息以感知顺序。

it​:序列中第t个物品的ID。
et​:物品 it​的嵌入向量。
pt​:位置t的编码向量(可学习或固定)。
xt​:输入到Transformer的向量。
Q,K,V:查询、键、值矩阵。
dk​:键向量的维度。
hT​:序列最后一个位置的上下文表示。
W:输出层的权重矩阵。

自注意力:序列内元素两两之间的注意力计算。
缩放点积:注意力分数计算方式,除以 dk​​稳定梯度。
位置编码:将绝对或相对位置信息注入模型。
残差网络与层归一化:促进深层网络训练。

无。

离线训练
1. 构建训练样本:对于每个用户的行为序列 [i1​,i2​,...,iT​],生成样本 X=[i1​,i2​,...,iT−1​]和标签 y=iT​。
2. 前向传播:将X通过嵌入层和位置编码,输入L层Transformer编码器,得到每个位置的输出 H。
3. 取最后一个位置的输出 hT−1​,通过线性变换和softmax,得到在全体物品上的概率分布。
4. 计算交叉熵损失(标签为 iT​),反向传播更新参数。
在线预测/服务:给定用户最近的行为序列 [i1​,...,it​],通过模型得到下一个物品的概率分布 P(it+1​),取Top-K作为推荐。线上推理需要完整的序列前向传播。

理论基础:序列建模与自注意力。将用户行为序列视为一种“语言”,用Transformer这种强大的序列模型来学习其语法和语义,预测下一个“词”。
推荐形式:基于完整行为序列上下文的下一个物品预测。

R-0024

图神经网络

协同过滤

用户-物品二部图 -> 图卷积层 -> 用户/物品嵌入 -> 内积预测

LightGCN

1. 动机:简化NGCF,发现特征变换和非线性激活在协同过滤中不是必需的。LightGCN仅保留图卷积的核心——邻居聚合。
2. 图构建:构建用户-物品交互二部图 G=(U,I,E),其中边 (u,i)表示用户u与物品i有交互。
3. 传播规则
- 设 eu(0)​,ei(0)​为用户和物品的初始嵌入(可训练参数)。
- 在第 l层,通过聚合邻居信息来更新嵌入:
(e_u^{(l+1)} = \sum{i \in \mathcal{N}u} \frac{1}{\sqrt{

\mathcal{N}_u

}\sqrt{

\mathcal{N}_i

}} e_i^{(l)} )
(e_i^{(l+1)} = \sum{u \in \mathcal{N}i} \frac{1}{\sqrt{

\mathcal{N}_u

}\sqrt{

\mathcal{N}_i

}} e_u^{(l)} )
其中 Nu​是用户u交互过的物品集合,Ni​是物品i的交互用户集合。归一化系数采用对称归一化。
4. 最终表示:将每一层学到的表示加权求和,作为最终的用户和物品表示:
eu​=∑l=0L​αl​eu(l)​,ei​=∑l=0L​αl​ei(l)​
其中 αl​是超参数(可学习或简单设为 1/(L+1))。
5. 预测与训练:用户u对物品i的预测分数为内积 y^​ui​=euT​ei​。使用BPR损失进行优化。

误差:召回率@K,NDCG@K。在多个公开数据集上,LightGCN在更简单的架构下,取得了优于NGCF等复杂GCN模型的效果,且训练更快、参数更少。

R-0025

图神经网络

协同过滤

用户-物品二部图 -> 嵌入传播层(特征变换+非线性) -> 高阶连通性 -> 内积预测

神经图协同过滤

1. 动机:将用户-物品交互图视为二部图,在图结构上通过嵌入传播层显式地编码协同信号,以学习更好的用户和物品表示。
2. 嵌入传播层
- 消息构建:对于用户-物品对 (u,i),从物品i到用户u传递的消息为:
(m_{u \leftarrow i} = \frac{1}{\sqrt{

\mathcal{N}_u

}\sqrt{

\mathcal{N}_i

}} (W_1 e_i + W_2 (e_i \odot e_u)) )
其中 eu​,ei​是当前层的嵌入,W1​,W2​是可训练权重矩阵,\odot是逐元素乘,用于编码 ei​与 eu​的交互。
- 消息聚合:用户u从其所有交互物品聚合消息:
eu(1)​=LeakyReLU(mu←u​+∑i∈Nu​​mu←i​)
其中 mu←u​=W1​eu​是自连接消息,保留自身信息。物品侧的传播同理。
3. 高阶传播:堆叠多个嵌入传播层,以捕获高阶协同信号。第 l层的输出作为第 l+1层的输入。
4. 表示融合:将每一层得到的表示拼接起来,形成最终的用户和物品表示:
eu∗​=CONCAT(eu(0)​,eu(1)​,...,eu(L)​)
ei∗​=CONCAT(ei(0)​,ei(1)​,...,ei(L)​)
5. 预测:用户u对物品i的预测分数为内积 y^​ui​=eu∗​Tei∗​。使用BPR损失。

误差:召回率@K,NDCG@K。首次将GCN明确引入协同过滤,证明了在交互图上进行嵌入传播的有效性。但后续LightGCN指出其许多操作可能非必要。

图神经网络的消息传递范式。通过多层的邻居信息聚合,节点可以接收到多跳邻居的信息,从而捕获图中高阶的连通性模式。

场景:隐式反馈的协同过滤推荐。
特征
- 高阶协同:通过多层传播捕获“用户A->物品a->用户B->物品b”的高阶关系。
- 特征变换与非线性:每层包含可

推荐系统工程知识体系表(R-0026 ~ R-0032)

编号

类别

领域

模型配方

定理/算法/模型/方法名称

定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化

精度/密度/误差/强度

底层规律/理论定理

典型应用场景和各类特征

变量/常量/参数列表及说明

数学特征

语言特征

时序和交互流程的所有细节/分步骤时序情况及数学方程式流、动模型和流向方法的数学描述

认知/注意力人性/利益/关系/情感/交易/理论基础和推荐形式特征

5000万并发用户所需要的CPU/GPU/内存/存储盘/IO硬件/队列/网络的资源情况

R-0026

序列推荐

下一项预测

用户行为序列 -> 卷积层 -> 水平&垂直卷积 -> 全连接层 -> 预测

Caser

1. 动机:将用户最近L个行为序列视为一个“图像”,使用卷积神经网络(CNN)来捕捉序列中的局部和全局模式。
2. 嵌入层:对于长度为L的序列,每个行为物品i_t被映射为嵌入向量 et​∈Rd。将L个嵌入按顺序堆叠,形成一个 L×d的矩阵 E∈RL×d,视为一个“图像”。
3. 卷积层:使用两种类型的卷积核:
- 水平卷积:卷积核高度 h∈{1,2,...,L},宽度为d(覆盖整个嵌入维度)。每个高度为h的卷积核在垂直方向上滑动,捕捉序列中不同长度的连续模式(如点-点、点-点-点)。设使用F个滤波器,则输出特征图为 zh∈R(L−h+1)×F。
- 垂直卷积:卷积核高度为L(覆盖整个序列长度),宽度为 w∈{1,2,...,d}。每个宽度为w的卷积核在水平方向上滑动,捕捉不同特征维度之间的交互。输出特征图为 zw∈R1×(d−w+1)×F。
4. 池化与拼接:对每个卷积核的输出进行最大池化,得到固定长度的向量。将所有水平卷积和垂直卷积的池化结果拼接,形成综合序列表示 z。
5. 预测层:将 z输入全连接层,输出对所有候选物品的预测分数,使用softmax和交叉熵损失训练。

误差:Recall@K, NDCG@K。Caser首次将CNN应用于序列推荐,能有效捕捉序列中的局部连续模式和特征交互,在短序列场景下表现优异。

卷积神经网络的局部感知与参数共享。将序列视为图像,利用卷积核提取局部特征,并通过不同大小的卷积核捕捉多尺度模式。

场景:用户行为序列较短且顺序重要的场景,如电商购物车推荐、音乐播放列表生成。
特征
- CNN for序列:创新性地使用2D卷积处理序列嵌入矩阵。
- 多尺度模式:通过不同高度的卷积核捕捉不同长度的依赖。
- 参数较少:相比RNN/Transformer,CNN参数更少,训练更快。

L:序列长度。
d:嵌入维度。
E:L×d的序列嵌入矩阵。
h,w:卷积核高度和宽度。
F:卷积滤波器数量。
zh,zw:水平/垂直卷积输出特征图。
z:拼接后的综合序列表示。

2D卷积:在序列长度和嵌入维度两个方向进行卷积操作。
最大池化:降维并保留显著特征。
拼接:融合多尺度特征。

无。

离线训练
1. 构建训练样本:对于每个用户,取连续L个行为作为输入,第L+1个行为作为目标。
2. 将输入序列转换为嵌入矩阵 E。
3. 卷积操作
a. 水平卷积:对每个高度h,使用F个滤波器进行卷积,得到特征图 zh,然后进行最大池化得到向量 ph。
b. 垂直卷积:对每个宽度w,进行类似操作得到 pw。
4. 将所有 ph和 pw拼接为 z。
5. 将 z通过全连接层映射到物品数N的维度,应用softmax得到概率分布,计算交叉熵损失并优化。
在线预测:给定用户最近L个行为,通过模型前向传播得到对所有候选物品的分数,排序返回Top-K。

理论基础:序列模式的局部性。用户的连续行为往往表现出短期的、局部的模式(如购买手机后买手机壳),CNN擅长捕捉此类局部相关模式。
推荐形式:基于卷积神经网络的下一项序列推荐。

资源估算
前提:序列长度L=50,嵌入维度d=64,卷积滤波器F=16,物品数N=1000万。
- 内存:主要存储物品嵌入表(1000万*64 * 4B ≈ 2.56GB)。模型参数(卷积核、全连接层)很小(<100MB)。
- CPU/GPU:CNN卷积操作计算密集,但序列长度短,整体计算量适中。线上推理需要为每个用户进行一次前向传播,可GPU加速。
- 存储:模型文件小。

R-0027

图神经网络

协同过滤

用户-物品二部图 -> 多层图卷积 -> 非线性变换 -> 用户/物品最终表示

神经图协同过滤

1. 动机:传统的图卷积(如LightGCN)只进行线性传播,缺乏非线性激活,可能限制模型表达能力。NGCF在图卷积中显式加入非线性变换和 dropout。
2. 图构建:与LightGCN相同,构建用户-物品二部图 G。
3. 消息传递与聚合:在第l层,对于用户u,从其邻居(交互过的物品)聚合信息:
(\mathbf{m}_{u \leftarrow i}^{(l)} = \frac{1}{\sqrt{

\mathcal{N}_u

}\sqrt{

\mathcal{N}_i

}} ( \mathbf{W}1^{(l)} \mathbf{e}i^{(l-1)} + \mathbf{W}2^{(l)} (\mathbf{e}i^{(l-1)} \odot \mathbf{e}_u^{(l-1)}) ) )
其中 W1(l)​,W2(l)​是可训练权重矩阵,⊙是逐元素乘。第二项建模用户和物品之间的元素级交互
4. 节点更新:用户u的更新公式为:
eu(l)​=LeakyReLU(mu(l)​+W3(l)​eu(l−1)​)
其中 mu(l)​=∑i∈Nu​​mu←i(l)​,W3(l)​是自连接的权重矩阵。物品节点的更新对称。
5. 最终表示与预测:将每一层的表示拼接或求和得到最终表示 eu​,ei​,通过内积预测偏好,使用BPR损失训练。

误差:Recall@K, NDCG@K。NGCF通过引入非线性激活和特征变换,理论上具有比LightGCN更强的表达能力,但在实际大规模数据中,其训练复杂度更高,效果提升有时不明显。

图神经网络与特征非线性变换。在消息传递和节点更新中引入可学习的权重矩阵和激活函数,增强模型对复杂模式的拟合能力。

场景:用户-物品交互数据丰富的场景,追求模型表达能力的提升。
特征
- 非线性GCN:核心创新,区别于LightGCN的线性传播。
- 交互项:在消息中显式包含用户-物品特征交互。
- 参数多:每层都有可训练权重矩阵,参数量大,易过拟合。

G:用户-物品二部图。
eu(l)​,ei(l)​:第l层用户u和物品i的表示。
W1(l)​,W2(l)​,W3(l)​:第l层的可训练权重矩阵。
Nu​,Ni​:用户u和物品i的邻居集合。
LeakyReLU:激活函数。

非线性变换:每层使用激活函数。
消息传递:邻居信息通过权重矩阵变换后聚合。
特征交互:通过逐元素乘建模用户-物品特征交互。

R-0028

多任务学习

转化率预估

曝光 -> 点击率预估 -> 点击 -> 转化率预估 -> 转化

完整空间多任务模型

1. 问题:传统CVR预估模型面临样本选择偏差(SSB)和数据稀疏问题。SSB指CVR模型只用点击样本训练,但线上预测作用于全部曝光样本,数据分布不一致。
2. 全空间建模:ESMM通过建模点击-转化的链式依赖,在全空间(曝光样本)进行训练。
- 定义:pCTR = P(click=1 \| exposure)pCVR = P(conversion=1 \| click=1, exposure)pCTCVR = P(click=1, conversion=1 \| exposure)
- 关键关系:pCTCVR = pCTR * pCVR
3. 模型结构
- 共享底层:用户和物品特征经过共享的嵌入层和底层网络,得到共享特征表示。
- CTR塔:一个子网络,输出pCTR。
- CVR塔:另一个子网络,输出pCVR。
- CTCVR输出:模型最终的预测输出是 pCTCVR = pCTR * pCVR
4. 损失函数:使用曝光样本的点击标签和点击样本的转化标签,构造联合损失:
L=∑i=1N​(yic​log(pCTRi​)+(1−yic​)log(1−pCTRi​))+∑i=1N​(yic​yiv​log(pCVRi​)+yic​(1−yiv​)log(1−pCVRi​))
其中 yc是点击标签,yv是转化标签。第二项只对点击样本有效。

误差:CTCVR任务的AUC。ESMM通过在全空间建模和利用CTR任务的海量样本作为辅助,有效缓解了CVR预估的样本选择偏差和数据稀疏问题,显著提升CVR和CTCVR预估的准确性。

概率图模型与多任务学习。将点击和转化视为一个顺序事件链,利用乘法定理在全空间定义目标,并通过多任务共享学习解决数据稀疏。

场景:电商、广告等需要预估后续转化行为的场景(如下单、购买、下载)。
特征
- 解决SSB:核心贡献,CVR塔的输入和训练分布与线上预测分布一致。
- 缓解稀疏:CTR任务作为CVR任务的辅助,共享特征表示。
- 端到端:联合训练CTR和CVR。

x:输入特征(用户、物品、上下文)。
yc,yv:点击、转化二值标签。
pCTR,pCVR:CTR塔和CVR塔的输出概率。
pCTCVR:模型最终预测的概率。
共享底层:共享的嵌入层和神经网络。
CTR塔, CVR塔:两个独立的多层感知机。

概率乘法pCTCVR = pCTR * pCVR
多任务学习:CTR和CVR作为两个相关任务,共享底层参数。
二元交叉熵:损失函数由两个任务的交叉熵损失组成。

无。

离线训练
1. 准备曝光样本,每个样本有特征x,点击标签 yc,转化标签 yv。
2. 特征x经过共享底层网络,得到共享表示。
3. 共享表示分别输入CTR塔和CVR塔,得到 pCTRpCVR
4. 计算 pCTCVR = pCTR * pCVR
5. 计算总损失 L,其中CTR损失使用所有样本,CVR损失只使用点击样本(yc=1)。
6. 反向传播更新共享底层、CTR塔和CVR塔的参数。
在线预测:输入特征x,前向传播得到 pCTRpCVR,计算 pCTCVR作为最终排序分数(或直接使用 pCVR)。

理论基础:用户决策漏斗。用户的决策过程是顺序的(曝光->点击->转化),后一事件依赖于前一事件的发生。ESMM显式建模了这种依赖关系。
推荐形式:基于全空间多任务学习的转化率预估,用于优化GMV等深度目标。

资源估算
前提:模型结构与Wide&Deep类似,但有两个塔。
- 内存:相比单任务CTR模型,增加了CVR塔的参数(约增加50%)。主要内存仍在嵌入表。
- CPU/GPU:线上预测需要同时计算CTR和CVR两个塔,计算量约为单塔模型的2倍。需要相应的GPU算力支持。
- 存储:模型文件略大。

R-0029

深度学习

特征交叉

稀疏特征 -> 嵌入层 -> 压缩交互网络 -> 逐元素交叉 -> 高阶交叉向量

显式高阶交叉网络

1. 动机:DeepFM等模型隐式地学习特征交叉,而xDeepFM旨在显式地学习有界阶的特征交叉,且交叉是向量级的,而非标量级(如DCN)。
2. 模型结构:由三部分组成:
- 线性部分:与Wide&Deep相同,处理稀疏特征的线性权重。
- 深度部分:一个标准的多层感知机(MLP),学习隐式高阶特征交互。
- 压缩交互网络:核心组件,显式生成高阶特征交互。CIN的输入是初始嵌入矩阵 X0∈Rm×D,其中m是特征域个数,D是嵌入维度。
3. CIN详细过程
a. 第k层(k=1...K)的输入是 Xk−1,输出 Xk通过以下方式计算:
Xh,∗k​=∑i=1Hk−1​​∑j=1m​Wijk,h​(Xi,∗k−1​∘Xj,∗0​)
其中 ∘表示逐元素乘(Hadamard积),Wk,h∈RHk−1​×m是权重矩阵,Hk​是第k层的特征图数量。该操作可以看作是在前一层的特征图 Xk−1和初始特征 X0之间进行外积式的交互,然后通过权重求和进行压缩。
b. 每一层 Xk在特征维度(D维)上求和池化,得到一个标量 pk=∑i=1D​X:,ik​,所有层的池化结果拼接成向量 p+=[p1,p2,...,pK]。
4. 最终输出:将线性部分、深度部分输出和CIN部分输出 p+拼接,通过一个线性层输出最终预测概率。

误差:LogLoss, AUC。xDeepFM通过CIN显式地、向量级地学习特征交叉,能够更有效地捕获高阶特征交互,在公开数据集上表现优于DeepFM和DCN。

显式特征交叉与张量分解。CIN的操作类似于对特征嵌入进行逐层的、受控的外积交互,并通过求和池化压缩,最终生成高阶交叉特征。

场景:CTR预估,特别是特征交互复杂且重要的场景,如广告、电商。
特征
- 显式向量交叉:核心创新,交叉发生在嵌入向量维度。
- 有界阶数:通过层数K控制最高交叉阶数(K+1阶)。
- 参数较多:CIN每层都有权重矩阵,参数量大。

m:特征域的数量。
D:嵌入维度。
X0:初始嵌入矩阵, Rm×D。
Xk:第k层CIN的输出, RHk​×D。
Hk​:第k层的特征图数量。
Wk,h:第k层第h个特征图的权重矩阵。
pk:第k层的池化标量。
p+:所有层池化结果的拼接向量。

外积式交互:通过逐元素乘实现特征向量的交互。
压缩求和:通过权重矩阵求和实现特征交互的压缩。
拼接:融合不同阶数的交叉特征。

无。

离线训练
1. 特征处理,得到初始嵌入矩阵 X0。
2. CIN计算
a. 初始化:X0已知。
b. 对于 k = 1 to K:
- 对于 h = 1 to Hk​: 计算 Xh,∗k​=∑i=1Hk−1​​∑j=1m​Wijk,h​(Xi,∗k−1​∘Xj,∗0​)。
- 对 Xk在D维上求和池化,得到 pk。
c. 得到 p+=[p1,...,pK]。
3. 深度部分:将 X0展平后输入MLP,得到输出 adeep​。
4. 线性部分:计算线性加权和 alinear​。
5. 输出层:拼接 alinear​,adeep​,p+,通过线性层和sigmoid得到预测概率。
6. 计算交叉熵损失并训练。
在线预测:前向传播计算三部分输出,得到最终分数。

理论基础:特征交互的组合爆炸与有界性。并非所有高阶交叉都有用,xDeepFM通过显式、有界、向量级的交叉,试图学习那些真正有用的高阶组合。
推荐形式:通过压缩交互网络显式学习高阶特征交叉的CTR预估模型。

资源估算
前提:特征域m=100,嵌入维度D=16,CIN层数K=3,每层特征图 Hk​=100。
- 内存:CIN权重矩阵总参数约为 sum_{k=1}^3 (H_{k-1} * m * H_k),假设 H0​=m=100,则约 100 * 100 * 100 + 100 * 100 * 100 + 100 * 100 * 100 = 3M个参数,约12MB。深度部分和线性部分参数较少。主要内存仍在嵌入表(100 * 16 * 4B=6.4KB,可忽略)。
- CPU/GPU:CIN计算涉及三重循环(层、特征图、特征域),计算复杂度高,需要GPU加速。
- 存储:模型文件大小中等。

R-0030

强化学习

连续动作推荐

状态 -> 演员网络 -> 确定性动作 -> 评论家网络 -> Q值 -> 策略梯度更新

深度确定性策略梯度

1. 问题建模:将推荐视为连续动作空间的强化学习问题。状态 st​是用户状态,动作 at​是推荐策略的参数(如排序权重向量),奖励 rt​是用户反馈。
2. 演员-评论家架构
- 演员网络 μ(s∥θμ):输入状态s,输出确定性动作a(一个连续向量)。
- 评论家网络 Q(s,a∥θQ):输入状态s和动作a,输出Q值(预期累积奖励)。
3. 训练算法
a. 经验回放:存储转移 (st​,at​,rt​,st+1​)到缓冲区 D。
b. 目标网络:使用目标演员网络 μ′和目标评论家网络 Q′来稳定训练,其参数 θμ′,θQ′缓慢更新(软更新)。
c. 更新评论家:采样一批数据,计算目标Q值:
yt​=rt​+γQ′(st+1​,μ′(st+1​∥θμ′)∥θQ′)。
最小化均方误差损失:L=N1​∑i​(yi​−Q(si​,ai​∥θQ))2。
d. 更新演员:使用策略梯度,目标是最大化Q值:
∇θμ​J≈N1​∑i​∇a​Q(s,a∥θQ)∥s=si​,a=μ(si​)​∇θμ​μ(s∥θμ)∥si​​。
e. 软更新目标网络
θQ′←τθQ+(1−τ)θQ′, θμ′←τθμ+(1−τ)θμ′,其中 τ≪1。

强度:长期累积奖励。DDPG能够学习连续动作空间中的策略,适用于推荐系统中需要微调连续参数(如混合权重、探索率)的场景,以优化长期指标。

确定性策略梯度定理与演员-评论家方法。结合了值函数逼近和策略搜索,适用于连续动作空间,通过确定性策略减少方差。

场景:需要优化连续控制参数的推荐系统,如信息流排序权重的动态调整、探索与利用的平衡、多目标融合权重的在线学习。
特征
- 连续动作:输出是连续向量,而非离散物品选择。
- 离线策略:可以使用历史经验回放训练。
- 训练不稳定:需要目标网络和软更新来稳定。

st​:状态向量(用户特征、上下文)。
at​:动作向量(连续值)。
rt​:即时奖励。
μ(s∥θμ):演员网络,参数 θμ。
Q(s,a∥θQ):评论家网络,参数 θQ。
μ′,Q′:目标网络。
γ:折扣因子。
τ:软更新系数。

确定性策略:演员网络输出确定性动作,而非概率分布。
策略梯度:通过链式法则更新演员参数。
时序差分学习:评论家网络通过TD误差更新。

无。

离线训练(基于模拟器或历史日志重建MDP)
1. 初始化演员、评论家网络及其目标网络,清空经验回放缓冲区 D。
2. For​ episode = 1 to M do:
a. 初始化状态 s1​。
b. For​ t = 1 to T do:
i. 根据当前策略选择动作 at​=μ(st​∥θμ)+Nt​(加入探索噪声,如OU噪声)。
ii. 执行动作 at​(如调整排序权重),得到奖励 rt​和新状态 st+1​。
iii. 存储 (st​,at​,rt​,st+1​)到 D。
iv. 从 D中采样一小批随机转移。
v. 计算目标Q值 yi​。
vi. 更新评论家网络:最小化 (yi​−Q(si​,ai​))2。
vii. 更新演员网络:使用采样策略梯度上升。
viii. 软更新目标网络:θQ′←τθQ+(1−τ)θQ′, θμ′同理。
c. 结束回合。

理论基础:强化学习中的连续控制。推荐系统的许多决策(如权重分配)本质上是连续的,DDPG提供了在此类空间中学习最优策略的框架。
推荐形式:基于深度确定性策略梯度的、优化长期收益的连续参数推荐策略。

资源估算
前提:状态维度=100,动作维度=10,演员和评论家网络均为3层MLP(每层128神经元)。
- 内存:存储四个网络(演员、评论家及其目标)的参数,约 4 * (100 * 128+128 * 128+128 * 10)*4B ≈ 0.5MB,很小。主要内存是经验回放缓冲区,存储数千万转移,需数十GB内存。
- CPU/GPU:训练时需要从缓冲区采样并计算梯度,计算量适中,可用GPU加速。线上推理只需演员网络的前向传播,开销很小。
- 存储:模型参数文件小。

R-0031

知识图谱

知识增强推荐

用户-物品交互图 + 知识图谱 -> 图注意力传播 -> 关系感知聚合 -> 联合表示

知识图谱注意力网络

1. 动机:将知识图谱中的实体关系和属性信息引入推荐,以提升可解释性、缓解冷启动和挖掘深层次关联。
2. 图构建:构建一个异构信息网络,包含用户节点、物品节点,以及知识图谱中的实体节点(如演员、导演、类别)。物品节点通过属性与知识图谱实体相连。
3. 关系感知传播
- 对于每个节点(用户、物品、实体),从其邻居聚合信息。聚合时考虑关系类型
- 对于节点 h和其邻居 t(通过关系 r连接),信息传递为:
(\mathbf{m}_{h \leftarrow t} = \frac{1}{

\mathcal{N}_h

} \mathbf{W}r \mathbf{e}t )
其中 Wr​是关系 r特定的变换矩阵,et​是邻居的当前表示,Nh​是节点 h的邻居集合。
4. 注意力机制:为不同邻居分配不同权重,权重由节点和关系共同决定:
αh←t​=softmaxt∈Nh​​(aT[Wr​et​∥eh​])
加权聚合:eh(l)​=σ(∑t∈Nh​​αh←t​⋅mh←t​)。
5. 预测:经过L层传播后,得到用户和物品的最终表示 u,v,通过内积预测偏好。

误差:Recall@K。通过融入知识图谱,能够为推荐提供基于关系的解释(如“推荐这部电影是因为你喜欢它的导演”),并提升稀疏物品和冷启动用户的推荐效果。

异质图神经网络与注意力机制。通过关系特定的变换和注意力权重,在知识图谱上进行信息传播,将结构化知识注入表示学习。

场景:需要丰富侧信息或可解释性的推荐,如电影、音乐、书籍、新闻推荐。
特征
- 知识融合:利用物品属性、实体关系等结构化知识。
- 可解释性:注意力权重可以揭示推荐决策的依据(哪些关系或实体更重要)。
- 图复杂度高:知识图谱通常很大,计算和存储开销大。

G:包含用户、物品和知识实体的异质图。
eh(l)​:节点h在第l层的表示。
r:关系类型。
Wr​:关系r特定的权重矩阵。
αh←t​:从邻居t到节点h的注意力权重。
a:注意力向量参数。

关系感知卷积:对不同关系类型使用不同的变换矩阵。
注意力机制:计算邻居节点对中心节点的重要性权重。
异质图传播:在包含多种节点和边类型的图上进行信息传播。

无。

离线训练
1. 构建异质图,初始化所有节点表示。
2. 对于每一层l:
a. 对图中每个节点h,遍历其所有邻居t(考虑关系r)。
b. 计算每个邻居传递的消息:(\mathbf{m}_{h \leftarrow t} = \frac{1}{

R-0032

跨域推荐

无重叠用户

源域数据 -> 域映射函数学习 -> 目标域表示 -> 目标域推荐

无监督域自适应推荐

1. 问题:源域(如电影)有丰富的用户-物品交互数据,目标域(如书籍)数据稀疏,且两个域没有重叠的用户或物品。目标是利用源域知识提升目标域推荐。
2. 核心思想:学习一个域映射函数,将目标域的用户/物品嵌入映射到源域的嵌入空间,使得在源域训练好的推荐模型可以直接用于目标域。
3. 模型步骤
a. 源域训练:在源域数据上,使用任何推荐模型(如MF, LightGCN)学习用户和物品的嵌入 Us,Vs,以及推荐函数 fs。
b. 目标域预训练:在目标域稀疏数据上,同样学习初始嵌入 Ut,Vt。
c. 映射函数学习:学习两个映射函数 Gu​,Gv​,使得:
Gu​(Ut)≈Us且 Gv​(Vt)≈Vs
这可以通过对抗训练实现:训练一个域判别器D区分映射后的目标域嵌入和真实的源域嵌入,同时训练映射函数 Gu​,Gv​以欺骗判别器(最小化域差异)。
d. 目标域推荐:对于目标域的用户u和物品i,使用映射后的嵌入 u~=Gu​(ut)和 i~=Gv​(it),输入源域的推荐函数 fs得到预测分数:r^ui​=fs(u~,i~)。

误差:目标域的推荐精度(如Recall@K)。在目标域数据极度稀疏时,通过域自适应能显著超越仅在目标域训练的基础模型,有效解决冷启动问题。

域自适应与表示学习。假设不同域的用户和物品共享一个潜在的语义空间,通过对抗学习对齐两个域的表示分布。

场景:跨平台推荐(如从腾讯视频到QQ音乐)、新产品线冷启动、跨语言推荐。
特征
- 无重叠数据:核心挑战与贡献。
- 对抗学习:用于对齐域分布。
- 两阶段训练:先训练源域模型,再学习映射。

Us,Vs:源域的用户和物品嵌入矩阵。
Ut,Vt:目标域的用户和物品嵌入矩阵。
Gu​,Gv​:用户和物品的映射函数(如MLP)。
D:域判别器(二分类器)。
fs:源域训练好的推荐函数。

对抗训练:生成对抗网络思想,最小化域间分布差异。
表示对齐:通过映射函数将目标域表示投影到源域空间。

无。

训练流程
1. 源域训练:用源域数据训练推荐模型,得到 Us,Vs,fs。固定 fs。
2. 目标域预训练:用目标域稀疏数据训练,得到 Ut,Vt。
3. 对抗训练映射函数
- 固定 Gu​,Gv​,训练判别器D,使其能区分 Gu​(Ut)和 Us,以及 Gv​(Vt)和 Vs。
- 固定 D,训练 Gu​,Gv​,使其生成的嵌入能欺骗D(即让D判断为来自源域),同时加入重构损失(如 ∥Gu​(Ut)−Us∥)以稳定训练。
4. 目标域推理:使用训练好的 Gu​,Gv​和 fs进行推荐。

理论基础:域自适应理论。尽管数据分布不同,但不同领域背后的用户兴趣模式可能存在可迁移的潜在结构。
推荐形式:利用富数据域的知识,通过表示空间对齐,赋能贫数据域的推荐。

资源估算
前提:源域和目标域各有数千万用户/物品。
- 内存:需要存储源域模型(Us,Vs,fs)、目标域初始嵌入(Ut,Vt)以及映射函数和判别器。总内存消耗是单域模型的2倍以上。
- CPU/GPU:对抗训练过程计算复杂,需要交替优化生成器(映射函数)和判别器,训练时间长,需要多GPU。
- 存储:多域模型和数据,TB级。

推荐系统工程知识体系表

编号

类别

领域

模型配方

定理/算法/模型/方法名称

定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化

精度/密度/误差/强度

底层规律/理论定理

典型应用场景和各类特征

变量/常量/参数列表及说明

数学特征

语言特征

时序和交互流程的所有细节/分步骤时序情况及数学方程式流、动模型和流向方法的数学描述

认知/注意力人性/利益/关系/情感/交易/理论基础和推荐形式特征

5000万并发用户所需要的CPU/GPU/内存/存储盘/IO硬件/队列/网络的资源情况

R-0033

强化学习

在线学习与探索

状态 -> 深度Q网络 -> 动作价值 -> ε-贪婪策略

深度Q网络用于新闻推荐

1. 问题建模:将推荐过程建模为马尔可夫决策过程。
- 状态 st​: 用户t时刻的特征(历史点击、人口属性等)和上下文。
- 动作 at​: 从候选文章池中选择一篇文章进行推荐。
- 奖励 rt​: 用户对推荐文章的反馈(如点击=1,未点击=0,阅读时长可折算)。
- 目标: 学习策略 π最大化累计折扣奖励 ∑k=0∞​γkrt+k​。
2. DQN算法
- Q函数近似: 用深度神经网络 Q(s,a;θ)近似动作价值函数,输入状态s,输出每个动作a的Q值。
- 目标网络: 使用独立的目标网络 Q(s,a;θ−)计算目标Q值,稳定训练。
- 损失函数: 均方贝尔曼误差:
L(θ)=E(s,a,r,s′)​[(r+γmaxa′​Q(s′,a′;θ−)−Q(s,a;θ))2]
- 经验回放: 存储转移 (st​,at​,rt​,st+1​)到缓冲区,随机采样以打破相关性。
3. 探索策略: 使用ε-贪婪策略,以概率ε随机选择动作(探索),否则选择最大Q值动作(利用)。

强度:长期收益。评估指标为长期用户参与度(如总点击量、停留时长)。能够平衡探索与利用,优化长期收益,而非单次点击。

贝尔曼最优方程。最优动作价值函数满足 Q∗(s,a)=E[r+γmaxa′​Q∗(s′,a′)]。DQN通过函数近似和时序差分学习来逼近 Q∗。

场景:信息流推荐(如新闻、短视频)、游戏关卡推荐,其中用户兴趣动态变化,且需要探索未知兴趣。
特征
- 序列决策:考虑推荐的长期影响。
- 在线学习:可实时根据反馈更新策略。
- 探索能力:能主动推荐不确定但可能感兴趣的内容,打破信息茧房。
- 高方差:训练不稳定,需要精心设计奖励和状态。

st​:状态向量。
at​:动作(推荐物品ID)。
rt​:即时奖励。
γ:折扣因子(0.9~0.99)。
Q(s,a;θ):主Q网络,参数θ。
Q(s,a;θ−):目标Q网络,参数θ-。
ϵ:探索率(随时间衰减)。
经验回放缓冲区:存储历史转移。

动态规划:贝尔曼方程。
时序差分学习:基于当前估计和下一步估计更新Q值。
函数近似:用深度神经网络拟合高维状态空间下的Q函数。
随机优化:通过经验回放和随机梯度下降优化损失。

无。

离线训练/在线模拟
1. 初始化Q网络和目标网络。
2. 循环
a. 根据当前状态 st​和ε-贪婪策略选择动作 at​(推荐文章)。
b. 执行动作,观察奖励 rt​和新状态 st+1​。
c. 存储转移 (st​,at​,rt​,st+1​)到回放缓冲区。
d. 从缓冲区采样一批转移。
e. 计算目标:yj​=rj​+γmaxa′​Q(sj′​,a′;θ−)。
f. 通过梯度下降最小化 (yj​−Q(sj​,aj​;θ))2更新θ。
g. 每隔C步更新目标网络:θ−←θ。
在线服务:使用训练好的Q网络,以贪婪策略(ε=0)选择Q值最大的文章推荐。

理论基础:强化学习,序列决策理论。将用户视为环境,推荐系统为智能体,通过交互学习最大化用户长期满意度的策略。
推荐形式:基于长期价值预估的序列化推荐,兼具探索性。

资源估算
前提:状态维度d=1000,动作空间(文章数)n=10万,Q网络为3层MLP(1000->512->256->100000)。
- 内存:存储Q网络参数(约 (1000 * 512+512 * 256+256 * 100000)*4B ≈ 103MB)和经验回放缓冲区(数GB到TB)。主要瓶颈是输出层(100000维)巨大。
- CPU/GPU:在线推理需要前向传播计算10万个Q值,计算量极大。需使用动作消除技术(如根据用户状态先召回一小部分候选,再计算Q值)或分布式Q网络。需要强大的GPU推理集群。
- 存储/网络:模型、缓冲区、用户状态日志,PB级。在线交互对延迟要求极高。

R-0034

多任务学习

点击率/转化率预估

点击率模型 -> 转化率模型(以点击为条件)

完整空间多任务模型

1. 问题洞察:传统CVR预估使用点击样本训练,但线上预测需对全空间(曝光样本)进行。这导致样本选择偏差(SSB)和数据稀疏(点击样本远少于曝光样本)问题。
2. 模型结构:同时建模点击率(CTR)和点击后转化率(CVR)两个任务,且共享特征表示。
- 输入:曝光样本的特征 x。
- CTR塔:预测点击概率 pCTR=p(z=1∥x)。
- CVR塔:预测点击后转化概率 pCVR=p(y=1∥z=1,x)。
- CTCVR塔:预测曝光后转化概率,由概率链式法则得出:
pCTCVR=p(z=1,y=1∥x)=p(z=1∥x)⋅p(y=1∥z=1,x)=pCTR⋅pCVR
3. 损失函数:联合损失,利用全空间曝光样本(有z标签)和点击空间样本(有y标签)。
L=∑i=1N​l(zi​,z^i​)+∑i∈Sc​​l(yi​,y^​i​)
其中 Sc​是点击样本集合。第一项CTR损失在全样本上计算,第二项CVR损失仅在点击样本上计算。
4. 线上预测:预估 pCTCVR作为排序分数,它天然地对全空间样本进行了校准。

误差:CTR任务用AUC/LogLoss,CVR任务用AUC/LogLoss。ESMM解决了CVR预估的SSB和DS问题,在电商等场景显著提升GMV。

概率论中的链式法则。曝光后转化事件是点击事件和点击后转化事件的交集,其概率是条件概率的乘积。

场景:电商、在线广告等具有“曝光->点击->转化”链路的场景。
特征
- 解决SSB和DS:核心贡献。
- 多任务学习:CTR任务作为CVR任务的辅助任务,共享特征嵌入,缓解数据稀疏。
- 端到端训练:直接优化最终业务目标(CTCVR)。

x:特征向量。
z∈{0,1}:点击标签(曝光空间)。
y∈{0,1}:转化标签(点击空间)。
z^=pCTR:预估点击率。
y^​=pCVR:预估点击后转化率。
pCTCVR:预估曝光后转化率。

概率论:条件概率、联合概率、链式法则。
多任务学习:共享参数,联合优化。
样本空间转换:将CVR任务从点击空间巧妙地转换到全空间。

无。

离线训练
1. 准备样本:每条曝光样本记录特征x,点击标签z,转化标签y(未点击时y=0)。
2. 前向传播:计算 z^(CTR塔) 和 y^​(CVR塔)。
3. 计算损失:CTR损失 l(z,z^)在所有样本上计算;CVR损失 l(y,y^​)仅在z=1的样本上计算。总损失为两者加权和。
4. 反向传播更新所有塔的参数(包括共享嵌入层)。
在线预测
1. 对于候选物品,实时计算 z^和 y^​。
2. 计算排序分数 z^⋅y^​=pCTCVR。

理论基础:用户行为链路的概率建模。准确预估最终转化概率需要联合建模中间行为。
推荐形式:基于曝光后转化概率预估的排序,直接优化GMV等核心指标。

资源估算
前提:模型结构为 Wide&Deep 或 DeepFM 的变体,包含两个塔。
- 内存:相比单任务CTR模型,增加了一个CVR塔的参数(约增加50%~100%),总内存可能从4GB增至6-8GB。
- CPU/GPU:线上预测需要同时运行CTR和CVR两个前向传播,计算开销约为单CTR模型的1.5-2倍。需要相应的算力扩容。
- 存储/网络:模型大小增加,分发开销略增。

R-0035

跨域推荐

知识迁移

源域/目标域数据 -> 共享/特定映射 -> 联合训练

跨域矩阵分解

1. 问题定义:有两个相关但不完全相同的领域(如电影评分域和书籍评分域)。目标域数据稀疏(冷启动),希望利用源域丰富数据提升目标域推荐效果。
2. 核心思想:假设用户在不同领域有共享的隐式兴趣(如喜欢科幻),也有领域特定的兴趣。同时,物品属性也可分解为共享和特定部分。
3. 模型公式
令上标 s,t分别表示源域和目标域。用户u在域d的隐向量表示为:
pud​=pus​+pud,specific​
物品i在域d的隐向量表示为:
qid​=qis​+qid,specific​
评分预测公式为:
r^uid​=(pus​+pud,specific​)T(qis​+qid,specific​)+bud​+bid​+μd
4. 目标函数:联合最小化两个领域的预测误差:
min∑d∈{s,t}​∑(u,i)∈Rd​(ruid​−r^uid​)2+λ(∥Ps∥2+∥Pd,specific∥2+∥Qs∥2+∥Qd,specific∥2)
5. 参数共享:通过共享的 pus​,qis​实现知识迁移。对于只在目标域出现的新用户,其 pus​可通过其他信息初始化或设为可学习,而 put,specific​从少量目标域数据中学习。

误差:目标域RMSE。在目标域数据稀疏时,通过利用源域信息,能显著提升目标域的预测精度,缓解冷启动。

表征学习的迁移。用户和物品的潜在表征可以分解为跨域共享的公共部分和域特定的私有部分。

场景:公司内多产品线推荐(如腾讯视频和腾讯新闻)、跨国家电商平台、新闻和短视频推荐。
特征
- 知识迁移:核心能力,解决数据稀疏/冷启动。
- 灵活性:模型可自动学习共享和特定部分的比例。
- 数据要求:需要部分用户或物品在跨域间有重叠(锚点)。

pus​:用户u的共享隐向量。
pud,specific​:用户u在域d的特定隐向量。
qis​:物品i的共享隐向量。
qid,specific​:物品i在域d的特定隐向量。
bud​,bid​,μd:域特定的偏置项。
Rd:域d的评分集合。

矩阵分解:低秩近似。
表征分解:向量空间的加法分解。
多任务学习:联合优化两个相关任务(域),共享部分参数。

无。

离线训练
1. 构建源域和目标域的评分矩阵。
2. 随机初始化所有共享和特定隐向量及偏置。
3. 使用SGD,交替或联合优化两个域的损失函数。对于每个样本,根据其所属域,使用对应的预测公式和参数更新。
在线预测:在目标域进行推荐时,使用目标域的预测公式 r^uit​。

理论基础:迁移学习。不同但相关的领域之间存在可迁移的潜在知识(用户兴趣共性)。
推荐形式:利用富信息域辅助提升贫信息域的推荐质量。

资源估算
前提:源域用户数m_s=1亿,目标域用户数m_t=5000万,重叠用户假设20%。物品数各1000万。
- 内存:需要存储共享用户向量(1亿+5000万-重叠)、域特定用户向量(1亿+5000万)、共享物品向量(2000万-重叠)、域特定物品向量(2000万)。总参数量约为单域MF的2-3倍,可能达到100-150GB。
- CPU/GPU:训练和预测的计算量与参数数量成正比,开销较大。需要分布式训练框架。
- 存储:多域数据、模型参数,TB级。

R-0036

知识图谱

语义增强

用户-物品交互图 + 知识图谱 -> 多跳路径聚合 -> 联合表征

知识图谱注意力网络

1. 动机:利用外部知识图谱(KG)中物品的属性和关系,丰富物品的语义表示,并引入高阶连接关系,以提升推荐效果和可解释性。
2. 图构建:构建用户-物品交互图和知识图谱的异构信息网络。用户节点通过“交互”边连接到物品节点,物品节点通过KG中的关系边连接到实体节点(如演员、导演、类别)。
3. 模型结构
- 嵌入层:初始化用户、物品、KG实体的嵌入向量。
- 传播层:沿图结构聚合邻居信息。对于用户-物品交互,采用LightGCN式聚合。对于KG部分,采用基于关系注意力机制的聚合:
对于实体h,其邻居集合 Nh​={(r,t)}(关系r,尾实体t)。h的新表示为:
π(h,r,t)=(Wr​et​)
α(h,r,t)=softmax(r,t)∈Nh​​(ehT​π(h,r,t))
eh(l)​=∑(r,t)∈Nh​​α(h,r,t)π(h,r,t)
其中 Wr​是关系r的变换矩阵。
- 预测层:经过L层传播后,得到用户和物品的最终表示 eu∗​,ei∗​,通过内积预测:y^​ui​=eu∗​Tei∗​。
4. 训练:使用BPR损失等成对损失进行优化。

误差:召回率@K,NDCG@K。通过引入丰富的KG语义信息,能有效提升推荐的准确性、多样性和可解释性,尤其有利于长尾和冷启动物品。

异构图神经网络。通过注意力机制区分不同关系邻居的重要性,在统一的向量空间中融合协同信号和语义信号。

场景:电影、音乐、书籍、新闻等具有丰富元数据和外部知识的领域推荐。
特征
- 语义丰富:物品表示包含其属性、类别等知识。
- 可解释性:注意力权重可以解释推荐理由(如“因为您喜欢导演A的电影”)。
- 高阶连接:可以发现“用户->电影A->演员B->电影C”的潜在推荐路径。

Gui​,Gkg​:用户-物品交互图和知识图谱。
eu​,ei​,eh​:用户、物品、KG实体的嵌入向量。
Nh​:实体h在KG中的邻居集合(关系,尾实体)。
Wr​:关系r的线性变换矩阵。
α(h,r,t):注意力权重。
L:传播层数。

异构图神经网络:处理多种节点和边类型的图。
注意力机制:学习不同邻居的重要性权重。
多源信息融合:协同过滤信号与知识图谱信号融合。

知识图谱本身包含文本形式的实体和关系名称,但模型通常将其视为离散符号。

离线训练
1. 构建联合图,初始化嵌入。
2. 进行L层图传播,每一层对用户-物品子图和KG子图分别进行邻居聚合(可并行)。
3. 获取最终表示,计算BPR损失,反向传播更新所有嵌入和权重 Wr​。
在线服务:离线预计算所有物品的最终嵌入 ei∗​。线上根据实时用户状态(或使用其静态嵌入)计算用户向量,再进行向量检索。用户向量计算可能需要考虑其实时交互,这涉及子图提取和有限步传播,延迟较高。

理论基础:知识增强的表示学习。外部知识为推荐系统提供了超越共现模式的深层语义理解。
推荐形式:基于语义和协同混合信号的推荐,可提供知识驱动的解释。

资源估算
前提:KG包含数千万实体,数十亿关系三元组。图规模巨大。
- 内存:存储所有实体和关系的嵌入及变换矩阵,内存消耗可达数百GB甚至TB级别。图结构本身也需要存储(边列表)。
- CPU/GPU:训练时的图传播计算极其复杂和耗时,需要多GPU或分布式图学习框架(如DGL, PyG)。线上服务时,实时用户向量计算(如果涉及KG传播)延迟高,通常采用离线预计算物品向量+近似用户向量的策略。
- 存储:图数据、嵌入、模型,PB级。

R-0037

联邦学习

隐私保护

本地数据 -> 本地模型更新 -> 安全聚合 -> 全局模型

联邦矩阵分解

1. 问题设定:多个客户端(如用户设备或组织)拥有本地私有数据(评分),希望协同训练一个全局推荐模型,而不共享原始数据。
2. 联邦平均算法
- 服务器:初始化全局用户矩阵 P和物品矩阵 Q。
- 每轮通信
a. 客户端选择:服务器随机选择一部分客户端 St​。
b. 本地训练:每个被选中的客户端k下载全局物品矩阵 Q和与自身相关的用户向量 pu​(u∈Uk​)。在本地私有数据上,固定 Q,仅更新 pu​,执行SGD若干步,得到本地更新 ΔPk​。
c. 上传更新:客户端k将更新后的用户向量 punew​(或更新量 ΔPk​)加密上传至服务器。
d. 安全聚合:服务器使用安全聚合协议(如同态加密)聚合所有客户端的更新,得到全局用户矩阵的更新:
Pt+1​←Aggregate({Pknew​}k∈St​​)
e. 物品矩阵更新:可选。服务器可以集中用所有客户端的匿名梯度更新 Q,或让客户端也计算 ΔQk​并聚合。
3. 隐私保护:原始数据永不离开客户端,仅上传模型更新。结合差分隐私(在更新中添加噪声)或安全多方计算可进一步增强隐私。

误差:全局模型在测试集上的RMSE。目标是在保护隐私的前提下,达到接近集中式训练的模型性能。性能损失取决于客户端数据异构性、通信轮次和隐私预算。

分布式优化与隐私计算。在数据孤岛间通过传递模型参数而非数据,实现协同学习,满足隐私法规要求。

场景:跨组织协作推荐(如医院间)、移动设备上的输入法下一词预测、隐私敏感的个性化服务。
特征
- 隐私保护:核心优势。
- 通信开销:主要瓶颈,需设计高效的通信压缩策略。
- 统计异构:客户端数据非独立同分布,导致优化困难和个人化模型需求。

P,Q:全局用户和物品矩阵。
Uk​,Rk​:客户端k拥有的用户集合及其评分数据。
ΔPk​:客户端k对用户矩阵的本地更新。
St​:第t轮被选中的客户端集合。
学习率 γ本地epoch数 E客户端比例 C

分布式优化:联邦平均是一种特殊的分布式SGD。
安全计算:同态加密、差分隐私。
矩阵分解:低秩模型。

无。

训练流程
1. 服务器初始化 P0,Q0。
2. For​ 通信轮次 t = 1 to T do:
a. 服务器广播 Qt给选中的客户端 St​。
b. For​ 每个客户端 k in St​并行 do:
i. 基于本地数据 Rk​和当前 Qt,更新本地用户向量 Pk​(执行E个epoch的SGD)。
ii. 计算更新 ΔPk​=Pknew​−Pkold​。
iii. (可选)添加差分隐私噪声。
iv. 加密 ΔPk​并上传至服务器。
c. 服务器安全聚合所有 ΔPk​,更新全局用户矩阵:Pt+1=Pt+η∑k∈St​​nnk​​ΔPk​。
d. 服务器更新物品矩阵 Qt+1(例如,用聚合后的梯度)。
服务流程:训练完成后,服务器拥有全局 P,Q,可进行集中式推荐,或为每个用户提供其个性化的用户向量。

理论基础:隐私计算与联邦学习。在数据所有权意识增强和法规(如GDPR)约束下,实现“数据不动模型动”的协作智能。
推荐形式:隐私保护下的协同过滤推荐。

资源估算
前提:数千万客户端,数亿用户,数千万物品。
- 服务器端:存储全局模型 P,Q,内存需求与集中式MF相同(数十至上百GB)。计算聚合,网络带宽是核心瓶颈。
- 客户端:本地存储自己的数据和相关的用户/物品向量,内存需求小。本地训练计算开销低。
- 通信:每轮通信需要传输被选中客户端的模型更新(用户向量子集)。假设每轮选中1%客户端(10万),每个用户向量64维,则每轮上传数据量约 10万 * 64 * 4B = 256MB。下载数据量(物品矩阵Q)可能更大(~GB级)。需要高带宽和大量通信轮次(数百轮)。

R-0038

因果推断

反事实推荐

用户-物品对 -> 倾向得分估计 -> 逆概率加权 -> 无偏损失

逆概率加权用于曝光偏差修正

1. 问题:观测到的点击数据存在曝光偏差:用户只能点击被系统曝光过的物品。这导致训练数据不是从全体物品中随机采样的,用标准损失(如BPR)训练的模型是有偏的。
2. 核心思想:使用逆概率加权(IPW)来修正选择偏差。给每个观测到的正样本(点击)分配一个权重,权重是曝光概率的倒数。
3. 模型与公式
- 曝光机制:定义物品i被曝光给用户u的概率为 Oui​∈{0,1},其期望为倾向得分 πui​=P(Oui​=1∥xui​)。
- 理想无偏损失(全空间): (\mathcal{L}_{ideal} = \frac{1}{

\mathcal{U}

\mathcal{I}

} \sum{u \in \mathcal{U}} \sum{i \in \mathcal{I}} \delta(y{ui}, \hat{y}{ui}) )
- IPW估计量:用观测数据(曝光空间)估计理想损失:
LIPW​=N1​∑(u,i):Oui​=1​πui​δ(yui​,y^​ui​)​
其中 πui​需要估计(例如,用一个简单的曝光模型预测)。
4. 两步流程
a. 倾向得分估计:使用曝光日志(所有曝光过的物品,无论是否点击)训练一个模型(如LR)来预估 π^ui​。
b. 主模型训练:使用IPW损失 LIPW​训练推荐模型(如MF, NeuralCF),其中权重为 1/π^ui​。
5. 方差控制:IPW估计量可能方差很大(当 πui​很小时)。常用裁剪(如将 πui​限制在 [ε, 1])或自归一化IPW

误差:无偏性。目标不是直接优化观测数据的指标,而是获得一个对全空间评估更无偏的模型。在离线评估中,可能表现为在更合理的测试集(如随机曝光数据)上表现更好。

因果推断中的缺失数据理论。将未曝光物品的反馈视为随机缺失(MAR),通过逆概率加权可以构造目标参数的无偏估计。

场景:任何存在严重曝光偏差的推荐系统,特别是当系统历史策略非常偏向热门物品时。
特征
- 纠偏:核心目标,追求更公平、更探索性的推荐。
- 两步流程:实现相对复杂。
- 方差问题:需要谨慎处理小倾向得分。

Oui​:曝光指示变量(二元)。
πui​:倾向得分,即 P(Oui​=1)。
π^ui​:预估的倾向得分。
δ(⋅):损失函数(如交叉熵)。
yui​,y^​ui​:真实标签和预测值。
裁剪阈值 ϵ

概率论:条件概率,期望的线性性。
统计估计:逆概率加权是霍罗维茨-汤普森估计量的一种形式。
偏差-方差权衡:IPW减少偏差但可能增加方差。

R-0039

自动化机器学习

神经架构搜索

搜索空间 -> 控制器(RNN) -> 采样子网 -> 训练评估 -> 强化学习更新

基于强化学习的神经架构搜索

1. 目标:自动为特定推荐任务(如CTR预估)设计最优的神经网络架构,替代手工设计。
2. 搜索框架
- 搜索空间:定义架构的基本组成单元(如卷积核大小、层数、注意力头数)及其连接方式。对于推荐,可能是嵌入维度、MLP层宽/深、交叉网络类型等。
- 控制器:一个RNN,用于生成(采样)一个具体的架构描述(一串令牌)。
- 子网络训练:将控制器采样的架构实例化一个子网络,在训练集上训练一定epoch,在验证集上得到性能(如AUC)作为奖励 R。
- 强化学习更新:使用策略梯度方法(如REINFORCE)更新控制器RNN的参数,使其倾向于采样能获得高奖励的架构。目标函数是最大化期望奖励:
J(θc​)=EP(a1​:T;θc​)​[R]
梯度近似为:
∇θc​​J(θc​)≈m1​∑k=1m​∑t=1T​∇θc​​logP(at​∥a(t−1):1​;θc​)(Rk​−b)
其中 a1​:T是架构描述,m是采样子网络数量,b是基线(如平均奖励)。
3. 加速技巧:权重共享、早停、性能预测器等。

强度:搜索得到的最优架构在目标数据集上的性能(如AUC)通常优于人工设计的基准模型。但搜索过程计算成本极高。

元优化。将架构设计问题转化为一个序列决策问题,用强化学习在离散的搜索空间中寻找最优解。

场景:对模型性能有极致追求且计算资源充足的场景,如大型互联网公司的核心推荐业务。
特征
- 自动化:减少对专家经验的依赖。
- 计算昂贵:需要训练成千上万个子网络,耗费巨大GPU资源。
- 结果导向:可能发现反直觉但有效的架构。

搜索空间 A:所有可能架构的集合。
控制器参数 θc​:RNN参数。
架构描述 a1​:T:由控制器生成的动作序列。
奖励 R:子网络在验证集上的性能指标。
基线 b:用于减少方差的基准值。

序列生成:控制器RNN生成架构描述序列。
强化学习:策略梯度方法(REINFORCE)。
离散优化:在巨大的离散空间中进行搜索。

架构描述是符号序列,控制器RNN处理此序列。

搜索流程
1. 初始化控制器RNN。
2. 循环直到收敛:
a. 控制器采样一批(如m个)架构描述 {a(k)}。
b. 对于每个架构 a(k),构建对应的子网络。
c. 并行训练这些子网络(共享权重或独立训练)至收敛或早停。
d. 在验证集上评估每个子网络,得到奖励 Rk​。
e. 计算策略梯度,更新控制器RNN参数 θc​。
3. 选择搜索过程中奖励最高的架构,从头训练至收敛,作为最终模型。

理论基础:自动化机器学习与元学习。将人的先验知识编码到搜索空间中,让算法自动探索和评估,寻找最优解。
推荐形式:使用NAS自动发现的、针对特定数据分布优化的深度推荐模型。

资源估算
前提:搜索空间包含数万至数十万种架构。
- 计算:这是核心开销。需要数百至数千块GPU持续运行数天甚至数周。例如,训练一个子网络可能需要1-10 GPU小时,总共需要训练数万个,总计算量可达数十万GPU小时。
- 内存:需要存储大量子网络的中间状态(如果权重共享)。
- 存储:存储所有采样架构的性能记录、模型checkpoint等。
- 线上服务:最终部署的模型与人工设计的模型开销类似,但搜索过程成本极高。

R-0040

基础算法

关联规则

交易数据库 -> 频繁项集挖掘 -> 关联规则生成

Apriori算法

1. 目标:发现物品之间的关联规则,形式如 X⇒Y(支持度,置信度),用于“买了又买”推荐。
2. 核心概念
- 支持度:项集 X在交易数据库中出现的频率。 supp(X)=Ncount(X)​。
- 置信度:规则 X⇒Y的强度。 conf(X⇒Y)=supp(X)supp(X∪Y)​。
3. Apriori原理如果一个项集是频繁的,那么它的所有子集也一定是频繁的。反之,如果一个项集是非频繁的,那么它的所有超集也一定是非频繁的。
4. 算法步骤
a. 找频繁项集
- 扫描数据库,计算所有单项的支持度,找出频繁1-项集 L1​。
- 迭代​ k=2,3,...:
i. 候选生成:从 Lk−1​通过连接和剪枝生成候选k-项集 Ck​。连接:p,q∈Lk−1​且前k-2项相同。剪枝:删除那些存在(k-1)-子集不在 Lk−1​中的候选。
ii. 支持度计数:扫描数据库,统计每个候选 c∈Ck​的支持度。
iii. 筛选:保留支持度 ≥ 最小支持度阈值 min_sup的项集,得到 Lk​。
- 直到 Lk​为空。
b. 生成关联规则:对于每个频繁项集 l,生成其所有非空子集 s。对于每个 s,输出规则 s⇒(l−s),如果其置信度 supp(s)supp(l)​≥min_conf。

强度:规则清晰可解释。评估指标为支持度和置信度。擅长发现强关联的商品组合,但可能产生大量规则,且对参数(min_sup, min_conf)敏感。

组合数学中的单调性原理。频繁项集的支持度随项集大小增加而单调非增,这构成了剪枝的基础。

场景:超市购物篮分析、电商捆绑销售推荐、零售业库存管理。
特征
- 可解释性极强:规则直接反映了商品间的购买关系。
- 计算密集:需要多次扫描数据库,候选集可能爆炸。
- 适合离线:规则可离线计算,线上直接查找应用。

D:交易数据库,每条交易是一个物品集合。
min_sup:最小支持度阈值(如0.01)。
min_conf:最小置信度阈值(如0.5)。
Lk​:频繁k-项集的集合。
Ck​:候选k-项集的集合。

集合论:项集是物品的集合,交易数据库是集合的集合。
组合计数:候选生成涉及组合枚举。
单调性:Apriori原理的核心是支持度度量的单调性。

无。

离线挖掘流程
1. 数据准备:将用户购买记录整理为交易格式。
2. 设定 min_sup, min_conf。
3. 执行Apriori算法,得到所有满足 min_sup 的频繁项集。
4. 从频繁项集中生成所有满足 min_conf 的关联规则。
5. 存储规则库(通常为 {前件} -> {后件}, 支持度, 置信度)。
在线推荐流程
1. 获取用户当前购物车或最近购买物品集合 S。
2. 在规则库中查找所有前件 X是 S子集的规则 X⇒Y。
3. 对找到的规则,按置信度(或提升度)排序,取后件 Y中的物品作为推荐。

理论基础:市场篮子分析。通过分析历史交易数据,发现物品之间潜在的共生或替代关系。
推荐形式:基于强关联规则的即时推荐(如“购物车推荐”、“配套推荐”)。

资源估算
前提:交易数N=10亿,平均交易长度10,物品总数n=1000万。
- CPU/内存:算法需要多次全量扫描数据库,内存中维护候选集和计数数据结构。对于海量数据,需要分布式计算框架(如Spark MLlib)。单机难以处理。
- 存储:原始交易数据(TB级)、规则库(GB级)。
- 线上服务:规则库可加载到内存(如Redis)中,通过快速集合运算进行匹配,延迟极低,可承受极高QPS。资源需求主要集中在离线挖掘阶段。

R-0041

排序学习

列表级排序

文档列表 -> 列表级特征 -> 神经网络 -> 列表级得分

列表级排序模型

1. 动机:传统Pointwise和Pairwise方法只考虑单个文档或文档对,忽略了文档列表内部的相互影响(如多样性、冗余性)。Listwise方法直接优化整个列表的排序质量。
2. 模型范例
- 输入:对于一个查询q,有一个候选文档列表 D = \{d_1, d_2, ..., d_m} 。每个文档 dj​有其自身的特征向量 xj​,以及可能与其他文档交互产生的列表级特征。
- 模型结构:使用神经网络(如Transformer或RNN)处理整个文档列表。
H=Encoder([x1​,x2​,...,xm​])

这些条目将覆盖因果推断、多目标优化、跨域推荐、序列建模、图神经网络、强化学习、联邦学习等前沿和重要方向。

推荐系统工程知识体系表(R-0042 ~ R-0060)

编号

类别

领域

模型配方

定理/算法/模型/方法名称

定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化

精度/密度/误差/强度

底层规律/理论定理

典型应用场景和各类特征

变量/常量/参数列表及说明

数学特征

语言特征

时序和交互流程的所有细节/分步骤时序情况及数学方程式流、动模型和流向方法的数学描述

认知/注意力人性/利益/关系/情感/交易/理论基础和推荐形式特征

5000万并发用户所需要的CPU/GPU/内存/存储盘/IO硬件/队列/网络的资源情况

R-0042

因果推断

反事实预估

观测数据 -> 倾向得分估计 -> 双重稳健估计量 -> 反事实点击率

逆倾向加权

1. 问题:从观测数据中估计推荐策略的因果效应。例如,评估如果给所有用户都推荐物品A,其点击率会是多少(反事实)。观测数据存在混杂偏差,因为历史策略倾向于给某些用户推荐某些物品。
2. 核心公式:目标估计量是策略π下的期望奖励:
(V(\pi) = \mathbb{E}{(x,a,r) \sim p{obs}} \left[ \frac{\pi(a

x)}{p_0(a

x)} r \right] )
其中 (p_0(a

x) )是产生观测数据的旧策略(倾向得分)。通过给每个观测样本 (x,a,r)赋予权重 (w = \pi(a

x)/p_0(a

x) )来纠正选择偏差。
3. 倾向得分估计:(p_0(a

x) )通常通过逻辑回归等模型,利用历史日志(特征x,行动a)来估计。
4. 双重稳健估计:结合直接模型预测和IPW,提高估计的鲁棒性:
(\hat{V}{DR} = \mathbb{E}n \left[ \hat{r}(x,a) + \frac{\pi(a

x)}{p_0(a

x)} (r - \hat{r}(x,a)) \right] )
其中 r^(x,a)是直接训练的奖励预测模型。只要倾向得分模型或奖励预测模型之一正确,估计就是无偏的。

误差:策略价值估计的均方误差。IPW能有效消除由于历史策略偏好带来的偏差,得到更无偏的策略评估,是进行离线策略评估和优化的基础。

R-0043

多目标优化

排序学习

多个目标分数 -> 帕累托最优解学习 -> 个性化权重 -> 最终分数

多门控混合专家

1. 动机:推荐系统需要同时优化多个目标(如点击率、观看时长、点赞、分享)。不同用户对不同目标的偏好不同,需要个性化地融合多个目标。
2. 模型结构
- 专家网络:有K个专家网络 Ek​(x),每个是一个前馈神经网络,输入是特征x,输出是一个标量(或向量)。专家共享底层特征嵌入。
- 门控网络:有M个门控网络 Gm​(x),对应M个优化目标。每个门控网络 Gm​(x)输出一个K维的概率分布 gm​(x)=softmax(Wm​⋅x),表示对于目标m,各个专家的权重。
- 目标预测:对于第m个目标,其预测值为所有专家输出的加权和:
ym​(x)=∑k=1K​gm,k​(x)⋅Ek​(x)
每个专家 Ek​(x)的输出可以是一个标量(直接预测目标m),也可以是一个向量(所有目标共享的中间表示),后者更常见。
3. 训练:使用多任务学习,总损失是各目标损失的加权和:
L=∑m=1M​αm​⋅Lm​(ym​,y^​m​)
其中 Lm​是对应目标(如CTR用交叉熵,观看时长用MSE)的损失函数。

强度:多目标综合性能。通过共享专家和个性化门控,MMoE能有效建模多个相关任务,并在任务间取得良好的权衡,避免跷跷板现象。

多任务学习与条件计算。通过门控机制根据输入(用户上下文)动态地组合共享专家,实现参数的高效利用和任务的个性化处理。

场景:信息流推荐(优化点击、时长、互动)、电商推荐(优化点击、转化、GMV)。
特征
- 个性化融合:不同用户/上下文下,各目标的融合权重不同。
- 参数共享:专家网络被所有目标共享,促进知识迁移。
- 灵活可扩展:增加新目标只需增加一个门控网络。

x:输入特征向量。
Ek​(⋅):第k个专家网络,参数 θkE​。
Gm​(⋅):第m个目标的门控网络,参数 Wm​。
gm,k​(x):门控 Gm​给专家k的权重。
ym​(x):第m个目标的预测值。
αm​:第m个目标损失的权重。

条件计算:门控网络根据输入决定激活哪些专家,是一种稀疏激活模式。
加权求和:目标预测是专家输出的凸组合。
多任务学习:联合优化多个相关任务。

无。

离线训练
1. 特征处理,得到输入x。
2. 专家计算:将x输入K个专家网络,得到K个专家输出 ek​。
3. 门控计算:对于每个目标m,将x输入其门控网络 Gm​,得到权重分布 gm​。
4. 目标预测:对于目标m,计算加权和 ym​=∑k​gm,k​⋅ek​。
5. 计算每个目标的损失 Lm​,加权求和得到总损失。
6. 反向传播更新所有专家和门控网络的参数。
在线预测:同时计算所有目标的预测值 ym​。最终的排序分数可以是这些预测值的线性组合 S=∑m​βm​⋅ym​,其中 βm​可以是业务设定的全局权重,或根据用户画像进一步个性化。

理论基础:多任务学习与个性化。用户对多个目标的偏好存在差异,模型应能根据上下文自适应地调整对不同目标的关注度。
推荐形式:基于多目标个性化预估的排序,实现综合收益最大化。

资源估算
前提:K=8个专家,M=3个目标,专家网络为3层MLP(输入维度d=1000,隐藏层512,输出256)。
- 内存:存储K个专家网络参数(约 8 * (1000 * 512+512 * 256+256 * 256)*4B ≈ 1.8GB)和M个门控网络参数(很小)。主要内存仍是特征嵌入表。
- CPU/GPU:线上预测需要运行K个专家网络的前向传播和M个门控网络的计算,计算量约为单任务模型的K倍(专家计算是主要开销)。需要强大的GPU推理集群。
- 存储/网络:模型大小显著增加,分发和加载开销大。

R-0044

跨域推荐

无重叠用户

源域数据 -> 域映射函数学习 -> 目标域表示 -> 目标域推荐

无监督域自适应推荐

1. 问题:源域(如电影)有丰富的用户-物品交互数据,目标域(如书籍)数据稀疏,且两个域没有重叠的用户或物品。目标是利用源域知识提升目标域推荐。
2. 核心思想:学习一个域映射函数,将目标域的用户/物品嵌入映射到源域的嵌入空间,使得在源域训练好的推荐模型可以直接用于目标域。
3. 模型步骤
a. 源域训练:在源域数据上,使用任何推荐模型(如MF, LightGCN)学习用户和物品的嵌入 Us,Vs,以及推荐函数 fs。
b. 目标域预训练:在目标域稀疏数据上,同样学习初始嵌入 Ut,Vt。
c. 映射函数学习:学习两个映射函数 Gu​,Gv​,使得:
Gu​(Ut)≈Us且 Gv​(Vt)≈Vs
这可以通过对抗训练实现:训练一个域判别器D区分映射后的目标域嵌入和真实的源域嵌入,同时训练映射函数 Gu​,Gv​以欺骗判别器(最小化域差异)。
d. 目标域推荐:对于目标域的用户u和物品i,使用映射后的嵌入 u~=Gu​(ut)和 i~=Gv​(it),输入源域的推荐函数 fs得到预测分数:r^ui​=fs(u~,i~)。

误差:目标域的推荐精度(如Recall@K)。在目标域数据极度稀疏时,通过域自适应能显著超越仅在目标域训练的基础模型,有效解决冷启动问题。

域自适应与表示学习。假设不同域的用户和物品共享一个潜在的语义空间,通过对抗学习对齐两个域的表示分布。

场景:跨平台推荐(如从腾讯视频到QQ音乐)、新产品线冷启动、跨语言推荐。
特征
- 无重叠数据:核心挑战与贡献。
- 对抗学习:用于对齐域分布。
- 两阶段训练:先训练源域模型,再学习映射。

Us,Vs:源域的用户和物品嵌入矩阵。
Ut,Vt:目标域的用户和物品嵌入矩阵。
Gu​,Gv​:用户和物品的映射函数(如MLP)。
D:域判别器(二分类器)。
fs:源域训练好的推荐函数。

对抗训练:生成对抗网络思想,最小化域间分布差异。
表示对齐:通过映射函数将目标域表示投影到源域空间。

无。

训练流程
1. 源域训练:用源域数据训练推荐模型,得到 Us,Vs,fs。固定 fs。
2. 目标域预训练:用目标域稀疏数据训练,得到 Ut,Vt。
3. 对抗训练映射函数
- 固定 Gu​,Gv​,训练判别器D,使其能区分 Gu​(Ut)和 Us,以及 Gv​(Vt)和 Vs。
- 固定 D,训练 Gu​,Gv​,使其生成的嵌入能欺骗D(即让D判断为来自源域),同时加入重构损失(如 ∥Gu​(Ut)−Us∥)以稳定训练。
4. 目标域推理:使用训练好的 Gu​,Gv​和 fs进行推荐。

理论基础:域自适应理论。尽管数据分布不同,但不同领域背后的用户兴趣模式可能存在可迁移的潜在结构。
推荐形式:利用富数据域的知识,通过表示空间对齐,赋能贫数据域的推荐。

资源估算
前提:源域和目标域各有数千万用户/物品。
- 内存:需要存储源域模型(Us,Vs,fs)、目标域初始嵌入(Ut,Vt)以及映射函数和判别器。总内存消耗是单域模型的2倍以上。
- CPU/GPU:对抗训练过程计算复杂,需要交替优化生成器(映射函数)和判别器,训练时间长,需要多GPU。
- 存储:多域模型和数据,TB级。

R-0045

序列推荐

下一项预测

用户行为序列 -> 时间间隔感知Transformer -> 动态兴趣表示 -> 下一项预测

时间间隔感知序列推荐

1. 动机:用户行为之间的时间间隔包含重要信息(如短期冲动 vs. 长期兴趣)。标准Transformer的位置编码只编码顺序,未编码时间间隔。
2. 时间感知位置编码
- 对于序列中的第t个行为,记录其发生的时间戳 τt​。计算与上一个行为的时间间隔 Δt​=τt​−τt−1​(对于t=1, Δ1​=0或一个常数)。
- 将时间间隔 Δt​通过一个函数(如对数变换 log(1+Δt​))映射后,与可学习的位置编码 pt​结合,或直接作为额外的特征维度。一种方法是修改注意力计算中的位置编码,使其成为时间和位置的函数:
p~​t​=pt​+T(Δt​)
其中 T(⋅)是一个可学习的变换(如线性层)。
3. 模型整合:将修改后的位置编码 p~​t​与物品嵌入 et​相加,作为Transformer的输入:
xt​=et​+p~​t​。
后续的Transformer层和预测与标准序列Transformer相同。

误差:Recall@K, NDCG@K。通过显式建模时间间隔,能更好地区分用户行为的紧迫性、周期性或遗忘模式,在电商、音乐等强时间模式场景下提升推荐准确性。

时间序列分析。用户兴趣不仅与行为顺序有关,还与行为发生的时间密度和模式密切相关。

场景:具有强时间模式的推荐,如外卖(用餐时间)、新闻(时效性)、音乐(不同时段偏好)、电商(促销期)。
特征
- 时间间隔建模:核心创新点。
- 灵活整合:可轻松融入现有Transformer架构。
- 数据要求:需要行为时间戳。

it​:序列中第t个物品。
τt​:行为i_t发生的时间戳。
Δt​:时间间隔。
et​:物品i_t的嵌入。
pt​:标准位置编码向量。
T(⋅):时间间隔编码函数。
xt​:Transformer的输入向量。

位置编码扩展:将绝对位置编码扩展为时间和位置的联合函数。
注意力机制:自注意力计算本身不变,但输入的表示包含了时间信息。

无。

离线训练
1. 准备序列样本,每个行为附带时间戳。
2. 计算时间间隔序列 Δt​。
3. 对每个位置t,计算增强的位置编码 p~​t​=pt​+MLP(log(1+Δt​))。
4. 输入向量 xt​=et​+p~​t​。
5. 输入Transformer编码器,取最后位置的输出进行下一项预测。
6. 计算交叉熵损失并训练。
在线预测:给定用户最近的行为序列及其时间戳,实时计算时间间隔,通过模型预测下一个物品。

理论基础:时间心理学与记忆衰减。人类对事物的兴趣和记忆强度会随时间间隔拉长而衰减,时间间隔是兴趣强度和性质的重要指标。
推荐形式:基于时间和行为序列的下一项预测,能捕捉兴趣的动态演变节奏。

资源估算
前提:与标准序列Transformer(R-0023)类似,增加了时间间隔编码的小型网络。
- 内存:增加可忽略不计的参数。
- CPU/GPU:线上推理增加了一次时间间隔编码的计算,开销微增。主要开销仍是Transformer的前向传播。
- 存储:需要存储行为时间戳数据。

R-0046

图神经网络

社交推荐

用户-物品交互图 + 用户-用户社交图 -> 双图卷积 -> 联合表征 -> 推荐

社交图协同过滤

1. 问题:利用用户的社交关系(如关注、好友)来增强推荐,特别是解决冷启动用户问题。
2. 图构建:构建一个异构图,包含用户节点、物品节点,以及两种边:用户-物品交互边和用户-用户社交边。
3. 双图卷积:设计两种卷积操作分别处理两种关系。
- 社交卷积:用户从其社交邻居聚合信息。设用户u的社交邻居为 Nus​,则:
hus(l)​=σ(Ws(l)⋅MEAN({hv(l−1)​:v∈Nus​}))
其中MEAN可以是池化操作。
- 交互卷积:用户从其交互过的物品聚合信息,物品从其交互过的用户聚合信息(同LightGCN)。
(h_u^{i(l)} = \sum{j \in \mathcal{N}u} \frac{1}{\sqrt{

\mathcal{N}_u

}\sqrt{

\mathcal{N}_j

}} h_j^{(l-1)} )
(h_j^{i(l)} = \sum{u \in \mathcal{N}j} \frac{1}{\sqrt{

\mathcal{N}_u

}\sqrt{

\mathcal{N}_j

}} h_u^{(l-1)} )
4. 表征融合:对于用户节点,将其社交卷积和交互卷积得到的表示融合(如拼接或加权和),得到该层的最终用户表示 hu(l)​。物品节点只有交互卷积表示。
5. 预测与训练:经过L层后,得到最终的用户和物品表示,通过内积预测,使用BPR损失。

误差:Recall@K。通过融合社交信号,能够为交互数据稀疏的冷启动用户提供更准确的推荐,并发现基于兴趣社区的推荐。

R-0047

强化学习

在线学习

状态 -> 多臂赌博机 -> 上置信界算法 -> 动作选择

上下文赌博机

1. 问题简化:将推荐简化为一个上下文多臂赌博机问题。每一轮,系统观察到上下文(用户特征)xt​,从K个候选物品(臂)中选择一个 at​推荐,然后观察到奖励 rt​(如点击)。目标是最大化累计奖励。
2. LinUCB算法
- 线性奖励假设:假设每个臂a的期望奖励是上下文 xt​的线性函数:
(\mathbb{E}[r_t(a)

x_t] = x_t^T \theta_a )
- 参数估计:对于每个臂a,维护其历史数据 Da​={(x,r)}。通过岭回归估计参数:
θa​=(XaT​Xa​+λI)−1XaT​ra​
其中 Xa​是设计矩阵,ra​是奖励向量。
- 置信上界:根据估计的不确定性,计算每个臂的UCB分数:
UCBt​(a)=xtT​θa​+αxtT​(XaT​Xa​+λI)−1xt​​
其中 α是探索参数。
3. 动作选择:选择具有最高UCB分数的臂:
at​=argmaxa∈A​UCBt​(a)。
4. 更新:观察到奖励 rt​后,将 (xt​,rt​)加入臂 at​的数据集 Dat​​,并更新其参数 θat​​。

强度:累计遗憾(Regret)。UCB算法能很好地平衡探索和利用,其累计遗憾增长是次线性的,理论上有保障。适用于物品库相对固定、需要快速探索的场景。

随机多臂赌博机与贝叶斯推理。通过为每个臂维护一个奖励模型及其不确定性,选择时同时考虑预期收益(利用)和不确定性(探索)。

场景:新闻头条推荐、广告创意选择、冷启动物品探索。
特征
- 简单高效:相比完整RL,CB更轻量,适合在线学习。
- 理论保障:有遗憾界分析。
- 无状态转移:假设每轮推荐独立,忽略用户状态的序列演化。

xt​:t轮观测到的上下文向量(用户特征)。
A:动作(臂)集合,大小K。
at​:选择的臂。
rt​:观测到的奖励。
θa​:臂a的线性模型参数。
λ:岭回归正则化系数。
α:探索参数,控制置信区间的宽度。

岭回归:带L2正则的线性回归,用于参数估计。
置信区间:基于参数估计的协方差矩阵计算,反映了估计的不确定性。
优化:最大化UCB分数。

无。

在线服务流程
1. 收到用户请求,提取上下文特征 xt​。
2. For​ 每个候选臂 a∈A:
a. 获取该臂的当前参数 θa​和矩阵 Aa​=(XaT​Xa​+λI)。
b. 计算预测值 pa​=xtT​θa​和置信半径 ca​=αxtT​Aa−1​xt​​。
c. 计算 UCBt​(a)=pa​+ca​。
3. 选择 at​=argmaxa​UCBt​(a)并推荐。
4. 观察用户反馈(奖励 rt​)。
5. 更新臂 at​的数据:Xat​​←[Xat​​;xtT​], rat​​←[rat​​;rt​],并重新计算 θat​​和 Aat​​。
注意:矩阵 Aa​的逆可以通过Sherman-Morrison公式增量更新,以提高效率。

理论基础:探索-利用权衡。在不确定性下做决策,既要利用当前已知的最佳选择,也要探索潜在更好的选择,以优化长期收益。
推荐形式:基于上下文和不确定性的在线探索性推荐。

R-0048

联邦学习

隐私保护

本地数据 -> 本地梯度 -> 差分隐私加噪 -> 安全聚合 -> 全局模型

差分隐私联邦学习

1. 目标:在联邦学习框架下,进一步提供严格的隐私保证,防止从共享的模型更新中推断出单个用户的原始数据。
2. 差分隐私定义:一个随机算法 M满足 (ϵ,δ)-差分隐私,如果对于任意两个相邻数据集 D,D′(相差一条记录)和任意输出集合 S,有:
Pr[M(D)∈S]≤eϵ⋅Pr[M(D′)∈S]+δ。
3. DP-FedAvg 算法:在标准的联邦平均框架上,对客户端上传的模型更新进行加噪处理。
- 客户端本地训练:与FedAvg相同,客户端k在本地数据上计算模型更新 Δθk​。
- 梯度裁剪:为防止个别样本对更新影响过大(影响隐私预算),对更新向量进行裁剪:
Δθˉk​=Δθk​/max(1,C∥Δθk​∥2​​),其中C是裁剪范数。
- 添加高斯噪声:在聚合之前,对裁剪后的更新添加高斯噪声:
Δθ~k​=Δθˉk​+N(0,σ2C2I)。
噪声标准差 σ与隐私预算 ϵ,δ和参与客户端的数量、轮次等有关。
- 安全聚合:服务器收集所有加噪的更新,进行安全聚合,更新全局模型。

误差:全局模型在测试集上的精度(如AUC)。在提供严格隐私保护的同时,模型精度会有一定损失。隐私预算 ϵ越小(隐私保护越强),噪声越大,模型精度通常越低。需要在隐私和效用之间权衡。

差分隐私的序列组合性。联邦学习多轮通信,每轮客户端更新都满足DP,通过组合定理可以计算总的隐私消耗。高斯机制提供了 (ϵ,δ)-DP。

场景:对隐私要求极高的领域,如医疗健康推荐、金融风险评估、政府服务。
特征
- 强隐私保证:提供可量化的隐私保护。
- 精度-隐私权衡:核心挑战。
- 通信与计算开销:与基础FedAvg类似,增加了裁剪和加噪操作。

Dk​:客户端k的本地数据集。
Δθk​:客户端k的模型更新(梯度)。
C:梯度裁剪范数(超参数)。
σ:高斯噪声的标准差(由隐私预算决定)。
ϵ,δ:隐私预算参数。

梯度裁剪:L2范数投影,控制更新的敏感度。
高斯机制:添加服从高斯分布的噪声,是实现DP的常用方法。
组合定理:多轮DP操作的隐私预算累积计算。

无。

训练流程
1. 服务器初始化全局模型 θ0。
2. For​ 通信轮次 t = 1 to T do:
a. 服务器选择一部分客户端 St​,发送当前全局模型 θt。
b. For​ 每个选中的客户端 k in parallel do:
i. 在本地数据 Dk​上,以 θt为起点,进行E个epoch的SGD,得到本地更新 Δθk​。
ii. 对 Δθk​进行梯度裁剪:Δθˉk​=clip(Δθk​,C)。
iii. 添加噪声:Δθ~k​=Δθˉk​+N(0,σ2C2I)。
iv. 将 Δθ~k​上传至服务器。
c. 服务器安全聚合所有收到的更新:(\Delta \theta^t = \frac{1}{

S_t

} \sum{k \in S_t} \tilde{\Delta \theta}k )。
d. 更新全局模型:θt+1=θt+ηΔθt。
3. 输出最终模型 θT。

R-0049

多模态推荐

内容理解

图像/文本特征 -> 多模态编码器 -> 融合表示 -> 协同过滤

视觉贝叶斯个性化排序

1. 动机:利用物品的视觉特征(如图像)来增强推荐,特别是对于新物品或文本描述稀疏的物品。
2. 模型结构
- 视觉特征提取:使用预训练的卷积神经网络(如ResNet)提取物品图像的深度特征向量 vj​。
- 视觉投影层:将高维视觉特征 vj​投影到与用户/物品隐向量相同的低维空间:
v~j​=Wv​vj​+bv​,其中 Wv​是可学习权重矩阵。
- 协同表示:同时学习用户隐向量 ui​和物品隐向量 qj​(与标准BPR相同)。
- 物品最终表示:物品的总体表示为视觉表示和隐式表示的组合:
q^​j​=qj​+v~j​。
3. 预测与训练:用户i对物品j的偏好分数为 x^ij​=uiT​q^​j​。使用标准的BPR损失进行优化:
LBPR​=−∑(i,j,k)∈DS​​lnσ(x^ij​−x^ik​)+λ∥Θ∥2
其中 Θ包含所有可学习参数 {ui​},{qj​},Wv​,bv​。

误差:Recall@K。通过引入视觉信息,能够提升推荐的准确性,尤其是在冷启动物品推荐上效果显著。模型能够捕捉“视觉相似性”带来的协同效应。

多模态表示学习。将不同模态(视觉、ID)的信息映射到统一的低维语义空间,并与协同信号联合优化。

场景:时尚电商(服装、家居)、图片分享社区(Pinterest)、视频封面推荐。
特征
- 视觉增强:利用“所见即所得”的直观信息。
- 缓解物品冷启动:新物品即使没有交互,也有视觉特征。
- 预训练特征:通常使用在ImageNet上预训练的CNN,固定或微调。

vj​:物品j的原始视觉特征向量(来自CNN)。
Wv​,bv​:视觉投影层的参数。
v~j​:投影后的视觉表示。
ui​,qj​:用户i和物品j的隐向量(协同表示)。
q^​j​:物品j的最终表示。

矩阵分解扩展:在标准MF/BPR基础上,为物品表示增加了一个由视觉特征决定的偏置项。
多模态融合:简单的加法融合,将视觉信息作为物品ID表示的补充。

无。

离线训练
1. 预处理:为所有物品提取视觉特征 vj​。
2. 初始化所有参数。
3. 采样一个三元组 (i,j,k),其中用户i喜欢物品j而不喜欢k。
4. 前向传播:计算 x^ij​=uiT​(qj​+Wv​vj​)和 x^ik​=uiT​(qk​+Wv​vk​)。
5. 计算BPR损失,反向传播更新 ui​,qj​,qk​,Wv​,bv​。
在线预测:离线预计算所有物品的最终表示 q^​j​。线上根据用户ID获取 ui​,计算内积排序。

理论基础:多模态认知。用户对物品的偏好不仅基于抽象的协同模式,也基于其直观的视觉内容。
推荐形式:基于视觉内容和协同行为的混合推荐。

资源估算
前提:物品数n=1000万,视觉特征维度d_v=2048(ResNet-50),投影到d=64维。
- 内存:存储物品视觉特征矩阵(1000万*2048 * 4B ≈ 81.9GB)和投影层参数(2048 * 64 * 4B ≈ 0.5MB)。以及用户和物品隐向量(约53.8GB)。视觉特征内存巨大,常需分布式存储或在线提取。
- CPU/GPU:线上预测与标准BPR相同(内积)。但物品表示预计算需要大量CNN前向传播(可离线完成)。
- 存储:图像数据、特征、模型,PB级。

R-0050

序列推荐

下一篮子预测

用户历史购买序列 -> 图神经网络 -> 物品共现关系 -> 下一篮子预测

下一篮子推荐图神经网络

1. 问题:预测用户下一次购买会话(篮子)中会包含哪些物品。与下一项预测不同,这里输出是一个物品集合。
2. 图构建:构建一个物品-物品图,节点是物品,边权重反映物品在历史篮子中的共现强度(如Jaccard系数)。
3. 图卷积:在物品图上进行图卷积,学习物品的上下文感知表示。对于物品i,其第l层表示通过聚合其邻居信息更新:
hi(l)​=σ(∑j∈N(i)​di​dj​​wij​​W(l)hj(l−1)​)
其中 wij​是边权重,di​是节点i的度。
4. 用户-篮子表示
- 用户长期偏好:用用户所有历史购买物品的嵌入均值表示:(u = \frac{1}{

\mathcal{B}_u

} \sum{i \in \mathcal{B}u} h_i^{(L)} )。
- 当前篮子上下文:用当前已选购物品(部分篮子)的嵌入均值表示:(b = \frac{1}{

\mathcal{B}_c

} \sum{i \in \mathcal{B}c} h_i^{(L)} )。
5. 预测:对于候选物品i,其被加入下一篮子的分数为:
s(i)=uThi(L)​+bThi(L)​。
对所有物品打分,取Top-K作为预测的下一篮子物品。使用基于排名的损失(如BPR)或集合预测损失训练。

误差:F1-score@K, Recall@K。

这些条目将覆盖多任务学习、特征交叉、长序列建模、检索增强、因果纠偏、公平性、知识图谱、强化学习、序列化采样等多个重要且前沿的方向。

推荐系统工程知识体系表(R-0061 ~ R-0080)

编号

类别

领域

模型配方

定理/算法/模型/方法名称

定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化

精度/密度/误差/强度

底层规律/理论定理

典型应用场景和各类特征

变量/常量/参数列表及说明

数学特征

语言特征

时序和交互流程的所有细节/分步骤时序情况及数学方程式流、动模型和流向方法的数学描述

认知/注意力人性/利益/关系/情感/交易/理论基础和推荐形式特征

5000万并发用户所需要的CPU/GPU/内存/存储盘/IO硬件/队列/网络的资源情况

R-0061

多任务学习

转化率预估

曝光 -> 点击率预估 -> 点击 -> 转化率预估 -> 转化

ESMM

1. 问题:传统CVR预估模型面临样本选择偏差(SSB)和数据稀疏问题。SSB指CVR模型只用点击样本训练,但线上预测作用于全部曝光样本,数据分布不一致。
2. 全空间建模:ESMM通过建模点击-转化的链式依赖,在全空间(曝光样本)进行训练。
- 定义:pCTR = P(click=1 \| exposure)pCVR = P(conversion=1 \| click=1, exposure)pCTCVR = P(click=1, conversion=1 \| exposure)
- 关键关系:pCTCVR = pCTR * pCVR
3. 模型结构
- 共享底层:用户和物品特征经过共享的嵌入层和底层网络,得到共享特征表示。
- CTR塔:一个子网络,输出pCTR。
- CVR塔:另一个子网络,输出pCVR。
- CTCVR输出:模型最终的预测输出是 pCTCVR = pCTR * pCVR
4. 损失函数:使用曝光样本的点击标签和点击样本的转化标签,构造联合损失:
L=∑i=1N​(yic​log(pCTRi​)+(1−yic​)log(1−pCTRi​))+∑i=1N​(yic​yiv​log(pCVRi​)+yic​(1−yiv​)log(1−pCVRi​))
其中 yc是点击标签,yv是转化标签。第二项只对点击样本有效。

误差:CTCVR任务的AUC。ESMM通过在全空间建模和利用CTR任务的海量样本作为辅助,有效缓解了CVR预估的样本选择偏差和数据稀疏问题,显著提升CVR和CTCVR预估的准确性。

概率图模型与多任务学习。将点击和转化视为一个顺序事件链,利用乘法定理在全空间定义目标,并通过多任务共享学习解决数据稀疏。

场景:电商、广告等需要预估后续转化行为的场景(如下单、购买、下载)。
特征
- 解决SSB:核心贡献,CVR塔的输入和训练分布与线上预测分布一致。
- 缓解稀疏:CTR任务作为CVR任务的辅助,共享特征表示。
- 端到端:联合训练CTR和CVR。

x:输入特征(用户、物品、上下文)。
yc,yv:点击、转化二值标签。
pCTR,pCVR:CTR塔和CVR塔的输出概率。
pCTCVR:模型最终预测的概率。
共享底层:共享的嵌入层和神经网络。
CTR塔, CVR塔:两个独立的多层感知机。

概率乘法pCTCVR = pCTR * pCVR
多任务学习:CTR和CVR作为两个相关任务,共享底层参数。
二元交叉熵:损失函数由两个任务的交叉熵损失组成。

无。

离线训练
1. 准备曝光样本,每个样本有特征x,点击标签 yc,转化标签 yv。
2. 特征x经过共享底层网络,得到共享表示。
3. 共享表示分别输入CTR塔和CVR塔,得到 pCTRpCVR
4. 计算 pCTCVR = pCTR * pCVR
5. 计算总损失 L,其中CTR损失使用所有样本,CVR损失只使用点击样本(yc=1)。
6. 反向传播更新共享底层、CTR塔和CVR塔的参数。
在线预测:输入特征x,前向传播得到 pCTRpCVR,计算 pCTCVR作为最终排序分数(或直接使用 pCVR)。

理论基础:用户决策漏斗。用户的决策过程是顺序的(曝光->点击->转化),后一事件依赖于前一事件的发生。ESMM显式建模了这种依赖关系。
推荐形式:基于全空间多任务学习的转化率预估,用于优化GMV等深度目标。

资源估算
前提:模型结构与Wide&Deep类似,但有两个塔。
- 内存:相比单任务CTR模型,增加了CVR塔的参数(约增加50%)。主要内存仍在嵌入表。
- CPU/GPU:线上预测需要同时计算CTR和CVR两个塔,计算量约为单塔模型的2倍。需要相应的GPU算力支持。
- 存储:模型文件略大。

R-0062

深度学习

特征交叉

稀疏特征 -> 嵌入层 -> 显式高阶交叉网络 + 深度网络 -> 联合输出

DCN-V2

1. 动机:改进DCN,实现更灵活和强大的特征交叉。DCN-V2的核心是显式高阶交叉网络,它不再是单层的,而是多层的,且交叉方式更通用。
2. 模型结构
- 嵌入层:将稀疏特征转换为稠密嵌入向量,并拼接成初始向量 x0​。
- 交叉网络(改进版):第l层交叉网络的计算为:
xl​=x0​⊙(Wl​xl−1​+bl​)+xl−1​
其中 ⊙表示逐元素乘(Hadamard积)。这可以看作是一种门控机制,Wl​xl−1​+bl​学习了一个针对 x0​的权重向量,控制着初始特征在交叉中的贡献。交叉网络可以堆叠多层,生成各阶特征交叉。
- 深度网络:与DCN相同,是一个标准的多层感知机(MLP)。
- 组合输出:将交叉网络和深度网络的输出拼接,经过一个线性层输出最终预测:
y=σ([xL​,hK​]Wlogits​+b),其中 xL​是L层交叉网络的输出,hK​是K层深度网络的输出。

误差:LogLoss, AUC。DCN-V2通过改进的交叉网络,能够更有效地学习有界阶数的特征交叉,在公开数据集和工业场景中表现优于DCN和DeepFM等模型。

特征交叉的显式建模与门控机制。通过多层门控交叉,模型可以自适应地学习不同阶数、不同重要性的特征组合。

场景:CTR预估,特别是特征交互复杂且重要的场景,如广告、电商。
特征
- 高效显式交叉:交叉网络参数少,计算高效,且能学习显式交叉特征。
- 门控机制:使交叉过程更灵活可控。
- 并行结构:交叉网络和深度网络并行,兼顾记忆与泛化。

x0​:初始嵌入拼接向量。
xl​:第l层交叉网络的输出。
Wl​,bl​:第l层交叉网络的权重和偏置。
hk​:第k层深度网络的输出。
L,K:交叉网络和深度网络的层数。

门控交叉:通过逐元素乘法实现特征筛选和加权交叉。
残差连接:每层交叉网络包含残差连接 +xl−1​,保证信息流动。
并行双塔:显式交叉网络与隐式深度网络并行。

无。

离线训练
1. 特征处理,得到初始向量 x0​。
2. 交叉网络:初始化 x0​,对于 l=1 to L: xl​=x0​⊙(Wl​xl−1​+bl​)+xl−1​。
3. 深度网络:h0​=x0​,对于 k=1 to K: hk​=σ(Wkd​hk−1​+bkd​)。
4. 输出层:将 xL​和 hK​拼接,通过线性层和sigmoid得到预测概率。
5. 计算交叉熵损失并训练。
在线预测:前向传播计算交叉网络和深度网络的输出,拼接后得到最终分数。

理论基础:特征交互的组合性。有效的特征交叉往往不是全阶的,而是有选择性的、有界的。门控机制模拟了这种选择性。
推荐形式:通过门控显式交叉网络自动学习重要特征组合的CTR预估模型。

资源估算
前提:输入维度d=1000,交叉网络层数L=6,深度网络3层(1000->512->256)。
- 内存:交叉网络参数为 L * (d*d + d),当d=1000,L=6时约24MB。深度网络参数约3MB。主要内存仍在嵌入表。
- CPU/GPU:交叉网络每层是矩阵乘和逐元素乘,计算复杂度为 O(L∗d2),当d较大时计算量显著。需要GPU加速。
- 存储:模型大小中等。

R-0063

序列推荐

长序列建模

用户超长行为序列 -> 两阶段检索 -> 通用搜索单元 -> 兴趣检索 -> 精排

SIM

1. 动机:用户行为序列可达数万,远超Transformer等模型的有效长度。SIM采用两阶段架构处理超长序列。
2. 第一阶段:通用搜索单元
- 目标:从超长序列(如54000)中快速检索出与当前候选物品最相关的Top-K(如100)个行为。
- 方法:使用高效的检索方法,如基于物品属性的硬检索(同品类、同品牌),或基于向量相似度的软检索(如使用用户最近N个行为的平均向量与候选物品向量计算内积,取Top-K)。此阶段追求速度,精度可妥协。
3. 第二阶段:兴趣提取
- 目标:对检索出的K个行为,使用复杂的序列模型(如Transformer、GRU)进行精细建模,得到用户当前兴趣表示。
- 输入:检索出的K个行为(及其时间、属性等信息)。
- 模型:使用Transformer或带有时间间隔的Transformer,对K个行为进行编码,取最后隐藏状态或加权平均作为用户兴趣表示 Vu​。
4. 预测:将 Vu​与候选物品嵌入、用户画像等特征拼接,输入MLP进行CTR预估。

强度:在超长序列场景下的推荐精度(AUC)和效率。SIM通过“检索+精排”的两阶段范式,首次将万级长度用户行为序列应用于线上推荐,在阿里巴巴取得了显著效果提升。

分治思想与检索增强。将超长序列建模问题分解为高效的检索(缩小范围)和精确的建模(深入分析)两个子问题。

场景:拥有超长用户行为历史的场景,如电商、视频、新闻平台。
特征
- 处理超长序列:核心能力,突破序列模型长度限制。
- 两阶段解耦:检索阶段重效率,建模阶段重效果。
- 灵活可扩展:两阶段的具体技术可替换(如用其他检索或序列模型)。

SL​:用户超长行为序列(长度>10000)。
it​:候选物品。
K:检索阶段返回的行为数量(如100)。
SK​:检索出的相关子序列。
检索模型:如基于属性的倒排索引或向量相似度检索。
序列模型:如Transformer。

检索:近似最近邻搜索(ANN)或基于属性的过滤。
序列建模:自注意力或循环神经网络。
两阶段流水线:第一阶段粗筛,第二阶段精炼。

无。

在线服务流程
1. 触发:用户请求到来,候选物品集合为 C。
2. 通用搜索:对于每个候选物品 it​∈C,从用户超长序列 SL​中快速检索出Top-K相关行为,得到子序列 SK(t)​。(这是主要耗时步骤,但通过高效检索技术实现)
3. 兴趣提取:对于每个候选物品 it​,使用序列模型对对应的 SK(t)​进行编码,得到针对该候选的兴趣表示 Vu(t)​。
4. 最终预测:将 Vu(t)​与其他特征拼接,输入MLP得到该候选的CTR分数。
5. 排序:对所有候选物品的分数进行排序,返回Top-N。
注意:第一阶段检索是候选相关的,即不同候选物品检索出的子序列不同。

理论基础:注意力资源的有限性。用户在面对海量历史行为时,其注意力只会聚焦在与当前决策最相关的少数行为上。SIM模拟了这一认知过程。
推荐形式:基于超长历史行为的精细化、候选相关的兴趣建模与推荐。

资源估算
前提:用户长序列长度L=10000,检索后长度K=100,候选集大小C=100。
- 内存:需要存储所有用户的长序列行为(用户ID -> 物品ID列表+时间戳),内存消耗巨大(百GB~TB级)。需要高性能缓存(如Redis)。
- CPU/GPU
- 检索阶段:对于100个候选,每个候选需从1万条行为中检索Top-100。若使用向量相似度检索,计算复杂度为 O(C∗L),即1万次内积计算,需高度优化(如使用量化、近似检索)。CPU负载极高。
- 精排阶段:100个候选,每个需要运行一个Transformer(seq_len=100),计算量也很大,需要GPU集群。
- 存储/网络:需要实时读取用户长序列,对存储I/O和网络带宽要求极高。

R-0064

检索增强

知识增强推荐

用户查询/画像 -> 检索相关文档 -> 文档编码 -> 与查询联合推理 -> 生成推荐

检索增强的生成式推荐

1. 动机:将外部知识(如商品描述、用户评论、百科文章)引入推荐系统,以提供更丰富、可解释的推荐理由,并缓解冷启动。
2. 两阶段流程
- 检索阶段:给定用户查询(如历史行为、画像),从大型外部知识库(文档集合 D)中检索出最相关的K个文档 {d1​,...,dK​}。检索器可以是基于BM25的稀疏检索,或基于双编码器(如Dense Passage Retrieval)的稠密检索。
- 生成阶段:使用一个序列到序列模型(如T5、BART),以“用户查询 + 检索到的文档”为输入,生成推荐结果。生成结果可以是:
a. 推荐物品列表(生成物品ID或标题)。
b. 推荐理由(文本描述)。
c. 混合输出(物品+理由)。
3. 模型训练
- 检索器和生成器可以联合训练或分阶段训练。
- 联合训练时,检索器的梯度通过生成器的注意力权重反向传播(近似梯度)。
- 损失函数是生成文本的负对数似然。

误差:推荐物品的Recall@K,生成文本的BLEU/ROUGE分数。RAR能够生成信息丰富、与知识相关的推荐理由,提升用户体验和信任度,并在数据稀疏时利用外部知识提升推荐质量。

检索增强的生成建模。将推荐问题转化为基于知识的条件生成任务,利用大规模预训练语言模型的知识和生成能力。

场景:需要可解释推荐、内容推荐的场景,如新闻、书籍、电影推荐;也适用于冷启动物品推荐。
特征
- 知识增强:利用非结构化文本知识。
- 可解释性:生成的推荐理由自然、具体。
- 生成灵活:可以生成多样化的输出形式。
- 计算成本高:涉及检索和大型生成模型。

q:用户查询(如用户画像文本、历史行为序列文本)。
D:外部知识文档库。
dk​:检索到的第k个相关文档。
检索器:函数 R(q,D)→{d1​,...,dK​}。
生成器:序列到序列模型 G(q,{dk​})→output text。

检索:向量相似度计算(内积、余弦)。
条件生成:自回归语言建模,给定上下文生成下一个token的概率:P(yt​∥y<t​,q,{dk​})。
最大似然估计:训练目标。

语言特征:输入(查询、文档)和输出(推荐理由)均为自然语言文本。模型需要理解语义并生成流畅文本。

离线训练
1. 准备数据:三元组(用户查询,相关文档,目标输出)。
2. 检索器训练:使用对比学习,使相关文档的向量与查询向量接近,不相关文档远离。
3. 生成器训练:固定或微调检索器,对于每个训练样本,检索出Top-K文档,将查询和文档拼接作为输入,以目标输出为标签,训练生成器。
在线推理
1. 接收用户查询q。
2. 使用检索器从知识库中检索Top-K相关文档。
3. 将查询q和检索到的文档输入生成器,自回归地生成推荐结果文本。
4. 解析生成文本,得到推荐物品列表或直接展示文本。

理论基础:知识增强的决策。人类的推荐决策往往依赖于相关的背景知识。RAR模拟了“查阅资料再给出建议”的过程。
推荐形式:基于外部知识生成自然语言推荐理由的、可解释的推荐。

资源估算
前提:知识库文档数亿级,生成器为百亿参数大语言模型(如T5-11B)。
- 内存
- 检索器需要存储文档向量索引(数亿768维4B ≈ 数百GB)。
- 生成器模型参数巨大(11B参数约44GB)。需要多张高端GPU加载。
- CPU/GPU
- 检索阶段:近似最近邻搜索,需要专用向量数据库或高性能索引,CPU/GPU负载高。
- 生成阶段:大语言模型自回归生成,计算极其昂贵,延迟高(数百毫秒到秒级)。难以支持高并发。
- 存储:知识库文本、向量索引、大模型参数,TB级。

R-0065

因果推断

纠偏

观测数据 -> 倾向得分估计 -> 逆倾向加权 -> 无偏模型训练

逆倾向加权

1. 问题:从有偏的观测数据中训练无偏的推荐模型。观测数据由历史推荐策略产生,存在流行度偏差(热门物品过度曝光)、位置偏差(靠前位置点击率高)等,导致模型学习到有偏的关联而非真实的用户偏好。
2. 核心思想:给每个观测样本 (u,i,r)赋予一个权重 wui​,该权重反比于物品i被展示给用户u的概率(即倾向得分 pui​)。这样,加权后的经验分布近似于无偏的均匀曝光分布。
3. 步骤
a. 估计倾向得分​ p^​ui​:使用一个模型(如逻辑回归)来估计在历史策略下,物品i被展示给用户u的概率。特征可以包括用户画像、物品属性、上下文(如位置)。
b. 加权训练:使用加权损失函数训练目标推荐模型(如矩阵分解、神经网络):
(\mathcal{L}_{IPS} = \frac{1}{

\mathcal{O}

} \sum{(u,i,r) \in \mathcal{O}} \frac{w{ui}}{\hat{p}{ui}} \cdot \delta(\hat{r}{ui}, r) )
其中 δ是损失函数(如平方损失、BPR损失),wui​是归一化权重(可选)。
c. 倾向得分裁剪:为防止极端小的倾向得分导致权重爆炸,通常进行裁剪:p^​ui​=max(p^​ui​,ϵ),其中 ϵ是一个小常数。

误差:在无偏测试集(如随机曝光数据)上的推荐精度(Recall@K)。IPS能够有效减轻流行度偏差和位置偏差,使模型更关注用户真实兴趣,而非历史策略的伪影。

因果推断中的反事实推理与重要性采样。通过给观测样本加权,模拟数据来自无偏的随机策略,从而得到无偏的损失估计量。

场景:任何存在严重曝光偏差的推荐系统,特别是需要评估或提升长尾物品覆盖率的场景。
特征
- 纠偏:核心目标,学习无偏的用户偏好。
- 依赖倾向得分:倾向得分估计的准确性至关重要,估计不准会引入新偏差。
- 高方差:小倾向得分的样本权重过大,导致训练不稳定,需裁剪。

O:观测到的交互数据集(用户,物品,奖励)。
pui​:倾向得分,物品i被展示给用户u的概率。
p^​ui​:估计的倾向得分。
wui​:样本权重(有时直接为1)。
δ:损失函数。
ϵ:裁剪阈值。

重要性采样:使用权重 1/pui​对观测分布进行重新加权,以估计目标分布(均匀曝光)下的期望损失。
加权经验风险最小化:在加权的经验分布上最小化损失。

无。

离线训练
1. 收集数据:获取历史日志,包含展示(曝光)和反馈(点击等)信息。
2. 估计倾向得分:使用曝光日志(特征:用户,物品,上下文)训练一个二分类模型(曝光为1,未曝光为0?),预测曝光概率 p^​ui​。更准确的是使用曝光日志训练一个模型来预测在给定上下文下,某个物品被展示的概率。
3. 加权训练目标模型
a. 对于每个观测到的交互样本 (u,i,r),计算其权重 1/p^​ui​并进行裁剪。
b. 使用加权损失 LIPS​训练推荐模型(如神经矩阵分解)。
c. 在训练过程中,每个样本的梯度乘以权重 1/p^​ui​。
在线预测:使用训练好的无偏模型进行推荐,与常规模型无异。

R-0066

公平性

去偏差

用户/物品表示 -> 对抗学习 -> 去除敏感属性信息 -> 公平表示

对抗学习去偏差

1. 目标:学习到的用户或物品表示 z中不包含敏感属性 s(如性别、种族)的信息,从而实现公平推荐。
2. 对抗训练框架
- 主推荐任务:一个编码器 E(x)将原始特征 x编码为表示 z,然后用于推荐任务(如预测点击),最小化推荐损失 Lrec​。
- 对抗任务:一个判别器 D(z)试图从表示 z中预测敏感属性 s。
- 对抗目标:编码器 E的目标是生成让判别器 D无法预测敏感属性的表示,即最大化判别器的损失;而判别器 D的目标是最小化其预测损失。这是一个极小极大博弈
minE​maxD​Ladv​=E[logD(E(x),s)]
实际中常使用梯度反转层来简化优化。
3. 总体损失
L=Lrec​−λLadv​
其中 λ是权衡参数。编码器E试图最小化 L,即同时做好推荐和混淆判别器。

强度:公平性度量(如人口平等性、机会均等性)和推荐精度(AUC)的权衡。通过对抗学习,可以在推荐精度损失较小的情况下,显著降低模型对敏感属性的预测能力,提升公平性。

表示学习与对抗博弈。通过对抗训练,迫使模型学习到与敏感属性无关的、但对推荐任务有用的特征表示。

场景:需要避免推荐结果因性别、种族、年龄等敏感属性而产生歧视的场景,如招聘、信贷、内容推荐。
特征
- 公平性约束:以对抗损失的形式引入。
- 精度-公平权衡:参数 λ控制权衡。
- 无需敏感属性推理:线上服务时不需要用户敏感属性。

x:输入特征(用户/物品的非敏感特征)。
s:敏感属性(如性别,0/1)。
E(⋅):编码器,参数 θE​。
z=E(x):学习到的表示。
D(⋅):判别器,参数 θD​。
λ:对抗损失权重。

对抗训练:极小极大优化问题。
梯度反转层:在反向传播时,将传给编码器的对抗损失梯度乘以-1,从而实现编码器最大化判别器损失的效果。
多目标优化:同时优化推荐精度和公平性。

无。

离线训练
1. 准备数据,包含特征 x,推荐任务标签 y,以及敏感属性 s。
2. 前向传播
a. 特征 x经过编码器 E得到表示 z。
b. z用于推荐任务,计算推荐损失 Lrec​。
c. z同时输入判别器 D,预测敏感属性 s^,计算对抗损失 Ladv​(如交叉熵)。
3. 反向传播
a. 计算总损失 L=Lrec​−λLadv​。
b. 通过梯度反转层(GRL)传递对抗损失的梯度:在反向传播到编码器时,将 ∂θE​∂Ladv​​乘以 −λ。
c. 更新编码器参数 θE​以最小化 L。
d. 更新判别器参数 θD​以最小化 Ladv​。
4. 迭代直至收敛。
在线预测:仅使用编码器 E和推荐任务头,不涉及敏感属性和判别器。

理论基础:公平机器学习。确保算法决策不基于受保护的敏感属性,促进机会平等和结果公平。
推荐形式:在保证推荐效果的同时,消除对特定用户群体的系统性偏差的推荐。

资源估算
前提:模型结构与基础推荐模型相同,增加一个判别器(小型MLP)。
- 内存:增加判别器的参数存储,开销很小。
- CPU/GPU:训练阶段计算量增加约50%(需要额外计算对抗损失和梯度反转)。线上推理与基础模型完全相同,无额外开销。
- 存储:只需存储编码器和推荐任务头的参数,判别器在训练后丢弃。

R-0067

知识图谱

知识增强

用户-物品交互图 + 知识图谱 -> 图卷积 -> 多跳关系路径 -> 联合表示

知识图谱注意力网络

1. 动机:将知识图谱中的实体关系和属性信息引入推荐,以提升可解释性、缓解冷启动和挖掘深层次关联。
2. 图构建:构建一个异构信息网络,包含用户节点、物品节点,以及知识图谱中的实体节点(如演员、导演、类别)。物品节点通过属性与知识图谱实体相连。
3. 关系感知传播
- 对于每个节点(用户、物品、实体),从其邻居聚合信息。聚合时考虑关系类型
- 对于节点 h和其邻居 t(通过关系 r连接),信息传递为:
(\mathbf{m}_{h \leftarrow t} = \frac{1}{

\mathcal{N}_h

} \mathbf{W}r \mathbf{e}t )
其中 Wr​是关系 r特定的变换矩阵,et​是邻居的当前表示,Nh​是节点 h的邻居集合。
4. 注意力机制:为不同邻居分配不同权重,权重由节点和关系共同决定:
αh←t​=softmaxt∈Nh​​(aT[Wr​et​∥eh​])
加权聚合:eh(l)​=σ(∑t∈Nh​​αh←t​⋅mh←t​)。
5. 预测:经过L层传播后,得到用户和物品的最终表示 u,v,通过内积预测偏好。

误差:Recall@K。通过融入知识图谱,能够为推荐提供基于关系的解释(如“推荐这部电影是因为你喜欢它的导演”),并提升稀疏物品和冷启动用户的推荐效果。

异质图神经网络与注意力机制。通过关系特定的变换和注意力权重,在知识图谱上进行信息传播,将结构化知识注入表示学习。

场景:需要丰富侧信息或可解释性的推荐,如电影、音乐、书籍、新闻推荐。
特征
- 知识融合:利用物品属性、实体关系等结构化知识。
- 可解释性:注意力权重可以揭示推荐决策的依据(哪些关系或实体更重要)。
- 图复杂度高:知识图谱通常很大,计算和存储开销大。

G:包含用户、物品和知识实体的异质图。
eh(l)​:节点h在第l层的表示。
r:关系类型。
Wr​:关系r特定的权重矩阵。
αh←t​:从邻居t到节点h的注意力权重。
a:注意力向量参数。

关系感知卷积:对不同关系类型使用不同的变换矩阵。
注意力机制:计算邻居节点对中心节点的重要性权重。
异质图传播:在包含多种节点和边类型的图上进行信息传播。

无。

离线训练
1. 构建异质图,初始化所有节点表示。
2. 对于每一层l:
a. 对图中每个节点h,遍历其所有邻居t(考虑关系r)。
b. 计算每个邻居传递的消息:(\mathbf{m}_{h \leftarrow t} = \frac{1}{

R-0068

强化学习

序列决策

状态 -> 深度Q网络 -> Q值 -> ε-贪婪策略 -> 动作

深度Q网络

1. 问题建模:将推荐过程建模为马尔可夫决策过程(MDP)。状态 st​是用户当前状态(如历史行为),动作 at​是推荐的物品,奖励 rt​是用户反馈(如点击、观看时长),状态转移由用户对推荐的反应决定。
2. DQN核心:用深度神经网络 Q(s,a;θ)来近似Q函数(状态-动作价值函数)。Q函数表示在状态s下执行动作a所能获得的累积折扣奖励的期望:
(Q(s,a) = \mathbb{E}[ r + \gamma \max_{a'} Q(s', a')

s, a ] ),其中 γ是折扣因子。
3. 训练算法
- 经验回放:将智能体与环境交互的转移 (st​,at​,rt​,st+1​)存储到回放缓冲区 D中。训练时从中随机采样,打破数据相关性。
- 目标网络:使用一个独立的、参数更新较慢的目标网络 Q(s,a;θ−)来计算TD目标,以稳定训练:
yt​=rt​+γmaxa′​Q(st+1​,a′;θ−)。
- 损失函数:最小化当前Q网络预测值与TD目标之间的均方误差:
L(θ)=E(s,a,r,s′)∼D​[(yt​−Q(s,a;θ))2]。
4. 探索策略:使用ε-贪婪策略,以概率ε随机选择动作(探索),以概率1-ε选择当前Q值最大的动作(利用)。

强度:长期累积奖励。DQN旨在优化用户的长期满意度(如总观看时长、留存率),而不仅仅是即时点击率。在模拟环境和部分真实场景中能学习到优于贪婪策略的推荐策略。

时序差分学习与函数近似。将强化学习的Q-learning与深度神经网络结合,用于处理高维状态/动作空间。经验回放和目标网络是稳定训练的关键。

场景:交互式、序列化的推荐场景,如信息流、短视频流,其中用户的长期 engagement 是关键指标。
特征
- 序列决策:考虑动作的长期影响。
- 离线训练挑战:需要在线交互数据或高质量模拟器。
- 状态表示:如何定义和编码用户状态是关键挑战。

st​:t时刻的状态(用户特征、历史行为序列等)。
at​:t时刻的动作(推荐的物品)。
rt​:即时奖励。
Q(s,a;θ):用参数θ的神经网络近似的Q函数。
γ:折扣因子(0<γ≤1)。
D:经验回放缓冲区。
θ−:目标网络参数。

贝尔曼最优方程:Q函数满足的递归方程。
时序差分误差:损失函数基于TD误差。
随机梯度下降:优化神经网络参数。

无。

离线训练(基于历史日志或模拟器)
1. 初始化当前Q网络 Q(θ)和目标网络 Q(θ−)(参数相同)。
2. For​ episode = 1 to M do:
a. 初始化状态 s1​(如空用户历史)。
b. For​ t = 1 to T do:

推荐系统工程知识体系表(R-0081 ~ R-0100)

编号

类别

领域

模型配方

定理/算法/模型/方法名称

定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化

精度/密度/误差/强度

底层规律/理论定理

典型应用场景和各类特征

变量/常量/参数列表及说明

数学特征

语言特征

时序和交互流程的所有细节/分步骤时序情况及数学方程式流、动模型和流向方法的数学描述

认知/注意力人性/利益/关系/情感/交易/理论基础和推荐形式特征

5000万并发用户所需要的CPU/GPU/内存/存储盘/IO硬件/队列/网络的资源情况

R-0081

商业优化

利润最大化排序

用户特征 + 产品特征 -> CTR/CVR预估 -> 利润预估 -> 利润感知排序分数 -> 排序

利润感知的深度排序网络

1. 动机:传统推荐以CTR/CVR最大化为目标,但高点击率不一定带来高利润。需直接优化商业利润。
2. 模型结构:双塔模型扩展。
- CTR/CVR预估塔:与传统相同,预估点击/转化概率 pui​。
- 利润预估塔:新增加塔,预估单次转化带来的净利润 πui​。利润特征包括:产品成本、定价、折扣、客户生命周期价值(CLV)系数、渠道佣金等。
3. 排序分数:将概率预估与利润预估结合,生成最终排序分数:
sui​=pui​×πuiα​
其中 α是利润权重超参数,控制利润与概率的权衡(α=1为期望利润,α<1降低利润权重)。
4. 损失函数:多任务学习。
- CTR/CVR任务:二元交叉熵损失 Lctr​。
- 利润回归任务:均方误差损失 Lprofit​=(π^ui​−πui​)2,其中真实利润 πui​来自后续订单数据(有转化时)。
- 总损失:L=Lctr​+λLprofit​。

强度:推荐列表的期望利润(∑pui​×πui​)和实际利润。相比纯CTR排序,能显著提升单次推荐请求带来的平均利润,但可能略微降低CTR。

期望价值理论。将推荐视为决策,选择能最大化期望收益(概率×价值)的物品。将利润作为价值函数。

场景:电商、SaaS、云计算等直接销售产品的平台,核心商业目标是利润而非单纯流量。
特征
- 利润导向:直接建模和优化利润。
- 多任务:同时学习转化概率和利润量。
- 权衡参数:α允许业务调整利润与转化率的优先级。

pui​:预估的转化概率。
πui​:预估的单次转化净利润。
α:利润权重指数,超参数。
λ:利润损失权重,超参数。
CTR塔, 利润塔:两个神经网络。

乘法组合:排序分数为概率与利润的乘积。
指数加权:通过α控制利润的影响力。
多任务损失:联合优化分类和回归任务。

无。

离线训练
1. 准备样本:每个曝光样本包含特征x,转化标签y,以及转化发生时的真实利润π(未转化时π=0或缺失)。
2. 特征x经过共享底层,得到共享表示。
3. 共享表示分别输入CTR塔和利润塔,得到 pui​和 π^ui​。
4. 计算CTR损失 Lctr​(使用所有样本)。
5. 计算利润损失 Lprofit​(仅使用转化样本)。
6. 加权求和得到总损失,反向传播更新参数。
在线预测与排序
1. 对于候选物品集,前向传播得到每个物品的 pui​和 π^ui​。
2. 计算排序分数 sui​=pui​×π^uiα​。
3. 按 sui​降序排序,返回Top-N。

理论基础:期望效用理论。理性决策者会选择期望效用最高的选项。在商业推荐中,效用即为利润。
利益链:直接服务于平台方的利润最大化目标。
推荐形式:基于期望利润最大化的商品排序推荐。

资源估算
前提:模型结构与Wide&Deep类似,但增加一个利润预估塔(网络结构类似CTR塔)。
- 内存:增加约50%的参数存储(利润塔)。主要内存仍在嵌入表。
- CPU/GPU:线上推理需同时计算两个塔,计算量约为单塔模型的2倍。需要相应GPU算力支持。
- 存储:模型文件大小增加约50%。

R-0082

长期价值

客户终身价值优化

用户历史行为 -> CLV预估模型 -> 长期价值系数 -> 与短期转化概率结合 -> 排序

客户终身价值增强的多任务学习

1. 动机:单次交易利润有限,应关注用户的长期价值(CLV)。推荐应倾向于能带来高CLV用户或能提升用户CLV的物品。
2. 三任务模型
- 任务1:短期转化概率​ puishort​:预估用户对物品的即时转化概率(如点击、购买)。
- 任务2:CLV贡献度​ vui​:预估本次转化对未来CLV的贡献(如购买该产品后,用户更可能复购、升级、购买高利润产品)。
- 任务3:用户CLV基线​ Lu​:预估用户自身的基准CLV(基于历史)。
3. 排序分数:结合短期和长期价值:
sui​=puishort​×(β⋅vui​+(1−β)⋅Lu​)
其中β权衡本次转化的贡献与用户固有价值。
4. 损失函数
- 短期转化:二元交叉熵。
- CLV贡献度:回归损失,需定义“未来CLV增量”作为标签(复杂,可用后续一段时间内的总利润增量)。
- 用户CLV基线:回归损失,标签为历史CLV或预测的未来CLV。

强度:长期用户总利润(CLV)。通过平衡短期转化和长期价值,能提升高价值用户的留存和消费,牺牲部分短期转化以换取更高的长期收益。

客户生命周期价值理论与多任务学习。将推荐决策的影响扩展到长期时间范围,通过多任务学习同时捕捉短期和长期信号。

场景:订阅制服务(如SaaS、云服务)、高复购率电商、需要用户粘性的平台。
特征
- 长期视角:决策考虑未来收益。
- 用户分层:高CLV用户获得更多权重。
- 数据挑战:长期价值标签定义和获取困难。

puishort​:短期转化概率。
vui​:本次转化对CLV的贡献度。
Lu​:用户CLV基线值。
β:贡献度与基线的权衡参数。
三个预测塔:对应三个任务。

线性加权:长期价值由本次贡献和用户基线线性组合。
乘法融合:短期概率与长期价值相乘。
多任务回归:包含分类和回归任务。

无。

离线训练
1. 数据准备:定义时间窗口,计算每个用户在窗口内的“未来CLV”作为 Lu​的标签;对于每次历史转化,计算其发生后的CLV增量作为 vui​的标签。
2. 构建三塔模型,共享底层特征表示。
3. 对于每个样本(用户,物品,上下文),计算三个输出:puishort​, v^ui​, L^u​。
4. 计算三个任务的损失并加权求和。
5. 反向传播更新参数。
在线预测:对于候选物品,计算 sui​并排序。注意 Lu​可离线计算并缓存,线上直接读取。

理论基础:客户生命周期管理。企业的价值取决于其客户群的长期价值总和,而非单次交易。
人性/关系:通过推荐培养用户忠诚度和依赖关系。
推荐形式:平衡短期转化与长期用户价值最大化的推荐。

资源估算
前提:三塔模型,每个塔结构类似CTR塔。
- 内存:参数约为单塔模型的3倍。用户CLV基线 Lu​需要为每个用户存储一个浮点数,额外内存约2亿*4B=0.8GB。
- CPU/GPU:线上推理需计算三个塔,计算量约为单塔模型的3倍。需要强大GPU集群。
- 存储:模型文件较大。

R-0083

博弈论

多方利益分配

平台、广告主、用户、合作伙伴等多方 -> 利益函数定义 -> Shapley值计算 -> 利益分配权重 -> 加权排序

基于Shapley值的多方利益平衡推荐

1. 问题:推荐影响多方利益:平台(利润)、广告主(ROI)、用户(满意度)、合作伙伴(佣金)。需公平分配推荐位价值。
2. Shapley值:合作博弈论中公平分配总价值的解。对于推荐位,将各方视为参与者,推荐产生的总价值(如综合利润)需分配。
3. 计算步骤
a. 定义价值函数 v(S):对于参与者子集S(如仅平台和广告主),计算该组合下推荐位的预期价值。
b. 计算每个参与者i的Shapley值:
(\phi_i(v) = \sum_{S \subseteq N \setminus {i}} \frac{

S

! (

N

-

S

-1)!}{

N

!} [v(S \cup {i}) - v(S)] )
其中N是所有参与者集合。直观上,是参与者i对所有可能联盟的边际贡献的平均。
c. 将Shapley值归一化为权重:wi​=∑j​ϕj​ϕi​​。
4. 加权排序:对于每个候选物品(或广告),计算其对各方的价值贡献 gi​,然后计算加权总分:
s=∑i∈N​wi​⋅gi​
按s排序。

强度利益分配公平性(如Shapley值满足的四大公理)和系统总效用。能在多方间取得平衡,减少冲突,促进生态健康,但计算复杂度高。

R-0084

行为经济学

心理效应驱动推荐

用户决策心理特征 -> 心理效应模型(锚定、稀缺、社交证明等) -> 效应强度计算 -> 心理增强分数 -> 排序

行为经济学驱动的心理效应增强排序

1. 动机:利用人类认知偏差和启发式决策原理,设计更有效的推荐策略,提升转化。
2. 核心心理效应
- 锚定效应:用户受初始信息(如原价)影响。在推荐中展示原价/现价对比。
- 稀缺性:“仅剩3件”提示增加紧迫感。
- 社交证明:“1000人已购买”增加信任。
- 权威性:“专家推荐”标签。
- 损失厌恶:“限时优惠即将结束”强调损失。
3. 模型化:为每个心理效应e定义特征 fe​和强度函数 Ie​(fe​)。
- 例如,稀缺性:Iscarcity​=log(1+库存量1​)。
- 社交证明:Isocial​=tanh(C购买人数​),C为常数。
4. 排序分数:在基础CTR分数上叠加心理效应增益:
sui​=pui​×(1+∑e∈E​γe​⋅Ie​(fe,ui​))
其中 γe​是每个效应的可学习或预设权重。

强度转化率提升。通过利用认知偏差,能在不改变产品本身的情况下显著提升用户的点击和购买意愿,尤其对冲动型消费有效。

行为经济学与启发式决策理论。人类决策并非完全理性,而是受系统性的心理效应影响。推荐系统可以主动利用这些效应。

场景:电商促销、限时抢购、旅游预订、课程销售等需要激发用户即时行动的领域。
特征
- 心理驱动:直接针对决策心理弱点。
- 特征工程:需要设计能反映心理效应的特征。
- 伦理考量:可能涉及操纵,需谨慎使用。

pui​:基础转化概率。
E:考虑的心理效应集合。
fe,ui​:物品ui关于效应e的特征(如库存、销量、评分等)。
Ie​(⋅):效应强度计算函数。
γe​:效应权重参数。

乘法增益:心理效应以乘性方式增强基础分数。
非线性函数:强度函数通常是非线性的(如log, tanh)。
加权求和:多种效应强度加权求和。

语言特征:心理效应常通过UI文案体现(如“限时”、“爆款”、“明星同款”),这些文本可作为特征输入。

离线训练/调参
1. 定义心理效应集合E,并为每个效应设计特征提取逻辑。
2. 使用历史数据,通过A/B测试或因果推断方法,估计每个效应权重 γe​。可建模为:
log(pbase​pobs​​)=∑γe​Ie​+ϵ,其中 pobs​是观测转化率,pbase​是基础模型预估的转化率。
3. 固定或定期更新权重。
在线排序
1. 计算基础分数 pui​。
2. 实时获取物品的心理效应特征 fe,ui​(如实时库存)。
3. 计算各效应强度 Ie​。
4. 计算增强分数 sui​并排序。

理论基础:行为经济学(卡尼曼等人)。系统1(快思考)的启发式决策容易受框架效应、锚定等影响。
认知/人性:直接利用人性的认知偏差(如从众、恐惧损失、追求稀缺)。
推荐形式:融合心理效应提示的、旨在提升即时转化的推荐。

资源估算
前提:基础CTR模型已存在,心理效应计算为轻量级特征处理。
- 内存:存储效应权重和特征处理逻辑,内存消耗可忽略。
- CPU/GPU:在线计算增加了一些特征提取和加权求和操作,计算开销很小,CPU即可处理。
- 存储:很小。

R-0085

产品组合

云计算捆绑推荐

云计算产品图谱 -> 产品关联挖掘 -> 捆绑收益预估 -> 捆绑组合优化 -> 捆绑推荐

云计算产品捆绑优化的图神经网络

1. 动机:云计算产品(计算、存储、网络、数据库等)具有强互补性。捆绑销售可提高客单价、利润和用户粘性。
2. 图构建:构建产品关联图,节点为产品,边权重表示关联强度(基于共购数据、技术依赖、使用场景相似性)。
3. 捆绑收益预估:使用GNN学习产品表示,并预估捆绑组合B的收益:
R(B)=f(GNN(B))
收益包括:捆绑折扣下的利润、交叉销售潜力、客户锁定价值等。
4. 捆绑组合优化:给定用户已选产品集合A,寻找最优补充捆绑B
B∗=argmaxB⊆P∖A​R(A∪B)−R(A)−Cost(B)
其中 P是所有产品集合。这是一个组合优化问题,可使用启发式或学习型方法求解。

5. 推荐:将最优捆绑B推荐给用户。

强度平均客单价提升捆绑销售转化率客户生命周期价值。通过智能捆绑,能显著提升云计算平台的综合收益,并简化用户采购流程。

组合优化与图表示学习。将捆绑推荐建模为基于产品图谱的收益最大化组合选择问题。

场景:云计算市场(如AWS Marketplace、Azure Marketplace)、企业软件套装销售。
特征
- 产品关联:利用产品间的技术互补性和商业协同性。
- 组合爆炸:产品数量多时,候选捆绑组合数量巨大,需高效算法。
- 个性化:捆绑需考虑用户已有产品和需求。

P:所有产品集合。
A:用户已选/已有产品集合。
B:候选捆绑产品集合。
R(⋅):捆绑收益函数。
GNN:图神经网络,用于学习产品表示和收益预估。

组合优化:从离散集合中选择最优子集。
图卷积:在產品關聯圖上聚合信息。
收益函数:将产品集合映射到收益值。

无。

离线训练与优化
1. 构建产品关联图,训练GNN收益预估模型(使用历史捆绑销售数据或合成数据)。
2. 对于常见用户场景(A的不同组合),预计算或索引一些高收益捆绑组合。
在线推荐
1. 识别用户当前上下文(如购物车A、浏览历史)。
2. 如果A为空,推荐热门捆绑或基于用户画像的捆绑。
3. 如果A非空,从预计算索引中检索或实时优化计算与A互补的高收益捆绑B
4. 将捆绑B
以及其预期收益(节省金额、性能提升等)展示给用户。

理论基础:产品组合理论与交叉销售。互补产品捆绑能降低用户的搜索和交易成本,同时增加供应商的销售额和客户粘性。
利益链:最大化平台和产品供应商(ISV)的联合收益。
推荐形式:基于产品关联图谱和收益最大化的智能捆绑推荐。

资源估算
前提:产品数量P=5000,GNN模型中等规模。
- 内存:存储产品图结构和GNN模型参数,约几百MB。预计算捆绑索引可能较大(GB级)。
- CPU/GPU:在线阶段,若使用预计算索引,开销小;若需实时优化,计算复杂度高,可能需要专用优化服务(CPU密集型)。
- 存储:模型和索引,GB级。

R-0086

渠道管理

合作伙伴激励推荐

用户请求 -> 平台利润模型 + 合作伙伴佣金模型 -> 联合收益优化 -> 渠道感知排序

渠道激励感知的联合收益排序

1. 动机:在平台生态中,部分销售通过渠道合作伙伴完成。推荐时需平衡平台直接利润和合作伙伴佣金激励,以维持健康的渠道关系。
2. 收益模型:对于物品i,若通过渠道c销售:
- 平台收益:Rplatform​=Price−Cost−Commissionc​
- 渠道收益:Rchannel​=Commissionc​
- 联合收益:Rjoint​=λ⋅Rplatform​+(1−λ)⋅Rchannel​,其中λ控制平台与渠道的收益分配权重。
3. 排序分数:结合转化概率和联合收益:
sui​=pui​×Rjointα​
或更精细地:sui​=pui​×(β⋅Rplatform​+(1−β)⋅Rchannel​)。
4. 渠道选择:对于同一产品,可能通过多个渠道销售,模型还需选择最优渠道(使 Rjoint​最大)。

强度渠道合作伙伴满意度生态系统总收益平台长期利润。通过合理分配利益,能激励渠道积极推广,扩大市场覆盖,实现共赢。

委托-代理理论与联合优化。平台(委托人)和渠道(代理人)利益不完全一致,需要通过机制设计(如排序算法)来协调。

场景:拥有庞大渠道网络的云计算厂商(如通过代理商销售云资源)、企业软件销售、硬件分销。
特征
- 双利益方:显式建模平台和渠道的收益。
- 佣金策略:佣金率可能因产品、渠道层级而异,是重要特征。
- 渠道冲突:需避免渠道与平台直销的恶性竞争。

pui​:用户u通过任何渠道购买物品i的转化概率。
Commissionc​:通过渠道c销售的佣金金额。
Rplatform​,Rchannel​:平台和渠道的收益。
λ,β:收益分配权重参数。
α:收益的指数权重。

线性加权:联合收益为双方收益的加权和。
乘法融合:概率与收益相乘。
最大化选择:为物品选择最优渠道。

无。

离线训练与参数设定
1. 基于历史渠道销售数据,训练转化概率模型 pui​。
2. 业务方设定收益分配参数λ或β,反映对渠道的扶持力度。
在线推荐
1. 对于候选物品i,获取其通过各可用渠道c的详细信息(价格、成本、佣金率)。
2. 计算每个渠道c下的平台收益 Rplatform(c)​和渠道收益 Rchannel(c)​。
3. 计算每个渠道c下的联合收益 Rjoint(c)​。
4. 选择使 Rjoint(c)​最大的渠道c*。
5. 计算排序分数 sui​=pui​×Rjoint(c∗)​(或带α的变体)。
6. 按分数排序,并标注推荐物品的渠道信息。

理论基础:渠道管理与生态系统理论。健康的合作伙伴生态系统是平台长期成功的关键,需要合理的利益分配机制。
企业关联利益:平衡平台自身利润与合作伙伴激励,维护生态稳定。
推荐形式:考虑渠道佣金激励的、平台与合作伙伴联合收益最大化的推荐。

资源估算
前提:候选物品数C=100,平均每个物品有3个可选渠道。
- 内存:需要存储物品的渠道和佣金信息,内存消耗小。
- CPU/GPU:在线计算涉及对每个物品遍历其渠道并计算收益,计算量小,CPU即可处理。
- 存储:很小。

R-0087

广告混合

广告利润最大化

信息流内容 + 广告候选 -> 用户满意度预估 + 广告eCPM预估 -> 多目标优化 -> 混合排序

广告利润最大化的多目标排序

1. 问题:信息流中插入广告,需平衡用户体验(内容CTR)和广告收入(eCPM)。
2. 多目标优化:将排序问题形式化为:
maxranking​ω⋅TotalUserEngagement+(1−ω)⋅TotalAdRevenue
s.t.AdDensity≤δ(广告密度约束)
3. 具体建模
- 用户互动价值:对于内容项i,价值为预估CTR pictr​乘以互动权重 vi​(如点赞、评论的权重高于点击)。
- 广告价值:对于广告a,价值为预估eCPM:eCPMa​=pactr​×CPCa​×1000(CPC广告)。
4. 排序算法:可使用在线背包序列决策方法。一种实用方法是计算每个候选项(内容或广告)的“综合分数”:
si​={ω⋅pictr​⋅vi​(1−ω)⋅eCPMa​​for contentfor ad​
然后按s_i排序,但需在线性扫描时强制满足广告密度约束。

强度广告收入用户互动率用户留存。通过优化权重ω和约束δ,能在可接受的用户体验损失下最大化广告利润,找到最佳平衡点。

多目标优化与约束排序。将广告插播问题建模为带约束的双目标排序问题,目标是帕累托最优。

场景:社交媒体信息流、新闻资讯App、视频流媒体贴片广告等所有混合内容与广告的场景。
特征
- 双目标:用户体验 vs. 广告收入。
- 约束:广告频率和位置有严格限制(如每10条内容最多1条广告)。
- 实时竞价:广告eCPM实时变化。

pictr​:内容i的点击率预估。
vi​:内容互动类型权重。
eCPMa​:广告a的千次展示期望收入。
ω:用户体验权重(0~1)。
δ:最大广告密度。

线性加权:双目标通过权重合并为单目标。
约束优化:带不等式约束的排序问题。
分段函数:内容和广告使用不同的分数计算方式。

无。

在线混合排序服务
1. 召回:分别从内容库和广告库召回候选集。
2. 预估:对召回的内容预估CTR和互动价值;对广告预估CTR并获取实时CPC出价,计算eCPM。
3. 分数计算:根据当前ω,计算每个候选的综合分数s_i。
4. 排序与插播
a. 将所有候选按s_i降序排列。
b. 从头开始选择,维护已选广告计数。
c. 当选择广告时,检查当前广告密度是否超过δ。若超过,则跳过该广告,选择下一个内容。
d. 生成最终排序列表。

理论基础:注意力经济与广告拍卖理论。用户的注意力是稀缺资源,需要在提供价值和货币化之间取得平衡。
广告利润:直接优化广告收入,是许多互联网公司的核心商业模式。
推荐形式:平衡用户体验与广告收入的信息流混合排序。

资源估算
前提:每请求需处理1000个内容候选和100个广告候选。
- 内存:需要加载CTR模型和特征,内存消耗与纯内容推荐类似。
- CPU/GPU:需要同时为内容和广告进行CTR预估,计算量增加(广告部分)。需要强大GPU推理服务。
- 存储:模型文件与纯内容推荐类似。

R-0088

动态定价

价格与推荐联合优化

用户上下文 + 产品特征 -> 需求弹性预估 -> 个性化定价模型 -> 价格感知的转化率预估 -> 利润最大化排序

基于强化学习的动态定价与推荐联合优化

1. 联合决策:价格显著影响购买概率。将定价推荐作为联合决策,实时优化长期利润。
2. 问题建模:建模为马尔可夫决策过程(MDP)。
- 状态 st​: 用户特征、产品库存、市场条件等。
- 动作 at​: 为每个候选产品选择一个价格(从离散价格集中)并决定是否推荐及排序位置。
- 奖励 rt​: 本次交互产生的利润(购买则利润=价格-成本,否则为0)。
3. 使用RL求解:使用深度强化学习(如DQN、PPO)学习策略 π(a∥s),该策略同时输出推荐列表和每个推荐产品的价格。动作空间很大(组合爆炸),需设计参数化策略。
4. 分解方法:可分解为两步:
a. 需求模型:学习用户u对产品i在价格p下的购买概率 D(u,i,p)。
b. 优化:对于候选集,为每个产品选择利润最大化的价格 p∗=argmaxp​(p−cost)×D(u,i,p),然后按期望利润 (p∗−cost)×D(u,i,p∗)排序。

强度长期累计利润。通过个性化定价和智能推荐相结合,能实现价格歧视的收益,同时通过推荐引导用户向高利润产品转化,最大化平台收益。

价格歧视理论与联合优化。根据用户的价格敏感度进行差异化定价(一级价格歧视的理想近似),并与推荐系统协同,实现收益管理。

场景:酒店、机票、网约车等动态定价领域,以及电商中的促销定价、云计算中的Spot实例定价等。
特征
- 价格弹性:核心是准确预估需求随价格的变化。
- 实时性:价格需根据供需实时调整。
- 策略复杂性:联合决策空间巨大。

st​:状态向量。
at​:动作(推荐列表+各物品价格)。
rt​:即时利润奖励。
D(u,i,p):需求函数(购买概率)。
π(a∥s):强化学习策略。

收益最大化:目标函数为期望利润。
联合决策:动作空间是离散推荐和连续价格的组合。
强化学习:通过与环境交互学习最优策略。

无。

离线训练(基于历史日志或模拟器)
1. 构建MDP模拟环境,能根据状态和动作(定价+推荐)生成下一状态和奖励。
2. 使用深度RL算法(如PPO)训练策略网络 πθ​(a∥s)。网络输出可能包括:为每个候选物品推荐一个价格,以及一个排序权重。
3. 通过大量回合训练,使策略学会在长期内最大化利润。
在线服务
1. 获取当前状态s(用户、库存等)。
2. 策略网络前向传播,得到动作a:包括为候选物品选择的价格和排序分数。
3. 根据排序分数生成推荐列表,并将个性化价格展示给用户。

理论基础:收益管理与动态定价。通过调整价格来匹配供需,最大化收益。结合推荐系统,可以更主动地引导需求。
产品利润:直接操纵价格这一利润杠杆,是提升利润的最直接手段之一。
推荐形式:集成个性化定价的、利润最大化的实时推荐。

资源估算
前提:使用PPO算法,策略网络为中等规模MLP。
- 内存:存储策略网络和价值网络参数,约几十MB。需要经验回放缓冲区(GB级)。
- CPU/GPU:在线推理只需策略网络前向传播,开销小。离线训练需要模拟环境交互和RL训练,计算密集,需要多GPU。
- 存储:模型文件小。

R-0089

知识图谱

企业关联利益推荐

企业客户图谱 -> 企业关系挖掘(投资、合作、供应链) -> 关系感知的利润模型 -> 关联企业协同推荐

企业关联利益的知识图谱推荐

1. 动机:企业客户之间存在复杂的商业关系(母公司-子公司、合作伙伴、竞争对手)。向一家企业推荐其关联企业已采购的产品,可提高转化率并深化生态绑定。
2. 图谱构建:构建企业知识图谱,节点包括企业实体、产品、行业等。边类型包括:投资关系、合作关系、供应链关系、同行关系等。
3. 关系感知的推荐分数:对于企业客户E和产品P,基础分数为 sbase​(E,P)(基于企业画像和产品匹配)。增加关联企业增益:
sfinal​(E,P)=sbase​(E,P)×(1+∑E′∈N(E)​ρrel(E,E′)​⋅I(E′ purchased P))
其中 N(E)是E的关联企业集合,ρrel​是该类型关系的增益系数(如母公司系数 > 合作伙伴系数),I是指示函数。
4. 利润整合:进一步结合产品利润和关联企业带来的战略价值(如锁定生态)。

强度大客户销售额生态渗透率战略合同价值。通过利用企业间关系,能实现交叉销售和向上销售,尤其在企业服务、云计算等B2B领域效果显著。

社会网络理论与B2B营销。企业的采购决策受其所在商业网络的影响,模仿和跟随关联企业的选择是常见行为。

场景:B2B电商、云计算服务商(向企业客户销售)、企业软件、供应链金融等。
特征
- 企业关系数据:需要外部数据源构建企业图谱。
- 战略价值:某些推荐可能短期利润低,但长期战略价值高(如打入关键客户生态)。
- 决策周期长:企业采购决策复杂,非即时转化。

E,E′:企业实体。
P:产品。
N(E):企业E的关联企业集合。
rel(E,E′):E和E'之间的关系类型。
ρrel​:关系类型对应的增益系数。
I(⋅):指示函数。

乘法增益:关联企业购买作为乘性增强因子。
关系加权:不同关系类型有不同权重。
图谱查询:需要实时查询企业的关联网络。

无。

离线图谱构建与系数学习
1. 从工商数据、新闻、招投标等渠道构建企业关系图谱。
2. 基于历史购买数据,使用逻辑回归等模型学习各关系类型的增益系数 ρrel​(特征:关联企业是否购买,标签:本企业是否购买)。
在线推荐
1. 识别当前企业客户E。
2. 从图谱中查询E的关联企业集合 N(E)及其关系类型。
3. 对于候选产品P,检查 N(E)中是否有企业购买过P。
4. 计算基础分数 sbase​(E,P)。
5. 根据关联企业购买情况和关系系数,计算增强分数 sfinal​(E,P)。
6. 排序推荐。

理论基础:组织同构与B2B网络效应。企业倾向于采纳其网络中其他企业(特别是权威企业)已采纳的创新或解决方案。
企业关联利益:利用客户间的商业关系网络,实现销售杠杆和生态锁定。
推荐形式:基于企业关系图谱的、利用网络效应的B2B产品推荐。

资源估算
前提:企业数1000万,关系边数数亿,使用图数据库(如Neo4j)。
- 内存:企业图谱存储需要大量内存(数十GB)。关联企业购买状态需要缓存。
- CPU/GPU:在线查询图谱和计算增强分数,需要低延迟的图查询引擎,CPU密集型。
- 存储:图数据库存储,TB级。

R-0090

促销策略

稀缺性与紧迫性驱动

用户实时上下文 -> 库存/时间压力特征 -> 紧迫感模型 -> 促销折扣决策 -> 促销内容生成与推荐

稀缺性与紧迫性驱动的智能促销推荐

1. 心理杠杆:利用“稀缺性”(库存有限)和“紧迫性”(时间有限)两大心理效应,设计促销策略,激发即时购买。
2. 动态促销决策:对于产品i,根据实时状态决定是否展示促销标签以及促销力度(折扣)。状态包括:实时库存、销售速度、剩余促销时间、用户价格敏感度等。
3. 模型化:使用上下文赌博机(Contextual Bandit)或强化学习。
- 上下文 xt​: 用户特征、产品特征、库存/时间状态。
- 动作 at​: 选择促销策略,如 {无促销, “限时折扣5%”, “库存紧张”, “限时+库存”}。
- 奖励 rt​: 用户是否购买(二值)或购买金额。
学习一个策略 π(a∥x)最大化累计购买转化。
4. 与推荐集成:在推荐列表中,对适用产品动态添加促销标签,并可能因促销而提升排序位置。

强度促销期间的转化率提升库存清理速度促销ROI。通过智能触发和个性化促销,能以更小的折扣代价获得更大的销售提升,避免过度促销损害利润。

稀缺性原理与动态决策理论。物品的可得性减少时,其感知价值增加。时间压力能加速决策过程。通过数据驱动动态应用这些杠杆。

场景:电商大促(双11、黑五)、旅游产品(航班酒店)、票务、限量商品销售。
特征
- 实时性:依赖库存、时间等实时状态。
- 个性化:不同用户对促销的反应不同。
- 多臂赌博机:需要探索不同促销策略的效果。

xt​:上下文特征向量。
at​:促销动作(离散集)。
rt​:即时奖励(购买与否)。
π(a∥x):促销策略模型。
库存、倒计时:实时状态特征。

**

推荐系统工程知识体系表(R-0101 ~ R-0120)

编号

类别

领域

模型配方

定理/算法/模型/方法名称

定理/算法/模型/方法的逐步思考推理过程及每一个步骤的数学方程式和参数选择/参数优化

精度/密度/误差/强度

底层规律/理论定理

典型应用场景和各类特征

变量/常量/参数列表及说明

数学特征

语言特征

时序和交互流程的所有细节/分步骤时序情况及数学方程式流、动模型和流向方法的数学描述

认知/注意力人性/利益/关系/情感/交易/理论基础和推荐形式特征

5000万并发用户所需要的CPU/GPU/内存/存储盘/IO硬件/队列/网络的资源情况

R-0101

多目标博弈

平台生态治理

平台、卖家、买家、服务商多方博弈 -> 收益函数建模 -> 纳什均衡求解 -> 均衡感知的排名规则与流量分配

基于多智能体强化学习的平台生态均衡策略

1. 问题:平台生态中,卖家优化列表、买家选择、平台排名规则、服务商(如物流)服务质量相互影响,形成复杂博弈。单一目标优化可能导致生态失衡(如劣币驱逐良币)。
2. 建模为随机博弈:将每个参与方建模为一个智能体,其策略影响全局状态转移和各自收益。
- 状态 st​: 市场大盘指标(如商品质量分布、价格水平、用户满意度)、各参与方历史行为。
- 动作 ati​: 平台:排名规则参数;卖家:定价、服务质量投入;买家:选择行为(可视为环境的一部分)。
- 收益 rti​: 平台:长期总交易额(GMV)和佣金;卖家:利润;买家:隐含在平台收益中(满意则留存)。
3. 求解目标:寻找纳什均衡策略组合 (π1∗,...,πn∗),使得任一智能体单方面偏离都不会增加其收益。使用多智能体深度强化学习(如MADDPG, QMIX)进行求解,通过集中式训练、分布式执行来学习均衡策略。
4. 应用:训练得到的平台智能体策略 πplatform∗即为生态友好的排名规则,可动态调整。

强度生态健康度指标(如卖家流失率、买家NPS、纠纷率)、长期平台总收益。通过模拟博弈和寻找均衡,能制定出促进良性竞争、可持续增长的平台治理和排名策略,避免短期逐利导致的生态恶化。

博弈论(非合作博弈)与多智能体系统。将平台生态视为一个随机博弈,通过求解均衡来协调多方利益,实现系统层面的稳定和效率。

场景:大型电商平台(如淘宝、Amazon)、应用商店、云计算市场等复杂的多边市场。
特征
- 系统思维:考虑参与者策略的相互影响和动态反馈。
- 均衡解:目标是稳健的均衡状态,而非简单的最优化。
- 模拟成本高:需要构建高保真的模拟环境。

N:智能体(参与方)集合。
st​:全局状态。
ati​:智能体i的动作。
rti​:智能体i的即时收益。
πi:智能体i的策略(由神经网络参数化)。
纳什均衡:策略组合 π∗。

随机博弈:状态转移和收益取决于所有智能体的联合动作。
纳什均衡:不动点概念,每个智能体的策略是对其他智能体策略的最优反应。
集中训练分散执行:训练时智能体可以获取全局信息,执行时只依赖本地观测。

无。

离线训练(在模拟环境中)
1. 构建平台生态模拟器,能够模拟卖家、买家行为对市场状态的影响。
2. 初始化所有智能体的策略网络和价值网络。
3. 运行大量回合,在每一时间步:
a. 每个智能体根据当前状态和自身策略选择动作。
b. 模拟器执行联合动作,产生新状态和各方收益。
c. 存储经验(全局状态,联合动作,收益,新状态)。
d. 采样经验,使用多智能体RL算法更新网络,目标是最小化各智能体的贝尔曼误差或最大化其策略梯度。
4. 训练至收敛,得到均衡策略组合。
在线部署:仅部署平台智能体的策略网络,用于实时计算排名规则参数。卖家、买家的行为由其自身策略决定,平台策略通过影响环境间接引导。

理论基础:平台经济学与多智能体博弈。平台的长期价值取决于其构建的生态系统的健康和活力,需用博弈论思维进行治理。
利益链:协调平台、卖家(供给方)、买家(需求方)这个核心三角的利益,实现可持续增长。
推荐形式:基于多智能体均衡求解的、生态友好的平台排名与流量分配策略。

资源估算
前提:模拟环境复杂,需模拟数百万卖家、数千万买家行为。
- 内存:训练时需要存储多个大型策略和价值网络,以及巨大的经验回放池,需要数百GB至TB级GPU内存。
- CPU/GPU:模拟器本身是计算密集型,通常需要CPU集群。多智能体RL训练更是需要海量GPU计算资源,成本极高。
- 存储:模型checkpoint、经验数据,PB级。

R-0102

公平分配

资源分配与曝光公平

物品集合(特别是长尾、新物品)-> 基尼系数/曝光熵优化 -> 带公平性约束的排序 -> 公平曝光分配

基尼系数约束下的公平曝光排序

1. 问题:马太效应导致热门物品获得绝大多数曝光,长尾和新物品缺乏机会,损害生态多样性和创新。
2. 公平性度量:使用基尼系数(Gini Coefficient)衡量物品间曝光量的不平等程度。基尼系数为0表示绝对平等,1表示绝对不平等。
(G = \frac{\sum{i=1}^n \sum{j=1}^n

x_i - x_j

}{2n \sum_{i=1}^n x_i} ),其中 xi​是物品i的累计曝光量。
3. 带约束的优化:在推荐排序中引入公平性约束,控制基尼系数的增长。一种方法是在线公平排序:在生成推荐列表时,不仅考虑预估分数 si​,还考虑物品i的历史累计曝光量 Ei​,对曝光不足的物品进行加分:
si′​=si​+λ⋅log(1+Ei​+ϵ)1​(逆频率加权)
或更直接地,在每一批推荐中,为曝光不足的物品保留一定比例的位置(配额)。
4. 目标:最大化推荐效果(如总点击)的同时,将曝光基尼系数控制在阈值 Gmax​以下。

强度曝光基尼系数长尾物品的点击/转化率物品生态多样性。通过主动干预曝光分配,能有效缓解流行度偏差,扶持新物品和长尾物品,增加生态丰富度和用户探索兴趣。

公平分配理论与约束优化。将推荐系统的曝光视为一种资源,其分配应满足一定的公平准则(如基尼系数),以促进整体生态健康。

场景:内容平台(新闻、音乐、视频)、电商、应用商店等需要维持内容多样性和创作者活力的平台。
特征
- 公平干预:牺牲部分短期效率(头部点击)换取长期多样性。
- 可调参数:λ或配额比例控制公平性强度。
- 全局效应:需监控全局曝光分布。

si​:物品i的原始预估分数(如CTR)。
Ei​:物品i的历史累计曝光量。
λ:公平性干预强度参数。
G:曝光基尼系数。
Gmax​:基尼系数目标阈值。

基尼系数:衡量不平等性的经典指标。
逆频率加权:给予低频物品更高权重。
约束优化:在不等式约束下最大化目标函数。

无。

离线监控与参数调优
1. 实时计算全平台物品的曝光基尼系数G。
2. 如果G > Gmax​,则调高λ或配额比例,增强公平性干预。
在线公平排序
1. 对候选物品计算原始分数 si​。
2. 查询或实时估计每个候选物品的累计曝光量 Ei​(需维护全局曝光计数服务)。
3. 计算公平性增强分数 si′​=si​+λ⋅f(Ei​),其中 f(Ei​)是衰减函数(如 1/log(1+Ei​))。
4. 按 si′​排序生成推荐列表,并更新曝光计数。

R-0103

因果推断

消除混淆偏差

观测数据(用户特征, 物品特征, 曝光, 点击) -> 后门调整 -> 因果效应估计 -> 无偏物品价值评估

基于后门调整的因果推荐

1. 问题:观测数据中,用户特征(如活跃度)同时影响物品曝光(活跃用户看到更多物品)和点击行为,构成混淆变量。直接拟合 P(click∥exposure)会得到有偏的因果效应(物品本身对点击的影响)。
2. 因果图:构建因果有向无环图(DAG):用户特征 Z-> 曝光 T,用户特征 Z-> 点击 Y,物品特征 X-> 曝光 T,物品特征 X-> 点击 Y,曝光 T-> 点击 Y。
3. 后门准则:用户特征 Z是曝光 T和点击 Y的后门路径上的混杂因子。为估计 T对 Y的因果效应,需对 Z进行调整。
4. 估计方法
- 分层/匹配:在 Z的每个取值层内,比较曝光和未曝光组的点击率差异,然后加权平均。
- 倾向得分加权:同IPW,但倾向得分模型以 Z为特征,估计 P(T=1∥Z)。
- 双稳健估计:结合倾向得分和结果回归模型。
5. 目标:得到无偏的平均处理效应​ ATE=E[Y(1)−Y(0)],其中 Y(1)是曝光的潜在结果,Y(0)是未曝光的潜在结果。

误差无偏的ATE估计。通过消除用户特征等混杂因素的影响,能更准确地评估“曝光”这一动作对点击的真实因果效应,从而更公正地评估物品质量和推荐策略效果。

因果推断中的后门调整与潜在结果框架。通过统计调整阻断后门路径,从观测数据中识别和估计因果效应。

场景:A/B测试的补充分析、离线策略评估、物品冷启动质量评估、去除用户选择偏差的影响。
特征
- 去混淆:核心目标,得到纯净的因果关系。
- 假设依赖:依赖“无未观测混杂”的强假设(即所有混杂因子 Z都已观测)。
- 双重稳健:结合两种方法提高估计的鲁棒性。

Z:观测到的混杂变量(用户特征)。
T:处理变量(曝光,1/0)。
Y:结果变量(点击,1/0)。
X:物品特征。
P(T=1∥Z):倾向得分。
Y^(Z,T):结果回归模型。

条件独立性:在调整Z后,处理T与潜在结果独立。
倾向得分:平衡得分的一种。
双重稳健估计:结合倾向得分和结果回归。

无。

离线分析流程
1. 从日志中获取样本 (Zi​,Ti​,Yi​)。
2. 估计倾向得分 e(Zi​)=P^(T=1∥Zi​)(如用逻辑回归)。
3. 估计结果回归模型 mt​(Zi​)=E^[Y∥Z,T=t](如用回归模型)。
4. 计算双重稳健估计量:
ATE^DR​=n1​∑i=1n​[e(Zi​)Ti​Yi​​−1−e(Zi​)(1−Ti​)Yi​​−(Ti​−e(Zi​))e(Zi​)m1​(Zi​)​+(Ti​−e(Zi​))1−e(Zi​)m0​(Zi​)​]
5. 得到无偏的ATE,可用于物品价值排序或策略评估。

理论基础:鲁宾因果模型。将推荐视为一项“实验”(曝光),需要分离出处理(曝光)本身对结果(点击)的净效应,剥离其他因素的影响。
利益链:为公平评估广告主/商家的素材质量、平台算法的真实效果提供科学依据,避免因用户群体差异导致的误判。
推荐形式:基于无偏因果效应的物品价值评估与排序。

资源估算
前提:分析过程是离线的,不直接影响线上服务。
- CPU/GPU:主要用于训练倾向得分和结果回归模型,计算资源与训练两个CTR模型相当。
- 内存:需要加载全量日志数据进行计算,数据量在TB级。
- 存储:存储分析结果。

R-0104

生成式模型

个性化内容生成

用户画像 + 上下文 -> 大型语言模型 -> 条件生成 -> 个性化广告文案/产品描述/推荐理由

基于大型语言模型的个性化内容生成

1. 动机:利用大语言模型(LLM)强大的理解和生成能力,为每个用户和物品实时生成高度个性化的文本内容,如广告文案、产品卖点总结、推荐理由,以提升点击和转化。
2. 模型架构:采用指令微调检索增强生成(RAG)的LLM。
- 输入:包含详细上下文的Prompt,如:用户画像:[年龄、兴趣、历史行为];当前场景:[时间、位置、搜索词];产品信息:[标题、类目、属性];生成任务:撰写一段吸引该用户的广告文案。
- 模型:使用经过指令微调的百亿/千亿参数LLM(如ChatGLM、GPT、LLaMA系列)。
- 输出:生成的个性化文本。
3. 优化:通过强化学习(RLHF)或直接偏好优化(DPO)对齐模型输出,使其生成的文案在点击率、转化率等业务指标上表现更优。奖励模型可以是传统的CTR模型。

强度生成文案的点击率/转化率用户互动时长内容相关性人工评分。相比固定模板,个性化生成的内容能更好地契合用户即时兴趣和上下文,显著提升信息传递效率和吸引力。

条件生成与指令跟随。将个性化内容生成建模为条件文本生成任务,LLM根据给定的详细上下文(指令)生成符合要求的文本。

场景:信息流广告文案、电商产品详情页卖点提炼、新闻/视频的个性化标题和摘要、推荐理由生成。
特征
- 高度个性化:内容因人、因时、因地而异。
- 创意能力:能生成人类写手未曾想到的新颖组合。
- 高延迟、高成本:大模型推理慢,成本高。

C:上下文Prompt,包含用户、物品、场景信息。
MLLM​:大型语言模型,参数θ。
y:生成的文本序列。
奖励模型 R(y,C):评估生成内容好坏的模型(如CTR预估模型)。

自回归生成:P(y∥C)=∏t​P(yt​∥y<t​,C)。
指令微调:在(指令, 输出)对数据上微调模型。
强化学习:通过策略梯度优化模型以最大化奖励。

语言特征:核心能力。模型处理和理解自然语言指令,并生成流畅、连贯、有说服力的文本。

离线训练/微调
1. 指令数据收集:构建(个性化上下文Prompt, 优质文案)配对数据。
2. 有监督微调:在配对数据上微调LLM,使其学会遵循指令生成个性化内容。
3. 奖励建模与RLHF:训练奖励模型预测生成文案的CTR,然后使用PPO等算法进一步微调LLM,以最大化奖励模型的分数。
在线服务
1. 实时拼接用户、物品、上下文信息,构成Prompt C。
2. 将C输入部署好的LLM服务,进行文本生成。为控制延迟,需使用高性能推理框架(如vLLM, TensorRT-LLM)和量化技术。
3. 将生成的文本插入推荐卡片并展示。

理论基础:个性化沟通与说服理论。有效的沟通需要根据受众的特点调整信息内容和表达方式。LLM实现了沟通内容的实时、大规模个性化。
认知/人性:针对用户的心理和兴趣“投其所好”地组织语言,增强说服力和亲和力。
推荐形式:基于大语言模型生成的、完全个性化的推荐理由和内容描述。

资源估算
前提:使用70B参数的LLM,量化到INT8, batch size=1。
- 内存:加载量化后模型需约35GB GPU内存。需要多张高端GPU(如H100)进行部署。
- CPU/GPU主要瓶颈。自回归生成延迟高,即使使用优化,生成一段50字的文案也需要数百毫秒。难以支持高并发(如5000万DAU对应的峰值QPS)。通常需要缓存、异步生成、或仅为高热内容/用户生成。
- 存储:大模型参数文件巨大(数百GB)。

R-0105

强化学习

资源约束下的推荐

用户请求 + 有限库存(如促销券、算力资源)-> 状态(库存、用户价值)-> 动作(分配/不分配)-> 长期收益最大化

受限资源分配的深度强化学习

1. 问题:推荐系统常需分配有限资源,如优惠券、免费试用额度、限量商品、云计算Spot实例。需决定何时、向谁、分配多少资源以最大化长期收益(如总GMV、利润)。
2. 建模为带约束的MDP
- 状态 st​: 用户特征、剩余库存 It​、时间、历史分配情况。
- 动作 at​: 分配的资源量(离散档位或连续值),或0(不分配)。
- 奖励 rt​: 分配后用户产生的即时利润(可能为负,如优惠券成本)。
- 约束:总分配量不能超过预算 B: ∑t​at​≤B。
3. 求解:使用带约束的策略优化算法(如Constrained Policy Optimization)。策略网络 πθ​(a∥s)输出动作分布。在训练中,将约束违反作为惩罚项加入目标函数,或使用拉格朗日乘子法。
4. 策略:学得的策略会学会将资源分配给边际收益最高的用户,并在资源快耗尽时提高分配门槛。

强度资源利用率单位资源的产出(ROI)总利润。相比固定规则或贪心分配,DRL能考虑长期和全局,在满足约束下更优地分配稀缺资源,避免浪费或过早耗尽。

资源约束下的序列决策。将受限资源分配建模为带约束的马尔可夫决策过程,通过强化学习学习最优的动态分配策略。

场景:促销预算分配、免费体验额度发放、库存清仓、云计算资源调度、广告预算投放。
特征
- 稀缺资源:核心是资源有限性。
- 长期规划:需考虑当前分配对未来的影响。
- 约束满足:必须满足总预算约束。

st​:状态向量,包含库存 It​。
at​:分配的资源量(动作)。
rt​:即时利润奖励。
B:总预算约束。
πθ​:参数化的策略网络。
拉格朗日乘子 λ:用于处理约束。

约束MDP:在标准MDP基础上增加对轨迹分布的约束。
拉格朗日松弛:将约束优化转化为无约束的min-max问题。
策略梯度:通过梯度上升优化策略参数。

无。

离线训练(基于历史日志或模拟器)
1. 构建模拟环境,可模拟用户到来、策略分配、用户行为(购买概率受分配影响)和库存消耗。
2. 初始化策略网络和拉格朗日乘子λ。
3. 运行多回合,收集轨迹数据。
4. 计算目标函数(累计奖励)和约束违反量。
5. 更新策略网络以最大化 J(θ)=E[∑rt​]−λ⋅(E[∑at​]−B)。
6. 更新拉格朗日乘子:λ←max(0,λ+η(E[∑at​]−B))。
7. 重复直至收敛。
在线服务:对于每个用户请求,根据状态 st​由策略网络生成动作 at​(分配决策)。

理论基础:收益管理与动态资源分配。在有限资源下,通过差异化定价和分配来最大化收益,是运筹学和收益管理的核心问题。
利益链:平台通过精细化分配营销资源(如补贴)来撬动最大GMV和利润增长,直接关联平台利润率。
推荐形式:基于深度强化学习的、预算约束下的个性化资源(如优惠券)分配推荐。

资源估算
前提:策略网络为中等规模MLP。
- 内存:策略网络参数小(MB级)。需要模拟环境的内存。
- CPU/GPU:在线推理只需一次前向传播,开销小。离线训练需要模拟和RL训练,计算密集,需GPU。
- 存储:模型文件小。

R-0106

多臂赌博机

产品组合探索

新产品/新功能候选集 -> 上下文赌博机 -> Thompson采样 -> 探索性流量分配 -> 潜力产品发现

汤普森采样用于新产品冷启动探索

1. 动机:新产品/新功能上线初期缺乏数据,需快速探索其潜力(点击率、留存率),以决定是否大规模推广。
2. Thompson采样原理:一种贝叶斯方法,为每个臂(产品)维持一个奖励分布的后验(如Beta分布)。每次决策时,从每个臂的后验分布中采样一个值,选择采样值最大的臂。这种机制能自动平衡探索和利用。
3. 模型细节:对于二元奖励(点击/未点击),假设每个臂i的点击率 θi​服从先验分布 Beta(αi​,βi​)。观察到数据后,后验分布为 Beta(αi​+Si​,βi​+Fi​),其中 Si​,Fi​是成功和失败次数。
4. 决策:在每次展示机会,对每个候选新产品i,从 Beta(αi​+Si​,βi​+Fi​)中采样一个值 θ~i​,选择 i∗=argmaxi​θ~i​进行推荐。观察反馈后,更新该臂的后验参数。

强度累计遗憾潜力产品发现速度探索效率。Thompson采样能以接近最优的速率探索,快速收敛到真正的高质量新产品,特别适合解决冷启动探索问题。

贝叶斯推理与随机化探索。将未知参数视为随机变量,通过不断更新其后验分布来指导决策,采样机制自然地实现了不确定性驱动的探索。

场景:新产品/新商家/新内容冷启动、A/B测试的替代方案、功能灰度发布、广告创意测试。
特征
- 自动探索:无需手动设置ε参数。
- 贝叶斯:自然地结合先验知识(如品类平均CTR)。
- 计算简单:只需采样和比较。

θi​:臂i(产品)的真实点击率(未知)。
αi​,βi​:臂i的Beta先验/后验参数。
Si​,Fi​:臂i观察到的成功和失败次数。
θ~i​:从后验中采样的点击率值。

Beta分布:共轭先验,便于后验更新。
采样:从概率分布中生成随机数。
最大值选择:选择采样值最大的臂。

无。

在线探索服务
1. 维护一个所有待探索新产品(臂)的后验参数表 {(αi​,βi​,Si​,Fi​)},初始值可设为 αi​=βi​=1(均匀先验)或基于品类先验。
2. 当一个探索流量请求到达时:
a. 对每个候选新产品i,从 Beta(αi​+Si​,βi​+Fi​)采样一个值 θ~i​。
b. 选择 i∗=argmaxi​θ~i​进行展示。
3. 观察用户反馈:如果点击,则 Si∗​+=1;否则 Fi∗​+=1。
4. 异步更新后验参数表。
与主推荐集成:探索流量(如5%)专门走此通路,其余流量走主推荐模型。

理论基础:贝叶斯强盗。将探索视为一个序列决策问题,通过贝叶斯更新来管理不确定性,并以概率匹配的方式选择动作。
产品利润:快速发现潜在爆款新产品,是平台增长和利润的新源泉。
推荐形式:基于汤普森采样的、自动化新产品探索与测试。

资源估算
前提:待探索新产品数K=1000。
- 内存:存储后验参数表,约 1000 * 4 * 8字节 = 32KB,可忽略。
- CPU:在线计算需要为每个臂进行一次Beta分布采样(如通过随机数生成),计算复杂度O(K),完全由CPU实时处理,无压力。
- 存储:参数表需持久化存储。

R-0107

集成学习

模型融合与稳定性

多个基学习器预测 -> Stacking元学习器 -> 加权组合 -> 最终预测

基于Stacking的异质模型融合

1. 动机:单一模型可能有过拟合或偏好,融合多个异质模型(如LR, GBDT, DNN, FM)能提升泛化能力和稳定性。
2. Stacking算法
- 层0(基学习器):训练M个不同的基学习器 L1​,...,LM​。通常使用K折交叉验证来生成每个基学习器在训练集上的“袋外”预测,避免信息泄露。
- 层1(元学习器):将基学习器的预测结果作为新特征,训练一个元学习器(如线性回归、逻辑回归或浅层神经网络)来组合它们,生成最终预测。
3. 数学形式:设基学习器在样本i上的预测为 pi1​,...,piM​。元学习器学习一个组合函数 F:
y^​i​=F(pi1​,...,piM​;w)
对于回归,可以是线性加权 y^​i​=w0​+∑j=1M​wj​pij​;对于分类,可以是加权后过sigmoid。
4. 训练:需使用两层交叉验证或留出法,防止过拟合。

误差:融合模型的AUC/LogLoss/RMSE。Stacking通常能获得比任何单一基学习器更好的泛化性能,且对噪声和异常更鲁棒,是竞赛和工业界提升模型效果的常用技巧。

集成学习与模型平均。多个模型的误差在不同区域可能相互抵消,通过加权平均(线性或非线性)可以降低方差,提高预测精度。

场景:对预测精度要求极高的场景,如广告CTR预估竞赛、金融风控、医疗诊断。也用于将新旧模型平滑过渡。
特征
- 异质模型:融合不同假设空间的模型,效果更稳健。
- 防过拟合:需小心设计训练流程防止数据泄露。
- 复杂度高:需要训练多个模型,训练和部署成本高。

Lj​:第j个基学习器。
pij​:基学习器j对样本i的预测值。
F:元学习器(组合函数)。
w:元学习器参数。
K折交叉验证:用于生成层1的训练数据。

交叉验证:用于生成无偏的层1训练特征。
加权组合:线性或非线性组合基模型输出。
模型集成:多个模型的输出作为新特征空间的坐标。

无。

离线训练
1. 将训练数据分为K折。
2. 对于每个基学习器 Lj​
a. 对于第k折,用其余K-1折训练 Lj​,并在第k折上预测,得到该折的预测值 pkj​。
b. 将K折的预测拼接,得到完整的OOF预测 pj。
c. 在整个训练集上重新训练 Lj​,得到最终模型用于后续预测。
3. 用所有基学习器的OOF预测 p1,...,pM作为新特征,原始标签作为标签,训练元学习器 F。
在线预测
1. 将输入特征x输入每个训练好的基学习器,得到预测 p1(x),...,pM(x)。
2. 将 [p1(x),...,pM(x)]输入元学习器 F,得到最终预测 y^​。

理论基础:集成学习理论。多个弱学习器可以组合成一个强学习器。通过结合不同偏差的模型,可以减少整体方差,提高泛化能力。
利益链:在关键业务场景(如广告竞价)中,微小的精度提升(如0.1% AUC)可能带来巨大的收入增长,值得投入复杂模型。
推荐形式:基于多层模型堆叠的高精度、高稳定性的融合模型预测。

资源估算
前提:M=5个基学习器(如LR, FM, DNN, GBDT, LightGBM),元学习器为线性模型。
- 内存:需要加载M+1个模型,内存消耗约为单个最复杂模型的M倍。如果DNN是主要部分,则内存约5倍DNN。
- CPU/GPU:线上预测需要运行M个模型的前向传播,计算开销约为单模型的M倍。需要强大的推理集群。
- 存储:存储M+1个模型文件。

R-0108

时间序列

销量/热度预测

历史时间序列 -> 特征工程 -> 时间序列模型(ARIMA, Prophet, DeepAR) -> 未来销量/热度预测 -> 库存/资源预分配

深度自回归模型用于产品需求预测

1. 目标:准确预测未来一段时间内(如未来7天)每个产品的需求量(销量、点击量),用于库存管理、采购、资源预留、热门商品预加载等。
2. 深度自回归模型:如DeepAR,一种基于RNN的概率时间序列预测模型。
- 输入:过去T个时间步的目标序列值 zi,t​(如日销量)和协变量 xi,t​(如日期、促销标记、价格)。
- 模型:使用RNN(如LSTM)编码历史信息。在预测阶段,模型进行自回归采样:每一步,将上一步的样本(或分布参数)作为输入,递归预测未来。
- 输出:未来H个时间步的概率分布(如高斯分布),给出每个时间点的均值和方差。
3. 训练:最大化观测序列的对数似然:
(\mathcal{L} = \sum{i,t} \log p(z{i, t}

\mathbf{z}{i, 1:t-1}, \mathbf{x}{i, 1:t}) )。
4. 应用:预测的高需求产品可提前进行缓存、备货,或调整推荐策略以平衡供需。

误差:预测的对称平均绝对百分比误差(sMAPE)分位数损失。准确的预测能显著降低库存成本、缺货损失,并提高用户体验(如热门视频预加载)。

概率时间序列预测。将序列的未来值视为随机变量,模型学习其条件概率分布,能同时给出点预测和不确定性估计。

场景:零售销量预测、视频点播量预测、云计算资源需求预测、外卖订单量预测。
特征
- 概率预测:不仅给出点估计,还给出置信区间,支持风险感知决策。
- 协变量:能融合丰富的上下文信息。
- 可扩展:可同时为成千上万个产品序列建模。

zi,t​:产品i在时间t的目标值(如销量)。
xi,t​:时间相关的协变量。
RNN隐藏状态 hi,t​
分布参数:如高斯分布的 μi,t​,σi,t​。
预测步长 H

自回归:当前预测依赖于过去观测和预测。
递归神经网络:用于建模序列依赖。
概率分布:模型输出分布的参数而非单一值。

无。

离线训练
1. 准备所有产品的历史时间序列数据,划分为训练和验证窗口。
2. 对每个序列,通过滑动窗口生成训练样本(输入窗口长度T,预测窗口长度H)。
3. 训练DeepAR模型:将输入窗口的 z和 x输入RNN,得到最后一个隐藏状态,然后通过全连接层输出未来H步的分布参数(μ,σ)。计算负对数似然损失并优化。
在线预测
1. 加载最新历史数据(过去T天)。
2. 运行训练好的DeepAR模型,得到未来H天的需求预测分布(均值和置信区间)。
3. 将预测结果(如日均值)作为特征输入推荐系统或库存系统。

理论基础:需求预测与供应链管理。准确的预测是优化库存、提升服务水平和降低成本的基础。推荐系统可以与预测系统联动,实现供需协同。
利益链:准确的销量预测直接关联库存成本、现金流和客户满意度,是零售和电商的核心竞争力之一。
推荐形式:基于未来需求预测的、前瞻性的资源分配和商品导流。

R-0109

联邦学习

跨企业知识共享

企业本地数据 -> 纵向联邦学习 -> 隐私保护下的特征对齐与模型训练 -> 共享知识 -> 联合模型

纵向联邦学习用于跨企业联合建模

1. 场景:两个企业拥有同一批用户(或企业)的不同特征(如银行有金融数据,电商有消费数据),希望联合建模以提升推荐(如信贷、商品)效果,但数据不能出库。
2. 纵向联邦学习框架
- 参与方:拥有标签的一方(如电商,有购买记录)称为“主动方”;只有特征的一方(如银行)称为“被动方”。
- 隐私保护对齐:通过加密求交(PSI)技术,在保护双方用户隐私的前提下,找到共同用户集合。
- 模型训练:以联邦逻辑回归为例。主动方和被动方各自计算本地特征的梯度或损失分量,通过同态加密或秘密共享等安全计算协议交换加密的中间结果,共同计算总梯度和更新模型,而原始数据始终保留在本地。

误差:联合模型在测试集上的AUC。VFL允许在数据孤岛间进行安全的特征联合,能显著提升模型效果(尤其是当单方特征不足时),同时满足严格的隐私合规要求。

安全多方计算与联邦学习。在保护各方数据隐私的前提下,通过加密协议实现多方数据的联合机器学习。

场景:银行与电商联合营销、医疗机构联合研究、政府数据开放应用等涉及敏感数据跨机构合作的场景。
特征
- 数据不出域:核心优势,满足GDPR等法规。
- 纵向切分:各方数据特征不同,样本有重叠。
- 通信与计算开销大:加密操作带来巨大开销。

DA​,DB​:参与方A和B的本地数据集。
Ucommon​:通过PSI找到的共同用户ID集合。
同态加密:如Paillier加密系统,允许在密文上做加法和数乘。
模型参数 θ:部分参数分布在各参与方。

安全求交:隐私集合求交。
同态加密:Enc(x+y)=Enc(x)⋅Enc(y)。
分布式梯度下降:梯度在各方本地计算,通过安全协议聚合。

无。

训练流程(以逻辑回归为例):
1. 隐私求交:双方通过PSI协议,得到加密的共同用户ID列表。
2. 初始化:各方初始化本地模型参数(部分权重)。
3. 循环直至收敛
a. 主动方计算预测值 y^​i​=σ(θAT​xiA​+θBT​xiB​),其中 θBT​xiB​需要与被动方B安全计算得到。
b. 计算损失和梯度。梯度 gA​,gB​也涉及安全计算。
c. 各方用本地梯度更新本地参数 θA​,θB​。
4. 得到最终的分布式模型 θ=(θA​,θB​)。
在线预测:需要双方协作。当新用户请求到来,双方分别计算本地特征与本地参数的乘积,然后安全求和并激活,得到预测结果。

理论基础:隐私计算。在数据要素化流通的背景下,联邦学习是实现“数据可用不可见”、释放数据价值的关键技术。
企业关联利益:促进跨企业数据合作,实现共赢,例如银行获得更精准的信贷风险模型,电商获得更有效的营销渠道。
推荐形式:基于跨企业安全数据合作的联合精准营销推荐。

资源估算
前提:联合训练双方各有数千万用户样本。
- 通信:主要瓶颈。每轮迭代都需要在双方之间传输加密的中间结果(梯度、损失),数据量大,延迟高。
- CPU:同态加密和解密操作计算密集,CPU负载极高。
- 存储:各方存储本地数据,无需额外共享存储。

R-0110

可解释性

局部特征归因

训练好的复杂模型 -> SHAP/Kernel SHAP -> 局部线性解释 -> 特征贡献值

SHAP值用于推荐理由生成

1. 动机:深度推荐模型是黑盒,SHAP(SHapley Additive exPlanations)提供一种统一的理论框架来解释单个预测,即每个特征对最终预测值的贡献。
2. 理论基础:SHAP值基于合作博弈论的Shapley值。对于样本x,特征j的SHAP值 ϕj​定义为在所有可能的特征子集S中,特征j加入S前后的模型输出变化值的加权平均:
(\phi_j = \sum_{S \subseteq N \setminus {j}} \frac{

S

! (

N

-

S

-1)!}{

N

!} [f{x}(S \cup {j}) - f{x}(S)] )
其中 fx​(S)是模型在特征子集S上的输出(通过边缘化未包含的特征得到)。
3. 近似计算:对于复杂模型,精确计算不可行。使用Kernel SHAP​ 或 Tree SHAP(针对树模型的高效算法)进行近似。
4. 解释:将预测值 f(x)分解为基准值 ϕ0​(所有特征缺失时的模型输出)与各特征贡献之和:
f(x)=ϕ0​+∑j=1M​ϕj​。可视化 ϕj​及其正负,即可解释推荐原因。

强度解释的保真度(解释与模型预测的一致性)、用户理解度。SHAP提供了具有坚实理论基础的、一致且可比的局部特征重要性度量,是生成“为什么推荐这个”的理由的有力工具。

更多推荐