深度学习Wide&Deep模型——记忆能力和泛化能力的综合

Wide&Deep前言

Wide&Deep模型的主要思路正如其名,是由单层的Wide部分和多层的Deep部分组成的混合模型。其中Wide部分的主要作用、是让模型具有较强的“记忆能力”;Deep部分的主要作用是让模型具有“泛化能力”。正因为这样的结构特点,使模型间距了逻辑回归和深度神经网络的优点——能够快速处理并记忆大量历史行为特征,并且具有强大的表达能力。不仅在当时迅速成为业界争相应用的主流模型,而且还衍生出大量Wide&Deep模型为基础结构的混合模型。影响力一直延续到至今。

模型的记忆能力与泛化能力

   Wide&Deep模型的设计初衷和其最大的价值在于同时具备较强的“记忆能 力”和“泛化能力”。“记忆能力”是一个新的概念,“泛化能力”虽在之前的章 节中屡有提及,但从没有给出详细的解释,本节就对这两个概念进行详细的解释。

  “记忆能力”可以被理解为模型直接学习并利用历史数据中物品或者特征的“共现频率"的能力。一般来说,协同过滤、逻辑回归等简单模型有较强的“记忆能力”。由于这类模型的结构简单,原始数据往往可以直接影响推荐结果,产生和类似于“如果点击过A,就推荐B”这类规则式的推荐,这就相当于模型直接记住了历史数据的分布特点,并利用这些记忆进行推荐。

  因为Wide&Deep是由谷歌应用商店(Google Play)推荐团队提出的,所以 这里以App推荐的场景为例,解释什么是模型的“记忆能力”。
  假设在Google Play推荐模型的训练过程中,设置如下组合特征:AND(user_installed_app=netflix, impression_app=pandora)(简称netflix&pandora),它 代表用户已经安装了netflix这款应用,而且曾在应用商店中看到过pandora这款应用。如果以“最终是否安装pandora”为数据标签(label),则可以轻而易举地 统计出 netflix&pandora这个特征和安装pandora这个标签之间的共现频率。假设 二者的共现频率高达10%(全局的平均应用安装率为1%),这个特征如此之强, 以至于在设计模型时,希望模型一发现有这个特征,就推荐pandora这款应用(就 像一个深刻的记忆点一样印在脑海里),这就是所谓的模型的“记忆能力”。像逻 辑回归这类简单模型,如果发现这样的“强特征”,则其相应的权重就会在模型 训练过程中被调整得非常大,这样就实现了对这个特征的直接记忆。相反,对于 多层神经网络来说,特征会被名层处理,不断与其他特征进行交叉,因此模型对这个强特征的记忆反而没哟简单模型深刻。

  “泛化能力”可以理解为模型传递特征的相关性,以及发掘稀疏甚至从未出现过的稀有特征与最终标签相关性的能力。矩阵分解比协同过滤的泛化能力 强,因为矩阵分解引人了隐向量这样的结构,使得数据稀少的用户或者物品也能 生成隐向量,从而获得有数据支撑的推荐得分,这就是非常典型的将全局数据传 递到稀疏物品上,从而提高泛化能力的例子。再比如,深度神经网络通过特征的 多次自动组合,可以深度发掘数据中潜在的模式,即使是非常稀疏的特征向量输 人,也能得到较稳定平滑的推荐概率,这就是简单模型所缺乏的“泛化能力”。

Wide&Deep模型的结构

  既然简单模型的“记忆能力”强,深度神经网络的“泛化能力”强,那么设计Wide&Deep模型的直接动机就是将二者融合,具体的模型结构如图所示:
在这里插入图片描述

  Wide&Deep模型把单输入层的Wide部分与由Embedding层和多隐层级吃 Deep部分连接起来,一起输入最终的输出层。单层的Wide部分善于处理大量 稀疏的id类特征;Deep部分利用神经网络表达能力强的特点,进行深层的特证 叉,挖掘藏在特征背后的数据模式。最终,利用逻辑回归模型,输出层将 Wide部分和Deep部分组合起来,形成统一的模型

  在具体的特征工程和输入层设计中,展现了Google Play的推荐团队对业务场景的深刻理解。从图3-14中可以详细地了解到Widc&Deep模型到底将哪些特征作为Deep部分的输人,将哪些特征作为Wide部分的输入。
在这里插入图片描述
     图3-14Wide&Deep模型的详细结构

  Deep部分的输人是全量的特征向量,包括用户年龄(Age)、已安装应用数 ing层量(#App Installs)、设备类型(Device Class)、已安装应用(User Installed App) 曝光应用(Impression App)等特征。已 安装应用、曝光应用等类别型特征,需要经过Embedding层输人连接层(Concatenated Embedding),拼接成1200维的 Embedding向量,再依次经过3层ReLU全连接层,最终输人LogLoss输出层。
  Wide部分的输人仅仅是已安装应用和曝光应用两类特征,其中已安装应用 代表用户的历史行为,而曝光应用代表当前的待推荐应用。选择这两类特征的原 因是充分发挥Wide部分“记忆能力”强的优势。正如3.6.1节所举的“记忆能力” 的例子,简单模型善于记忆用户行为特征中的信息,并根据此类信息直接影响推 荐结果。

  wide部分组合“已安装应用”和“曝光应用”两个特征的函数被称为交叉积变换(Cross Produet Transformation)函数,其形式化定义如(式3-8)所示:
在这里插入图片描述

   C k i C_ki Cki 是一个布尔变量,当第1个特征属于第k个组合特征时, C k i C_ki Cki的值为1,否 则为0; x i x_i xi是第i个特征的值。例如,对于“ANDusrinsalld app-netix impression_ app-pandora)”这个组合特征来说,只有当“seistallde appnetlix 和“impression app-pandora”这两个特征同时为1时,其对应的交叉积变换层的 结果才为1,否则为0。
  在通过交叉积变换层操作完成特征组合之后,Wide部分将组合特征输人最 终的LogLoss输出层,与Deep部分的输出一同参与最后的目标拟合,完成Wide 与Deep部分的融合。

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忘川之水&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值