引荐系统中的深度婚配模型(下)
作者头像
  • 许钦说智能
  • 2020-01-14 21:13:17 3

4.2.9 FGCNN 模型 (通过卷积生成特征)

CNN 模型在图像、语音和自然语言处理(NLP)领域是非常重要的特征提取器,因为它们能够有效捕捉局部连接的信息。然而,在推荐系统中,特征输入通常是稀疏且无序的,这使得直接应用 CNN 来提取特征变得困难。为此,华为诺亚方舟实验室在2019年的WWW会议上提出了一种巧妙的方法,即FGCNN模型,利用CNN来提取新特征。该模型的整体框架如图4.30所示。

图4.30 FGCNN 模型框架

该论文的核心在于应用CNN来提取新特征,具体框架如图4.31所示,可以分为四个层次:卷积层、池化层、重组层和特征输入层。下面详细介绍这四个层次的功能和结构。

图4.31 CNN 模块从原始特征提取新特征

① 卷积层

卷积层是通过卷积核来提取特征的。卷积核的高度(hp)代表每次卷积连接的邻域数量,而宽度(d)需要与嵌入层的维度一致。例如,高度为2的卷积核可以提取二维特征的交叉信息,如姓名与年龄、年龄与身高等。卷积层的输入是从one-hot特征经过嵌入层处理后的数据,维度为nf*k。其中,nf为特征字段的数量,k为隐藏层维度。

② 池化层

特征经过卷积层处理后,维度增加至nfkmc1。为了降低维度,该论文采用了最大池化方法。池化层的输入维度为nfkmc1,经过池化操作后,维度变为nf/hp * k *mc1,其中hp为卷积核的高度。

③ 重组层

重组层用于生成新的特征组。输入为池化层的输出,通过学习参数WR1和BR1来生成新的特征,维度为nf/hp * k *mr1。

④ 特征输入层

重组层生成的新特征与其他特征拼接在一起,形成新的特征向量R。这些新特征可以与原始特征进行交叉,输入到模型层中。

4.2.10 FiBiNet 模型 (特征重要性与双线性特征交互)

FiBiNet模型由新浪微博张俊林团队在2019年提出,结合了特征重要性和双线性特征交互。该模型包括两个独立模块,可以应用于其他网络结构。整体框架如图4.34所示。

图4.34 FiBiNet 模型框架

① SENet:特征重要性提取层

SENet的主要功能是从原始特征中提取重要性信息。该层分为三个阶段:挤压(Squeeze)、提取(Extract)和重加权(Reweight)。挤压阶段通过最大池化或平均池化提取特征的统计信息,提取阶段通过自动编码器思想处理信息,重加权阶段通过权重向量对原始特征进行加权处理。

② 双线性特征交互层

从SENet中提取的新特征与原始特征结合后,可以通过双线性交叉方法进行特征交互。双线性交叉方法可以根据特征交互的不同方式分为三种类型:字段类型、字段每个类型和字段交互类型。这些方法可以根据具体的数据集和应用场景选择最适合的方式。

4.2.11 AutoInt 模型 (自动特征交互)

AutoInt模型使用了注意力机制和多头自注意力机制,整体框架如图4.37所示。该模型的核心在于注意力机制,通过查询(query)、键(key)和值(value)来提取特征之间的交互信息。AutoInt模型通过多头机制提高了特征交互的效果,并且保留了原始特征的信息。

图4.37 AutoInt 模型框架

① 注意力机制

注意力机制的核心在于计算特征之间的相似度,通过点积和归一化操作实现。最终生成的新特征向量包含了多个头的特征信息,形成了多头注意力机制。

4.2.12 DIN 模型 (深度兴趣网络)

DIN模型通过局部激活的思想解决了特征池化方法的不足。该模型主要关注用户的历史行为对当前商品的兴趣权重。通过引入注意力机制,DIN模型能够动态地调整用户历史行为对当前商品的兴趣权重,从而提高了推荐系统的性能。

图4.41 DIN 模型框架

① 注意力单元

DIN模型通过计算用户历史行为与当前商品之间的相似度,生成注意力权重,从而调整用户历史行为对当前商品的兴趣权重。

4.2.13 DIEN 模型 (深度兴趣演化网络)

DIEN模型在DIN的基础上进一步引入了时间序列的概念,通过两层GRU网络捕捉用户行为随时间的变化。该模型通过辅助损失函数增强了特征的表示能力,提高了推荐系统的精度。

图4.43 DIEN 模型框架

① 兴趣抽取层

该层使用GRU模型提取用户历史行为中的兴趣信息。通过引入辅助损失函数,该层能够更好地捕捉用户兴趣的变化。

② 兴趣演化层

该层通过注意力机制学习用户历史行为与当前商品之间的权重关系,从而更准确地反映用户兴趣的变化。

4.3 特征模型总结

特征模型主要关注特征之间的交互,是近年来推荐系统研究的重点方向。按照不同的维度,这些模型可以分为四大类:基于框架的模型、基于FM特征二阶组合的模型、基于注意力的模型和基于高阶特征组合的模型。

4.3.1 基于框架的模型

  • Wide&Deep模型:结合了宽和深两种模型的特点,适用于多种应用场景。
  • Deep Crossing模型:使用了残差网络(ResNet),但目前在工业界应用较少。

4.3.2 基于FM特征二阶组合的模型

  • DeepFM模型:通过element-wise乘法实现特征二阶组合。
  • NFM模型:使用bi-interaction方法,实现了特征向量的sum pooling。
  • AFM模型:通过带权重的bi-interaction方法实现特征向量的加权sum pooling。
  • PNN模型:通过两两特征乘积实现特征二阶组合。

4.3.3 基于注意力的模型

  • AutoInt模型:使用multi-head机制,通过self-attention提取特征间的注意力权重。
  • DIN模型:通过用户历史行为和当前商品之间的注意力机制实现特征交互。
  • DIEN模型:通过两层GRU网络捕捉用户行为随时间的变化,实现特征的动态交互。
  • FiBiNet模型:通过SENet模块提取特征重要性,并结合双线性特征交互。

4.3.4 基于高阶特征组合的模型

  • DCN模型:通过多层交叉实现高阶特征组合。
  • xDeepFM模型:通过CIN模型提取特征交叉,实现向量级别的特征组合。
  • FGCNN模型:通过卷积层提取局部特征,池化层提取全局信息,实现高阶特征组合。

总结

推荐系统和搜索引擎的本质都是匹配,前者匹配用户和物品,后者匹配查询和文档。推荐系统模型大致分为传统模型和深度模型两类。传统模型主要包括基于协同过滤的模型和基于特征的模型。深度模型则主要分为基于表示学习的模型和基于匹配函数学习的模型。这些模型各有特点,能够根据不同的应用场景和数据集选择最适合的模型。

    本文来源:图灵汇
责任编辑: : 许钦说智能
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
婚配引荐深度模型系统
    下一篇