【论文阅读】AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks(CIKM,19)

一句话总结:继交叉特征之后加入特征筛选(交叉特征的扩展)。Self-Attention会先计算每个embedding向量和其他向量的相关系数,然后再用所有向量的系数乘上自己的embedding作为下一层的输入,所以我们可以计算得到每个向量和其他向量的关系,再将相关性强的特征进行组合,作为新的特征。


写在前面:

传统的推荐算法,从LR,Poly2,FM,FFM,这些方法基本都还是基于二阶交叉,随着DNN的发展,有了词的embedding,我们开始尝试用堆叠网络层的方案来获取深度的特征交叉,于是在中间几年更加多推荐搜索相关的网络考虑在之前二阶交叉的基础上尝试使用更加深层次的交叉,出现了Deep&Wide,二阶加深度的DeepFM,NFM,以及人为控制高阶交叉的DCN和xDeepFM等。

这些都是18年及之前探索的工作方向,这些网络层的改进可以类比到我们比赛中的特征工程,也就是一阶,二阶以及高阶的组合特征,主要的不同之处在于,之前这些特征都是我们人为设计挖掘的。而神经网络是通过网络结构设计来完成的,我们再想想,光靠这些简单的一阶二阶和高阶的统计特征在推荐类的竞赛中能拿到前10吗,答案肯定是否定的,所以我们的网络还欠缺什么呢?亦或者说我们在推荐类的竞赛中除了这些一阶二阶以及高阶的特征工程,还需要做哪些?

如果这些想明白了,那么最近几年推荐类的论文也就很容易明白了,没有错,除了传统的这些一阶二阶和高阶的统计特征之外,我们发现推荐搜索类的比赛最重要的一类特征就是①.用户历史行为特征挖掘,如果想要找类似的例子,可以参考Inscart竞赛中金牌选手的开源,IEEE竞赛中金牌选手所说的encoding技术,还有kaggle手机欺诈预测的Top选手的分享等。上面是最重要的一点,还有一点,就是所有竞赛都会考虑的,②.特征冗余度的问题,不管是我们简单的二阶交叉还是人为设计的可控的高阶交叉,大部分都是枚举式的,而这毫无疑问会带来巨大的冗余,如何能在网络学习的过程中自动进行特征筛选,也是网络设计可以研究的方向。

AutoInt

深度网络帮助我们能够挖掘更加深层次的特征交叉,但是因为深度网络的不可解释性,而且从平时大量的实验中,我们发现这样的挖掘并不是最优的,后来大家从FM那边借鉴思想,显示的构建二阶特征的交叉(DeepFM, NFM),取得了非常不错的效果,但是二阶的交叉明显不是最优的,显示的高阶交叉(DCN,xDeepFM)带来了更加多的帮助,但是这些模型却存在一个较大的问题,空间和时间复杂度太高,虽然人为控制了高阶的特征交叉,但是还是太冗余了。

AutoInt简介

AUtoInt利用了Multihead Self-Attention的方式,对所有的embedding特征进行学习,这么做究竟在干什么呢?

我们知道Self-Attention会先计算每个embedding向量和其他向量的相关系数,然后再用所有向量的系数乘上自己的embedding作为下一层的输入,所以我们可以计算得到每个向量和其他向量的关系,再将相关性强的特征进行组合,作为新的特征,这样的组合最大的意义我们可以找到经常一起出现的特征。

从作者最后的组合特征的可视化中,我们可以看到,应该是这些特征经常一起出现,所以关系较近,被捕捉到了。

AutoInt的优缺点:

优点:

1.找到意思相近的embedding并进行组合,形成一些可解释性较强的组合特征;
2.大量的实验也验证这种方式的高阶交叉组合的优势;

缺点:

1.个人感觉还是未能充分挖掘有意义的高阶交叉特征;此处的组合只是找到了关系相近的特征,关系相近的特征进行组合并不一定是合适的方式,也就是说multi-head selfattention能做到有意义的特征组合,但却不能说明关系不相近的特征的意义就不大。

代码:

待续ing

 

参考:

1.https://mp.weixin.qq.com/s/F9EapY-z8SJHl0GjxF7vHQ

2.https://arxiv.org/pdf/1810.11921.pdf

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值