Dec 05, 2021 18:32
Вот это вот: diag(d) + uvT. Диагональ и внешнее произведение.
Посмотрите на выражение для определителя такой матрицы:
det(diag(d) + uvT) = (1 + trace(diag(d)-1uvT)det(diag(d))
Оно настолько простое (его вычисление это O(N), градиенты можно вычислять за O(N)), что его можно вносить в потери.
Сие означает, что можно управлять "усилением" преобразования и получать хорошо определённые матрицы с определителем, близким к 1.
математика,
нейронные сети