What is a Sinkhorn network?
masterA Sinkhorn network is a supervised method used to learn to reconstruct a scrambled object $\tilde{X}$ (input) given training pairs of $(X, \tilde{X})$.
By applying non-linear transformations, the network parameterizes a mapping between the scrambled input $\tilde{X}$ and a permutation $P$. When $P^{-1}$ is applied to $\tilde{X}$, it reconstructs the original object: $X_{rec} = P^{-1}\tilde{X}$. This implementation is based on the paper Learning Latent Permutations with Gumbel-Sinkhorn Networks.