【推荐-阿里--可视化分析】Visualizing and Understanding Deep Neural Networks in CTR Prediction

论文作者: Lin Guo、Hui Ye、Wenbo Su、Henhuan Liu、Kai Sun、Hang Xiang

论文下载链接:arxiv

ABSTRACT

    尽管深度学习在许多任务中已经得到了广泛应用,但是深度神经网络的可解释性仍是一个巨大挑战。近年来,人们在图像处理和自然语言处理领域对深层神经网络的机制进行了许多可视化和分析的研究。在这篇文章中,我们提出了我们的方法来可视化和理解在商业中扮有重要角色的CTR预测深度神经网络。我们在线上的广告系统的数据进行实验,这些数据每天都有不同的分布。为了了解模型的机制和效果,我们在神经元水平上探测模型的内部状态。此外,还实现了一种探测方法来测试模型的每个网络层的效果。并且,我们基于反向传播算法来计算每个输入特征的显著性得分以衡量每个输入特征的影响力。文中还讨论了在理解、监控、诊断和优化模型等方面的实际应用。

1 INTRODUCTION

    点击率预测在计算广告中起着至关重要的作用。在点击广告系统中,广告是根据竞拍价格和预测点击率的乘积进行排名的。因此,数十亿业务的收入在很大程度上依赖于CTR预测模型的效果。

    深度学习技术已经成功地应用于CTR预测任务[6,7,23]。深度神经网络(DNNs)由多层神经元组成,具有从特征中提取非线性模式的能力,从而减轻了非线性特征工程的负担。然而深度学习模式的工作机制仍旧没有很好的可解释性。这种缺失一直是深度学习发展的障碍,引起了对深度学习应用可靠性的关注,尤其是在重要的工业实践中。

    在图像处理[15,18,20,21,26,29]和自然语言处理[3,4,14,16,27],深度学习模型的可视化和可解释性方面取得了许多新进展。在本文中,我们提出了一系列的方法来可视化和分析一个简单的DNN模型,使用搜索广告平台的生产数据进行CTR预测。在以日为单位的数据集上研究模型的效果衰减规律,并比较不同训练阶段的分数分布情况。我们在神经元水平上探测模型的内部状态。研究隐层神经元状态的统计特性,并通过t-SNE映射来探究模型学习到的高级表示[17,21]。应用探测方法[2]在不同数据集上的模型效果进行逐层剖析。此外,为了统计输入特征的影响,我们基于反向传播梯度计算每个特征组的显著性得分。

    除了经典的模型评估指标[11,12]之外,我们打开“黑匣子”,从输出到输入来检查DNN模型。了解模型的机理之后,不仅可以帮助我们设计和诊断模型,而且可以监控算法广告系统的日常工作。

2 EXPERIMENTAL SETTING

2.1 Datasets

    我们在公司的搜索广告平台上的CTR预测数据上进行实验。从一个经典的周三开始,连续收集8天数据。训练集是从第一天的数据中采样得到的。为了研究模型效果的衰减规律,我们从第一天到第八天,分别对模型进行评估。因此八份数据集分别是test1,test2,……,test8。每份数据集包含大约1.5亿个样本,这些样本是从相应日期的广告日志中随机抽样出来的。注意,test1和训练集之间是不重复的。如此设置是为了模拟CTR预测任务的真实环境,即利用历史数据对模型进行训练,并将其部署并服务于未来的在线流量中,而未来的数据分布自然与训练数据的不同。

    我们的数据包含34组稀疏的分类特征(总共约1亿个二进制特征),例如,用户id、用户所在城市、用户性别、用户年龄、查询id、查询词、店铺id、广告类别等。注意,本研究中没有组合特征。

2.2 Model setting

    DNN模型包含4个全连接层。从第一层(靠近输入层)到第四层(输出层之前)的宽度分别是256,128,64,32个神经元。第k个隐藏层的公式可以写作

    (1)

其中是k-1层网络的权重,是偏置项,ReLU是激活函数。输出层使用sigmoid函数来将输出映射到0~1之间来作为预测的点击概率:

    (2)

在训练阶段与真实标签进行比较,损失函数是交叉熵。对于每个样本,稀疏特征均会embedded成一个8维的向量[6,7,23]。对于会包含多个特征ID的特征组,比如查询词,会使用sum pooling来强制将每个特征组产生一个8维的向量。这些向量concatenated起来变成272维的向量,作为第一层的输入。这些embedding向量和模型一起训练。实验是使用谷歌的分布式TensorFlow[1]上运行的。该模型由Adagrad优化器[8]训练,学习率=0.005,初始累加器值=0.0001,最小批量大小=1000。Glorot和Bengio的方法[10]用于初始化。我们通过基于模型图的动态dumpling处理数据,实现了模型内部状态的可视化。

3 RESULTS

3.1 AUC and Prediction Score


图1

为了验证模型的效果,我们使用AUC作为主要的指标。AUC是一种广泛使用的评价CTR效果的方法[12]。

    在图1中,我们将模型的AUC作为训练集和测试集training step的函数。随着训练的进行,训练集的AUC不断增加,而所有的测试集的AUC,由于过度拟合,都遵循相同的模式:首先上升,然后下降。模型在第210000个训练步中取得最好的泛化性。对比同一时间的八个测试AUC,模型的效果衰减可以作为不同数据集的函数来表示。测试集的AUC从第一天到第五天都是单调下降的。与预期是向符合的,这是因为测试数据的分布与训练集不同,并且差异是与日俱增的。之后,最后三天测试集的AUC不断攀升并超过了第四天,这也符合我们业务场景的特点:尽管数据每天都有变化,但用户在我们网站上的行为有每周的周期性模式。AUC这种非单调性变化在模型under-fitting到weak overfitting之间(在大约400000步之前)尤为明显。在更多的训练步之后,过拟合的十分严重,那么模型和之前的五天具有相同的表现了。


图2

    图2展示了训练集、test1集合和test5集合预测的CTR分数(预测值pCTR/训练集的真实CTR)分布情况。在training steps210000,AUC开始从训练集衰减到test1,是由于test1的正样本CTR值被模型预测的更小了。而test1到test5的衰减主要是由于test5的负样本倾向于预测为更高的CTR。(训练集和test1的负样本曲线完全重合了,肉眼几乎分辨不出来)。在training steps=600000,模型已经过拟合,从而对点击和未点击的样本都倾向预测为0。这是因为数据的过度倾斜。点击的样本比例不足10%,因此降低预测CTR仍然可以降低训练的损失。这种分布形状随着数据的不同而显著改变,分数向右移动,分布也变得模糊。


图3和图4


图5和图6

3.2 Neuron Status

 本节我们统计了不同训练阶段和数据集的神经元状态。这些统计特征描述了输入数据的模型表示,可以帮助我们解释模型的效果与工作原理。


图7

图3和图4分别展示了第三层,第四层网络输出的平均值,图5和图6展示的是标准差。训练100000步和210000步十分接近underfitting和well-fitting阶段。大约有四分之一的神经元没有被激活。在过拟合阶段(300000步)才出现了重大变化,激活的的神经元更多了。此外,训练集与测试集之间的差距随着拟合程度的增加而变大,尤其是标准差(图5和图6)。训练集上标准差越大表明神经元对训练数据的输入越敏感。图7展示了在不同数据集第3层的所有64个神经元平均的标准差。对于三个不同的训练阶段,平均标准差的趋势与模型的AUC(图1)类似。

    为了获得更多关于模型内神经元协作模式的原理[21,26],我们计算了每一层神经元之间的相关性。使用激活函数之前的神经元状态。我们通过平均每一层所有相关系数的绝对值来测量神经元的平均相关程度。图8展示了以training step做变量的相关系数的平均值。相关系数随着层高的增加而增加。这表明DNN模型正在通过连续的网络层来提炼输入信息[22,24,28]。只有非常有限的部分输入信息才可以传输到输出层。


图8

    在训练210000步后,所有隐藏层的神经元相关系数随着训练单调递减。回顾在过拟合下状态观察到的更多的神经元激活(图3和4),我们可以理解模型开始从输入信息中探索更多的预测模式。然而(图1)测试集AUC的降低表明训练数据的表示变强并不适用测试集的预测。

    为了展示输入数据高阶表示的空间结构,我们使用t-SNE方法[17, 21]将神经元的输出向量映射到二维空间。t-SNE映射可以保留原始空间的邻域和簇。在图9中,我们展示了210000训练步中网络层2,3,和4的映射结果。所呈现的10000个点击和10000个未点击实例是从训练集中随机选择的。

    在layer 3(图9中的中间图)中,我们可以清楚地看到点击点集中的区域。我们发现训练过程提高了训练集点击点的集中程度,这表明该模型在训练数据中学习到了更具辨别性的表示。在测试数据集中,我们观察到当发生过度拟合时,这种集中分布就消失了。与文献[21]中的图像分类不同,即使在严重过拟合阶段也没有观察到类分离。这主要是由于CTR预测任务的高噪声和数据倾斜造成的。


图9

    从图9的最左边的图可以看出,网络第2层的点击点的聚集程度明显低于网络第3层。这与以下假设一致:对于一个经过适当训练的DNN模型,隐藏层输出的判别能力随着网络层次的增加而增加[2,5,21]。然而,如图9的右图所示,网络第4层的点击点的聚集程度并没有改善,而且看起来更分散。回顾网络第4层神经元之间非常强的相关性(图8),有人可能会怀疑网络第4层的输出是否比网络第3层更具有预测性。关于这点在接下来的章节会有更深入的讨论。

3.3 Probe Evaluations


图10

    为了研究隐藏层的有效性,我们实现了Alain&Bengio的探测方法[2]。DNN模型通过网络层从输入特征中挖掘出更有预测性的特征,然后将这些特征输入到简单的线性分类器中。对于每一层,我们使用该层的输出向量作为LR模型的输入特征来预测CTR。LR模型可以作为评价隐藏层有效性的探测器。LR探测器的效果越好意味着该层提取的信息更具有预测性,从而提升了整个DNN模型的效果。

    LR模型使用训练集进行训练直到收敛为止,固定DNN模型,并在测试集上评估效果。如图10所示,在训练210000步中,模型效果从网络第1层到第3层是逐步上升的,这说明这些网络层确实从输入信息中提取到了更具有预测性的信息。网络第4层的效果和网络第3层完全一样,这表明网络第4层并不如前面三层网络更有效。这与上小节的观察是一致的。

    每条曲线的AUC变化(在图10中)说明了隐藏层对不同的数据分布有不同的表现。在DNN模型泛化效果最好的训练步骤210000中,所有层的效果作为数据集的一个函数,其变化趋势与DNN模型相同。相比之下,对于训练10000步中的underfitting的DNN模型,网络第1层的表现与其它网络层不同。此外,在训练600000步中,DNN模型在训练数据上产生了过度拟合,使得学习到的信息对于测试数据开始失效。因此,探测器的效果很差,波动性也很大。

3.4 Feature Group Saliency

    对于DNN模型的输入,我们研究了输入特征对反向传播梯度信号模型的影响[16]。稀疏特征的embedding拼接层可以视作深度神经网络的输入。在模型固定的情况下,对于每个输入实例,我们针对模型输出可以计算的梯度.

    (3)


图11

    梯度向量每个元素的大小反应模型输出对特定embedding元素变化的敏感度。它描述了一个特定embedding值的微小变化对最终输出的影响程度。给定一个数据集,我们通过对整个数据集上对应的8个梯度元素在g0中的绝对值求平均值来计算每个特征组的显著性得分。这个显著性得分为我们提供了对给定数据集的每个特征组的模型敏感性的平均分。

    图11展示了显著性得分。总体上来说,随着训练的不断进行,模型对所有特征组的敏感性不断增加。在过拟合阶段,第10组特征上升的很明显,而且比其他特征组都要高。该特征组由用户id组成,其中id的数量比任何其他特征组至少大两个数量级[9]。在这个训练阶段,该模型被训练成从用户id中记忆了大量不具有概括性的信息,从而显著地降低了测试数据集的效果。

4 DISCUSSION

4.1 Role of Layer 4

    关于网络第4层是否有必要包含在模型中的问题。为了回答这个问题,我们对神经网络进行了修改,并研究模型的训练效果。我们将网络第4层的宽度减少或增加2倍,甚至从模型中删除。结果表明,这些修改不会影响在不同测试数据集的模型效果(测试集最高AUC)。尽管没有危害,但在DNN模型中包含网络第4层是没有任何用处的。

4.2 Regularization

    上一节中的分析显示,当过度拟合时,模型对输入变得十分敏感。此外,第3层和第4层神经元之间的高度相关性(图8)意味着可能存在严重的co-adaptations[25]。有人可能希望使用正则化来控制过度拟合,并在测试数据上获得更好的性能。我们使用了L1,L2正则和dropout 调试了各种超参数。但是没有得到效果提升。今后,在提高模型的泛化能力方面还需要做更多的探索。

4.3 Feature Treatment

    3.4小节揭示了模型在过度拟合时对用户id的特征组非常敏感的问题。除了正则化之外,通过优化输入特征也可以提高模型的泛化能力。用户id是一个高度细粒度的特性组。直接将其输入到基于嵌入的深层神经网络可能不是最佳选择。遵循Wide&Deep[6]的思想,我们从embedding层中删除用户id。每个用户id的偏差由一个浮点数表示,并添加到输出层中

    (4)

这个偏置和模型其他部分一起训练。这种方式可以提升测试集的AUC大约0.1%。

5 APPLICATIONS

    利用上面介绍的可视化和分析技术,我们将在本节讨论一些实际应用:

    1. 预测的CTR得分的分布对实时竞价拍卖非常重要。了解分数分布可以帮助我们设计更好的校准方法[13,19]。另外,分数分布有助于发现异常值或不适合的样本,这反过来又可以用来改进模型。

    2. 对模型内部状态和梯度信号的检测打开了DNN模型的“黑匣子”,有助于我们了解模型的机理和特征的影响。这些方法可以用来诊断模型,比如(不局限于)underfitting/overfitting、梯度爆炸/消失,无效的网络结构等等。更深层次的了解模型机制可以帮助我们设计更棒的模型结构,训练算法以及特征。

    3. 对于在线广告系统化,监控模型的在线性能和数据管道的健康状况是非常重要的。为模型输入有问题的数据可能导致灾难。然而描述和监控极度稀疏和高维的数据又是十分困难的。此外,监视模型的线上效果可能还不够。每次竞价模型就会预测数百个候选广告的点击率,而只有极少数广告能够赢得竞价并从中得到反馈。而经典的性能指标主要基于这些反馈,因此只能覆盖有限部分的有偏数据。

    DNN模型天然具有将稀疏的数据数据转换为稠密的数字表示。因此,神经元输出和梯度信号的统计可以作为一种新的监测输入数据分布的指标实现。请注意,计算这些数据是不需要反馈标签的。例如,如图7所示,网络第3层输出的平均标准差随输入数据分布的自然变化而变化。有问题的输入数据会导致统计数据发生更大的变化。

6 CONCLUSION

    在这项工作中,我们在神经元的水平上可视化并分析了一个简单的DNN CTR模型。在一系列的数据集上进行了模型训练和评估。端到端的检查了模型。使用了多种方法来研究神经元的状态。特征embedding的梯度用于创建显著性映射来描述特征组的影响。这些分析提供了对模型机制的深入了解,帮助我们监控、诊断和优化模型。

    目前,我们正在应用这些方法为我们的在线广告平台构建一个基于模型的评估和监控系统。基于我们的工业场景,未来的工作将集中在探索更多解释深度学习的方法,研究更复杂的算法,并应用这些方法设计更好的模型和算法。

REFERENCES

[1] Mart´ın Abadi, Ashish Agarwal, Paul Barham, Eugene Brevdo, Zhifeng Chen,

Craig Citro, Greg S Corrado, Andy Davis, Je.rey Dean, Ma.hieu Devin, et al.

2016. Tensor.ow: Large-scale machine learning on heterogeneous distributed

systems. arXiv preprint arXiv:1603.04467 (2016). h.ps://www.tensor.ow.org/

[2] Guillaume Alain and Yoshua Bengio. 2016. Understanding intermediate layers

using linear classi.er probes. arXiv preprint arXiv:1610.01644 (2016).

[3] Leila Arras, Gr´egoire Montavon, Klaus-Robert M¨uller, andWojciech Samek. 2017.

Explaining recurrent neural network predictions in sentiment analysis. arXiv

preprint arXiv:1706.07206 (2017).

[4] Dzmitry Bahdanau, Kyunghyun Cho, and Yoshua Bengio. 2014. Neural machine

translation by jointly learning to align and translate. arXiv preprint

arXiv:1409.0473 (2014).

[5] Yoshua Bengio et al. 2009. Learning deep architectures for AI. Foundations and

trends® in Machine Learning 2, 1 (2009), 1–127.

[6] Heng-Tze Cheng and Levent Koc. 2016. Wide & deep learning for recommender

systems. In Proceedings of the ACM 1st Workshop on Deep Learning for Recommender

Systems. 7–10.

[7] Paul Covington, Jay Adams, and Emre Sargin. 2016. Deep neural networks for

youtube recommendations. In Proceedings of ACM Conference on Recommender

Systems. 191–198.

[8] John Duchi, Elad Hazan, and Yoram Singer. 2011. Adaptive subgradient methods

for online learning and stochastic optimization. Journal of Machine Learning

Research 12, Jul (2011), 2121–2159.

[9] Tiezheng Ge, Liqin Zhao, Guorui Zhou, Keyu Chen, Shuying Liu, Huiming

Yi, Zelin Hu, Bochao Liu, Peng Sun, Haoyu Liu, et al. 2017. Image Ma.ers:

Jointly Train Advertising CTR Model with Image Representation of Ad and User

Behavior. arXiv preprint arXiv:1711.06505 (2017).

[10] Xavier Glorot and Yoshua Bengio. 2010. Understanding the di.culty of training

deep feedforward neural networks. Journal of Machine Learning Research 9

(2010), 249–256.

[11] Ian Goodfellow, Yoshua Bengio, and Aaron Courville. 2016. Deep Learning. MIT

Press.

[12] .ore Graepel, Joaquin .i˜ nonero Candela, .omas Borchert, and Ralf Herbrich.

2010. Web-scale Bayesian Click-through Rate Prediction for Sponsored Search

Advertising in Microso.’s Bing Search Engine. In Proceedings of the 27th International

Conference on International Conference on Machine Learning (ICML’10).

Omnipress, USA, 13–20.

[13] Xinran He, Junfeng Pan, Ou Jin, Tianbing Xu, Bo Liu, Tao Xu, Yanxin Shi,

Antoine Atallah, Ralf Herbrich, Stuart Bowers, et al. 2014. Practical lessons from

predicting clicks on ads at facebook. In Proceedings of the Eighth International

Workshop on Data Mining for Online Advertising. ACM, 1–9.

[14] Andrej Karpathy, Justin Johnson, and Fei-Fei Li. 2015. Visualizing and understanding

recurrent networks. arXiv preprint arXiv:1506.02078 (2015).

[15] Pangwei Koh and Percy Liang. 2017. Understanding Black-box Predictions via

In.uence Functions. In International Conference on Machine Learning. 1885–1894.

[16] Jiwei Li, Xinlei Chen, Eduard Hovy, and Dan Jurafsky. 2016. Visualizing and

Understanding Neural Models in NLP. arXiv preprint arXiv:1506.01066v2 (2016).

[17] Laurens van der Maaten and Geo.rey Hinton. 2008. Visualizing data using t-SNE.

Journal of machine learning research 9, Nov (2008), 2579–2605.

[18] Aravindh Mahendran and Andrea Vedaldi. 2016. Visualizing deep convolutional

neural networks using natural pre-images. International Journal of Computer

Vision 120, 3 (2016), 233–255.

[19] Brendan McMahan, Gary Holt, David Sculley, Michael Young, Dietmar Ebner,

Julian Grady, Lan Nie, Todd Phillips, Eugene Davydov, Daniel Golovin, et al.

2013. Ad click prediction: a view from the trenches. In Proceedings of the 19th

ACM SIGKDD international conference on Knowledge discovery and data mining.

ACM, 1222–1230.

[20] Kexin Pei, Yinzhi Cao, Junfeng Yang, and Suman Jana. 2017. Deepxplore: Automated

whitebox testing of deep learning systems. In Proceedings of the 26th

Symposium on Operating Systems Principles. ACM, 1–18.

[21] Paulo E Rauber, Samuel G Fadel, Alexandre X Falcao, and Alexandru C Telea. 2017.

Visualizing the hidden activity of arti.cial neural networks. IEEE transactions on

visualization and computer graphics 23, 1 (2017), 101–110.

[22] Andrew Michael Saxe, Yamini Bansal, Joel Dapello, Madhu Advani, Artemy

Kolchinsky, Brendan Daniel Tracey, and David Daniel Cox. 2018. On the Information

Bo.leneck .eory of Deep Learning. In International Conference on

Learning Representations. h.ps://openreview.net/forum?id=ry WPG-A-

[23] Ying Shan and T Ryan Hoens. 2016. Deep crossing: Web-scale modeling without

manually cra.ed combinatorial features. In Proceedings of ACM Conference on

Knowledge Discovery and Data Mining.

[24] Ravid Shwartz-Ziv and Na.ali Tishby. 2017. Opening the black box of deep

neural networks via information. arXiv preprint arXiv:1703.00810 (2017).

[25] Nitish Srivastava, Geo.rey Hinton, Alex Krizhevsky, Ilya Sutskever, and Ruslan

Salakhutdinov. 2014. Dropout: A simple way to prevent neural networks from

over..ing. .e Journal of Machine Learning Research 15, 1 (2014), 1929–1958.

[26] Christian Szegedy, Wojciech Zaremba, Ilya Sutskever, Joan Bruna, Dumitru

Erhan, Ian Goodfellow, and Rob Fergus. 2013. Intriguing properties of neural

networks. arXiv preprint arXiv:1312.6199 (2013).

[27] Zhiyuan Tang, Ying Shi, Dong Wang, Yang Feng, and Shiyue Zhang. 2017. Memory

visualization for gated recurrent neural networks in speech recognition.

Proceedings of IEEE International Conference on Acoustics, Speech and Signal

Processing (ICASSP) (2017).

[28] Na.ali Tishby and Noga Zaslavsky. 2015. Deep learning and the information

bo.leneck principle. In 2015 IEEE Information .eoryWorkshop (ITW). 1–5. h.ps:

//doi.org/10.1109/ITW.2015.7133169

[29] Ma.hew D Zeiler and Rob Fergus. 2014. Visualizing and understanding convolutional

networks. In European conference on computer vision. Springer, 818–833

你可能感兴趣的:(【推荐-阿里--可视化分析】Visualizing and Understanding Deep Neural Networks in CTR Prediction)