![db132dbf41fb86b21efca5c0cd866371.png](https://i-blog.csdnimg.cn/blog_migrate/6106741b3d5daa01a6826e1693dc47b3.jpeg)
1. 背景
![c0452bc15ffc29a53659f359b5a723ba.png](https://i-blog.csdnimg.cn/blog_migrate/5247c9e33ea8a477f0957166ecd04a27.jpeg)
深度学习的快速发展,为推荐系统注入新的动力,并取得了显著的效果。目前大多数深度CTR模型大多都遵循Embedding和MLP范式,如上图所示:
- Embedding层:将离散id特征(如用户历史点击项)映射到低维向量,然后通过池转换为固定长度向量。
- MLP层:其目的是学习特征之间的非线性关系,并通过完全连接的网络(即多层感知)来匹配目标。
当前的模型改进大多都集中在MLP层,设计新的网络结构来替代MLP,如PNN、DeepFM、DIN和DIEN等,以更好地捕捉特征之间的非线性关系,而很少有人去改进基本但重要的embedding模块。Embedding和MLP的参数都是端到端学习的,这样Embedding直接确定后续MLP模块的输入分布。根据数据相关泛化理论,输入分布将影响模型的泛化性能,所以,embedding模块对deep CTR模型的泛化性能至关重要。然而目前embedding方式存在以下两点不足:
- 在许多实际系统中,特征的数量可以达到数十亿,导致嵌入参数的数量庞大。这会提高记忆能力,但会降低泛化能力。
- 传统的嵌入模块仅在点击标签的监督下,很难学习到具有较高泛化能力的代表性映射
2. 理论分析
对于电商的场景,用户的点击更多是基于用户的兴趣,因此构建了兴趣延迟模型(interest delay model)描述用户点击行为。将用户兴趣分成几个类别-称之为兴趣域(interest domains),基于兴趣延迟模型和泛化理论,作者认为通过减小同一兴趣域的的包络半径,有利于减小泛化误差。
2.1 兴趣延迟模型(interest delay model)
用户的兴趣在一个"period"内,表现在点击上具备一定的持续性,因此可以对历史上用户点击的item集合,可以分属于不同的兴趣域。如下图所示,当只有两个两个兴趣域时,样本分布可以用兴趣域的条件概率表示。
![8ac596d1367dea6a2afa0d4892543f04.png](https://i-blog.csdnimg.cn/blog_migrate/f7946c4eabf4f726cb3482271c77df17.jpeg)
同时也对用户的实际点击行为做了假设,进行样本建模。假设用户的每次点击都从属于一个兴趣域,一个兴趣阈负责一个period的用户点击行为,一个period的共有T个点击行为。然后T*p个历史点击行为预测用于下一个兴趣域下的点击行为xt。
![57ad7134bc61fa9f3ae07c752c88e3d6.png](https://i-blog.csdnimg.cn/blog_migrate/9749f65e75ebfc711cf191b4cde97954.jpeg)
2.2 泛化分析
基于用户行为的建模假设的样本数据,可以讨论具有ReLU的MLP在采样数据上的泛化误差界,如下所示(证明和推导的细节文章说见补充材料,目前还没找到)
![15acfade47d72423ab9c3f67325287a0.png](https://i-blog.csdnimg.cn/blog_migrate/d8069897b88c0c1e3620ebf987b63ec3.jpeg)
观察泛化误差公式,r是一个参数,在下确界运算中消失。||W||2是MLP中所有参数矩阵的2-范数的平均值。即||W||2=∑D i=1||W||2/D。lM是定义1中l(f,s)和lM=1的最大值。Nz是兴趣域的数目,Ns是兴趣序列集的数目。Rmax是所有兴趣域的包络最大值,d是嵌入向量的维数。只要模型的结构和训练数据是固定的,D、p、T、N、Nz和NS也是固定的。推广误差只受||W||2和Rmax的影响。||W||2受太多因素影响,不展开讨论。缩小嵌入向量的整个尺度,对embedding有正则效果,但是也会降低embeddiing的容量和表示能力。通过分别减小每个兴趣域的包络半径,可以使嵌入空间中具有相同感兴趣域的item更接近,但保持不同兴趣域item之间的距离,既可以控制泛化误差界,也保持CTR预测模型的容量和表示能力。
3. Res-embedding 实现
res-embedding应运而生,包含 central embedding 和residual embedding 两部分。
- central embedding:利用兴趣图的相邻的item进行计算每个向量
- residual embedding:每个item构建独立的embedding向量
central embedding和residual embedding的特点和作用:
同一兴趣域中的item共享相同的central embedding,每个item都有其唯一的小尺度residual embedding。一个item的最终嵌入向量是central embedding 和residual embedding之和。通过减小residual embedding的规模,可以有效地减小embedding空间中相同兴趣域之间的距离,从而减小泛化公式中的Rmax。
假设有I个兴趣域和H个项目。将中心嵌入矩阵定义为C∈R I×d。每一行C是每个兴趣域的central embedding。P∈R H×I是项目与兴趣域之间的关系矩阵。P的每一行是one-hot向量。如果第i项属于第j兴趣域,则元素P(i,j)=1,否则为0。R∈R H×d是residual embedding矩阵。R的每一行是每一项的residual embedding向量。最终embedding矩阵E∈R H×d,每一行E是每一项的最终嵌入向量。E计算为E=PC+R。
![53158f1b9370e3543385c1a57224cd0d.png](https://i-blog.csdnimg.cn/blog_migrate/5eaacabdcc54b9c2970ad98781c401a2.jpeg)
例如,在图3中,将8个嵌入向量替换为2个中心嵌入向量和8个剩余嵌入向量。利用这种结构,同一兴趣域中嵌入向量的包络半径由剩余嵌入向量的尺度所限定。
然而,item和兴趣域之间的关系矩阵P是未知的。换句话说,我们不知道每个项目属于哪个兴趣域。错误的P值可能会给深度CTR预测模型带来更差的泛化效果。此外,很可能一个项目不属于一个兴趣域。也就是说,中心嵌入的约束是软约束,这意味着同一兴趣域中的项的中心嵌入可能不完全相同,而只是更相似。在之前的样本构造假设中,一个隐藏的兴趣状态z将保持T个时间步来影响用户单击行为。因此,如果两个item在短期内更频繁地出现在用户单击行为中,则这两个item更有可能在同一兴趣域中。因此我们利用item对的共先频率构造item 的interest graph来描述项目之间兴趣域的相似关系。
3.1 interest graph
H代表item的总共个数,有两个embedding矩阵,central embedding basis 矩阵 Cb ∈ R H×d 和 residual embedding 矩阵 R ∈ R H×d .item的central embedding由其他item的central embedding basis 的线性组合得到。最终的embedding矩阵E就是两者之和:
![ae222242af4a5cfd2aabbcdebbad3922.png](https://i-blog.csdnimg.cn/blog_migrate/fe5732ec16510c5652cab877ca144610.png)
W是让item的central embedding能够在相同的interest domain的item更接近。item的central embedding是由邻接的item的central embedding bias 线性组合获得。利用用户历史浏览的数据构造兴趣矩阵,如下所示:其中gij表示的是item的id
![5d69b6d4860a1c9aecad182ab89b47cd.png](https://i-blog.csdnimg.cn/blog_migrate/c91b126e9c865e00d975353811c7d2b8.jpeg)
g(z)将临接矩阵转换成线性组合矩阵,可以通过调整K来过滤非兴趣域的item的连接关系。一个item的最终的central embedding由其相邻项在感兴趣图Z中的central embedding bias的线性组合构成,线性组合系数w由图的连接权确定。
![7ef81738d7b60139fec9da425bdbf6a1.png](https://i-blog.csdnimg.cn/blog_migrate/0f3812be9c0aaf62002a2bbc138979a3.png)
如下图所示,item i 的线查询获得链接item的central embedding bias 向量,在通过兴趣图的权重获取线性组合的权重最后组合得到central embedding。
![b920c82a7b5094d599d03d7671d1d283.png](https://i-blog.csdnimg.cn/blog_migrate/f3e9240119622e5d4c428cce5e5037c1.jpeg)
总共提出了3种不同的映射函数g(z)来获取样本的组合系数W:
a) 平均值
![a9aca883d40f3795164a3475447d8ebe.png](https://i-blog.csdnimg.cn/blog_migrate/1fec31ff0fbb973dab382716e51697c6.png)
b)借鉴GCN
![67df4532398ce077c4dc6b9b8fb6e1e9.png](https://i-blog.csdnimg.cn/blog_migrate/e952b039010d8700fc97b862ad845bd6.png)
c) attention
![095f2442197c11e05205649d81920975.png](https://i-blog.csdnimg.cn/blog_migrate/44aade69c54124032cb65e256db60443.jpeg)
除了平均值外,GCN和注意方法更注重每个相邻项目的重要性,因此,在实验中它们的效果更好。
3.2 优化目标
![2bd68e05b29cefb3881f262454202238.png](https://i-blog.csdnimg.cn/blog_migrate/2ccae51bbc0166d6ab6305247a4de5ec.png)
Θ是除嵌入层以外的深层CTR预测模型的参数集。E0(Θ,Cb,R)是CTR的交叉熵损失,加入l2正则化项L(R)和系数λ来约束residual embedding向量的尺度,residual embedding可以减少嵌入空间中属于同一兴趣域的商品与商品之间的距离,同时保持不同兴趣域中商品之间的距离。
5. 实验结论
在mazon和Movielens数据集上的实验,获得如下结论。
![badf8680e58e3ae100b274830c042d6c.png](https://i-blog.csdnimg.cn/blog_migrate/1b70f70f07866fb8491197e0f80f328c.png)
- 在原先的embedding基础上加入正则项,模型的性能有所提升,但是提升并不明显,因为降低了embedding的整体规模从而是的embedding的表示能力下降,同时降低了Rmax。
- 均值方法获取的权重矩阵的提升效果会小于attention和GCN,是因为average只是不加区分地聚集最近邻,而其他两种方法则考虑了不同相邻项的不同特征。
- res-embedding的参数个数是原始embedding参数的两倍。将原始embedding的维度扩大两倍,效果依然不及res-embedding,验证了是由于结构的改进而不是由于其参数个数的提神带来效果提升。
- residual embedding的有效性:通过控制residual embedding的正则系数控制其规模,当逐渐调小residual embedding的比例至1:10时,AUC准则达到峰值。较小的residual embedding规模意味着相同兴趣域的item的包络半径较小,有利于提高泛化性能。超过临界值后,效果却下降,这可能是由于residual embedding的尺度过小降低了嵌入层的表示能力,因此residual 部分可以作为一个调节器来平衡泛化和表示能力
6.总结思考
6.1 内容总结
在理论分析的基础上,设计了一种新的剩余嵌入结构res-embedding,从理论上提高了系统的泛化能力。在这种结构中,每个项目的嵌入向量是一个central embedding向量和一个独立的低尺度Residual embedding的和。相同兴趣域中的项具有相似的中心嵌入向量,有利于提高模型的泛化能力。为了实现这一目标,我们基于用户历史行为序列中项目的共现频率构建了一个基于项目的兴趣图。每个项目的中心嵌入向量被计算为兴趣图中其相邻项目的中心嵌入基向量的线性组合,线性组合系数由平均值、GCN(图卷积网络)[13]和注意三个实际实现计算。另外,在deep-CTR模型的最终目标函数上,对残差嵌入向量参数的l2范数进行惩罚,使得残差嵌入向量具有小尺度性。
6.2 个人思考
- 是否可以直接理解成是聚类 embedding
- 论文中提及是非端到端的,只是图的创建更新非实时,但是两个embedding矩阵应该还是实时训练,实时更新的?
- 模型的线上使用在构图方面是不是可以局部更新加快速度
- 文章在最后实验阶段给出了和node2vec的效果比较,但是并没有对原因进行进一步的阐明,我理解node2vec在建图过程是一致的,通过调整采样参数获取网络的同质性和结构性,理论上是得到的embedding应该也是具备兴趣域的效果。