博客
关于我
embedding层_【预估排序】Embedding+MLP: 深度学习预估排序通用框架(一)
阅读量:791 次
发布时间:2023-01-24

本文共 1539 字,大约阅读时间需要 5 分钟。

Google的 ctr 预估模型(1):wide&deep、DeepFM和DCN

intro

谷歌提出的 wide&deep 模型为 ctr 预估框架提供了全新的思路。本文将从 wide&deep 和其改进版本 DeepFM、DCN 三个模型入手,序贯阐述它们的核心原理与学习范式。

wide&deep 模型

原理

Google 在 2016 年提出的 wide&deep 模型旨在协调.memorization(记忆)与.generalization(泛化)的关系。在推荐系统领域,这个问题被称为探索与利用(E&E)问题。记忆能力的代表是一致的用户行为模式,而泛化能力则体现了模型对上下文环境变化的适应性。

wide部分

wide 模块运用传统的线性模型,主要负责记忆功能。通过特征筛选,可以精准捕捉已知的用户行为模式。然而,其局限性在于难以发现长尾模式或未被覆盖的关系,导致泛化能力较弱。

deep部分

deep 模块则采用业界常见的 embedding + MLP 架构,专注于拓展任务。通过向量表示,可以实现模糊匹配,使得模型不仅能捕捉用户行为模式,还能适应复杂的上下文环境。然而,deep 部分可能会出现泛化过度的问题。

模型学习

联合训练

wide 和 deep 部分通过联合训练得到最终预估结果。wide 部分采用 L1 正则化的 FTRL 优化算法,确保模型稀疏性。deep 部分则使用 Adagrad 优化器,能够更好地适应稀疏特征。

DeepFM 模型

原理

DeepFM 是对 wide&deep 模型的改进。它通过将 wide 部分替换为 Factorization Machine(FM),实现自动特征交叉。FM 模块通过隐变量学习稀疏特征嵌入,适合用于离散特征场景。

FM部分

FM 模块通过因式分解机(Factorization Machine)学习特征间的关系,充分挖掘低阶特征组合特征。

deep部分

深度部分采用前馈神经网络,输入为特征嵌入向量。通过激活函数(如 ReLU)和隐藏层的非线性变换,学习高阶特征组合。

模型学习

DeepFM 进行联合学习,输出结果经过 logistic 函数转化为概率形式。

DCN(Deep&Cross Network) 模型

原理

DCN 是对 wide&deep 模型的另一个改进,它将 wide 部分替换为 Cross Network(CROSS!");

Cross 部分

Cross Network 主要功能是自动进行有限高阶特征交叉。通过层叠结构,可以处理从一阶到高阶的特征交叉,并通过参数共享降低模型复杂度。

模型学习

DCN 进行联合训练,通过拼接 Cross Network 和 Deep Network 的输出,得到最终预测概率。

模型对比

模型 特点/.优势点 不足点/劣势点
wide&deep 同时具备记忆与泛化能力;微调灵活性高 人工特征交叉,维度膨胀,部署复杂
DeepFM 二阶特征交叉自动化,模型种类数减少 对特征稀疏性要求较高,性能优化依赖于特征设计
DCN Cross 模块自动高阶特征交叉,参数共享能力强 高阶特征交叉有限,不支持像 FM 那样灵活的特征设计

总结

从技术演进来看,wide&deep 为 ctr 预估框架奠定了关键要素。其改进版本——DeepFM 和 DCN——主要通过自动化特征交叉机制,解决了 wide 部分的人工特征设计痛点。未来,随着模型架构的不断进化(如Sparse attention、Graph-based 方法等),ctr 预估框架的技术呈现多元化趋势。建议读者关注我的后续文章,将从经典的高阶模型入手,深入探讨不同预估框架的设计哲学。

转载地址:http://woeyk.baihongyu.com/

你可能感兴趣的文章
Java提高班(六)反射和动态代理(JDK Proxy和Cglib)
查看>>
java操作List
查看>>
Java操作Sql语句 出现迭代死循环 (Bug排查)
查看>>
#Leetcode# 92. Reverse Linked List II
查看>>
# tail -f /var/log/zabbix/zabbix_agentd.log sudo: sorry, you must have a tty to run sudo
查看>>
java攀枝花市房屋租售信息管理平台的设计与实现(ssm)
查看>>
java教学团队管理系统(ssm)
查看>>
java教学网站(ssm)
查看>>
java教学质量管理平台(ssm)
查看>>
java教师信息采集系统(ssm)
查看>>
java教师教学质量评估系统(ssm)
查看>>
java教师管理系统(ssm)
查看>>
java教师管理系统(ssm)
查看>>
java教师管理系统(ssm)
查看>>
java教师继续教育(ssm)
查看>>
java教师绩效考核过程管理系统(ssm)
查看>>
java教师课堂助手app(ssm)
查看>>
java教师课程管理与教学辅助系统(ssm)
查看>>
java教研室采购管理系统(ssm)
查看>>
java教职工离兰返兰行程报备系统(ssm)
查看>>