【问题标题】:Backpropagation in Attention Model注意力模型中的反向传播
【发布时间】:2019-07-09 04:49:35
【问题描述】:

我试图弄清楚如何通过按比例缩放的点积注意力模型进行反向传播。 scaled dot production attention以Q(Queries),K(Keys),V(Values)为输入,进行如下操作:

注意力(Q,K,V ) = softmax((Q.transpose(K))/√dk )V

这里的√dk是比例因子,是一个常数。

这里 Q、K 和 V 是张量。我现在假设 Q=K=V。 所以我将公式 (softmax((Q.transpose(Q)))Q) 与 Q 进行微分。 我想答案是:

softmax((Q.transpose(Q))) + Q.derivativeOfSoftmax((Q.transpose(Q))).(2*transpose(Q))

因为我认为 Q.transpose(Q) wrt Q 的导数是 2*Q.transpose(Q)。

考虑到张量演算的规则,这是正确的方法吗?如果不是请告诉我如何进行。

可以参考给定论文中缩放点积注意力的概念: https://arxiv.org/pdf/1706.03762.pdf

【问题讨论】:

    标签: backpropagation tensor attention-model


    【解决方案1】:

    我不确定张量演算是否正确。

    为你的向量选择一个特定的索引,比如索引 j。然后对该变量进行微分。对索引 1、2、3 等执行此操作,您将看到一个模式。让我举一个乘法的例子。矩阵乘法有两种类型,矩阵乘法和哈达玛乘积。 hadamard 乘积是一种直观的方法,您可以将两个相同维度的矩阵逐元素相乘。以类似的方式,您应该“逐元素”区分您的 softmax 函数。

    【讨论】:

      猜你喜欢
      • 2021-02-07
      • 1970-01-01
      • 2017-08-05
      • 1970-01-01
      • 2016-09-11
      • 1970-01-01
      • 2019-08-30
      • 2019-11-18
      • 2020-08-29
      相关资源
      最近更新 更多