@TOC
论文名称:Deep Crossing:Web-Scale Modeling without Manually Crafted Combinatorial Features
原文地址:Deep Crossing
⚡本系列历史文章⚡
【推荐系统论文精读系列】(一)--Amazon.com Recommendations
【推荐系统论文精读系列】(二)--Factorization Machines
【推荐系统论文精读系列】(三)--Matrix Factorization Techniques For Recommender Systems
【推荐系统论文精读系列】(四)--Practical Lessons from Predicting Clicks on Ads at Facebook
【推荐系统论文精读系列】(五)--Neural Collaborative Filtering
【推荐系统论文精读系列】(六)--Field-aware Factorization Machines for CTR Prediction
【推荐系统论文精读系列】(七)--AutoRec Autoencoders Meet Collaborative Filtering
【推荐系统论文精读系列】(八)--Deep Crossing:Web-Scale Modeling without Manually Crafted Combinatorial Features
【推荐系统论文精读系列】(九)--Product-based Neural Networks for User Response Prediction
【推荐系统论文精读系列】(十)--Wide&Deep Learning for Recommender Systems
【推荐系统论文精读系列】(十一)--DeepFM A Factorization-Machine based Neural Network for CTR Prediction
【推荐系统论文精读系列】(十二)--Neural Factorization Machines for Sparse Predictive Analytics
一、摘要
人工制作的组合特征是许多成功模型背后的 "秘诀"。然而,对于网络规模的应用来说,特征的种类和数量使得这些手工制作的特征在创建、维护和部署时成本高昂。本文提出了Deep Crossing模型,它是一个深度神经网络,可以自动结合特征来产生卓越的模型。Deep Crossing的输入是一组单独的特征,可以是密集的也可以是稀疏的。重要的交叉特征是由网络隐含地发现的,网络由嵌入和堆叠层以及残余单元的级联组成。
深度交叉是通过一个名为计算网络工具包(CNTK)的建模工具实现的,由一个多GPU平台提供支持。它能够从头开始为一个主要的付费搜索引擎建立两个网络规模的模型,并且只用生产模型中使用的一个子集的特征就取得了卓越的结果。这证明了使用Deep Crossing作为一般建模范式的潜力,可以改善现有产品,并加快新模型的开发,而只需在特征工程和获取深层领域知识方面投入一小部分。
二、介绍
传统的机器学习算法应该最好地利用所有的输入特征来预测和分类新的实例。因此,在工业界和学术界,存在着大量关于原始特征的工程转化的工作。一个主要的转换类型是基于多个特征的组合构建函数,并将其输出作为学习器的输入。这些组合特征1有时被称为交叉特征,或多向特征。
组合特征是强大的工具,尤其是在领域专家的手中。在我们自己对一个主要的赞助搜索引擎的经验中,它们是许多模型中最强大的特征之一。在Kaggle社区,顶级的数据科学家是制作这种特征的大师,甚至跨越三到五个维度。创造有效的组合特征的直觉和能力是他们获胜公式中的一个重要因素。在计算机视觉界,类似于SIFT的特征是当时ImageNet竞赛最先进性能背后的关键驱动力。SIFT特征是在图像斑块上提取的,是组合特征的特殊形式。
组合特征的力量伴随着高昂的成本。在个人开始创建有意义的特征之前,有一个陡峭的学习曲线需要攀登。随着特征数量的增加,管理、维护和部署这些特征变得很有挑战性。在网络规模的应用中,寻找额外的组合特征来改进现有的模型是一项艰巨的任务,因为搜索空间很大,而且考虑到数十亿的样本,训练和评估周期的周转很慢。
深度学习具有无需人工干预就能从单个特征中学习的前景。语音和图像识别是最早展示这种潜力的领域之一。通过深度卷积神经网络(CNN)从特定任务中学习的卷积核已经取代了手工制作的类似SIFT的特征,成为图像识别的最先进技术。一个类似的模型已被应用于NLP应用,以从头开始建立语言处理模型,而不需要大量的特征工程。
深度交叉将深度学习的成功扩展到一个更普遍的环境中,其中单个特征的性质不同。更具体地说,它吸收了单个特征,如文本、分类、ID和数字特征,并根据具体任务自动搜索最佳组合。此外,Deep Crossing的设计是为了处理网络规模的应用和数据规模。这不仅是因为作者主要对这类应用感兴趣,而且还因为在这种规模下运行的通用模型没有多少选择。值得注意的是,Deep Crossing在学习过程中确实以某种方式产生了组合特征,尽管Deep Crossing的输出是一个没有明确表示这些特征的模型。
三、相关工作
不用手工制作的特征来学习深度神经网络的想法并不新鲜。在80年代早期,福岛报告了一个七层的Neocognitron网络,它可以从图像的原始像素识别数字。通过利用部分连接结构,Neocognitron实现了移位不变性,这是视觉识别任务的一个重要特性。CNN是由LeCun等人在90年代末发明的,具有类似的结构,特别是部分连接的卷积核。尽管CNN作为一个识别引擎有着坚实的基础,但基于类似SIFT特征的分类器在近十年来主导了图像识别。2012年,Krizhevsky等人提出了AlexNet,它比基于SIFT的基线错误率高出近11个绝对百分点。最近,一个152层的Residual Net在2015年赢得了ImageNet和MS COCO竞赛。
深度CNN的发展既鼓舞人心又令人鼓舞。它表明,即使在最好的人工特征已经被微调了十年的系统中,深度学习也能得到改善。换句话说,即使是最有经验的领域专家也会错过深度CNN使用特定任务的过滤器所捕捉到的特征之间的深层互动关系。意识到这一点,对我们在深度交叉方面的工作有着深远的影响。
深度语义相似性模型(DSSM)学习一对文本字符串之间的语义相似性,每个文本字符串都由称为三字母克的稀疏表示法表示。学习算法通过嵌入两个向量来优化基于余弦距离的目标函数。学习到的嵌入捕捉到了单词和句子的语义,并被应用于赞助搜索、问题回答和机器翻译,取得了很好的效果。
因式分解机(FM)在其一般形式下对单个特征之间的d-way交互进行建模。在非常稀疏的输入情况下,FM显示出比SVM更好的结果,但它在密集特征上的表现还不清楚。
对于NLP任务,建立了一个统一的神经网络架构,避免了特定任务的特征工程。深度交叉的目标是更广泛的输入特征。
四、搜索广告
深度交叉是在一个主要搜索引擎的赞助搜索的背景下讨论的。读者可参考[5]了解有关此主题的概述。简而言之,赞助商搜索负责在有机搜索结果旁边显示广告。生态系统中有三个主要的代理:用户、广告商和搜索平台。该平台的目标是向用户展示最符合用户意图的广告,该广告主要通过特定的查询来表达。以下是下文讨论的关键概念。
- 查询:用户在搜索框中键入的文本字符串
- 关键词:与产品相关的文本字符串,由广告客户指定以匹配用户查询
- 标题:赞助广告的标题(由广告商指定以吸引用户的注意力)
- 登录页:当用户点击相应的广告时,用户到达的产品网站
- 匹配类型:给广告客户的一个选项,关于用户查询应与关键字匹配的程度,通常有四种:精确、短语、广泛和上下文
- 活动:一组共享相同设置的广告,如预算和定位,通常用于将产品分类
- 印象:向用户显示的广告实例。印象通常与运行时可用的其他信息一起记录
- 点击:指示用户是否单击了某个印象。单击通常与运行时可用的其他信息一起记录
- 点击率:总点击次数超过总印象次数
- 单击预测:平台的一个关键模型,用于预测用户针对给定查询点击给定广告的可能性
赞助搜索只是一种网络规模的应用。然而,考虑到问题空间的丰富性、各种类型的特征和数据量,我们认为我们的结果可以推广到具有类似规模的其他应用。
五、特征表示
5.1 独立特征
每个特征席X被表示为向量。对于诸如查询之类的文本功能,一个选项是将字符串转换为具有49292维的三字母g。分类输入(如MatchType)由一个热向量表示,其中精确匹配为[1,0,0,0],短语匹配为[0,1,0,0],等等。在一个有赞助的搜索系统中,通常有数百万个活动。简单地将活动ID转换为onehot向量将显著增加模型的大小。一种解决方案是使用一对配套功能,如表中所示,其中使用了CampaignID仅由点击次数最多的前10000个活动组成的一个热门表示。将为所有剩余活动保存第10000个插槽(索引从0开始)。其他活动包含在CampaignIDCount中,这是一个数字功能,用于存储每个活动的统计信息,如点击率。在下面的讨论中,这些特性将被称为计数特性。除计数特征外,目前介绍的所有特征都是稀疏特征。
5.2 组合特征
深度交叉避免使用组合特征。它可用于稀疏和密集的单个特征,并支持上述各种特征类型。这使得用户可以自由地使用他们从特定应用程序中选择的功能。虽然收集要素并将其转换为正确的表示形式仍然需要大量的工作,但工作仅限于单个要素的级别。其余部分由模型负责。
六、模型架构
图1是深度交叉的模型架构,其中输入是一组单独的特征。该模型有四种类型的层,包括嵌入层、堆叠层、残差层和评分层。目标函数是我们的应用程序的对数损失,但可以轻松定制为softmax或其他函数。对数损失定义为:
6.1 Embedding层
对于数值类型特征,不需要进行Embedding,直接到Stacking层进行堆叠,对于那些类别特征,使用OneHot编码的特征,每个特征需要进行Embedding。
6.2 Stacking层
将上面类别特征Embedding后的特征进行展开,和数值类型特征进行拼接,形成新的特征向量,然后输入到残差层。
6.3 Residual层
残余层是由残余单元构建的图2中。残余单元是 "残余网 "的基本构成部分。剩余网[7]的基本构件,该网在ImageNet竞赛中获得了世界纪录。ImageNet竞赛的世界纪录。Deep Crossing使用了一个稍加修改的 剩余单元,它不使用卷积核。就我们所知 据我们所知,这是首次将残差单元 被用来解决图像识别以外的问题。残差单元的独特属性是在原始输入特征通过两个卷积核后,将其加回 在通过两层ReLU转换后,将原始输入特征添加回 ReLU转换后,再把原始输入特征加回来。
6.4 Score层
将残差的输出进行sigmoid映射,将其转化成CTR的预测点击率。
References
[1] A. Agarwal, E. Akchurin, C. Basoglu, G. Chen, S. Cyphers, J. Droppo, A. Eversole, B. Guenter, M. Hillebrand, T. R. Hoens, X. Huang, Z. Huang, V. Ivanov, A. Kamenev, P. Kranen, O. Kuchaiev, W. Manousek, A. May, B. Mitra, O. Nano, G. Navarro, A. Orlov, M. Padmilac, H. Parthasarathi, B. Peng, A. Reznichenko, F. Seide, M. L. Seltzer, M. Slaney, A. Stolcke, H. Wang, Y. Wang, K. Yao, D. Yu, Y. Zhang, and G. Zweig. An introduction to computational networks and the computational network toolkit. Technical report, Microsoft Technical Report MSR-TR-2014-112, 2014.
[2] K. Chen and Q. Huo. Scalable training of deep learning machines by incremental block training with intra-block parallel optimization and blockwise model-update filtering. In Internal Conference on Acoustics, Speech and Signal Processing, 2016.
[3] R. Collobert, J. Weston, L. Bottou, M. Karlen, K. Kavukcuoglu, and P. Kuksa. Natural language processing (almost) from scratch. The Journal of Machine Learning Research, 12:2493–2537, 2011.
[4] G. E. Dahl, D. Yu, L. Deng, and A. Acero. Context-dependent pre-trained deep neural networks for large-vocabulary speech recognition. Audio, Speech, and Language Processing, IEEE Transactions on, 20(1):30–42, 2012.
[5] B. Edelman, M. Ostrovsky, and M. Schwarz. Internet advertising and the generalized second price auction: Selling billions of dollars worth of keywords. Technical report, National Bureau of Economic Research, 2005.
[6] K. Fukushima. Neocognitron: A self-organizing neural network model for a mechanism of pattern recognition unaffected by shift in position. Biol. Cybernetics, 36:193–202, 1980.
[7] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning for image recognition. arXiv preprint arXiv:1512.03385, 2015.
[8] G. Hinton, L. Deng, D. Yu, G. E. Dahl, A.-r. Mohamed, N. Jaitly, A. Senior, V. Vanhoucke, P. Nguyen, T. N. Sainath, et al. Deep neural networks for acoustic modeling in speech recognition: The shared views of four research groups. Signal Processing Magazine, IEEE, 29(6):82–97, 2012.
[9] G. E. Hinton, S. Osindero, and Y.-W. Teh. A fast learning algorithm for deep belief nets. Neural computation, 18(7):1527–1554, 2006.
[10] P.-S. Huang, X. He, J. Gao, L. Deng, A. Acero, and L. Heck. Learning deep structured semantic models for web search using clickthrough data. In Proceedings of the 22nd ACM international conference on Conference on information & knowledge management, pages 2333–2338. ACM, 2013.
[11] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems, pages 1097–1105, 2012.
[12] Y. LeCun, L. Bottou, Y. Bengio, and P. Haffner. Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11):2278–2324, 1998.
[13] D. G. Lowe. Object recognition from local scale-invariant features. In Computer vision, 1999. The proceedings of the seventh IEEE international conference on, volume 2, pages 1150–1157. IEEE, 1999.
[14] T. Mikolov, I. Sutskever, K. Chen, G. S. Corrado, and J. Dean. Distributed representations of words and phrases and their compositionality. In Advances in neural information processing systems, pages 3111–3119, 2013.
[15] S. Rendle. Factorization machines. In Data Mining (ICDM), 2010 IEEE 10th International Conference on, pages 995–1000. IEEE, 2010.
[16] J. Schmidhuber. Deep learning in neural networks: An overview. Neural Networks, 61:85–117, 2015.
[17] F. Seide, G. Li, X. Chen, and D. Yu. Feature engineering in context-dependent deep neural networks for conversational speech transcription. In Automatic Speech Recognition and Understanding (ASRU), 2011 IEEE Workshop on, pages 24–29. IEEE, 2011.
[18] F. Seide, G. Li, and D. Yu. Conversational speech transcription using context-dependent deep neural networks. In Interspeech, pages 437–440, 2011.
[19] Y. Shen, X. He, J. Gao, L. Deng, and G. Mesnil. Learning semantic representations using convolutional neural networks for web search. In Proceedings of the companion publication of the 23rd international conference on World wide web companion, pages 373–374. International World Wide Web Conferences Steering Committee, 2014.
[20] D. Yu and L. Deng. Deep learning and its applications to signal and information processing [exploratory dsp]. Signal Processing Magazine, IEEE, 28(1):145–154, 2011.
[21] D. Yu, G. Hinton, N. Morgan, J.-T. Chien, and S. Sagayama. Introduction to the special section on deep learning for speech and language processing. Audio, Speech, and Language Processing, IEEE Transactions on, 20(1):4–6, 2012.