- 《基于深度学习的广告拍卖机制论文阅读笔记(1)》
- 《基于深度学习的广告拍卖机制论文阅读笔记(2)》
基于深度学习的广告拍卖机制
DNA
书接上回,《Neural Auction: End-to-End Learning of Auction Mechanisms for E-Commerce Advertising》是阿里妈妈算法团队于2021年发表的另一篇论文,其中提出了另一种基于深度学习的多目标优化的广告拍卖机制——DNA(Deep Neural Auction)。
问题建模
和Deep GSP类似,论文首先进行问题建模:
maxMEb∼D[F(b;M)]s.t.Incentive Compatibility(IC) constraintIndividual Rationality(IR) constraints.begin{aligned}
max_{mathcal{M}}qquad & {mathbb{E}_{bsimmathcal{D}}left[F(b;M)right]} \
text{s.t.}qquad & text{Incentive Compatibility(IC) constraint} \
& text{Individual Rationality(IR) constraints.}
end{aligned}
其中,F(b;M)=λ1×f1(b;M)+⋯+λL×fL(b;M)F(b;mathcal{M})=lambda_1times f_1(b;mathcal{M})+cdots+lambda_Ltimes f_L(b;mathcal{M}),即DNA需要解决的问题是:在满足激励兼容(每个广告主都如实报价)和个体独立(每个广告主都获得非负的效用)的前提下,最大化多个广告效果指标(RPM、CTR、GMV等)的线性组合。
而激励兼容的充要条件是:分配规则Rmathcal{R}单调分配(Monotone Allocation),即胜出的竞拍者如果提高出价仍能够赢得拍卖,且定价规则Pmathcal{P}**基于最低出价(Critical Bid based Pricing),即定价是维持当前胜出状态的最低出价。**另外,可以论证若机制满足上述条件,则其也满足个体独立。
因此,DNA需要解决的问题可以进一步转化为:和Deep GSP类似,设计一个包含分配规则和定价规则的广告拍卖机制,分配规则中,排序分随出价单调变化,定价规则中,取排在后一位的广告的排序分逆向计算当前广告的定价。
模型设计
整体架构
DNA的整体架构如图1下方所示,如标题所描述,其整体是一个端到端的解决方案,推理时,输入是候选广告集合,整体链路前向传播后,输出是胜出广告集合,训练时,整体链路反向传播更新参数。整体链路主要包括以下3个模块:
- 集合编码器(Set Encoder),将候选广告集合作为特征进行Embedding,因为候选广告集合是无序的,所以使用满足置换不变性的集合编码器;
- 上下文感知的排序分网络(Context-Aware Rank Score Network),所有候选广告共享一个排序分网络,排序分网络的输入包括候选广告本身的特征(如出价)、和作为上下文的候选广告集合Embedding特征,排序分网络输出排序分;排序分网络满足单调性——即排序分随候选广告的出价单调变化,同时,排序分网络支持逆向操作,取排在后一位的广告的排序分逆向计算当前广告的定价;
- 可导的排序操作(Differentiable Sorting Operator),通常排序操作是离散且不可导的,为了实现端到端的解决方案,需要整体链路可导从而支持反向传播更新参数,因此论文实现了可导的排序操作。
基于上述3个模块,对候选广告集合进行排序,选取靠前的若干个广告胜出,并基于排序分网络进行逆向操作计算定价,从而实现广告拍卖的分配和定价。
集合编码器
集合编码器(Set Encoder)将候选广告集合作为特征进行Embedding。因为候选广告集合是无序的,所以使用满足置换同变性的集合编码器。
论文使用了《Deep Sets》中提出的方案,如图2所示。令候选广告集合的原始特征为{xi}i=1N{x_i}_{i=1}^N,对于每个广告ii,集合编码器的输入是除广告ii外其他候选广告的原始特征,集合编码器的输出是hi′h_i’,表示除广告ii外其他候选广告集合的Embedding特征,作为后续排序分网络输入中广告ii的上下文特征。
集合编码器内部,对于每个广告ii,首先对除广告ii外的每个候选广告的原始特征,例如xi−1x_{i-1},通过共享的全连接网络将其映射为隐向量hi−1h_{i-1}:
hi−1=σ(ϕ1(xi−1))h_{i-1}=sigma(phi_1(x_{i-1}))
其中,ϕ1phi_1是全连接权重,σsigma是非线性激活函数。令hi′h_i’表示除广告ii外其他候选广告隐向量的集合,经过平均池化后再通过全连接网络将其映射为最终的输出cc:
hi′=σ(ϕ2(avgpool(h−i)))h_i’=sigma(phi_2(text{avgpool}(h_{-i})))
其中,avgpooltext{avgpool}是平均池化操作,ϕ2phi_2是全连接权重,σsigma是非线性激活函数。可以论证,集合编码器满足置换同变性,即不管除广告ii外其他候选广告的顺序如何变化,集合编码器输出的hi′h_i’不变。
另外,集合编码器使用的广告特征不包括出价,而在后续排序分网络中引入出价,并保证排序分随出价单调变化,从而保证整体方案满足激励兼容。
上下文感知的排序分网络
所有候选广告共享一个排序分网络。对于每个广告ii,排序分网络的输入包括出价bib_i和出价以外的其他特征xi′x_i’,而xi′x_i’又包括广告本身的特征xix_i和集合编码器输出的候选广告集合Embedding特征hi′h_i’,通过引入hi′h_i’,实现上下文感知,排序分网络的输出即广告ii的排序分rir_i。
排序分网络在计算排序分时,需要满足以下约束:排序分随出价单调变化,并且支持逆向操作,取排在后一位的广告的排序分逆向计算当前广告的定价。论文使用了《Monotone and Partially Monotone Neural Networks》中提出的方案,如图3所示,整体网络结构可表示为:
ri=minq∈[Q]maxz∈[Z](ewqz×bi+wqz′×xi′+αqz)r_i=min_{qin[Q]}{max_{zin [Z]}{(e^{w_{qz}}times b_i+w_{qz}’times x_i’+alpha_{qz})}}
首先通过ewqz×bi+wqz′×xi′+αqze^{w_{qz}}times b_i+w_{qz}’times x_i’+alpha_{qz}计算bib_i和xi′x_i’的加权和,其中,wqzw_{qz}和wqz′w_{qz}’所对应的权重矩阵∈RQ×Zinmathbb{R}^{Qtimes Z},即q∈[Q]qin[Q],z∈[Z]zin [Z],并通过ewqze^{w_{qz}}这一形式保证bib_i的权重恒为正,然后,先固定qq,计算所有zz中加权和的最大值,再计算所有qq中前序结果的最小值。可以论证,上述表达式可以近似表达任何函数,并且输出随bib_i单调变化,另外支持逆向操作,若已知排在后一位的广告的排序分为ri+1r_{i+1},则广告ii的定价可由下式计算:
pi=maxz∈[Z]minq∈[Q]e−wqz(ri+1−αqz−wqz′×xi′)p_i=max_{zin [Z]}{min_{qin [Q]}{e^{-w_{qz}}(r_{i+1}-alpha_{qz}-w_{qz}’times x_i’)}}
首先计算e−wqz(ri+1−αqz−wqz′×xi′)e^{-w_{qz}}(r_{i+1}-alpha_{qz}-w_{qz}’times x_i’),然后,先固定zz,取所有qq中上述结果的最小值,再取所有zz中前序结果的最大值。
可导的排序操作
在排序分网络输出每个候选广告的排序分后,对其进行排序。通常排序操作是离散且不可导的,为了实现端到端的解决方案,需要整体链路可导从而支持反向传播更新参数,因此论文实现了可导的排序操作。
论文使用了《Stochastic Optimization of Sorting Networks via Continuous Relaxations》中提出的方案——NeuralSort,将排序操作转化为SoftMax操作,计算每个广告排在某一位置的概率。
令候选广告集合通过排序分网络输出的排序分为r=[r1,r2,⋯ ,rN]Tr=[r_1,r_2,cdots,r_N]^T,则每个广告排在某一位置的概率可用矩阵M^r∈RK×Nhat{M}_rinmathbb{R}^{Ktimes N}表示,其中M^r[k,i]hat{M}_r[k,i]表示广告ii排在位置kk的概率,候选广告集合所有广告排在位置kk的概率可通过以下SoftMax操作计算:
M^r[k:]=softmax(ckτ)hat{M}_r[k:]=text{softmax}(frac{c_k}{tau})
其中,τtau为大于0的超参,ck=(N+1−2k)r−Ar1c_k=(N+1-2k)r-A_rmathbf{1},Ar[i,j]=∣ri−rj∣A_r[i,j]=|r_i-r_j|,1∈RN×1mathbf{1}in mathbb{R}^{Ntimes 1}、且所有元素取值为1。
模型训练
训练数据来自电商广告按GSP拍卖产出的数据,数据包括广告主出价、预估值(pCTR、pCVR)、商品特征(品类和价格)、用户特征(性别、年龄和收入水平)、上下文特征(流量来源)。
损失函数包含两部分,第一部分是针对问题建模中的优化目标,最大化广告效果指标的线性组合,令所有候选广告的后验广告效果指标线性组合为FallF_{all},则FallF_{all}可以表示为:
Fall=[∑l=1Lλl×fl1,⋯ ,∑l=1Lλl×flN]TF_{all}=[sum_{l=1}^L{lambda_ltimes f_l^1},cdots,sum_{l=1}^L{lambda_ltimes f_l^N}]^T
其中,flif_l^i表示广告ii的第ll个效果指标。类似于eCPM由点击出价和预估点击率相乘得到,通过FallF_{all}(后验广告效果指标)和Mr^hat{M_r}(各位置各广告胜出的概率)相乘得到预期的多目标优化值,损失函数即最小化该值的负数,如下所示:
Ltgt=−∑i=1KMr^[i,:]⋅Fallmathcal{L}_{tgt}=-sum_{i=1}^K{hat{M_r}[i,:]cdot F_{all}}
论文指出模型训练时,由于定价依赖排序结果,因此广告效果指标中的平台收入并不使用后验数据,而是根据排序结果实时计算定价和平台收入。
损失函数的第二部分为多分类任务的交叉熵损失函数,如下所示:
Lce=−1N∑k=1N∑i=1N1(My[k,i]=1)logMr^[k,i]mathcal{L}_{ce}=-frac{1}{N}sum_{k=1}^N{sum_{i=1}^N{mathbf{1}(M_y[k,i]=1)loghat{M_r}[k,i]}}
论文指出根据候选广告的后验广告效果指标线性组合可以计算真实的最优排序,通过交叉熵损失函数使得预估排序逼近该最优排序。
实验评估
和Deep GSP类似,论文引入了多个广告效果指标评估DNA的多目标优化效果,并设计指标评估DNA是否满足激励兼容,基线机制上使用了GSP、uGSP和Deep GSP,和DNA进行对比,并进行了大量的离线和在线实验,充分论证了DNA的有效性。这里只摘录其中双目标优化的帕累托曲线,从中可以看出,Deep GSP相比GSP、uGSP和Deep GSP能更好的兼顾双目标,在多目标优化上能取得较大的效果提升。