广告系统

广告竞价划分 #card

  • ssp <-> adx(拍卖平台) <-> dsp

召回系统

精排,根据业务去挖掘特征

对模型效果比较重要的几部分

  • 数据流

    • 比较核心的目标是及时且准确地获取各种事件 (click,convert) 的 ground truth;“及时” 指的是 发生的事件需要尽可能快地喂给模型 ,“准确” 指的是 这些事件需要被正确打上 label。

    • 数据流与转化归因 (conversion attribution)

      • 归因可以理解为 label 的获取与拼接, 当前最常见的是 last touch 方式的归因,也有一些其他的归因方式如 multi-touch 归因等, 通常涉及到广告主的上报和实际的拼接两部分

      • [[delayed feedback]]

    • [[CTR Bias]]

      • [[exposure bias]] 只有曝光的样本才能进入训练集,[[负样本]]选择问题

      • [[position bias]]

    • 全渠道数据 [[全场景建模]]

      • 核心 :-> 将被 cvr 被低估的用户通过全渠道数据捞回来
      • 如何获得跨平台的样本? #card
        • 一种是广告主将媒体 A 的数据归因后直接回传给媒体 B,

        • 另一种则是媒体之间相互合作,如笔者做过的联邦学习在广告的落地应用就是属于这部分。

  • [[特征工程]] dnn 模型的特征选择

    • 常用挖掘套路 #card

      • 属性特征:用户 / 广告本身的一些属性,如用户的年龄、性别;广告的类别、样式等

      • 统计特征:用户在特定时间范围 (如过去 7d、 3d、 12h、1h 等) 对当前广告的特定的维度 (如特定类别、特定位置、特定广告主等) 的广告进行了特定操作 (如点击、浏览等) 的次数;

      • 序列特征:即用户在一段时间内的行为序列,如最近 30 个点击过的广告 / 商品;典型的应用可参考阿里的 DIN

    • [[特征筛选]]

      • 最简单的做法是删除指定特征,然后重新训练模型并评估,但是这种做法在训练时长较长时开销是比较大的

      • 在训练过程中便能得到每个特征的重要性

        • 为每个 feature 增加一个 attention unit,如 DIN [[activation unit]] #card

          • ,训练过程中通过这个 attention unit 输出的值来衡量每个特征重要性;其假设是对于重要特征,模型能够自动学习出其权重情况
        • embedding weight:#card

          • 根据每个 feature 对应的 embedding 的值大小来判断重要性, 常见的有基于 embedding 的 L1 norm,L2 norm 等;其假设是对于重要特征,其对应的 embedding 的值越大,类比 lr,其实 nn 可以近似认为是多个 lr 组成的
        • 回到最开始的想法,即删除指定特征,然后重新训练模型并评估,能否在训练过程中便达到这一目的呢?#card

          • 其实是可以的,在训练过程中通过 mask 的方式近似将 embedding 全置为 0,近似当做 drop 掉这个特征,然后通过 multi-head 的方式计算这部分 auc 即可。
  • 训练

    • 模型结构可解释性

      • VC Dimension:#card

        • VC Dimension 本质上是在描述数据量大小和模型大小的关系,即模型参数量应该与数据量大小成正比关系,否则容易出现过拟合或欠拟合的问题
      • attention:#card

        • attention 用最直白的话来说就是动态加权,而这也很符合直觉,如每个特征的重要性不一样,应该对重要性高的给予更高的权重;在 NN 模型中,attention 常用在两个地方: embedding 和 hidden unit;

          • embedding 的 attention 策略可参考这篇文章 SENet 双塔模型:在推荐领域召回粗排的应用及其它;

          • 而针对 hidden unit 的 attention 则可参考这篇 paper,Learning Hidden Unit Contributions for Unsupervised Acoustic Model Adaptation [[LHUC]]

      • multitask: multitask 结构有两个常见的用处,#card

        • 第一种认为多个 task 之间有关联,联合训练能增加数据量,同时提升效果;

        • 第二种则是对于预估值的准确性有要求的场景,如果广告的 ctr、cvr 的预估,往往数据流中混合了多个场景的数据,且每个场景对应的数据的后验不同的,为了保值预估值的准确性,需要将后验值不同的数据分到不同的 head 中

    • 模型训练

      • 初始化对效果有影响,而这个问题可以从几个角度去理解,

        • 从最优化的角度理解,#card

          • 是因为 NN 的优化往往是一个 non-convex 的问题, 如果初始化不好,一开始可能就处于一个不好的位置;
        • 从 bp 的角度理解,#card

          • 初始化的值过小或过大,容易导致梯度消失会梯度爆炸,关于这部分,deeplearning.ai 上的 Initializing neural networks 讲得比较好了,还辅以实践,推荐读一下。
      • 优化器 #card

        • 训练过程本质上就是个优化问题,通过 bp 过程不断修正初始化的 parameter,从而达到损失函数最小的目标,更详细的描述可以参考 Parameter optimization in neural networks;中间涉及到了各种超参数的选择:如 learning rate、batch size、optimizer 等;

        • 其中 optimizer 也有非常多的选择,其中 optimizer 的选择往往又是一个值得考量的地方,关于各类 optimizer 的区别可以参考这篇文章,一个框架看懂优化算法之异同 SGD/AdaGrad/Adam

      • 损失函数

        • 损失函数基本都是通过 MLE 或 MAP 推导出来的,其思想都是假设训练样本都是服从某些分布生成的,而训练的目标是让这些样本的联合概率最大;#card

          • 如 mse 的 assumption 是模型预估值与 ground truth 的误差服从正态分布,

          • cross entropy 的 assumption 是预估值服从伯努利分布;

          • 而这两个其实也能被统一到 GLM 这个框架下。

        • 目前在业界更常见的做法是把问题转为分类问题,对应的 loss 即为 cross entropy,而其实一些回归的 loss 也能通过 weighted logistics regression 转化为分类的问题,#card

          • 比较经典的就是 youtube 的 Deep Neural Networks for YouTube Recommendations 中 Modeling Expected Watch Time 部分;
        • 基于最原始 cross entropy 衍生出来的 loss 主要有两种形式#card

          • reweight, 即对样本进行各种加权, 包括但不限于根据物理含义直接加权 (如观看时长)、通过 importance sampling 等方式推导出来的 loss,其最终形式也是 reweight 的模式

          • auxiliary/regularization, 即在原始的 task 上增加一些辅助任务或正则项,如 center loss 等

  • 预估纠偏 [[CTR 校准]]

    • [[保序回归]]

    • 上面在 loss 中对样本进行 reweight 的方式,会影响正负样本的分布,导致统计意义上预估值的就是有偏的,应对的策略#card

      • 可以在训练阶段就进行纠偏,或者在预估值上直接做一个转换,这部分内容可参考这篇文章 Delayed FeedBack In Computational Advertising 的 Fake negative calibration

出价 [[bidding]],计算广告相对于推荐最大的不同点

[[冷启动]]

  • 利用 meta-network 为冷启动的 item 生成一个 id embedding

    • item 的 meta 信息通过小网络生成 embedding

    • 增加一些 [[auxiliary task]] 来训练小网络

  • MAML 方法训练模型,让 embedding 更快收敛

Ref

作者

Ryen Xiang

发布于

2024-10-05

更新于

2025-04-19

许可协议


网络回响

评论