写点什么

FGCNN 模型解读

  • 2019 年 12 月 02 日
  • 本文字数:1176 字

    阅读完需:约 4 分钟

FGCNN模型解读

ABSTRACT

在一些深度学习推荐模型中,增加 artificial 的 features 通常会提升效果,比如 Wide & Deep 的 wide 测,但是人工设计特征代价很高。因此需要一种自动提取有效特征,丰富特征表示的方式。该工作提出了 Feature Generation by Convolutional Neural Network (FGCNN)模型解决该问题。FGCNN 有两个模块: Feature Generation 和 Deep Classifier。其中 Feature Generation 利用 CNN 去生成 local patterns 并且组合生成新的特征;Deep Classifier 则采用 IPNN 的结构去学习增强特征空间中的交互。该工作表明 CTR 预测的一个新方向:通过外部的模型减少 DNN 部分学习高阶特征的难度,本文就是通过 CNN+MLP 学习的特征,添加到 DNN 部分。如图 1 所示:



INTRODUCTION

文中解释了为什么 DNN 学习有效的特征交互有时候是比较困难的,因为有效的特征交互都是比较稀疏的。例如:现在有 4 个特征 Name, Age, Height, Gender,来预测用户是否下载一个电子游戏,因为只有 Age 和 Gender 这两个特征对是否下载游戏有影响,这时候 DNN 必须学习到 Name and Height 的 embedding 表示都是 0 才可以,这对于 DNN 是很难的。


当然 CNN 其实是不适合 CTR 预测问题的,因为特征之间不像图像、文本那样存在局部相关性。比如(Name, Age, Height, Gender) or (Age, Name, Height, Gender)其实是没什么区别的。因此作者在模型左侧 Feature Generation 部分结合使用了 CNN 和 MLP,互相取长补短吧。


Model


模型结构:


  • Feature Embedding:其实在输入到 Feature Generation 和 Deep Classifier 之前有一个 embedding 层,用于将特征映射到低维的空间中,embedding 做法和之前的一些模型都一样,比如 multi-values 的 id 特征,各自的 embedding 求和等。

  • Feature Generation:是 CNN+Recombination 结构,CNN 提取 useful neighbor feature patterns,recombination layer(全连接层)基于 CNN 提取的特征生成 global feature interactions。CNN+Recombination 包括:Convolutional Layer, Pooling layer 和 Recombination layer。Feature Generation 生成的特征和 raw features 最后需要合并。

  • Deep Classifier:使用 IPNN 模型(这里其实可以使用各种 advanced network)。IPNN 模型如下图所示:

  • Objective Function:


EXPERIMENTS


上图表明,FGCNN 模型的效果比其他模型都要好。



上图表明,FFCNN 模型可以作为现有模型的一个很好的补充,并且效果提升很明显。


总结:

本文的创新之处在于,利用 CNN+MLP 提出一种模块 Feature Generation,用于提取 DNN 难 get 到的交叉 feature,然后将生成的 new_features 和 old_features 拼接在一起,输入到其他任何 classifier(可以是 FM、DNN、IPNN、DeepFM 等)中,都能提升效果。


参考文献:


https://arxiv.org/pdf/1904.04447.pdf


本文转载自 Alex-zhai 知乎账号。


原文链接:https://zhuanlan.zhihu.com/p/70087762


2019 年 12 月 02 日 16:22622

评论

发布
暂无评论
发现更多内容

随机而转 当机而动|靠谱点评

无量靠谱

Go Channel

escray

学习 极客时间 Go 语言 4月日更

TO B产品从0到1:从项目中走出来

菜根老谭

产品孵化

Redis - 跳表以及其内部结构

insight

redis 4月日更

产业级项目实战配合技术讲解,百度零门槛AI开发实训营重磅开营

百度大脑

百度 AI

话题讨论|To B & To G,互联网公司的下一主战场

程序员架构进阶

话题讨论 28天写作 4月日更 To B业务 领域思考

数字化转型:打破孤岛以提高数据安全性

龙归科技

数字化

专访阿里巴巴研究员吴翰清 | 安全的持续运营之道

架构精进之路

4月日更 调查采访能力考核 人物访谈

Linux nslookup 命令

一个大红包

Linux linux命令 4月日更

如何批评下属?

石云升

团队建设 28天写作 职场经验 管理经验 4月日更

JVM 读书笔记(一) 内存划分

U+2647

JVM 4月日更

基于mysqldump聊一聊MySQL的备份和恢复

麦洛

MySQL MySQL 运维 数据备份

微服务架构核心基础讲解

麦洛

微服务

Open Source Load Testing Tool Review 2020

OutOfMemory1024

Load Testing Open Source

采访彩食鲜 CTO乔新亮:程序员如何持续的登上新台阶

六维

4月日更 采访提纲

手机淘宝轻店业务 Serverless 研发模式升级实践

Serverless Devs

阿里云 Serverless 云原生 淘宝

低代码真能做到“让人人都能做开发者”吗?

优秀

低代码

如何缓解低代码开发的安全风险

APICloud

小程序云开发 开发者 低代码 APP开发 APICloud

云洲链硬核支撑!济南标识解析二级节点解析量全国第一

浪潮云

云计算

独家对话阿里云函数计算负责人不瞋:你所不知道的 Serverless

阿里巴巴云原生

Serverless 容器 微服务 开发者 云原生

架构师实战营 模块一总结

代廉洁

架构实战营

Guide to UUID in Java

OutOfMemory1024

Java

Linux OOM Killer

OutOfMemory1024

Linux

YouTube如何下载1080P的高清视频带声音?5种方法可以搞定

右手牵

下载 视频 youtube

专访前美篇首席架构师张超|从工程师到CTO的蜕变

Aldeo

程序员 采访 调查采访能力考核

Zip和7-zip谁更强,如何选择?

麦洛

ZIP格式 ZIP zip4j

轻松搞定XML和对象之间的互转,就它了!

麦洛

xml XStream

Ubuntu 20.04 启用休眠(Hibernate)配置过程

OutOfMemory1024

Ubuntu20.04

百度南渡,护航泉州水务的产业智能化征程

脑极体

如何打造更为精准的个性化推荐?Amazon Personalize 有独门技术秘籍!

亚马逊云科技 (Amazon Web Services)

乘“云”加速疾病诊断研发,亚马逊云科技新阶段“诊断开发计划”已开启!

亚马逊云科技 (Amazon Web Services)

FGCNN模型解读_语言 & 开发_Alex-zhai_InfoQ精选文章