«上一篇 下一篇»
  计算机工程  2021, Vol. 47 Issue (1): 101-108  DOI: 10.19678/j.issn.1000-3428.0056749
0

引用本文  

许王昊, 肖秦琨. 基于注意力机制的兴趣网络点击率预估模型[J]. 计算机工程, 2021, 47(1), 101-108. DOI: 10.19678/j.issn.1000-3428.0056749.
XU Wanghao, XIAO Qinkun. Click-Through Rate Prediction Model of Interest Network Based on Attention Mechanism[J]. Computer Engineering, 2021, 47(1), 101-108. DOI: 10.19678/j.issn.1000-3428.0056749.

基金项目

国家自然科学基金面上项目(61271362,61671362);陕西省自然科学基础研究计划(2020JM-566)

作者简介

许王昊(1997—), 男, 硕士研究生, 主研方向为机器学习、大数据分析;
肖秦琨, 教授、博士、博士生导师

文章历史

收稿日期:2019-11-29
修回日期:2020-01-02
基于注意力机制的兴趣网络点击率预估模型
许王昊 , 肖秦琨     
西安工业大学 电子信息工程学院, 西安 710021
摘要:广告点击率(CTR)是互联网公司进行流量分配的重要依据,针对目前点击率预估精度较低的问题,结合通用的神经网络解决方案,构建一种基于注意力机制的深度兴趣网络(ADIN)模型。设计一个局部激活单元和自适应激活函数,根据用户历史行为和给定广告自适应地学习用户兴趣。引入注意力机制,区分不同特征对预测结果的影响程度,从而增强模型的可解释性。在3个公开数据集上的实验结果表明,相对LR、PNN等CTR预估模型,ADIN模型具有更高的AUC值和更低的LogLoss值,其预测效果更优。
关键词点击率预估    神经网络    局部激活    自适应激活函数    注意力机制    
Click-Through Rate Prediction Model of Interest Network Based on Attention Mechanism
XU Wanghao , XIAO Qinkun     
School of Electronic and Information Engineering, Xi'an Technological University, Xi'an 710021, China
Abstract: Advertising Click-Through Rate(CTR) is an important basis for Internet companies to allocate traffic.To address the inaccurate CTR prediction, this paper proposes an Attention mechanism-based Deep Interest Network(ADIN) model on the basis of the existing neural network solutions.This model has designed a local activation unit and an adaptive activation function to learn user interests adaptively based on the user's historical behavior and the given advertisements.In addition, an attention mechanism is introduced to distinguish the contribution of different features to the prediction results, so that the interpretability of the model is enhanced.Experimental results on three public datasets show that compared with LR, PNN and other CTR estimation models, the proposed ADIN model has better prediction performance with a higher AUC value and a lower LogLoss value.
Key words: Click-Through Rate(CTR) prediction    neural network    local activation    adaptive activation function    attention mechanism    
0 概述

在按次计费(Cost-Per-Click,CPC)广告系统[1]中,广告按有效价格(eCPM)进行排名[2],该价格是出价与点击率(Click-Through Rate,CTR)的乘积,而CTR需要通过系统来预估。CTR预估模型在广告系统中发挥着至关重要的作用[3],其准确度直接影响最终广告受益,因此,CTR预估模型受到研究人员的广泛关注[4]

CTR预估模型是一个典型的二分类模型,结果分为点击和不点击[5]。目前,业界应用最广泛的CTR预估模型是逻辑回归(Logistic Regression,LR)。LR的优点是模型结构简单、容易进行大规模线上高并发处理[6],但是,由于线性模型更适合表示低阶特征,对高阶特征(非线性特征)进行表示时存在不足,从而限制了LR预测性能的提升。为此,Google提出Wide & Deep模型[7],华为诺亚方舟实验室提出DeepFM模型[8]等,这些模型都是基于embedding和多层感知机(MLP)而设计[9],它们首先将大规模稀疏输入特征映射到低维embedding向量中,然后以逐组方式转换为固定长度的向量,最后将向量连接在一起输入到多层感知机[10]中,提取用户感兴趣的非线性特征。与常用的LR模型[11]相比,这些深度学习模型可以大幅减少特征工程工作,并提高模型的高阶表示能力[12]。但是,embedding & MLP模型只能表现有限维度的用户兴趣,无法表示用户的多样化兴趣[13]。例如,在访问电子商务站点时,用户可能同时对不同种类的商品感兴趣。当涉及点击率预测任务时,通常会从用户行为数据中捕获用户兴趣[14]。embedding & MLP方法通过将用户行为的embedding向量转换为固定长度的向量来学习特定用户的所有兴趣表示,固定长度向量位于所有用户的代表向量所在的欧氏空间中[15],此时,用户的不同兴趣被压缩为固定长度的向量,这限制了embedding & MLP方法的表达能力。为了使兴趣的表示具有足够的能力来表达用户的不同兴趣,需要扩展固定长度向量的维数。但是,这会大幅提高学习参数的数量,提升有限参数下过拟合的风险[16],还会增加计算和存储负担,这是实时在线系统所无法接受的。

在预测候选广告时,不必将某个用户的所有多样化兴趣压缩到相同的向量中,因为只有部分用户的兴趣会影响其点击或不点击行为。为了在该情况下进行预测[17],本文基于注意力机制构建一种兴趣网络点击率预估模型ADIN。ADIN模型引入局部激活单元,通过软搜索历史行为的相关部分来关注相关用户的兴趣。此时,用户兴趣的表示向量随广告的不同而变化,提高了模型在有限维度下的表示能力,使得ADIN能够更好地量化用户的不同兴趣。ADIN还引入注意力机制,注意力机制借鉴了人类视觉的处理方式,将注意力集中于关键区域,其本质是从诸多信息中选择对任务起关键作用的信息,从而降低任务的复杂度。在ADIN模型中,通过注意力机制将历史行为与当下行为相结合,从而更好地预估用户的实时兴趣,提高模型的预测能力。

1 CTR预估模型

相比于传统的机器学习模型,深度学习模型在CTR预估中表现出了较大潜力。CTR预估模型中使用的样本数量和特征维度越来越大,为了更好地提取特征之间的关系以提升模型性能,研究人员对模型的结构设计进行了研究。为了避免语义建模中的维数爆炸问题,一些自然语言处理模型和CTR预估模型在输入层和神经网络层之间加入一个embedding层,用于降低特征维数[18]。假设特征数为n,每个embedding向量的维度为D,特征的embedding向量v可以写成一个矩阵,如式(1)所示:

$ \mathit{\boldsymbol{v}} = \left[ {\begin{array}{*{20}{c}} {{\mathit{\boldsymbol{v}}_1}}\\ {{\mathit{\boldsymbol{v}}_2}}\\ \vdots \\ {{\mathit{\boldsymbol{v}}_n}} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} {\mathit{\boldsymbol{v}}_1^1}&{\mathit{\boldsymbol{v}}_1^2}& \cdots &{\mathit{\boldsymbol{v}}_1^D}\\ {\mathit{\boldsymbol{v}}_2^1}&{\mathit{\boldsymbol{v}}_2^2}& \cdots &{\mathit{\boldsymbol{v}}_2^D}\\ \vdots & \vdots &{}&{}\\ {\mathit{\boldsymbol{v}}_n^1}&{\mathit{\boldsymbol{v}}_n^2}& \cdots &{\mathit{\boldsymbol{v}}_n^D} \end{array}} \right] $ (1)

LS-PLM[19]模型和FM[20]模型可以看作具有一个隐藏层的一类网络,它们首先在稀疏输入上使用embedding层,然后对目标拟合施加专门设计的转换函数,旨在捕获特征之间的组合关系。PLM结合聚类和分类的思想[21],即将特征空间进行分片或分区间,每个分片就是一个聚类,每个聚类对应一个单独的线性模型LR,此处的聚类是软聚类,即每个样本可以属于多个分片。最后,计算出每个分片的CTR,按属于各个分片的概率进行加权平均,通过分片线性拟合达到非线性的效果。在高维稀疏数据下,假设一个二分类数据集为${\rm{\{ }}{\mathit{\boldsymbol{x}}_\mathit{t}}\mathit{, }{\mathit{y}_\mathit{t}}{\rm{\} }}\left| {_{t = 1}^n} \right. $,其中,yt∈{0,1},xt$\mathbb{R} $d。LS-PLM模型为:

$ p\left( {y = 1\left| \mathit{\boldsymbol{x}} \right.} \right) = g\left( {\sum\limits_{j = 1}^m {\sigma \left( {\mathit{\boldsymbol{u}}_j^{\rm{T}}\mathit{\boldsymbol{x}}} \right)\eta \left( {\mathit{\boldsymbol{w}}_j^{\rm{T}}\mathit{\boldsymbol{x}}} \right)} } \right) $ (2)

其中,m表示分片数,其为人工设定的超参数,{u1u2,…,umw1w2,…,wm}∈$\mathbb{R} $d×2m表示模型参数,由训练得到。FM模型在二维特征下定义为:

$ \hat y\left( \mathit{\boldsymbol{x}} \right) = {\mathit{\boldsymbol{w}}_0} + \sum\limits_{i = 1}^n {{\mathit{\boldsymbol{w}}_i}{\mathit{\boldsymbol{x}}_i} + \sum\limits_{i = 1}^n {\sum\limits_{j = i + 1}^n {\left\langle {{\mathit{\boldsymbol{V}}_\mathit{i}}\mathit{, }{\mathit{\boldsymbol{V}}_\mathit{i}}} \right\rangle } } } {\mathit{\boldsymbol{x}}_i}{\mathit{\boldsymbol{x}}_j} $ (3)

其中,模型参数w0$\mathbb{R} $wi$\mathbb{R} $nw$\mathbb{R} $n×k< ·,· > 表示大小为k的2个向量的点积:

$ \left\langle {{\mathit{\boldsymbol{V}}_\mathit{i}}\mathit{, }{\mathit{\boldsymbol{V}}_\mathit{i}}} \right\rangle = \sum\limits_{f = 1}^k {\left( {{v_{i, f}} \cdot {v_{j, f}}} \right)} $ (4)

其中,vi表示k个因子中的第i个变量,k$\mathbb{N} $0+表示定义因子维度的超参数。

在深度学习模型中,Deep Crossing[22]和Wide & Deep通过用复杂的MLP网络代替或扩展LS-PLM和FM,从而大幅提升了模型的性能。PNN[23]通过在embedding层之后加入一个product层来提取高阶特征。DeepFM[8]在Wide & Deep[7]中将分解机改进为“wide”模块,无需进行功能设计。总体而言,这些方法遵循相似的模型结构,即包括embedding层和MLP的组合,其中,embedding层用于学习稀疏特征的密集表示,MLP用于自动学习特征的组合关系。

注意力机制源自神经机器翻译(NMT)领域[24]。NMT对所有注释进行加权求和以获得预期的注释,其仅关注与生成下一个目标单词有关的信息。与NMT相似,Deep-Intent使用RNN[25]对文本进行建模,然后学习一个全局隐藏向量来关注每个查询中的关键字。结果表明,注意力机制的使用有利于提取查询或广告的主要特征。ADIN模型设计了一个局部激活单元来软搜索相关的用户行为,并通过加权和池化获取针对给定广告的用户兴趣的自适应表示。

2 ADIN模型 2.1 特征表示

工业点击率预测任务中的数据大多采用多组类别的形式[26],例如,[weekday=Monday,gender=Male,visited_cate_ids={Keyboard,Mouse},ad_cate_id=Computer],通常将这种数据转换为高维稀疏二进制特征,编码后的特征为[64, 18, 32]。数学上将第i个特征组的向量编码为ti$\mathbb{R} $KiKi表示特征组i的维数,即特征组i包含了Ki唯一的ID。ti[j]是ti的第j个元素,ti[j]∈{0,1},$\sum\limits_{j = 1}^{{K^i}} {{\mathit{\boldsymbol{t}}_i}} \left[ j \right] = k $。当k=1时向量ti即one-hot编码,k > 1时向量ti即multi-hot编码,此时一组用户行为特征可以表示为x=[t1Tt2T,…,tMT]T,其中,M表示特征组的数量,$\sum\limits_{j = 1}^M {{\mathit{\boldsymbol{K}}_i} = \mathit{\boldsymbol{K}}} $K表示整个特征空间的维度。此时,上述具有4组特征的实例可以表示为:

表 1截取自阿里巴巴数据集中的部分特征,其中主要分为用户生理特征、用户行为特征、广告特征和上下文特征4个类别,除了用户行为特征使用multi-hot编码,其余均使用one-hot编码。

下载CSV 表 1 阿里巴巴展示广告数据集部分统计结果 Table 1 Some statistical results of Alibaba display advertising dataset
2.2 embedding层

由于ADIN模型的输入是高维二进制向量,因此加入embedding层将其转换为低维密集表示。对于ti的第i个特征组,令Wi=[w1iw2i,…,wji,…,wKii]∈$\mathbb{R} $D×Ki表示第i个embedding字典,其中,wji$\mathbb{R} $D是一个D维的embedding向量,embedding操作通过查表简化计算。当ti是第j个元素ti[j]=1的one-hot向量时,embedding层将其转换为一个单个embedding向量ei=wji。当titi[j]=1且j∈{i1i2,…,ik}的multi-hot向量时,ti的embedding表示形式是一个embedding向量列表:

$ \left\{ {{\mathit{\boldsymbol{e}}_{{\mathit{i}_{\rm{1}}}}}{\rm{, }}{\mathit{\boldsymbol{e}}_{{\mathit{i}_{\rm{2}}}}}{\rm{, }} \cdots {\rm{, }}{\mathit{\boldsymbol{e}}_{{\mathit{i}_\mathit{k}}}}} \right\}{\rm{ = }}\left\{ {\mathit{\boldsymbol{w}}_{{i_1}}^i{\rm{, }}\mathit{\boldsymbol{w}}_{{i_2}}^i{\rm{, }} \cdots {\rm{, }}\mathit{\boldsymbol{w}}_{{i_k}}^i} \right\} $
2.3 池化层和拼接层

不同用户的行为特征数量不同,因此,multi-hot行为特征向量ti=1的数量会因实例而异,从而导致相应的embedding向量列表的长度可变。由于全连接层网络只能处理固定长度的输入[27],通常需要通过池化层来转换embedding向量的列表以获得固定长度的向量,如下:

$ {\mathit{\boldsymbol{e}}_i} = {\rm{pooling}}\left( {{\mathit{\boldsymbol{e}}_{{i_1}}}, {\mathit{\boldsymbol{e}}_{{i_2}}}, \cdots , {\mathit{\boldsymbol{e}}_{{i_k}}}} \right) $ (5)

池化层最常用的算法是求和与平均[28],其将每个元素的求和与平均运算应用于embedding向量列表。池化层和embedding层均以逐组的方式运行,将原始的稀疏特征映射到多个固定长度的向量中,然后拼接层将所有的向量连接在一起以获得该实例的整体表示向量。

2.4 多层感知机层与损失函数

多层感知机层给定级联的密集表示向量,可以使用全连接层自动学习特征的组合,从而更好地提取特征。

ADIN模型中使用的目标函数是负对数似然函数[29],如下:

$ L = - \frac{1}{N}\sum\limits_{\left( {x, y} \right) \in S} {\left( {y{\rm{1b}}p\left( \mathit{\boldsymbol{x}} \right) + \left( {1 - y} \right){\rm{1b}}\left( {1 - p\left( \mathit{\boldsymbol{x}} \right)} \right)} \right)} $ (6)

其中,S表示大小为N的训练集,x表示网络的输入,y∈{0,1}表示训练集的标签,px)表示Softmax层之后网络的输出,即样本被点击的预测概率。

2.5 局部激活单元

ADIN模型将局部激活单元应用于用户行为特征提取,将其作为加权和池化来执行,以自适应地计算给定广告A下的用户表示vU

$ {\mathit{\boldsymbol{v}}_\mathit{U}}\left( A \right) = f\left( {{\mathit{\boldsymbol{v}}_\mathit{A}}, {\mathit{\boldsymbol{e}}_1}, {\mathit{\boldsymbol{e}}_2}, \cdots , {\mathit{\boldsymbol{e}}_H}} \right) = \sum\limits_{j = 1}^H {a\left( {{\mathit{\boldsymbol{e}}_j}, {\mathit{\boldsymbol{v}}_A}} \right)} {\mathit{\boldsymbol{e}}_j} = \sum\limits_{j = 1}^H {{\mathit{\boldsymbol{w}}_j}{\mathit{\boldsymbol{e}}_j}} $ (7)

其中,{e1e2,…,eH}表示长度为H的用户U的行为特征的embedding向量列表,vA表示广告A的embedding向量。此时,vUA)随不同广告而变化。a(·)是一个前馈网络,其输出作为激活权重。除了2个输入embedding向量,a(·)将其余embedding向量按权重进行乘积相加并输入后续网络。

2.6 注意力机制

注意力机制对用户行为特征通过使用相似度函数比对计算得到权重sxiq):

$ s\left( {{\mathit{\boldsymbol{x}}_\mathit{i}}, \mathit{\boldsymbol{q}}} \right) = \left\{ {\begin{array}{*{20}{l}} {{\mathit{\boldsymbol{v}}^{\rm{T}}}\tanh \left( {\mathit{\boldsymbol{W}}{\mathit{\boldsymbol{x}}_i} + \mathit{\boldsymbol{Uq}}} \right), {\rm{加性模型}}}\\ {\mathit{\boldsymbol{x}}_i^{\rm{T}}\mathit{\boldsymbol{q}}, {\rm{点积模型}}}\\ {\frac{{{\bf{x}}_i^{\rm{T}}\mathit{\boldsymbol{q}}}}{{\sqrt d }}, 缩放点积模型}\\ {\mathit{\boldsymbol{x}}_i^{\rm{T}}\mathit{\boldsymbol{Wq}}, 双线性模型} \end{array}} \right. $ (8)

其中,xi表示输入第i个用户的特征,q表示第i个用户的兴趣向量。将得到的权重sxiq)进行归一化处理[30]操作得到注意力分布ai

$ {\mathit{\boldsymbol{a}}_i} = {\rm{Softmax}}\left( {s\left( {{\mathit{\boldsymbol{x}}_i}, \mathit{\boldsymbol{q}}} \right)} \right) = \frac{{\exp \left( {s\left( {{\mathit{\boldsymbol{x}}_i}, \mathit{\boldsymbol{q}}} \right)} \right)}}{{\sum\limits_j {\exp \left( {s\left( {{\mathit{\boldsymbol{x}}_i}, \mathit{\boldsymbol{q}}} \right)} \right)} }} $ (9)

将得到的ai值与对应区域加权求和得到最后的attention:

$ {a^{{\rm{attention}}}}\left( {\mathit{\boldsymbol{Q}}, \mathit{\boldsymbol{K}}, \mathit{\boldsymbol{V}}} \right) = \sum\limits_i {{\mathit{\boldsymbol{a}}_i}{\mathit{\boldsymbol{V}}_i}} $ (10)

ADIN模型中的注意力机制算法包括4个步骤:

步骤1   选择一个用户行为特征向量作为注意力信号。

步骤2   对输入的序列进行编码,计算出注意力分布。

步骤3   计算注意力的加权平均,根据相似度将其转换成注意力权重。

步骤4   根据权重对输入的序列进行加权融合得到向量并作为输入序列的聚合特征。

2.7 自适应激活函数

ADIN模型采用了当前流行的PReLU激活函数,如下:

$ f\left( s \right) = \left\{ \begin{array}{l} s, s > 0\\ \alpha s, s \le 0 \end{array} \right. $ (11)

此处fs)也可写为:

$ f\left( s \right) = p\left( s \right) \cdot s + \left( {1 - p\left( s \right)} \right) \cdot \alpha s $ (12)

其中,s表示激活函数f(·)的输入,ps=Is > 0)控制fs)在fs=sfs=αs之间切换。此外,在ADIN模型中还加入了自适应激活函数Dice,如下:

$ \begin{array}{l} f\left( s \right) = p\left( s \right) \cdot s + \left( {1 - p\left( s \right)} \right) \cdot \alpha s\\ p\left( s \right) = \frac{1}{{1 + {e^{ - \frac{{s - E\left[ s \right]}}{{\sqrt {{\rm{Var}}\left[ s \right] + \varepsilon } }}}}}} \end{array} $ (13)

其中,E[s]和Var[s]分别表示每个小批量输入的均值和方差,ε是一个常数,本文实验中取10-8

本文ADIN模型结构如图 1所示。

Download:
图 1 ADIN模型结构 Fig. 1 ADIN model structure
3 实验及评估

为了评估本文ADIN模型的预估性能,基于Amazon、MovieLens和Alibaba 3个公开数据集进行对比实验。

3.1 数据集与实验设置

Amazon数据集包含了亚马逊的产品评论和元数据,常被作为基准数据集来训练模型[31]。如表 2所示,本文使用Amazon数据集中的Electronics子数据集,其包含192 403个用户,63 001个商品,801个类别和1 689 188个样本。该子数据集中用户行为丰富,每个用户和商品评论均超过5条,包含了goods_id、cate_id、user reviewed goods_id_list和cate_id_list等特征。假设一个用户的所有行为是(b1b2,…,bk,…,bn),模型的任务是通过使用前k个商品来预测第k+1个商品。实验中对于所有模型均采用SGD作为优化器,其中,学习率从1开始,衰减率设置为0.1,最小批量设置为32。

下载CSV 表 2 3个公开数据集统计信息 Table 2 Statistical information of three public datasets

MovieLens数据集[32]包含138 493个用户,27 278部电影,21个类别和20 000 263个样本,包括movie_id、movie_cate_id、user rated movie_id_list和movie_cate_ list等特征。为了使其适合CTR预估任务,实验中将该数据集转换为二进制分类数据集。电影的原始评分是从0~5的连续值,实验中将评分为4和5的样本标记为正样本,其余样本标记为负样本。根据用户ID将数据集分为训练集和测试集,在所有138 493个用户中,100 000个用户划分为训练集(14 469 238个样本),其余38 493个用户划分为测试集(5 531 025个样本)。模型的任务即根据历史行为来预测用户对电影的评分是否高于3分(正标记)。实验中优化器、学习率和最小批量设置与Amazon数据集相同。

本文实验还采用Alibaba在线展示广告系统公开数据集[33],由于其数据量过于庞大,因此采用随机连续的两周样本作为训练集,后续一天的样本作为测试集。训练集约有20亿个样本,测试集约有1.4亿个样本,随机抽取1%的样本用于模型训练。对于所有深层模型,所有16组特征的embedding向量维度均为12,多层感知机的层数设置为192×200×80×2,最小批量设置为100,使用Adam优化器。学习率从0.001开始,衰减率设置为0.9。

3.2 对比模型

本文实验选择5种具有代表性的CTR预估模型与ADIN模型进行对比。对比模型具体如下:

1)LR模型,其是在使用深度学习进行CTR预测任务之前被广泛使用的浅层模型,优势是模型简单、训练速度快,本次实验中将其作为弱基准模型。

2)embedding与多层感知机模型(embedding & MLP),其是多数使用深度学习进行CTR预估的基础。

3)Wide & Deep模型,在实际中被广泛使用,其由两部分组成,Wide模型处理手动设计的跨产品特征,Deep模型自动提取特征之间的非线性关系。Wide & Deep模型基本等价于embedding与多层感知机模型。

4)PNN模型,其通过在embedding层后引入product层以捕获高阶特征。

5)DeepFM模型,其在Wide & Deep的基础上将Wide模型改为因子分解机。

3.3 评价指标

实验采用LogLoss和AUC作为评价指标。用式(6)作为LogLoss的计算公式以评估模型的准确度,通过对所有预期CTR的广告进行排序来评价模型的性能。实验引入用户加权AUC的变体,通过用户平均AUC来衡量模型的优劣[34]。AUC计算公式如下:

$ {\rm{AUC}} = \frac{{\sum\limits_{i = 1}^n {\left( {\# {\rm{impression}} \times {\rm{AU}}{{\rm{C}}_\mathit{i}}} \right)} }}{{\sum\limits_{i = 1}^n {\# {\rm{impressio}}{{\rm{n}}_\mathit{i}}} }} $ (14)

其中,n表示用户数,#impressioni和AUCi分别表示第i个用户的权重和AUC指标。

3.4 结果分析

本文依次在3个公开数据集中评估6种模型的预测性能,在Amazon数据集中比较不同的激活函数、超参数设置和网络层数等对各模型性能的影响。

3.4.1 预测效果比较

表 3所示为3个公开数据集中不同模型的预测效果,从中可以看出:

1)学习高阶特征可以提高模型的预测性能。将LR和其他模型进行比较,LR是唯一一个没有学习高阶特征的模型。在3个公开数据集上,ADIN模型的AUC指标分别比LR模型提高了1.55%、4.56%和0.45%,LogLoss指标分别比LR模型降低了0.72%、0.50%和0.37%。

2)同时学习高阶特征和低阶特征的模型预测效果明显优于仅学习高阶特征或低阶特征的模型。DeepFM和ADIN模型同时提取高阶特征和低阶特征,AUC指标和LogLoss指标明显优于其余4种只学习低阶或高阶特征的模型。与只学习高阶特征的PNN相比,ADIN模型在3个数据集上的AUC指标分别提高了1.31%、1.65%和0.13%,LogLoss指标分别降低了0.38%、0.21%和0.22%。

下载CSV 表 3 6种模型在3个公开数据集上的预测效果比较 Table 3 Comparison of prediction effects of six models on three public datasets
3.4.2 激活函数比较

本文研究Amazon数据集上不同激活函数对5种模型的影响,结果如图 2所示。与Sigmoid激活函数相比,ReLU和Tanh更适合深层模型。从图 2可以看出,除了PNN以外,所有模型的ReLU均优于Tanh。在PNN模型上,ReLU可能导致了数据稀疏问题。

Download:
图 2 不同激活函数下AUC和LogLoss指标比较 Fig. 2 Comparison of AUC and LogLoss indices under different activation functions

将ReLU、Tanh与ADIN模型使用的PReLU/Dice激活函数进行对比。从图 3可以看出,PReLU/Dice激活函数在ADIN模型上相对ReLU具有明显优势,这与ADIN的局部激活和注意力机制结构有很大关系。

Download:
图 3 ADIN模型采用不同激活函数的结果比较 Fig. 3 Comparison of the results of ADIN model with different activation functions
3.4.3 神经元数比较

当其余条件不变时,增加每层网络的神经元数会提升网络复杂性。从图 4可以看出,增加每层神经元数不一定能提高模型性能,当每层神经元数从300增加到800时,ADIN模型性能保持稳定,PNN模型的性能会降低,当神经元过多、模型过于复杂时,PNN会出现过拟合问题。本文ADIN模型考虑到模型复杂度提升会带来过多的消耗,通常将每层神经元的数量设置为80~200范围内。

Download:
图 4 不同神经元数对AUC和LogLoss的影响 Fig. 4 The effect of different number of neurons on AUC and LogLoss
3.4.4 隐层层数比较

图 5可以看出,适当增加隐层层数可以提高模型性能,但当隐层层数持续增加时,会在一定程度上导致过拟合问题,使得模型性能降低。因此,在ADIN模型中,隐层层数通常设置为2层或3层。

Download:
图 5 不同隐层层数对AUC和LogLoss的影响 Fig. 5 The effect of different hidden layers on AUC and LogLoss
4 结束语

本文构建一种网络点击率预估模型ADIN,该模型引入注意力机制和局部激活单元,无需任何预训练,同时学习高阶特征和低阶特征,此外,通过引入embedding层来避免特征工程。在3个公开数据集上进行实验,结果表明,ADIN模型的预估性能优于LR、PNN等模型。目前,强化学习在阿里巴巴和京东等互联网公司已经被广泛使用,因此,在ADIN模型的局部激活单元中引入强化学习以提升模型性能将是下一步的研究方向。

参考文献
[1]
PAN J W, XU J, RUIZ A L, et al.Field-weighted factorization machines for click-through rate prediction in display advertising[C]//Proceedings of 2018 World Wide Web Conference.New York, USA: ACM Press, 2018: 16-28.
[2]
HE K M, ZHANG X Y, REN S Q, et al.Deep residual learning for image recognition[EB/OL].[2019-10-20].https://arxiv.org/abs/1512.03385.
[3]
DENG Lujia, LIU Pingshan. Research on click-through rate prediction of advertisement based on GMM-FMs[J]. Computer Engineering, 2019, 45(5): 122-126. (in Chinese)
邓路佳, 刘平山. 基于GMM-FMs的广告点击率预测研究[J]. 计算机工程, 2019, 45(5): 122-126.
[4]
CHEN Junxuan, SUN Baigui, LI Hao, et al.Deep CTR prediction in display advertising[C]//Proceedings of 2016 ACM Multimedia Conference.New York, USA: ACM Press, 2016: 158-169.
[5]
CHEN Jiehao, LI Xueyi, ZHAO Ziqian, et al.A CTR prediction method based on feature engineering and online learning[C]//Proceedings of 2017 International Symposium on Communica-tions and Information Technologies.Washington D.C., USA: IEEE Press, 2017: 190-203.
[6]
JIN Ziyan, ZHANG Juan, LI Xiangjun, et al. A collaborative filtering advertising recommendation algorithm with tag[J]. Computer Engineering, 2018, 44(4): 236-242, 247. (in Chinese)
金紫嫣, 张娟, 李向军, 等. 一种带标签的协同过滤广告推荐算法[J]. 计算机工程, 2018, 44(4): 236-242, 247. DOI:10.3969/j.issn.1000-3428.2018.04.038
[7]
CHENG H T, KOC L, HARMSEN J, et al.Wide & Deep learning for recommender systems[EB/OL].[2019-10-20].https://arxiv.org/abs/1606.07792.
[8]
GUO Huifeng, TANG Ruiming, YE Yunming, et al.DeepFM: a factorization-machine based neural network for CTR prediction[EB/OL].[2019-10-20].https://arxiv.org/abs/1703.04247.
[9]
LIU Enbo.Boosting-based method for advertising conversion rate prediction[D].Harbin: Harbin Institute of Technology, 2018.(in Chinese)
刘恩伯.基于提升模型的广告转化率预估[D].哈尔滨: 哈尔滨工业大学, 2018.
[10]
ZHENG L, NOROOZI V, YU P.Joint deep modeling of users and items using reviews for recommendation[EB/OL].[2019-10-20].https://arxiv.org/abs/1701.04783.
[11]
ZHENG Y, ZHANG Y J, LAROCHELLE H. A deep and autoregressive approach for topic modeling of multimodal data[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2016, 38(6): 1056-1069. DOI:10.1109/TPAMI.2015.2476802
[12]
WU C Y, AHMED A, BEUTEL A, et al.Recurrent recommender networks[C]//Proceedings of the 10th ACM International Conference on Web Search and Data Mining.New York, USA: ACM Press, 2017: 15-26.
[13]
WU Y, DUBOIS C, ZHENG A X, et al.Collaborative denoising auto-encoders for top-N recommender systems[C]//Proceedings of the 9th ACM International Conference on Web Search and Data Mining.New York, USA: ACM Press, 2016: 125-136.
[14]
ZHOU Hao, HUANG Minlie, MAO Yishun, et al.Domain-constrained advertising keyword generation[EB/OL].[2019-10-20].https://arxiv.org/abs/1902.10374.
[15]
KAN S C, CEN Y G, HE Z H, et al. Supervised deep feature embedding with handcrafted feature[J]. IEEE Transactions on Image Processing, 2019, 28(12): 5809-5823. DOI:10.1109/TIP.2019.2901407
[16]
CHOROWSKI J, BAHDANAU D, SERDYUK D, et al. Attention-based models for speech recognition[J]. Computer Science, 2015, 10(4): 429-439.
[17]
SPECHT D F. Probabilistic neural networks[J]. Neural Networks, 1990, 3(1): 109-118. DOI:10.1016/0893-6080(90)90049-Q
[18]
LIU Tong.Research on software defect prediction based on machine learning algorithm[D].Wuhan: Central China Normal University, 2018.(in Chinese)
刘童.基于机器学习算法的软件缺陷预测技术研究[D].武汉: 华中师范大学, 2018.
[19]
SUN Yi, LIU Di, LI Bin, et al. Application of deep reinforcement learning in demand response[J]. Automation of Electric Power Systems, 2019, 43(5): 183-191. (in Chinese)
孙毅, 刘迪, 李彬, 等. 深度强化学习在需求响应中的应用[J]. 电力系统自动化, 2019, 43(5): 183-191.
[20]
KADAM V J, JADHAV S M, VIJAYAKUMAR K. Breast cancer diagnosis using feature ensemble learning based on stacked sparse autoencoders and softmax regression[J]. Journal of Medical Systems, 2019, 43(8): 263-265. DOI:10.1007/s10916-019-1397-z
[21]
RIAHI-MADVAR H, DEHGHANI M, SEIFI A, et al. Comparative analysis of soft computing techniques RBF, MLP, and ANFIS with MLR and MNLR for predicting grade-control scour hole geometry[J]. Engineering Applications of Computational Fluid Mechanics, 2019, 13(1): 529-550. DOI:10.1080/19942060.2019.1618396
[22]
SHAN Y, HOENS T R, JIAO J, et al.Deep crossing: Web-scale modeling without manually crafted combinatorial features[C]//Proceedings of the 22nd ACM SIGKDD International Conference.New York, USA: ACM Press, 2016: 12-25.
[23]
MO S X, ZHU Y H, ZABARAS N, et al. Deep convolutional encoder-decoder networks for uncertainty quantification of dynamic multiphase flow in heterogeneous media[J]. Water Resources Research, 2019, 55(1): 703-728. DOI:10.1029/2018WR023528
[24]
ACHKAR R, ELIAS-SLEIMAN F, EZZIDINE H, et al.Comparison of BPA-MLP and LSTM-RNN for stocks prediction[C]//Proceedings of 2018 International Symposium on Computational and Business Intelligence.Washington D.C., USA: IEEE Press, 2018: 125-136.
[25]
ZHANG Ce, PAN Xin, LI Huapeng, et al. A hybrid MLP-CNN classifier for very fine resolution remotely sensed image classification[J]. ISPRS Journal of Photogrammetry and Remote Sensing, 2018, 140: 133-144. DOI:10.1016/j.isprsjprs.2017.07.014
[26]
WANG Yi, GAN Dahua, ZHANG Ning, et al. Feature selection for probabilistic load forecasting via sparse penalized quantile regression[J]. Journal of Modern Power Systems and Clean Energy, 2019, 7(5): 1200-1209. DOI:10.1007/s40565-019-0552-3
[27]
HAN B, TSANG I W, CHEN L, et al. Progressive stochastic learning for noisy labels[J]. IEEE Transactions on Neural Networks and Learning Systems, 2018, 29(10): 5136-5148.
[28]
LO H Z, COHEN J P, DING W.Prediction gradients for feature extraction and analysis from convolutional neural networks[C]//Proceedings of the 11th IEEE International Conference and Workshops on Automatic Face and Gesture Recognition.Washington D.C., USA: IEEE Press, 2015: 20-26.
[29]
HASSNA G, LOWRY P B.Big data capability, customer agility, and organization performance: a dynamic capability perspective[EB/OL].[2019-10-20].https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2861423.
[30]
LU Haofang, ZHOU Ying, ZHANG Zike. Calculate deep convolution neural network on cell unit[M]. Berlin, Germany: Springer, 2017.
[31]
JACKSON F, AMIN R, FU Y H, et al. A user study of Netflix streaming[M]. Berlin, Germany: Springer, 2015.
[32]
LAZLI L, BOUKADOUM M, MOHAMED O A.HMM/MLP speech recognition system using a novel data clustering approach[C]//Proceedings of 2017 IEEE Canadian Conference on Electrical and Computer Engineering.Washington D.C., USA: IEEE Press, 2017: 145-163.
[33]
SALLAB A, ABDOU M, PEROT E, et al. Deep reinforcement learning framework for autonomous driving[J]. Electronic Imaging, 2017(19): 70-76.
[34]
QURESHI A H, NAKAMURA Y, YOSHIKAWA Y, et al.Show, attend and interact: perceivable human-robot social interaction through neural attention Q-network[C]//Proceedings of 2017 IEEE International Conference on Robotics and Automation.Washington D.C., USA: IEEE Press, 2017: 456-485.