当前位置:网站首页>推荐系统-排序层-2017:AFM模型【FM家族】【NFM的改进版】
推荐系统-排序层-2017:AFM模型【FM家族】【NFM的改进版】
2022-08-06 06:00:00 【u013250861】
AFM可以看作是对NFM功能的增强,实际上NFM的作者参与到了AFM的研究当中。AFM模型的最大贡献是将Attention机制引入到了特征交叉模块。在NFM的BI层,对交叉特征的向量进行Sum Pooling时是没有权重的,对所有的特征交叉都一视同仁,平等对待。但实际中,不同的特征组合对结果的影响程度是有差别的,通过Attention机制可以显式地将这些差异学习出来,增加了信息量,可以对模型的效果带来提升,同时还对可解释性带来了帮助。例如在广告推荐场景中,对于特征组合“女性+曾经购买过化妆品”对是否购买“口红”商品的影响要强过特征组合“30岁+宁波”。
AFM的核心是在特征交叉层与输出层之间,增加了Attention网络,结构如图5所示。
其中Pair-wise Interaction Layer跟NFM中的Bi-Interaction Layer(去除Pooling的话)是一样的。AFM的核心是Attention-based Pooling层,公式如下:
两两向量交叉之后,与一个注意力分数a相乘,表示这组交叉对于最终输出的影响程度,其中a也是通过训练学到的。论文中采用了一个MLP来实现Attention Net,用来学习a。采用MLP的另一个好处是对于从未出现过的特征组合也具备一定的泛化能力。该注意力网络是一个简单的全连接加上softmax作为输出。
AFM最终的输出如下列公式:
除了带注意力机制的交叉部分外,依然保留了线性部分。还可以看出,相对于NFM,AFM没有后面的DNN部分。不过从各种组合模型相对丰富的今天来看,读者完全可以根据自己的数据特点做模型的扩展和修改。
边栏推荐
猜你喜欢
随机推荐
简易数据库管理系统(DBMS)设计与实现
两个node服务共同修改一个计数文件,互相监控服务是否停止
SRS4.0 RTC module adds Gop cache
C. Rings---Codeforces Round #741 (Div. 2)
Basic usage of ROS 2 Service communication
Ununtu20.04 installation of OSI and related components
Qt 5.14.2 connect to Mysql database
TCP三次握手、四次挥手
2022年五面蚂蚁、三面拼多多、字节跳动最终拿offer入职拼多多,看完你也可以了
【基本容器的使用】
Write Plist file using Qt XmlStreamWriter
磁盘空间不足异常Failed to parse multipart servlet request
【Binocular Vision】Stereo Matching
find方法和 findIndex方法的使用
yolov4, yolov5 training nuscenes dataset/nuscenes dataset to coco format
【图像处理】from skimage.measure import compare_psnr, compare_ssim ImportError: DLL load failed:找不到指定的模块
ROS文件的注释说明(不断更新)
leetcode18--四数之和
Excel import exception Cannot get a STRING value from a NUMERIC cell resolved
[Multi-sensor fusion] Kalman filter









