У меня есть проблема, похожая на эту:
Есть входной вектор вида (n1, n2)
, и я хочу модель, где f(n1, n2) = f(n2, n1)
. Я хочу, чтобы эта модель была линейной. Например, матрица 2x2
, которую я хочу выучить. Матрица 2x2
имеет 4 веса, которые тренинг попытается выучить. Тем не менее, сжатие позволяет умное решение проблемы. f(nvec) = W*nvec
, будучи nvec=(n1, n2)
. Итак, пусть X = [[0, 1],[1, 0]]
будет 2x2
матрицей, которая переворачивает векторы, тогда f(n2,n1) = W*X*(n1, n2) = f(n1, n2) = W (n1, n2)
.
По существу, равенство подразумевает, что W*X = W
, или, если W = [[w1, w2], [w3, w4]]
, то равенство подразумевает W = [[w1, w1], [w3, w3]]
матрица имеет только 2 свободных параметра. Как я могу определить модель, подобную этой, в pytorch?
Спасибо.