推荐系统之Wide&Deep

今天开始了推荐系统的第二个模型Wide&Deep的学习,这是谷歌发表于2016年的深度学习模型,主要的思想是用Memorization和Generalization来帮助网络去学习到目标函数。具体地,论文地址在此:https://arxiv.org/pdf/1606.07792.pdf

Wide&Deep的网络结构


源自Wide&Deep的论文

Wide模型:传统的logistic regression模型,即将处理好的输入的特征通过线性加权的方式,再通过sigmoid函数的变换,用来拟合目标函数的概率。该部分的特点为,对于历史中出现过的某个值,或者某种特征组合是很敏感的,因而,它的作用是memorization。在wide部分,我们通常会将ID类型的特征放入其中,希望它能够学习到在数据集中高频出现的特征组合,其中,我们使用带L1的随机梯度下降的算法FTRL(Follow the Regularized Leader)使得wide部分的稀疏性大大降低,节约参数的计算和存储。当然,一些手动交叉的部分的特征也可以放入wide模型中去。

Deep模型:deep neural network模型,即深度学习的多层感知机的网络结构。通过多层感知机的叠加,对特征进行非线性的抽取,可以组合得到一定的泛化能力。因而,它的作用是generalization。在deep部分,我们通常选择一些数值型的特征放在deep中,通过embedding+深度交互的结合,能够学习到各个特征的最优向量表达。由于Deep部分的输入是embedding向量以及数值类特征,因此,优化的时候可以使用AdaGrad去训练。

Wide&Deep模型:
从谷歌的论文的网络结构图可以看到,它的dense部分为连续型变量(如年龄、app的安装数量、访问次数等等)+类别型变量(如人口基础信息、设备类型、用户曝光App等),它的deep部分为用户安装的app和用户曝光的app的特征交叉。


源自Wide&Deep的论文

具体代码:


get_linear_logits

get_dnn_logits

WideDeep

......

模型参数

相关思考题:

  1. 在模型结构日渐复杂的今天,你认为wide部分存在的意义还大吗?在你的模型中还保留这wide部分这种简单暴力的结构,还是已经用更复杂的结构来代替?
    在模型结构日益复杂的今天,我认为wide部分还是有存在的意义的,可以提取出高频出现的特征组合,当然,这块部分也可以用FM来替代,比较典型的是deepFM模型。

  2. 能把Wide部分和Deep部分分开训练吗?能让FTRL在线学习,而深度部分batch训练吗?
    我觉得不能将Wide和Deep分开训练,因为两者的联合才构建了到最终的目标函数的映射。

附录:
namedtuple是升级版的tuple,tuple的特性是一个包含多个不可变属性值的对象,namedtuple对于对象本身就做了命名,同时也给域做了命名定义,如下面的例子,定义了一个name为SparseFeat的namedtuple,该namedtuple具有三个域,分别为name、vocabulary_size和embedding_size。

from collections import namedtuple
SparseFeat = namedtuple('SparseFeat',['name','vocabulary_size','embedding_size'])
sparseFeat = SparseFeat(name='Sparse1', vocabulary_size=14, embedding_dim=8)

参考资料:

  1. [DataWhale学习资料](https://github.com/datawhalechina/team-learning-rs/blob/master/DeepRecommendationModel/Wide%26Deep.md
  2. [见微知著,你真的搞懂Google的Wide&Deep模型了吗?]
    https://zhuanlan.zhihu.com/p/142958834
  3. [在线最优化求解] (https://github.com/wzhe06/Ad-papers/blob/master/Optimization%20Method/%E5%9C%A8%E7%BA%BF%E6%9C%80%E4%BC%98%E5%8C%96%E6%B1%82%E8%A7%A3%28Online%20Optimization%29-%E5%86%AF%E6%89%AC.pdf)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容