《深度学习推荐系统》——第三章1

第三章 浪潮之巅——深度学习在推荐系统中的应用

  随着微软的 Deep Crossing, ⾕歌的 Wide&Deep,以及 FNN PNN 等⼀⼤批优秀的深度学习推荐模型在 2016 年被提出,推荐系统和计算⼴告领域全⾯进⼊深度学习时代。时⾄今⽇,深度学习推荐模型已经成为推荐和⼴告领域当之⽆愧的主流。在第 2章中,笔者与读者探讨了传统推荐模型的结构特点及演化关系。在进⼊深度学习时代之后,推荐模型主要在以下两⽅⾯取得了重⼤进展。

  ( 1 ) 与传统的机器学习模型相⽐,深度学习模型的表达能⼒更强,能够挖掘出更多数据中潜藏的模式。
  ( 2 ) 深度学习的模型结构⾮常灵活,能够根据业务场景和数据特点,灵活调整模型结构,使模型与应⽤场景完美契合。

  从技术⻆度讲,深度学习推荐模型⼤量借鉴并融合了深度学习在图像、语⾳及自然语⾔处理⽅向的成果,在模型结构上进⾏了快速的演化。
  本章总结了在推荐领域影响⼒较⼤的深度学习推荐模型,构建了它们之间的演化图谱,并逐⼀介绍了模型的技术特点。选择模型的标准尽量遵循下⾯三个原则:
  (1)模型在⼯业界和学术界影响⼒较⼤。
  (2)模型已经被⾕歌、阿⾥巴巴、微软等知名互联⽹公司成功应⽤。
  (3)在深度学习推荐系统发展过程中起到重要的节点作⽤。

  下⾯就请跟随笔者,进⼈推荐系统技术的 “ 浪潮之巅”,一同学习深度学习在推荐系统中的应⽤。

3.1 深度学习推荐模型的演化关系图

  图 3-1 所示为主流深度学习推荐模型的演化图谱。以多层感知机( Multi-Layer Perceptron, MLP ) 为核⼼,通过改变神经⽹络的结构,构建特点各异的深度学习推荐模型,其主要的演变⽅向如下。
在这里插入图片描述
  (1)改变神经⽹络的复杂程度:从最简单的单层神经⽹络模型 AutoRec ( 自编码器推荐),到经典的深度神经⽹络结构 Deep Crossing( 深度特征交叉 ),其主要的进化⽅式在于——增加了深度神经⽹络的层数和结构复杂度
  (2)改变特征交叉⽅式:这类模型的主要改变在于丰富了深度学习⽹络中特征交叉的⽅式。例如,改变了⽤户向量和物品向量互操作⽅式的 NeUralCF(Neural Collaborative Filtering, 神经⽹络协同过滤 ),定义了多种特征向量交叉操作的PNN ( Product-based Neural Network, 基于积操作的神经⽹络 )模型。
  (3)组合模型 :这类模型主要是指 Wide&Deep 模型及其后续变种Deep&Cross,DeepFM 等,其思路是通过组合两种不同特点、优势互补的深度学习⽹络,提升模型的综合能⼒。
  (4)FM 模型的深度学习演化版本:传统推荐模型 FM 在深度学习时代有了诸多后续版本,其中包括 NFM ( Neural Factorization Machine, 神经⽹络因⼦分解机)、FNN (Factorization-machine supported Neural Network, 基于因⼦分解机⽀持的神经⽹络 )、AFM ( Attention neural Factorization Machine, 注意⼒因⼦分解机 )等,它们对 FM 的改进⽅向各不相同。例如,NFM 主要使⽤神经⽹络提升 FM ⼆阶部分的特征交叉能⼒,AFM 是引⼊了注意⼒机制的 FM 模型,FNN利⽤ FM 的结果进⾏⽹络初始化。
  (5)注意⼒机制与推荐模型的结合:这类模型主要是将“ 注意⼒机制” 应⽤于深度学习推荐模型中,主要包括结合了 FM 与注意⼒机制的 AFM 和引⼊了注意⼒机制的 CTR 预估模型 DIN (Deep Interest Network, 深度兴趣⽹络)。
  (6)序列模型与推荐模型的结合:这类模型的特点是使⽤序列模型模拟⽤户⾏为或⽤户兴趣的演化趋势,代表模型是 DIEN(Deep Interest Evolution Network,深度兴趣进化⽹络)。
  (7)强化学习与推荐模型的结合:这类模型将强化学习应⽤于推荐领域,强调模型的在线学习和实时更新,其代表模型是 DRN( Deep Reinforcement Learning Network,深度强化学习⽹络)。
  读者应该已经从以上描述中感受到深度学习模型的发展之快、思路之⼴。但每种模型都不是⽆本之⽊,其出现都是有迹可循的。与第 2章的写作思路相同,接下来就请读者带着图 3-1 所示的演化图谱和疑问,⼀起学习每个模型的细节。

3.2 AutoRec——单隐层神经网络推荐模型

  本节要介绍的模型是 2015 年由澳⼤利亚国⽴⼤学提出的 AutoRec [1]。 它将自编码器( AutoEncoder )的思想和协同过滤结合,提出了⼀种单隐层神经⽹络推荐模型。因其简洁的⽹络结构和清晰易懂的模型原理,AutoRec ⾮常适合作为深度学习推荐模型的⼊⻔模型来学习。

3.2.1 AutoRec 模型的基本原理

  AutoRec 模型是⼀个标准的自编码器,它的基本原理是利⽤协同过滤中的共现矩阵,完成物品向量或者⽤户向量的自编码。再利⽤自编码的结果得到⽤户对物品的预估评分,进⽽进⾏推荐排序

基础知识——什么是自编码器

  顾名思义,自编码器是指能够完成数据“ 自编码” 的模型。⽆论是图像、⾳频,还是数据,都可以转换成向量的形式进⾏表达。假设其数据向量为r,自编码器的作⽤是将向量r作为输⼈,通过自编码器后,得到的输出向量尽量接近其本身。
在这里插入图片描述
  经过自编码器⽣成的输出向量,由于经过了自编码器的“ 泛化” 过程,不会完全等同于输⼈向量,也因此具备了⼀定的缺失维度的预测能⼒,这也是自编码器能⽤于推荐系统的原因。
  假设有 m 个⽤户,n个物品,⽤户会对n个物品中的⼀个或⼏个进⾏评分,未评分的物品分值可⽤默认值或平均分值表示,则所有 m 个⽤户对物品的评分可形成⼀个 m x n 维的评分矩阵,也就是协同过滤中的共现矩阵。
在这里插入图片描述
  在得到 AutoRec 模型的重建函数后,还要经过评分预估和排序的过程才能得到最终的推荐列表。下⾯介绍 AutoRec 模型的两个重点内容——重建函数的模型结构和利⽤重建函数得到最终推荐列表的过程。

3.2. 2 AutoRec 模型的结构

  AutoRec 使⽤单隐层神经⽹络的结构来解决构建重建函数的问题。从模型的结构图( 如图 3-2 所示 )中可以看出,⽹络的输⼈层是物品的评分向量 r 输出层是⼀个多分类层。图中蓝⾊的神经元代表模型的 k 维单隐层,其中k<<m。
在这里插入图片描述
  图中的 V 和 W分别代表输⼊层到隐层,以及隐层到输出层的参数矩阵。该模型结构代表的重建函数的具体形式如( 式 3-2)所示。
在这里插入图片描述
  由于 AutoRec 模型是⼀个⾮常标准的三层神经⽹络,模型的训练利⽤梯度反向传播即可完成。

基础知识——什么是神经元、神经⽹络和梯度反向传播

  本节多次提到深度学习相关的基本概念,例如神经元、神经⽹络,以及神经⽹络的主要训练⽅法——梯度反向传播,在这⾥为读者统⼀介绍。
  神经元 (Neuron ) ⼜名感知机 (Perceptron ),在模型结构上与逻辑回归⼀致,这⾥以⼀个⼆维输⼊向量的例⼦对其进⾏进⼀步的解释。假设模型的输⼊向量是⼀个⼆维特征向量(x1,x2)则单神经元的模型结构如图 3-3所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2.3 基于 AutoRec 模型的推荐过程

在这里插入图片描述
  通过遍历输⼊物品向量就可以得到⽤户 u 对所有物品的评分预测,进⽽根据评分预测排序得到推荐列表。
  与 2.2 节介绍的协同过滤算法⼀样,AutoRec 也分为基于物品的 AutoRec 和基于⽤户的 AutoRec。以上介绍的 AutoRec 输⼊向量是物品的评分向量,因此可称为 I-AutoRec( Item based AutoRec ),如果换做把⽤户的评分向量作为输⼊向量,则得到 U-AutoRec ( User based AutoRec ) 在进⾏推荐列表⽣成的过程中,U-AutoRec 相⽐ I-AutoRec 的优势在于仅需输⼈⼀次⽬标⽤户的⽤户向量,就可以᯿建⽤户对所有物品的评分向量。也就是说,得到⽤户的推荐列表仅需⼀次模型推断过程;其劣势是⽤户向量的稀疏性可能会影响模型效果。

3.2.4 AutoRec 模型的特点和局限性

  AutoRec 模型从神经⽹络的⻆度出发,使⽤⼀个单隐层的 AutoEncoder 泛化⽤户或物品评分,使模型具有⼀定的泛化和表达能⼒。由于 AutoRec 模型的结构比较简单,使其存在⼀定的表达能⼒不⾜的问题
  在模型结构上,AutoRec 模型和后来的词向量模型( Word2vec )完全⼀致,但优化⽬标和训练⽅法有所不同,在学习了 Word2vec 之后,有兴趣的读者可以比较⼆者的异同。
  从深度学习的⻆度来说,AutoRec 模型的提出,拉开了使⽤深度学习的思想解决推荐问题的序幕,为复杂深度学习⽹络的构建提供了思路。

3.3 Deep Crossing 模型⼀⼀经典的深度学习架构

  如果说 AutoRec 模型是将深度学习的思想应⽤于推荐系统的初步尝试,那么微软于 2016年提出的 Deep Crossing 模型[2]就是⼀次深度学习架构在推荐系统中的完整应⽤。虽然⾃ 2014 年以来,就陆续有公司透露在其推荐系统中应⽤了深度学习模型,但直到 Deep Crossing 模型发布的当年,才有正式的论⽂分享了完整的深度学习推荐系统的技术细节。相⽐ AutoRec 模型过于简单的⽹络结构带来的⼀些表达能⼒不强的问题,Deep Crossing 模型完整地解决了从特征⼯程、稀疏向量稠密化、多层神经⽹络进⾏优化⽬标拟合等⼀系列深度学习在推荐系统中的应⽤问题,为后续的研究打下了良好的基础。

3.3.1 Deep Crossing 模型的应用场景

  Deep Crossing模型的应⽤场景是微软搜索引擎 Bing中的搜索⼴告推荐场景。⽤户在搜索引擎中输⼈搜索词之后,搜索引擎除了会返回相关结果,还会返回与搜索词相关的⼴告,这也是⼤多数搜索引擎的主要赢利模式。尽可能地增加搜索⼴告的点击率准确地预测⼴告点击率,并以此作为⼴告排序的指标之⼀,是⾮常重要的⼯作,也是 Deep Crossing 模型的优化⽬标。
  针对该使⽤场景,微软使⽤的特征如表 3-1 所示,这些特征可以分为三类:⼀类是可以被处理成 one-hot 或者 multi-hot 向量的类别型特征,包括⽤户搜索词(query ) ⼴告关键词 (keyword ) ⼴告标题 (title ) 落地⻚( landing page )、匹配类型 (match type );—类是数值型特征,微软称其为计数型 (counting )特征,包括点击率、预估点击率( click prediction );—类是需要进⼀步处理的特征,包括⼴告计划( campaign ) 曝光样例( impression ) 点击样例 (click )等。严格地说,这些都不是独⽴的特征,⽽是⼀个特征的组别,需要进⼀步处理。例如,可以将⼴告计划中的预算( budget )作为数值型特征,⽽⼴告计划的 id 则可以作为类别型特征。
在这里插入图片描述

  类别型特征可以通过 one-hot 或 multi-hot 编码⽣成特征向量数值型特征则可以直接拼接进特征向量中,在⽣成所有输⼊特征的向量表达后,Deep Crossing模型利⽤该特征向量进⾏ CTR 预估。深度学习⽹络的特点是可以根据需求灵活地对⽹络结构进⾏调整,从⽽达成从原始特征向量到最终的优化⽬标的端到端的训练⽬的。下⾯通过剖析 Deep Crossing 模型的⽹络结构,探索深度学习是如何通过对特征的层层处理最终准确地预估点击率的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值