DIN

[[Attachments]]

Embedding & MLP 模型

  • embedding layer (for learning the dense representation of sparse features)

  • MLP (for learning the combination relations of features automatically).

Feature Representation

  • 所使用的特征如下图,没有使用组合特征,所以避免了特征工程。

  • multi-hot 经过 embedding 层组成一个 embedding list,然后通过 pooling 层(sum pooling or average pooling)变成固定长度的向量。

损失函数:$$L=-\frac{1}{N} \sum_{(x, y) \in S}(y \log p(x)+(1-y) \log (1-p(x)))$$

Deep Interest NetWork

  • base model 中所有的历史行为最后通过 sum pooling 得到固定长度的向量,没有考虑 和候选商品的关系 。固定长度的向量表达能力有限。

  • 用户特征的特点:diverse and locally activated

  • User Behaviors 通过 SUM Pooling 转化成为定长的向量。

  • 考虑到用户兴趣不是 严格时间关系 ,所以 User Behaviors 没有考虑序列关系。

  • 通过 local acvtivation unit 学习用户历史行为和候选广告的权重 [[target attention]]

    • vU(A)=f(vA,e1,e2,,eH)=j=1Ha(ej,vA)ej=j=1Hwjejv_{U}(A)=f\left(\boldsymbol{v}_{A}, \boldsymbol{e}_{1}, \boldsymbol{e}_{2}, \ldots, \boldsymbol{e}_{H}\right)=\sum_{j=1}^{H} a\left(\boldsymbol{e}_{j}, \boldsymbol{v}_{A}\right) e_{j}=\sum_{j=1}^{H} w_{j} \boldsymbol{e}_{j}

      • 历史行为和候选广告做叉乘反映两者的 相关性 ,早期版本使用 embedding 差。
      • 和传统的 attention 相比,没有使用 softmax 去进行归一化,用来表达用户信息的强烈程度? #card
        • 赋予和候选广告相关的历史兴趣更高的weight
  • 商品特征包括 goods_id shop_id cate_id(分类)

  • 网络结构 #card
    image.png
    [[mini-batch aware regularization]]

[[data adaptive activation function]]

Attention 权重可视化 #card
image.png

[[Group AUC]]

问题

  • DIN 模型提出的动机是什么?是否适合自己公司当前的场景和数据特点?#card

  • DIN 模型的模型结构是什么?具体实现起来有那些工程上的难点?#card

    • 用户对应行为序列的获取
  • DIN 模型强调的注意力机制是什么?#card

    • 候选商品和用户行为序列的关系
  • [[为什么在推荐系统中引入注意力机制能够有效果上的提升?]]#card

    • 动态权重分配,替代平均池化。长短期分配

    • 引入行为序列表达用户兴趣

    • 可解释性与鲁棒性

  • DIN 模型将用户和商品进行了 Embedding,在实际使用中,应该如何实现 Embedding 过程?#card

  • 与DIN类似的模型有哪些,是否适合当前的使用场景。#card
    [[Ref]]

  • 详解 Deep Interest Network: 为阿里创造更多广告收入 - 知乎

  • 推荐系统中的注意力机制——阿里深度兴趣网络(DIN) - 知乎


深度学习中Attention与全连接层的区别何在?

Attention 的最终输出可以看成是一个「在关注部分权重更大的全连接层」,注意力机制可以利用输入特征信息来确定哪些部分更重要。

全连接的作用是对一个实体进行从一个特征空间到另一个特征空间的映射,注意力机制是要对来自同一个特征空间的多个实体进行整合

全连接层权重固定,存在位置依赖(空间和通道)

  • 注意力机制引入score函数,使得权重与输入相关

不同的注意力机制是通过相似性的衡量为不同位置加以权重

  • [[SENET]]

  • [[PSANet]] 空间注意力或点注意力

  • [[BAM]] 空间+通道注意力

  • CBAM 空间+通道注意力

  • PiCANet

Rulcy

  • 两种机制的区别?

    • 同样是给予输入特征不同的权重进行更深层的网络学习,fc Layer只能是在整个网络的训练过程中得到,而基于Attention机制的Layer可以通过更多的方式去获得权重。

    • Attention Layer目的在于关注局部信息,所以输出和输入是在同一个向量空间的。这一点同样表现在Attention Layer和fc Layer的连接方式上。

  • 为什么 Attention 机制能起到作用?

    • 给予网络输入部分一个更好的超参数

    • 传统的网络同样能够做到关注输入特征的局部信息,而Attention把关注局部信息这一重要部分单独进行设计,减少了整个网络的压力,使网络无需在输入特征的重要程度上下功夫,相对来说更多地关注了特征与结果的联系。