获课:xingkeit.top/5922/
Wide&Deep 模型原理剖析:记忆性与泛化性融合设计思路
在推荐系统和广告点击率预估领域,Wide&Deep 模型是一个里程碑式的存在。2016 年由 Google 提出后,它迅速成为工业界广泛应用的基准架构。Wide&Deep 的核心贡献,在于它提出了一种简洁而有效的设计理念:将“记忆性”与“泛化性”这两个看似矛盾的目标,通过并行双通道的方式融合在同一个模型之中。本文将从原理层面,深入剖析 Wide&Deep 的设计思路与工作机制。
一、模型要解决的根本矛盾
在 Wide&Deep 出现之前,推荐系统面临一个两难选择。如果采用逻辑回归这类广义线性模型,优点是简单、可解释性强、训练效率高,而且能够很好地记忆高频共现的特征组合。但它的问题是泛化能力弱,对于那些在训练样本中出现很少甚至从未出现的特征组合,模型很难给出合理的预测。
如果采用深度神经网络,优点恰恰是泛化能力强。通过嵌入层将稀疏的类别特征映射为稠密向量,神经网络能够学习到特征之间的深层交互关系,即使是没有见过的特征组合,也能借助相似特征的表达进行推断。但深度网络的问题是,它可能“过度泛化”——当某个用户-物品对在历史上出现过多次、有强信号指示时,模型仍然倾向于用泛化的方式处理,反而忽略了这些具体的、有高度预测性的模式。
简单来说:有些规律是需要死记硬背的,比如“用户 A 点击过物品 B”,这是一个强信号,未来应该沿用。有些规律是需要举一反三的,比如“喜欢科幻片的用户也喜欢星际穿越类电影”,这需要泛化能力。Wide&Deep 的设计哲学就是:把记忆和泛化两条通路同时打开,让模型自己学会什么时候该依赖记忆,什么时候该依赖泛化。
二、Wide 组件的记忆性设计
Wide 组件本质上是一个广义线性模型,通常采用逻辑回归的形式。它的输入包括原始特征以及经过人工构造的交叉特征。最典型的交叉特征是“用户已安装应用与曝光应用的组合”。例如,用户安装了“抖音”且当前曝光的是“快手”,这个二元交叉特征就构成了一个非常强的信号——安装竞品应用的用户,通常不太可能点击当前推荐。
Wide 组件的“记忆性”体现在它能够记住这些特定的特征组合与点击行为之间的关联。一旦某个交叉特征在训练样本中与正样本高度相关,模型会给这个特征分配一个较大的权重。在线上推理时,只要这个特征组合再次出现,Wide 组件就会贡献一个显著的得分。这种机制对于高频、有明确模式的特征非常有效,它不需要去“理解”背后的原因,只需要忠实地记住历史规律。
之所以说 Wide 组件具备“记忆性”而非“学习能力”,是因为它的表达能力受限于输入特征本身。如果没有将某个特征组合放入 Wide 部分,模型就无法利用这个组合的信息。这就要求工程师在特征工程阶段,根据业务经验构造有意义的交叉特征,这既是一种优势(可干预、可解释),也是一种局限(依赖人工经验)。
三、Deep 组件的泛化性设计
Deep 组件是一个前馈神经网络,负责处理泛化性的学习任务。它的输入是所有稀疏的类别特征和稠密的数值特征,类别特征通过嵌入层映射为低维稠密向量后,与数值特征拼接在一起,送入多层全连接网络。
Deep 组件的“泛化性”来源于神经网络的特征表达能力。嵌入层的存在,使得语义上相似的特征在向量空间中彼此靠近。比如“恐怖电影”和“惊悚电影”这两个不同类别,经过嵌入学习后,它们的向量表示会被拉近。当用户喜欢“恐怖电影”而系统中没有看过该用户对“惊悚电影”的反馈时,神经网络仍然可以推断出用户可能有兴趣,这就是泛化的体现。
与 Wide 组件不同,Deep 组件不需要人工构造特征组合。网络中的隐藏层会自动学习特征之间的高阶交互。第一层可能学习到低阶组合,第二层在低阶组合的基础上构建更高阶的抽象,逐层递进。这种自动化的特征组合学习,大大减轻了特征工程的工作量,同时也能够发现一些人类难以预见的隐含模式。
但泛化也有其代价。对于某些确实需要“死记硬背”的强信号模式,神经网络可能会因为追求平滑而“稀释”了这些特异性。一个只在特定用户-物品对上出现的强信号,在嵌入空间中可能被周围相似样本的平均行为所淹没,导致模型无法充分利用这个高置信度的历史证据。
四、双通道融合的设计精髓
Wide&Deep 的真正创新不在于 Wide 或 Deep 各自的设计,而在于将两者联合训练并融合输出的架构。两个组件共享同一个输入层,但各自处理特征的不同部分,最终将它们得到的 logit 相加,经过 Sigmoid 函数输出最终的预估概率。
联合训练是其中的关键细节。在训练过程中,损失函数同时反向传播到 Wide 部分和 Deep 部分,两个组件在同一个优化目标下共同更新参数。这与简单的模型集成有本质区别——集成是将两个独立训练的模型加权平均,而联合训练允许两个组件在训练过程中相互协调、互相弥补。
这种融合设计带来了几个重要的优势。第一,模型的表达能力更强,既可以学习线性规律,也可以学习非线性规律。第二,训练效率更高,相比于分别训练两个模型再融合,联合训练的参数量和计算量都更小。第三,Deep 组件学到的嵌入表示可以同时服务于 Wide 组件,Wide 组件中人工构造的交叉特征也可以反过来引导 Deep 组件关注某些方向。
在实际的推荐场景中,Wide&Deep 的表现通常是:对于头部用户和热门物品,Wide 组件发挥主要作用,因为这些交互历史丰富,记忆性特征足够有效;对于长尾用户和冷门物品,Deep 组件的泛化能力开始主导,因为它能够借助相似群体的行为进行推断。两者相辅相成,构成了一个既稳健又灵活的推荐模型。
五、应用场景与后续演进
Wide&Deep 特别适合处理稀疏、大规模、类别特征丰富的推荐任务。App 推荐、新闻推荐、电商推荐都是典型的应用场景,这些场景中既有大量的 ID 类特征需要记忆,又有丰富的上下文特征需要泛化。
在其之后,谷歌又相继提出了 Deep & Cross Network、Extreme Deep Factorization Machine 等一系列改进模型,核心思路大多是在保留双通道思想的基础上,增强特征交互的表达能力。但 Wide&Deep 以其简洁性和有效性,至今仍然是工业界入门推荐系统最值得学习和参考的经典架构之一。理解它的记忆性与泛化性融合设计,也就理解了现代推荐系统在特征表达方面的核心思考方式。
本站不存储任何实质资源,该帖为网盘用户发布的网盘链接介绍帖,本文内所有链接指向的云盘网盘资源,其版权归版权方所有!其实际管理权为帖子发布者所有,本站无法操作相关资源。如您认为本站任何介绍帖侵犯了您的合法版权,请发送邮件
[email protected] 进行投诉,我们将在确认本文链接指向的资源存在侵权后,立即删除相关介绍帖子!
暂无评论