Attention-over-Attention Field-Aware Factorization Machine
本文在AFM的基础上做了两处简单的修改,第一处将Normal的Embedding进行了修改,修改为了FFM形式的Embedding,第二处在交互特征之后加入了新的Attention来对冗余的特征进行筛选。修改的部分相对简单,我们直接按照网络图进行分析。
模型解析
AoAFFM的网络框架如下图所示:
后面模型解析部分,我们按照网络层的前后关系,依次进行介绍。
Field-aware Embedding
和传统embedding不一样,传统的embedding将一个通过矩阵映射到一个向量, , 而Field-aware Embedding则是将映射为多个embedding向量。如上面的图所示,就被映射为了多个embedding向量,例如等等。
Field-aware Interaction Layer
和所有简单的特征交叉类似,此处我们可以获得个交叉的结果,
表示交叉特征的集合,一共有个特征交互。作者此处用element-wise相乘的方式进行特征交互。
Attention-over-Attention Layer
我们用表示,
和AFM一样,此处我们用Feature-level层的Attention来判别特征交互的重要性(判别每个特征的重要性)。
其中, , , 最终我们得到所有的交叉的特征的权重。此处也可以直接用矩阵的方式进行相乘。
2. Interaction-level Attention Network
在Feature-level的Attention网络中,我们可以学习每个特征的权重,但是却没法降低我们冗余特征带来的影响。所以两个类似的特征最终会有类似的attention,为了判别这种冗余的交互特征,我们使用interaction-level的attenion来处理,Q \in R^|\mathcal{F||} 从上面的网络框架图中,我们发现因为我们的Q是不依赖于前面的信息,所以即使对于相似的embedding向量,我们也有可能会有不同的权重,所以这个方法可以缓解特征冗余的问题。
模型输出
其中为特征层的attention, 为交互层的attention权重。
实验
实验部分主要回答下面几个问题:
小结
本文提出了AoAFFM算法,将之前的normal embedding替换为了field-aware的embedding,同时使用Attention over Attention的策略来更好地预估特征交叉的权重,处理冗余的特征。AoAFFM也很多数据集上也展示了非常好的效果。
参考文献
这是一篇AAAI20的论文,文章最大的提升点个人感觉还是类似于ONN的Embedding策略,Attention over attention在大型数据集中也没有和很多最新的 Deep模型进行对比,所以不清楚是否是最好的效果。