推荐系统(八)FNN模型(FM+MLP=FNN)

推荐系统(八)FNN模型(FM+MLP=FNN)

推荐系统系列博客:

  1. 推荐系统(一)推荐系统整体概览
  2. 推荐系统(二)GBDT+LR模型
  3. 推荐系统(三)Factorization Machines(FM)
  4. 推荐系统(四)Field-aware Factorization Machines(FFM)
  5. 推荐系统(五)wide&deep
  6. 推荐系统(六)Deep & Cross Network(DCN)
  7. 推荐系统(七)xDeepFM模型

原来是想把FNN和PNN放到一篇博客里一起写了,主要原因有两个:1. 是这两个模型都是交大张伟楠老师及合作者的成果;2. PNN也是对FNN的改进,两者之间存在一定关联。但最终还是决定分开写,因为放到一起会略显杂乱。因此,这篇博客的篇幅应该会相对较短,看起来会很舒服。
言归正传,FNN全称Factorisation Machine supported Neural Network,如果用一句简短的话概括FNN那就是:FM+MLP,如果再用一句稍显复杂的话概括FNN那就是:FNN是一个两阶段训练的模型,阶段一先训练一个FM模型得到每个field的embedding向量,阶段二,基于阶段一的embedding向量初始化MLP的embedding层,然后训练一个MLP(DNN)。

一、FNN模型结构

FNN的整体网络结构如下图所示(图片摘自原论文):
FNN
FNN的训练方式带有传统机器学习浓厚的烙印,并不想深度学习模型那样是end-to-end的,而是两阶段训练方式。
阶段一:使用FM模型训练得到每个field的embedding向量。
阶段二:基于阶段一的embedding向量初始化MLP里的embedding向量,也就是上图中的Dense Real Layer。然后训练MLP网络得到最终的模型。

至于FM训练得到的embedding向量如何初始化MLP中的embedding向量,借用一张图能够清晰的看到(图片来自王喆《深度学习推荐系统》):
FNN_FM_embedding

二、FNN优缺点

2.1 优点
  1. 一般在end-to-end训练DNN(MLP)的embedding层向量时,都是随机初始化的。而FNN把FM训练好的embedding向量用于初始化DNN的embedding向量,相当于在初始化DNN的embedding向量时引入了先验知识,因此能够更好更快的收敛DNN。
2.2 缺点

正如张伟楠老师在PNN那篇论文中所提到的那样,FNN主要有两个比较大的局限性:

  1. DNN的embedding层质量受限于FM的训练质量。
  2. 在FM中进行特征交叉时使用的是隐向量点积,把FM预训练得到的embedding向量送入到MLP中的全链接层,MLP的全链接层本质上做的是特征间的线性加权求和,即做的是『add』的操作,这与FM有点不太统一。另外,MLP中忽略了不同的field之间的区别,全部采用线性加权求和。

PNN论文中原话如下:

  1. the quality of embedding initialization is largely limited by the factorization machine.
  2. More importantly, the “add” operations of the perceptron layer might not be useful to explore the interactions of categorical data in multiple fields.

关于PNN将在下一篇博客中介绍。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值