我试图弄清楚如何通过缩放点积注意力模型进行反向传播。缩放点生成注意力以 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