漫谈深度学习时代点击率预估技术进展
漫谈深度学习时代点击率预估技术进展(2019-1)
本文来源:[镶嵌在互联网技术上的明珠]
(https://zhuanlan.zhihu.com/p/54822778)
下文是阅读后的一些笔记
在DL落地互联网、驱动业界技术的轮子差不多转到第一圈的时候,进行的系统梳理和盘点;对下一阶段技术发展提出挑战和趋势(以阿里定向广告点击率预估技术为例)
一,深度学习驱动的CTR预估技术演化
0 浅层模型时代:以MTR为例
2011-2012 MLR模型提出并实际部署到线上系统,以及同时期的FM模型等的出现,打破线性LR模型的局限性,向非线性方向推进
第一个工作:将MLR模型推向大规模离散特征体系(大规模离散特征+分布式非线性MLR模型)(因为细粒度的特征刻画携带的信息 量要远比统计平均特征的分辨率高),背后的挑战在于:
- 数百维统计特征到数十亿离散特征,训练程序要升级,从数据并行升级到模型并行,且非线性模型更复杂,要利用数据结构化的特点进行加速
- 未进行特征组合,完全依赖模型的非线性能力,模型能否学习到兼具拟合能力和泛化能力?
- 收敛性怎么样
15年成功了,在定向广告的所有场景下都落地,但这种方案未被业界广泛采纳,因为特征工程更符合人的直观认知,可靠快速试错迭代运行,而MLR需要较强的建模信仰和建模能力重磅!阿里妈妈首次公开自研CTR预估核心算法MLR
1 技术拐点:端到端学习网络的突破
MLR遇到瓶颈,想发挥其非线性能力需要提高模型分片数,但参数线性增长,训练样本量需要大幅度增加。
开始关注深度学习 构思出GwEN模型网络架构,超越线上重度优化的MLR
基于深度学习的广告CTR预估算法
和谷歌的WDL类似
这种端到端deep CTR 成功后,业界以”把特征工程的经验搬上DL模型“这个视角相继出现多个模型(PNN DeepFM DCN xDeepEM等)
思路是:用人工构造的代数式先验来帮助模型建立对某种认知模式的预设(比如特征的笛卡尔积 embedding后的投影空间用内积、外积甚至多项式乘积等方式组合)
2 技术拐点 :模型工程奠基
如果说大规模浅层机器学习时代的特征工程(FE)是经验驱动,那么大规模深度学习时代的模型工程(ME)是数据驱动
FE时代大都是在帮助模型人工预设一些特征交叉关系先验
ME时代的迭代方式是给模型喂更多的、以前浅层模型难以端到端建模的signal DL模型自带复杂模式的学习能力
此后业界跨入个性化时代,对用户个性化行为偏好进行研究建模预测成为主旋律。这种蕴含着高度非线性的大规模离散用户行为数据应该设计什么样的网络结构?
两个阶段性成果:
- DIN模型DIN解读
- DIEN模型DIEN解读
两者都围绕用户兴趣建模进行探索 从阿里电商场景观察到的数据特点切入并进行网络结构的设计
DIN捕捉用户兴趣的多样性以及与预测目标的局部相关性;
DIEN进一步强化用户兴趣的演化性以及兴趣在不同域之间的投影关系
(很多人开始结合论文里面的基本模块FM Product Attention等组合尝试 堆结构+调参 挣快钱)
3 技术拐点:超越单体模型的建模套路
由于DL模型强大的刻画能力,可以真正端到端的引入很多在大规模浅层模型难以引入的signal ,比如淘宝用户每个行为对应的商品原图/详情
主模型结构上一节已经介绍,与之正交的是全新的建模套路 引入多模态/多目标/多场景/多模块信号 端到端的建模,比如:
- ESMM模型ESMM解读
- DICM
4 技术拐点:嵌入工程系统的算法设计
实际的工业系统,除了上述抽象出来的CTR预估问题,还有很多独立话题。
以广告系统为例,从算法视角来看至少有以下环节:
匹配>召回>海选>粗排>精排>策略调控
几个典型的系统瓶颈:海选/粗排所在的检索引擎,精排所在的在线预估引擎、以及这些算法离线所依赖的模型生产链路
- 海选/粗排的复杂化模型升级:原来的检索过程涉及到的排序时静态的非个性化的,和精排里面各种各样复杂精细的模型技术相比很粗糙。 背后的核心问题是检索时候选集太大,计算中必须精简否则时延过长。深度学习加入后的深度个性化质量分模型,相比静态模型有了更大的性能提升。
海选/粗排DQM模型只帮助所见候选集规模,不作为最终广告的排序分,不用考虑极致,相应考虑系统性能和数据循环扰动 - 面向在线预估引擎的模型压缩
LR MLR时代在线预估引擎计算简单压力不大,但是复杂的深度学习模型层出不穷后,在线引擎算力瓶颈凸显。尝试了一种轻量级模型压缩算法 - 打破资源依赖的增量/实时化算法架构
DL模型复杂化带来的还有离线生产链路的资源挑战。全量模型的训练时间、占用机器规模逐步增加、模型并行研发规模大增模型个数x模型时长x机器规模 全面增长
一些Tips
- 大厂追求最高收益可以选用复杂技术。小厂投入不足,可行建议是:采用DQM式的结构 把user ad query或 上下文统一嵌入到vector空间 用向量计算架构进行在线服务 好处在于在线预估系统可以极简 集中精力到离线特征/模型调优
- 规模化的算法团队 不要盲目相信paper里的架构 固定模型不存在 模型是死的 场景是活的
- 更大的算法团队 牢记“算法-系统-架构”一体的理念和方法论 算法这些更新时要打破旧规则建立全新的基础设施
- 离散特征的丰富性跟DL模型的效果密切相关。特征-模型-样本是机器学习三要素。有实力有需求的团队应该充分拓展更丰富的特征表达和样本信息容量,给模型创造更大的发挥空间。
- DL模型时代算法的开发和试错成本低,要利用自动化的算法迭代和生产链路,完整的自动化链路才能发挥算法的真正发挥。
- 少重复造轮子,多拥抱开源
漫谈深度学习时代点击率预估技术进展相关推荐
- 关于点击率模型,你知道这三点就够了 点击率预估的几个经典模型简介
关于点击率模型,你知道这三点就够了 德川 2015年11月24日 阅读 2091 快速评论 说到广告,或者运营,关注的最多的就是点击率了.我们经常能听说某某科学家通过建立更好的点击率预测模型,为公司带 ...
- 点击率预估的几个经典模型简介
点击率预估的几个经典模型简介 2016-02-22 00:32 点击率预估是大数据技术应用的最经典问题之一,在计算广告,推荐系统,金融征信等等很多领域拥有广泛的应用.本文不打算对这个话题做个全面 ...
- 前深度学习时代CTR预估模型的演化之路:从LR到FFM\n
本文是王喆在 AI 前线 开设的原创技术专栏"深度学习 CTR 预估模型实践"的第二篇文章(以下"深度学习 CTR 预估模型实践"简称"深度 CTR ...
- 前深度学习时代CTR预估模型的演化之路 [王喆观点]
毕业于清华大学计算机系的王喆学长梳理从传统机器学习时代到深度学习时代所有经典CTR(click through rate)模型的演化关系和模型特点.内容来源:https://zhuanlan.zhih ...
- 阿里妈妈牟娜:定向广告新一代点击率预估主模型——深度兴趣演化网络
分享嘉宾:牟娜 阿里巴巴 高级算法工程师 编辑整理:孙锴 内容来源:DataFun AI Talk<定向广告新一代点击率预估主模型--深度兴趣演化网络> 出品社区:DataFun 导读: ...
- 效果广告点击率预估实践:在线学习
效果广告点击率预估实践:在线学习 原创 2016-03-24 腾讯大数据 腾讯大数据 1.引言 技术钻研如逆水行舟,不进则退.公司的广告业务发展非常迅猛,有目共睹,激烈的外部竞争和客户越来越高的期望, ...
- 推荐系统学习笔记-论文研读--点击率预估中特征交互的作用
研究背景 当前点击率预估模型没有完全挖掘特征交互的潜力 特征的表征学习与特征的交互存在冲突 笛卡尔积的方法比当前的点击率预估模型效果都好 算法模型的效率和效果的平衡 阿里巴巴线上业务量级和耗时的考虑 ...
- 京东最新点击率预估模型论文学习和分享
最近看了京东算法团队最新发表的一篇点击率预估模型的paper Telepath: Understanding Users from a Human Vision Perspective in Larg ...
- 微信公众号广告点击率预估效果优化
[转载]微信公众号广告点击率预估效果优化_腾讯大数据 http://data.qq.com/article?id=2914 1.背景 点击率预估(pCTR)是广告投放过程中的一个重要环节,精准的点击率 ...
最新文章
- 什么是ObjCTypes?
- mysql导出停机_MySQL自动停机的问题处理实战记录
- 筱玛爱游戏——线性基
- pytorch笔记: 处理inf和nan数值
- android 刷rom,刷ROM是什么?刷ROM是什么意思?
- 1.php查询数据,数据查询 · thinkphp5 · 看云
- python contains类似函数_Python也能做到Excel那样,条件统计轻松解决工作需求
- 学号程序编辑 c语言,C语言程序设计实习报告 行编辑器 学生管理系统
- java 反射创建属性_使用Java反射机制确定基本数据类型属性
- 基于Java的汽车租赁系统
- jQuery获取表单数据
- java怎么打印课程表_自明排课系统如何打印?教你打印课表的方法
- 交互设计流程是怎样的?
- pandas笔记之分列
- 华为meto40 pro怎么升级鸿蒙,我有一台mate40pro,何时可以升级鸿蒙系统?
- ENVI制作土壤干旱墒情专题图/地域干旱分布
- k8s :pod has unbound immediate PersistentVolumeClaims
- 跟java有关的搞笑句子,有关搞笑的经典语句
- JavaScript随机生成字母、数字
- while循环语句初学
热门文章
- 偷看了女友的日记,我泪流满面【转载】
- 【视频架构day1】美拍短视频系统架构:1亿流量的应对之道
- 如何让一幅图片逐渐变淡
- android sqlite 存储对象,SQLite存储对象
- 轿子vs.小汽车和电话vs.跟班
- 使用yarn add安装依赖时报错‘error An unexpected error occurred: “EINVAL: invalid argument, unlink ’
- abap 创建出口历程_走进SAP ERP的发展探索历程
- Cimplicity软件开发的汽车厂监控系统案例
- 【设计模式·Python】创建型模式
- Android 更换用户头像(拍照、相册选取)