文章目录
1.召回
兴趣召回
多兴趣如何解决?
爱奇艺短视频推荐:多兴趣召回篇
双塔模型最后一层为什么都进行L2 Norm?
负样本为王:评Facebook的向量化召回算法
2.排序
多目标
多目标排序模型在腾讯QQ看点推荐中的应用实践
大厂技术实现 | 多目标优化及应用(含代码实现)
知乎:深度学习的多个loss如何平衡?
推荐系统多目标优化专题(2)—融合公式设计思路
大厂技术实现 | 多目标优化及应用
时长建模
20220922推荐小记——推荐系统中如何对时长、完播等目标做多目标建模
Weighted LR YouTube 的时长预估模型
多场景
排序优化实践
推荐系统系列之排序模型的调优实践
推荐系统排序优化迭代的一些经验
微信「看一看」 推荐排序技术揭秘
汽车之家推荐系统
大厂技术实现 | 爱奇艺短视频推荐业务中的多目标优化实践 @推荐与计算广告系列
王冬月:京东推荐算法精排技术实践
陈胜:美团搜索排序实践
深度排序模型在淘宝直播的演进与应用
推荐系统(十一) 2021-2022年工业界推荐算法实践经验汇总
推荐系统(十五) 大厂实践经验学习:排序模型
演讲:知乎如何使用 DNN 优化首页排序
微博推荐实时大模型的技术演进
3.特征
3.1特征工程
3.2特征冗余
SENet
FiBiNet(FiBiNet解读)模型引入的SENet网络,学习每个特征权重,然后特征权重与embedding作Vector-Wise赋权,参与后续交叉计算,起到一个门控作用,会弱化不重要特征,强化重要特征。其核心逻辑是Squeeze&Excitation&Re-weight。FiBiNet还包含Bilinear交叉层,特征交叉那里再介绍。
Embedding层Gate
对于某个特征field,embedding向量作为输入,通过一层FC,得到该特征fields权重,计算方式分为两种:
- Vector-Wise:embeding向量通过一层FC,输出节点为1,得到特征field权重值,权重值与原始embedding向量进行相乘。
- Bit-Wise:embeding向量通过一层FC,输出节点为个数与embedding维度相同,得到特征field权重向量,权重向量与原始embedding向量进行Hadamard积。
3.3特征交叉
人工交叉统计特征
FM
FM(因子分解机),用于解决稀疏场景下特征组合的问题。FM原理简单,计算高效,是首个在特征交叉中引入隐向量的模型,并为后续针对特征交叉的模型结构优化提供了一个强基础。
在FM之前,LR通过人工交叉特征,而如果要将所有特征两两交叉,即如下公式:
y
(
x
)
=
w
0
+
∑
i
=
1
n
w
i
x
i
+
∑
i
=
1
n
∑
j
=
1
n
w
i
j
x
i
x
j
y(x)=w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^n\sum_{j=1}^nw_{ij}x_ix_j
y(x)=w0+i=1∑nwixi+i=1∑nj=1∑nwijxixj
- 输入特征x的维度n非常大,稀疏性强。对所有特征组合进行建模,极大地增加了LR模型的参数量。
- 另一方面,特征组合加强了稀疏性,在数据中原本不常出现的特征,经过组合后,组合特征项的出现频率则更少。对于在训练数据中不常见甚至未出现过的特征组合,模型将无法学好对应的参数 w i j w_{ij} wij ,容易导致模型学习不充分效果差。
模型学习所有二阶交叉特征的核心是学习对应的参数
w
i
j
w_{ij}
wij ,而FM提出另一种思路,对特征的每个维度引入一个向量来表示,特征交叉项的参数
w
i
j
w_{ij}
wij 则由两个对应特征的向量计算内积得到。
y
(
x
)
=
w
0
+
∑
i
=
1
n
w
i
x
i
+
∑
i
=
1
n
∑
j
=
i
+
1
n
<
v
i
,
v
j
>
x
i
x
j
y(x)=w_0+\sum_{i=1}^nw_ix_i+\sum_{i=1}^n\sum_{j=i+1}^n<v_i,v_j>x_ix_j
y(x)=w0+i=1∑nwixi+i=1∑nj=i+1∑n<vi,vj>xixj
- 解决了特征交叉的稀疏问题
- 解决了参数量问题 O ( n 2 ) O(n^2) O(n2)-> O ( k n ) O(kn) O(kn),n是x的维度,k是向量的维度。
- 提高了模型的泛化性
计算优化,将计算量由
O
(
k
n
2
)
O(kn^2)
O(kn2)->
O
(
k
n
)
O(kn)
O(kn)
y
(
x
)
=
∑
i
=
1
n
∑
j
=
i
+
1
n
v
i
T
v
j
x
i
x
j
=
1
2
∑
i
=
1
n
∑
j
=
1
n
v
i
T
v
j
x
i
x
j
−
1
2
∑
i
=
1
n
v
i
T
v
i
x
i
x
i
=
1
2
(
∑
i
=
1
n
∑
j
=
1
n
∑
f
=
1
k
v
i
,
f
v
j
,
f
x
i
x
j
−
∑
j
=
1
n
∑
f
=
1
k
v
i
,
f
v
i
,
f
x
i
x
i
)
=
1
2
∑
f
=
1
k
(
(
∑
i
=
1
n
v
i
,
f
x
i
)
(
∑
i
=
1
n
v
i
,
f
x
i
)
−
∑
i
=
1
n
v
i
,
f
2
x
i
2
)
=
1
2
∑
f
=
1
k
(
(
∑
i
=
1
n
v
i
,
f
x
i
)
2
−
∑
i
=
1
n
v
i
,
f
2
x
i
2
)
)
y(x)=\sum_{i=1}^n\sum_{j=i+1}^nv_i^Tv_jx_ix_j \\=\frac{1}{2}\sum_{i=1}^n\sum_{j=1}^nv_i^Tv_jx_ix_j-\frac{1}{2}\sum_{i=1}^nv_i^Tv_ix_ix_i\\ =\frac{1}{2}(\sum_{i=1}^n\sum_{j=1}^n\sum_{f=1}^kv_{i,f}v_{j,f}x_ix_j-\sum_{j=1}^n\sum_{f=1}^kv_{i,f}v_{i,f}x_ix_i)\\ =\frac{1}{2}\sum_{f=1}^k((\sum_{i=1}^nv_{i,f}x_i)(\sum_{i=1}^nv_{i,f}x_i)-\sum_{i=1}^nv_{i,f}^2x_i^2)\\ =\frac{1}{2}\sum_{f=1}^k((\sum_{i=1}^nv_{i,f}x_i)^2-\sum_{i=1}^nv_{i,f}^2x_i^2))
y(x)=i=1∑nj=i+1∑nviTvjxixj=21i=1∑nj=1∑nviTvjxixj−21i=1∑nviTvixixi=21(i=1∑nj=1∑nf=1∑kvi,fvj,fxixj−j=1∑nf=1∑kvi,fvi,fxixi)=21f=1∑k((i=1∑nvi,fxi)(i=1∑nvi,fxi)−i=1∑nvi,f2xi2)=21f=1∑k((i=1∑nvi,fxi)2−i=1∑nvi,f2xi2))
FFM(Field Factorization Machine)是在FM的基础上引入了“场(Field)”的概念而形成的新模型
DCN Cross网络
DCN使用Cross网络替代了原来简单的LR网络,增加了特征之间的交互力度,使用多层交叉层对输入特征进行交叉。第
l
l
l层和第l
+
1
+1
+1层之间的关系如下所示。
x
l
+
1
=
x
0
x
l
T
w
l
+
b
l
+
x
l
x_{l+1}=x_0x_l^Tw_l+b_l+x_l
xl+1=x0xlTwl+bl+xl
DCNv2则是将向量
w
w
w换为矩阵
W
W
W,考虑计算量将
W
W
W矩阵低秩性,将其分解通过两个小矩阵代替,同时也可以利用MoE建模低维空间的交叉特征。
【总结】推荐系统——精排篇【2】WDL/DCN/DCN-v2
AutoInt
AutoInt(Automatic Feature Interaction Learning viaSelf-Attentive Neural Networks)将transformer中的multi-head self attention和resnet引入CTR预估模型。实现了自动特征交叉学习以提升CTR预测任务的精度。
4.偏差
如何在工业界优化点击率预估:(八)Debias&Loss&校准
推荐系统中的偏差问题
5.在线学习
6.关键问题
推荐系统,离线 AUC 涨了,线上 CTR 等效果没涨,可能有哪些原因?