DLRM(Deep Learning Recommendation Model)[1]是Facebook在2019年提出的用于处理CTR问题的算法模型,与传统的CTR模型并没有太大的差别,文章本身更注重的是工业界对于深度模型的落地,在文中介绍了很多深度学习在实际落地过程中的细节,包括如何高效训练。在此我们更多的是关注模型本身,尝试揭开DLRM模型的本质。在DLRM模型中,突出解决两个问题:
DLRM模型的网络结构如下图所示:
在DLRM模型的网络结构中,从下而上,包括了输入层,Embedding层,特征交叉层,以及FNN输出层。
在CTR问题中,通常特征包括两种类型,第一类为类别、id类的离散特征,对于这类特征通常是利用one-hot编码对其进行编码,生成稀疏特征;第二类为数值型的连续特征。对于第一类的离散特征,通过one-hot编码后会变得特别稀疏,深度学习模型是不适合从稀疏数据中学习的,通常的做法是通过Embedding将其映射成一个稠密的连续值。假设one-hot编码后的向量是 ,向量中除了第 个位置为1外,通过Embedding后得到的embedding向量 为:
其中, 。而对于连续特征,DLRM中选择的处理方法是通过MLP多层感知机将所有的连续特征转化成一个与离散特征同样维度的embedding向量,如图中的黄色部分。
通过Embedding层后,所有的特征,包括离散特征和连续特征,可以通过MLP神经网络层做进一步转换,如图中的三角部分。经过MLP处理后进入到interaction特征交叉层。从文中的介绍可知,在interaction层,首先会将所有的embedding结果两两做点积,以此实现特征的交叉。然后将交叉后的特征和之前embedding结果组合在一起,以此同时实现了线形特征和交叉特征。最终通过MLP得到最终的输出。
在DLRM模型中,没有太多复杂的操作,都是一些基本的操作流程,这一点也比较符合工业界的思维。这里没有介绍工程实践方面的细节,详细的可以参见参考文献[1]。
[1] Naumov M, Mudigere D, Shi H J M, et al. Deep learning recommendation model for personalization and recommendation systems[J]. arXiv preprint arXiv:1906.00091, 2019.
[2] DLRM: An advanced, open source deep learning recommendation model
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有