ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Attentional Factorization Machines: Learning the Weight of Feature Interactions via Attention Networ

2022-05-26 12:33:06  阅读:230  来源: 互联网

标签:via Weight Interactions bm sum Attention odot ij mathcal


目录

Xiao J., Ye H., He X., Zhang H., Wu F. and Chua T. Attentional factorization machines: learning the weight of feature interactions via attention networks. In International Joint Conference on Artificial Intelligence (IJCAI), 2017.

FM 的二阶部分可以看成

\[\bm{1}^T \sum_{j > i} (\bm{v}_i \odot \bm{v}_j) x_i x_j, \]

故实际上是

\[\{ x_i x_j (\bm{v}_i \odot \bm{v}_j)\} \]

的一个平均池化. 但是在实际中, 交叉特征也是有区别的, 一种更加合适的方法应该是加权平均,

\[\bm{1}^T \sum_{j > i} a_{ij} (\bm{v}_i \odot \bm{v}_j) x_i x_j, \]

这里 \(a_{ij}\) 代表所对应的交叉权重的比重. 本文, 作者通过注意力机制来建模.

主要内容

  1. 稀疏特征 \(\bm{x}\), 定义 \(\mathcal{R}_x = \{(i, j): j > i, x_i \not = 0, x_j \not = 0\}\)
  2. embedding layer:

\[\xi = \{x_i \bm{v}_i\}; \]

  1. Pair-wise interaction layer:

\[f_{PI}(\xi) = \{(\bm{v}_i \odot \bm{v}_j ) x_i x_j \}_{\mathcal{R}_x}; \]

  1. Attention-based Pooling layer:

\[f_{Att}(f_{PI}(\xi)) = \sum_{(i, j) \in \mathcal{R}_x} a_{ij} (\bm{v}_i \odot \bm{v}_j) x_i x_j; \]

  1. 预测

\[\hat{y}_{AFM}(\bm{x}) = w_0 + \bm{w}^T \bm{x} + \bm{p}^T \sum_{(i, j) \in \mathcal{R}_x} a_{ij} (\bm{v}_i \odot \bm{v}_j) x_i x_j. \]

  1. 训练

\[L_r = \sum_{\bm{x}} (\hat{y}_{AFM}(\bm{x}) - y(\bm{x}))^2. \]

诚然, 我们可以直接训练权重 \(a_{ij}\), 但是训练集中很难囊括所有的交叉特征,这意味部分 \(a_{ij}\) 可能压根没有进行训练过! 故作者通过 attentin network 建模.

Attention network

\[a_{ij}' = \bm{h}^T \text{ReLU}(W (\bm{v}_i \odot \bm{v}_j) x_i x_j + \bm{b}), \\ a_{ij} = \frac{\exp (a_{ij}')}{\sum_{(i, j) \in \mathcal{R}_x} \exp (a_{ij}')}. \]

细节

  1. L2 正则化;
  2. DropOut;
  3. \(\bm{v} \in \mathbb{R}^{256}\);
  4. \(\bm{h} \in \mathbb{R}^{256}\).

代码

[official]
[PyTorch]
[TensorFlow]

标签:via,Weight,Interactions,bm,sum,Attention,odot,ij,mathcal
来源: https://www.cnblogs.com/MTandHJ/p/16313023.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有