AutoInt 算法解读

阅读数:24 2019 年 12 月 2 日 16:24

AutoInt算法解读

AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks

现在已经有很多深度学习推荐算法旨在构造高阶交叉特征上,比如 WDL,DeepFM,Deep cross network,xDeepFM 等模型。但是这些方法有一些缺陷:fully-connected neural networks 抽取的高阶特征在学习 multiplicative feature interactions 上是 inefficient 的;并且隐式学习特征交叉的方式也缺乏可解释性。因此本文通过 Multi-head Self-Attention 机制显示构造高阶特征, 有效提升了 CTR 预估的准确率。

论文的贡献在于:

  • 提出显示学习高维特征交叉的一种方法,并提高了可解释性。
  • 基于 self-attentive neural network 提出一种新的方法,可自动学习高维特征交叉,有效提升了 CTR 预估的准确率。

模型结构

AutoInt算法解读

  • Input Layer:x = [x1; x2; …; xM],其中 M 表示总共的 feature fields 的数目,xi 表示第 i 个特征,如果 xi 是离散的,就是 one-hot 向量,如果是 dense 类型的特征,就是一个 scalar。

  • Embedding Layer:
    AutoInt算法解读
    dense 和 cate 类型的特征都经过 embedding 层,只不过 cate 特征的 embedding 是一个矩阵,而 dense 特征的 embedding 是一个向量。

  • Interacting Layer
    AutoInt算法解读
    每个嵌入向量 [公式] 分别对应三个转换矩阵:[公式] 对于第 h 个 Attention head,当第 m 个嵌入向量 [公式] 作为 query 时,其对应输出 [公式] 为:
    AutoInt算法解读
    AutoInt算法解读
    上式中,[公式] 是可选的相似度计算函数,文中选择向量内积。

对第 m 个嵌入 [公式],拼接它在 [公式] 个 Attention head 的输出,然后引入标准的残差连接作为其最终输出 [公式]:

Output Layer

其中 [公式],[公式] 表示 sigmoid 函数。
AutoInt算法解读
Training
损失函数:
AutoInt算法解读

总结
通过 Multi-head Self-Attention 机制显示构造高阶特征,并添加了 resnet 结构,又是一篇将 nlp 模型和图像领域中比较热门的模块用于推荐模型中的工作。

本文转载自 Alex-zhai 知乎账号。

原文链接: https://zhuanlan.zhihu.com/p/69701477

评论

发布