推荐模型-上下文感知-2017:AFM模型【FM家族】【NFM的改进版】【引入Attention机制】

AFM模型通过引入Attention机制增强了NFM的功能,特别是在特征交叉部分。AFM的核心是Attention-basedPooling层,它通过学习到的注意力分数来区分不同特征组合的重要性。在广告推荐等场景中,这种机制能够更准确地捕捉到关键特征组合的影响,如“女性+曾购买化妆品”对购买口红的影响大于“30岁+宁波”。模型结构包括Pair-wiseInteractionLayer和AttentionNet,后者由MLP实现,提供了一定的泛化能力。AFM的输出结合了带注意力的交叉部分和线性部分,且没有后续的DNN层,允许根据数据特点进行扩展和修改。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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部分。不过从各种组合模型相对丰富的今天来看,读者完全可以根据自己的数据特点做模型的扩展和修改。




参考资料:
神经网络中的几个FM家族模型(FNN、NFM、AFM、DeepFM)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值