M (Memory) - матрица K ключей-активаций, вектор V возможных значений, A - вектор, обозначающий возраст значения в ячейке
q - запрос к памяти, ||q|| = 1
NN(q, M) = argmax_i [q * K[i]] - индекс наиболее подходящей ячейки
(n1, n2, .. n_k) = NN_k(q, M)
d_i = q * K[n_i]
softmax(t*d_1, t*d_2, ..) - "уверенность" памяти в значении
n_p - positive neighbour
n_b - negative neighbour