Я пытаюсь выяснить, как сделать обратное распространение с помощью модели внимания с масштабированным точечным продуктом.Масштабированное производство точек принимает Q (Запросы), K (Ключи), V (Значения) в качестве входных данных и выполняет следующую операцию:
Внимание (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) относительно Q равна 2 *Q.transpose (Q).
Это правильный подход, учитывающий правила тензорного исчисления?Если не любезно, скажите мне, как поступить.
В данной статье можно сослаться на понятие масштабированного точечного продукта: https://arxiv.org/pdf/1706.03762.pdf