AutoInt算法解读

2019 年 12 月 02 日

AutoInt算法解读

AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks


现在已经有很多深度学习推荐算法旨在构造高阶交叉特征上,比如 WDL,DeepFM,Deep cross network,xDeepFM 等模型。但是这些方法有一些缺陷:fully-connected neural networks 抽取的高阶特征在学习 multiplicative feature interactions 上是 inefficient 的;并且隐式学习特征交叉的方式也缺乏可解释性。因此本文通过 Multi-head Self-Attention 机制显示构造高阶特征, 有效提升了 CTR 预估的准确率。


论文的贡献在于:


  • 提出显示学习高维特征交叉的一种方法,并提高了可解释性。

  • 基于self-attentive neural network提出一种新的方法,可自动学习高维特征交叉,有效提升了CTR预估的准确率。


模型结构



  • Input Layer:x = [x1; x2; …; xM],其中M表示总共的feature fields的数目,xi表示第i个特征,如果xi是离散的,就是one-hot向量,如果是dense类型的特征,就是一个scalar。

  • Embedding Layer:

  • dense和cate类型的特征都经过embedding层,只不过cate特征的embedding是一个矩阵,而dense特征的embedding是一个向量。

  • Interacting Layer

  • 每个嵌入向量[公式]分别对应三个转换矩阵:[公式]对于第 h 个 Attention head,当第 m 个嵌入向量[公式]作为query时,其对应输出[公式]为:

  • 上式中,[公式]是可选的相似度计算函数,文中选择向量内积。


对第 m 个嵌入[公式],拼接它在[公式]个 Attention head 的输出,然后引入标准的残差连接作为其最终输出[公式]:


Output Layer


其中[公式],[公式]表示 sigmoid 函数。



Training


损失函数:



总结


通过 Multi-head Self-Attention 机制显示构造高阶特征,并添加了 resnet 结构,又是一篇将 nlp 模型和图像领域中比较热门的模块用于推荐模型中的工作。


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


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


2019 年 12 月 02 日 16:24888

评论

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

长期坚持运动,生活真的改变了吗?

空山

读书 运动 健身

有奖征文火热开赛,万元大奖等你来拿,准备好了吗?

InfoQ写作平台

程序员 开发者 音视频 随笔杂谈 RTC征文大赛

Docker 搭建 Redis Cluster 集群环境

哈喽沃德先生

redis Docker 容器 集群 redis cluster

ARTS Week10

丽子

全场景智慧:新工业革命必须拥抱的晨曦

脑极体

LeetCode题解:239. 滑动窗口最大值,双循环暴力,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

区块链usdt承兑商支付系统开发 区块链应用开发

电微13828808271

USDT承兑支付系统开发

LeetCode题解:84. 柱状图中最大的矩形,循环+双指针暴力,JavaScript,详细注释

Lee Chen

LeetCode 前端进阶训练营

北京首台区块链政务终端亮相 一键“拉取”链上数据

CECBC区块链专委会

区块链技术

经济适用的企业内外网互动直播方案

fumingwang

音视频 直播 视频会议 企业应用

Apache Pulsar 8 月月报:里程碑一个接一个

Apache Pulsar

大数据 云原生 Apache Pulsar 消息系统 消息中间件

oeasy教您玩转linux010204-figlet

o

缓存与数据库一致性问题深度剖析

Zhendong

数据库 缓存 秒杀系统

dubbo应用级服务发现初体验

小楼

dubbo 注册中心

数字货币钱包软件开发方案,区块链数字货币钱包源码

13530558032

合约跟单系统开发,合约跟单软件定制开发

13530558032

Centos7 mongodb安装全攻略

红泥小壶

mongodb

实战中学习浏览器工作原理 — 之 HTTP 请求与解析

三钻

CSS Java 前端 浏览器

Python 中的数字到底是什么?

Python猫

Python 翻译 PEP

iWebExcel 协同数据填报和在线分析平台

Geek_Willie

SpreadJS

凤凰交易所 全球首个多元化生态交易平台震撼来袭

InfoQ_967a83c6d0d7

学习笔记丨结构体中的内存管理

Liuchengz.

c Linux 学习

区块链+公共安全 大有可为

CECBC区块链专委会

区块链 安全

如何进行冥想?给大脑来场清新的SPA!

空山

自我管理 App 冥想

macos主流工作开发套件指南

久违

macos Docker 前端 自动化部署

深度解读:Apache DolphinScheduler 新架构与特性,性能提升2~3倍

海豚调度

开源 大数据任务调度 工作流调度 开源社区

Flink保存点-17

小知识点

scala 大数据 flink

从每秒6000写请求谈起

架构师修行之路

程序员 架构师 高并发系统设计

区块链支付系统开发,数字货币支付承兑商APP模式搭建

13530558032

在5G智慧园区的“保龄球道”上,目标全垒打的征途

脑极体

芯片破壁者(十五):仙童半导体和“八叛逆”所缔造的“硅谷模式”

脑极体

AutoInt算法解读-InfoQ