11 月 19 - 20 日 Apache Pulsar 社区年度盛会来啦,立即报名! 了解详情
写点什么

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:22671

评论

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

GaussDB for DWS:内存自适应控制技术总结

华为云开发者联盟

大数据 数据湖 内存管理 sql 华为云

Doris 临时失效 UML 时序图(训练营第六周)

看山是山

Doris

架构师训练营第六周作业

sunnywhy

CAP原理简介

elfkingw

「1.4万字」玩转前端 Video 播放器 | 多图预警

阿宝哥

大前端 流媒体 Video播放器 HLS

MySQL 高可用和分布式数据库(训练营第六课)

看山是山

zookeeper CAP 主从复制 主主复制 MySQL 高可用

蟒周刊-429-Python 3.8.4 可用ed

ZoomQuiet大妈

Python 大妈 蟒周刊

学会使用Vue JSX,一车老干妈都是你的

前端有的玩

Java Vue 大前端 技巧 React

聊聊服务灾备

老胡爱分享

分布式架构 服务设计

架构师训练营」第 6 周作业

edd

极客大学架构师训练营

猿灯塔:spring Boot Starter开发及源码刨析(六)

猿灯塔

详解 Flink 实时应用的确定性

Apache Flink

flink

NOSQL - 第六周作业

孙志平

static关键字真能提高Bean的优先级吗?答:真能

YourBatman

spring springboot SpringCloud 极客大学架构师训练营 Spring Bean

学习总结 - 第 6 周

饶军

架构师训练营第6周作业

饶军

总结

Kiroro

架构师训练营第六周命题作业

whiter

极客大学架构师训练营

NOSQL - 第六周总结

孙志平

CAP

Kiroro

「架构师训练营」第 6 周作业 - CAP

森林

解析软件系统稳定性的三大秘密

华为云开发者联盟

开发者 软件开发 稳定性 系统 探索与实践

一个成都程序猿写于离开北京一周年与26岁生日的这一天

why技术

生活 程序人生 北漂 成都

「架构师训练营」第 6 周作业 - 总结

森林

架构师训练营第六周总结

sunnywhy

架构师训练营第六周作业

王铭铭

架构师训练营第六周总结

王铭铭

CAP 原理及Doris 临时失效的处理过程

Acker飏

极客大学架构师训练营 CAP

CAP原则

熊威

Doris临时失效处理过程的UML时序图

周冬辉

Kafka 是如何建模数据的?

tison

大数据 kafka

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