基于深度学习的广告拍卖机制论文阅读笔记(2)

  • 《基于深度学习的广告拍卖机制论文阅读笔记(1)》
  • 《基于深度学习的广告拍卖机制论文阅读笔记(2)》

基于深度学习的广告拍卖机制

DNA

书接上回,《Neural Auction: End-to-End Learning of Auction Mechanisms for E-Commerce Advertising》是阿里妈妈算法团队于2021年发表的另一篇论文,其中提出了另一种基于深度学习的多目标优化的广告拍卖机制------DNA(Deep Neural Auction)。

问题建模

和Deep GSP类似,论文首先进行问题建模:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> max ⁡ M E b ∼ D [ F ( b ; M ) ] s.t. Incentive Compatibility(IC) constraint Individual Rationality(IR) constraints. \begin{aligned} \max_{\mathcal{M}}\qquad & {\mathbb{E}_{b\sim\mathcal{D}}\left[F(b;M)\right]} \\ \text{s.t.}\qquad & \text{Incentive Compatibility(IC) constraint} \\ & \text{Individual Rationality(IR) constraints.} \end{aligned} </math>Mmaxs.t.Eb∼D[F(b;M)]Incentive Compatibility(IC) constraintIndividual Rationality(IR) constraints.

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> F ( b ; M ) = λ 1 × f 1 ( b ; M ) + ⋯ + λ L × f L ( b ; M ) F(b;\mathcal{M})=\lambda_1\times f_1(b;\mathcal{M})+\cdots+\lambda_L\times f_L(b;\mathcal{M}) </math>F(b;M)=λ1×f1(b;M)+⋯+λL×fL(b;M),即DNA需要解决的问题是:在满足激励兼容(每个广告主都如实报价)和个体独立(每个广告主都获得非负的效用)的前提下,最大化多个广告效果指标(RPM、CTR、GMV等)的线性组合 。 而激励兼容的充要条件是:分配规则 <math xmlns="http://www.w3.org/1998/Math/MathML"> R \mathcal{R} </math>R单调分配(Monotone Allocation),即胜出的竞拍者如果提高出价仍能够赢得拍卖,且定价规则 <math xmlns="http://www.w3.org/1998/Math/MathML"> P \mathcal{P} </math>P**基于最低出价(Critical Bid based Pricing),即定价是维持当前胜出状态的最低出价。**另外,可以论证若机制满足上述条件,则其也满足个体独立。 因此,DNA需要解决的问题可以进一步转化为:和Deep GSP类似,设计一个包含分配规则和定价规则的广告拍卖机制,分配规则中,排序分随出价单调变化,定价规则中,取排在后一位的广告的排序分逆向计算当前广告的定价。

模型设计

整体架构

DNA的整体架构如图1下方所示,如标题所描述,其整体是一个端到端的解决方案,推理时,输入是候选广告集合,整体链路前向传播后,输出是胜出广告集合,训练时,整体链路反向传播更新参数。整体链路主要包括以下3个模块:

  • 集合编码器(Set Encoder),将候选广告集合作为特征进行Embedding,因为候选广告集合是无序的,所以使用满足置换不变性的集合编码器;
  • 上下文感知的排序分网络(Context-Aware Rank Score Network),所有候选广告共享一个排序分网络,排序分网络的输入包括候选广告本身的特征(如出价)、和作为上下文的候选广告集合Embedding特征,排序分网络输出排序分;排序分网络满足单调性------即排序分随候选广告的出价单调变化,同时,排序分网络支持逆向操作,取排在后一位的广告的排序分逆向计算当前广告的定价;
  • 可导的排序操作(Differentiable Sorting Operator),通常排序操作是离散且不可导的,为了实现端到端的解决方案,需要整体链路可导从而支持反向传播更新参数,因此论文实现了可导的排序操作。

基于上述3个模块,对候选广告集合进行排序,选取靠前的若干个广告胜出,并基于排序分网络进行逆向操作计算定价,从而实现广告拍卖的分配和定价。

图1 DNA整体架构

集合编码器

集合编码器(Set Encoder)将候选广告集合作为特征进行Embedding。因为候选广告集合是无序的,所以使用满足置换同变性的集合编码器。 论文使用了《Deep Sets》中提出的方案,如图2所示。令候选广告集合的原始特征为 <math xmlns="http://www.w3.org/1998/Math/MathML"> { x i } i = 1 N \{x_i\}{i=1}^N </math>{xi}i=1N,对于每个广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i,集合编码器的输入是除广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i外其他候选广告的原始特征,集合编码器的输出是 <math xmlns="http://www.w3.org/1998/Math/MathML"> h i ′ h_i' </math>hi′,表示除广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i外其他候选广告集合的Embedding特征,作为后续排序分网络输入中广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i的上下文特征。 集合编码器内部,对于每个广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i,首先对除广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i外的每个候选广告的原始特征,例如 <math xmlns="http://www.w3.org/1998/Math/MathML"> x i − 1 x{i-1} </math>xi−1,通过共享的全连接网络将其映射为隐向量 <math xmlns="http://www.w3.org/1998/Math/MathML"> h i − 1 h_{i-1} </math>hi−1: <math xmlns="http://www.w3.org/1998/Math/MathML"> h i − 1 = σ ( ϕ 1 ( x i − 1 ) ) h_{i-1}=\sigma(\phi_1(x_{i-1})) </math>hi−1=σ(ϕ1(xi−1)) 其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> ϕ 1 \phi_1 </math>ϕ1是全连接权重, <math xmlns="http://www.w3.org/1998/Math/MathML"> σ \sigma </math>σ是非线性激活函数。令 <math xmlns="http://www.w3.org/1998/Math/MathML"> h i ′ h_i' </math>hi′表示除广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i外其他候选广告隐向量的集合,经过平均池化后再通过全连接网络将其映射为最终的输出 <math xmlns="http://www.w3.org/1998/Math/MathML"> c c </math>c: <math xmlns="http://www.w3.org/1998/Math/MathML"> h i ′ = σ ( ϕ 2 ( avgpool ( h − i ) ) ) h_i'=\sigma(\phi_2(\text{avgpool}(h_{-i}))) </math>hi′=σ(ϕ2(avgpool(h−i))) 其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> avgpool \text{avgpool} </math>avgpool是平均池化操作, <math xmlns="http://www.w3.org/1998/Math/MathML"> ϕ 2 \phi_2 </math>ϕ2是全连接权重, <math xmlns="http://www.w3.org/1998/Math/MathML"> σ \sigma </math>σ是非线性激活函数。可以论证,集合编码器满足置换同变性,即不管除广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i外其他候选广告的顺序如何变化,集合编码器输出的 <math xmlns="http://www.w3.org/1998/Math/MathML"> h i ′ h_i' </math>hi′不变。

图2 集合编码器

另外,集合编码器使用的广告特征不包括出价,而在后续排序分网络中引入出价,并保证排序分随出价单调变化,从而保证整体方案满足激励兼容。

上下文感知的排序分网络

所有候选广告共享一个排序分网络。对于每个广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i,排序分网络的输入包括出价 <math xmlns="http://www.w3.org/1998/Math/MathML"> b i b_i </math>bi和出价以外的其他特征 <math xmlns="http://www.w3.org/1998/Math/MathML"> x i ′ x_i' </math>xi′,而 <math xmlns="http://www.w3.org/1998/Math/MathML"> x i ′ x_i' </math>xi′又包括广告本身的特征 <math xmlns="http://www.w3.org/1998/Math/MathML"> x i x_i </math>xi和集合编码器输出的候选广告集合Embedding特征 <math xmlns="http://www.w3.org/1998/Math/MathML"> h i ′ h_i' </math>hi′,通过引入 <math xmlns="http://www.w3.org/1998/Math/MathML"> h i ′ h_i' </math>hi′,实现上下文感知,排序分网络的输出即广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i的排序分 <math xmlns="http://www.w3.org/1998/Math/MathML"> r i r_i </math>ri。 排序分网络在计算排序分时,需要满足以下约束:排序分随出价单调变化,并且支持逆向操作,取排在后一位的广告的排序分逆向计算当前广告的定价。论文使用了《Monotone and Partially Monotone Neural Networks》中提出的方案,如图3所示,整体网络结构可表示为:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> r i = min ⁡ q ∈ [ Q ] max ⁡ z ∈ [ Z ] ( e w q z × b i + w q z ′ × x i ′ + α q z ) r_i=\min_{q\in[Q]}{\max_{z\in [Z]}{(e^{w_{qz}}\times b_i+w_{qz}'\times x_i'+\alpha_{qz})}} </math>ri=q∈[Q]minz∈[Z]max(ewqz×bi+wqz′×xi′+αqz)

首先通过 <math xmlns="http://www.w3.org/1998/Math/MathML"> e w q z × b i + w q z ′ × x i ′ + α q z e^{w_{qz}}\times b_i+w_{qz}'\times x_i'+\alpha_{qz} </math>ewqz×bi+wqz′×xi′+αqz计算 <math xmlns="http://www.w3.org/1998/Math/MathML"> b i b_i </math>bi和 <math xmlns="http://www.w3.org/1998/Math/MathML"> x i ′ x_i' </math>xi′的加权和,其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> w q z w_{qz} </math>wqz和 <math xmlns="http://www.w3.org/1998/Math/MathML"> w q z ′ w_{qz}' </math>wqz′所对应的权重矩阵 <math xmlns="http://www.w3.org/1998/Math/MathML"> ∈ R Q × Z \in\mathbb{R}^{Q\times Z} </math>∈RQ×Z,即 <math xmlns="http://www.w3.org/1998/Math/MathML"> q ∈ [ Q ] q\in[Q] </math>q∈[Q], <math xmlns="http://www.w3.org/1998/Math/MathML"> z ∈ [ Z ] z\in [Z] </math>z∈[Z],并通过 <math xmlns="http://www.w3.org/1998/Math/MathML"> e w q z e^{w_{qz}} </math>ewqz这一形式保证 <math xmlns="http://www.w3.org/1998/Math/MathML"> b i b_i </math>bi的权重恒为正,然后,先固定 <math xmlns="http://www.w3.org/1998/Math/MathML"> q q </math>q,计算所有 <math xmlns="http://www.w3.org/1998/Math/MathML"> z z </math>z中加权和的最大值,再计算所有 <math xmlns="http://www.w3.org/1998/Math/MathML"> q q </math>q中前序结果的最小值。可以论证,上述表达式可以近似表达任何函数,并且输出随 <math xmlns="http://www.w3.org/1998/Math/MathML"> b i b_i </math>bi单调变化,另外支持逆向操作,若已知排在后一位的广告的排序分为 <math xmlns="http://www.w3.org/1998/Math/MathML"> r i + 1 r_{i+1} </math>ri+1,则广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i的定价可由下式计算:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> p i = max ⁡ z ∈ [ Z ] min ⁡ q ∈ [ Q ] e − w q z ( r i + 1 − α q z − w q z ′ × x i ′ ) p_i=\max_{z\in [Z]}{\min_{q\in [Q]}{e^{-w_{qz}}(r_{i+1}-\alpha_{qz}-w_{qz}'\times x_i')}} </math>pi=z∈[Z]maxq∈[Q]mine−wqz(ri+1−αqz−wqz′×xi′)

首先计算 <math xmlns="http://www.w3.org/1998/Math/MathML"> e − w q z ( r i + 1 − α q z − w q z ′ × x i ′ ) e^{-w_{qz}}(r_{i+1}-\alpha_{qz}-w_{qz}'\times x_i') </math>e−wqz(ri+1−αqz−wqz′×xi′),然后,先固定 <math xmlns="http://www.w3.org/1998/Math/MathML"> z z </math>z,取所有 <math xmlns="http://www.w3.org/1998/Math/MathML"> q q </math>q中上述结果的最小值,再取所有 <math xmlns="http://www.w3.org/1998/Math/MathML"> z z </math>z中前序结果的最大值。

图3 上下文感知的排序分网络

可导的排序操作

在排序分网络输出每个候选广告的排序分后,对其进行排序。通常排序操作是离散且不可导的,为了实现端到端的解决方案,需要整体链路可导从而支持反向传播更新参数,因此论文实现了可导的排序操作。 论文使用了《Stochastic Optimization of Sorting Networks via Continuous Relaxations》中提出的方案------NeuralSort,将排序操作转化为SoftMax操作,计算每个广告排在某一位置的概率。 令候选广告集合通过排序分网络输出的排序分为 <math xmlns="http://www.w3.org/1998/Math/MathML"> r = [ r 1 , r 2 , ⋯   , r N ] T r=[r_1,r_2,\cdots,r_N]^T </math>r=[r1,r2,⋯,rN]T,则每个广告排在某一位置的概率可用矩阵 <math xmlns="http://www.w3.org/1998/Math/MathML"> M ^ r ∈ R K × N \hat{M}_r\in\mathbb{R}^{K\times N} </math>M^r∈RK×N表示,其中 <math xmlns="http://www.w3.org/1998/Math/MathML"> M ^ r [ k , i ] \hat{M}_r[k,i] </math>M^r[k,i]表示广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i排在位置 <math xmlns="http://www.w3.org/1998/Math/MathML"> k k </math>k的概率,候选广告集合所有广告排在位置 <math xmlns="http://www.w3.org/1998/Math/MathML"> k k </math>k的概率可通过以下SoftMax操作计算:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> M ^ r [ k : ] = softmax ( c k τ ) \hat{M}_r[k:]=\text{softmax}(\frac{c_k}{\tau}) </math>M^r[k:]=softmax(τck)

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> τ \tau </math>τ为大于0的超参, <math xmlns="http://www.w3.org/1998/Math/MathML"> c k = ( N + 1 − 2 k ) r − A r 1 c_k=(N+1-2k)r-A_r\mathbf{1} </math>ck=(N+1−2k)r−Ar1, <math xmlns="http://www.w3.org/1998/Math/MathML"> A r [ i , j ] = ∣ r i − r j ∣ A_r[i,j]=|r_i-r_j| </math>Ar[i,j]=∣ri−rj∣, <math xmlns="http://www.w3.org/1998/Math/MathML"> 1 ∈ R N × 1 \mathbf{1}\in \mathbb{R}^{N\times 1} </math>1∈RN×1、且所有元素取值为1。

图4 可导的排序操作

模型训练

训练数据来自电商广告按GSP拍卖产出的数据,数据包括广告主出价、预估值(pCTR、pCVR)、商品特征(品类和价格)、用户特征(性别、年龄和收入水平)、上下文特征(流量来源)。 损失函数包含两部分,第一部分是针对问题建模中的优化目标,最大化广告效果指标的线性组合,令所有候选广告的后验广告效果指标线性组合为 <math xmlns="http://www.w3.org/1998/Math/MathML"> F a l l F_{all} </math>Fall,则 <math xmlns="http://www.w3.org/1998/Math/MathML"> F a l l F_{all} </math>Fall可以表示为:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> F a l l = [ ∑ l = 1 L λ l × f l 1 , ⋯   , ∑ l = 1 L λ l × f l N ] T F_{all}=[\sum_{l=1}^L{\lambda_l\times f_l^1},\cdots,\sum_{l=1}^L{\lambda_l\times f_l^N}]^T </math>Fall=[l=1∑Lλl×fl1,⋯,l=1∑Lλl×flN]T

其中, <math xmlns="http://www.w3.org/1998/Math/MathML"> f l i f_l^i </math>fli表示广告 <math xmlns="http://www.w3.org/1998/Math/MathML"> i i </math>i的第 <math xmlns="http://www.w3.org/1998/Math/MathML"> l l </math>l个效果指标。类似于eCPM由点击出价和预估点击率相乘得到,通过 <math xmlns="http://www.w3.org/1998/Math/MathML"> F a l l F_{all} </math>Fall(后验广告效果指标)和 <math xmlns="http://www.w3.org/1998/Math/MathML"> M r ^ \hat{M_r} </math>Mr^(各位置各广告胜出的概率)相乘得到预期的多目标优化值,损失函数即最小化该值的负数,如下所示:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> L t g t = − ∑ i = 1 K M r ^ [ i , : ] ⋅ F a l l \mathcal{L}{tgt}=-\sum{i=1}^K{\hat{M_r}[i,:]\cdot F_{all}} </math>Ltgt=−i=1∑KMr^[i,:]⋅Fall

论文指出模型训练时,由于定价依赖排序结果,因此广告效果指标中的平台收入并不使用后验数据,而是根据排序结果实时计算定价和平台收入。 损失函数的第二部分为多分类任务的交叉熵损失函数,如下所示:
<math xmlns="http://www.w3.org/1998/Math/MathML" display="block"> L c e = − 1 N ∑ k = 1 N ∑ i = 1 N 1 ( M y [ k , i ] = 1 ) log ⁡ M r ^ [ k , i ] \mathcal{L}{ce}=-\frac{1}{N}\sum{k=1}^N{\sum_{i=1}^N{\mathbf{1}(M_y[k,i]=1)\log\hat{M_r}[k,i]}} </math>Lce=−N1k=1∑Ni=1∑N1(My[k,i]=1)logMr^[k,i]

论文指出根据候选广告的后验广告效果指标线性组合可以计算真实的最优排序,通过交叉熵损失函数使得预估排序逼近该最优排序。

实验评估

和Deep GSP类似,论文引入了多个广告效果指标评估DNA的多目标优化效果,并设计指标评估DNA是否满足激励兼容,基线机制上使用了GSP、uGSP和Deep GSP,和DNA进行对比,并进行了大量的离线和在线实验,充分论证了DNA的有效性。这里只摘录其中双目标优化的帕累托曲线,从中可以看出,Deep GSP相比GSP、uGSP和Deep GSP能更好的兼顾双目标,在多目标优化上能取得较大的效果提升。

图5 双目标优化的帕累托曲线

参考文献

相关推荐
戊辰happy1 小时前
arcface
算法
浊酒南街2 小时前
决策树python实现代码1
python·算法·决策树
Aileen_0v02 小时前
【玩转OCR | 腾讯云智能结构化OCR在图像增强与发票识别中的应用实践】
android·java·人工智能·云计算·ocr·腾讯云·玩转腾讯云ocr
阿正的梦工坊3 小时前
深入理解 PyTorch 的 view() 函数:以多头注意力机制(Multi-Head Attention)为例 (中英双语)
人工智能·pytorch·python
Ainnle3 小时前
GPT-O3:简单介绍
人工智能
冠位观测者3 小时前
【Leetcode 热题 100】208. 实现 Trie (前缀树)
数据结构·算法·leetcode
OceanBase数据库官方博客3 小时前
向量检索+大语言模型,免费搭建基于专属知识库的 RAG 智能助手
人工智能·oceanbase·分布式数据库·向量数据库·rag
测试者家园3 小时前
ChatGPT助力数据可视化与数据分析效率的提升(一)
软件测试·人工智能·信息可视化·chatgpt·数据挖掘·数据分析·用chatgpt做软件测试
小王爱吃月亮糖4 小时前
C++的23种设计模式
开发语言·c++·qt·算法·设计模式·ecmascript