AFM(Attentional Factorization Machine), 在 FM 的基础上将 Attention 机制引入到交叉项部分,用来区分不同特征组合的权重。
y^AFM(x)=w0+i=1∑nwixi+pTi=1∑nj=i+1∑naij(vi⊙vj)xixj
单独看上面公式中的第三项结构:

Embedding Layer 与 NFM 里面的作用一样,转化特征。
Pair-wise Interaction Layer 是将特征两两交叉,如果对这一步的结果求和就是 FM 中的交叉项。
Attention 机制在 Attention-based Pooling 层引入。将 Pair-wise Interaction Layer 中的结果输入到 Attention Net 中,得到特征组合的 score aij′,然后利用 softmax 得到权重矩阵 aij。
aij′aij=hTReLU(W(vi⊙vj)xixj+b)=∑(i,j)∈Rxexp(aij′)exp(aij′)
最后将 Pair-wise Interaction Layer 中的二阶交叉结果和权重矩阵对应相乘求和得到 AFM 的交叉项。

Question
-
AFM 如何引入 Attention 机制?
- 根据 <vi,vj>xixj 计算交叉特征的权重