漫谈深度学习时代点击率预估技术进展

漫谈深度学习时代点击率预估技术进展(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 ,比如淘宝用户每个行为对应的商品原图/详情
漫谈深度学习时代点击率预估技术进展_第1张图片
主模型结构上一节已经介绍,与之正交的是全新的建模套路 引入多模态/多目标/多场景/多模块信号 端到端的建模,比如:

  • ESMM模型ESMM解读
  • DICM

4 技术拐点:嵌入工程系统的算法设计

实际的工业系统,除了上述抽象出来的CTR预估问题,还有很多独立话题。
以广告系统为例,从算法视角来看至少有以下环节:
匹配>召回>海选>粗排>精排>策略调控
几个典型的系统瓶颈:海选/粗排所在的检索引擎,精排所在的在线预估引擎、以及这些算法离线所依赖的模型生产链路

  • 海选/粗排的复杂化模型升级:原来的检索过程涉及到的排序时静态的非个性化的,和精排里面各种各样复杂精细的模型技术相比很粗糙。 背后的核心问题是检索时候选集太大,计算中必须精简否则时延过长。深度学习加入后的深度个性化质量分模型,相比静态模型有了更大的性能提升。
    海选/粗排DQM模型只帮助所见候选集规模,不作为最终广告的排序分,不用考虑极致,相应考虑系统性能和数据循环扰动
  • 面向在线预估引擎的模型压缩
    LR MLR时代在线预估引擎计算简单压力不大,但是复杂的深度学习模型层出不穷后,在线引擎算力瓶颈凸显。尝试了一种轻量级模型压缩算法
  • 打破资源依赖的增量/实时化算法架构
    DL模型复杂化带来的还有离线生产链路的资源挑战。全量模型的训练时间、占用机器规模逐步增加、模型并行研发规模大增模型个数x模型时长x机器规模 全面增长

一些Tips

  • 大厂追求最高收益可以选用复杂技术。小厂投入不足,可行建议是:采用DQM式的结构 把user ad query或 上下文统一嵌入到vector空间 用向量计算架构进行在线服务 好处在于在线预估系统可以极简 集中精力到离线特征/模型调优
  • 规模化的算法团队 不要盲目相信paper里的架构 固定模型不存在 模型是死的 场景是活的
  • 更大的算法团队 牢记“算法-系统-架构”一体的理念和方法论 算法这些更新时要打破旧规则建立全新的基础设施
  • 离散特征的丰富性跟DL模型的效果密切相关。特征-模型-样本是机器学习三要素。有实力有需求的团队应该充分拓展更丰富的特征表达和样本信息容量,给模型创造更大的发挥空间。
  • DL模型时代算法的开发和试错成本低,要利用自动化的算法迭代和生产链路,完整的自动化链路才能发挥算法的真正发挥。
  • 少重复造轮子,多拥抱开源

你可能感兴趣的:(深度学习,人工智能,推荐算法)