本文是对论文 Learning Latent Permutations with Gumbel-Sinkhorn Networks的阅读笔记。
很多时候我们都希望学习一个置换矩阵(permutation matrix),用来找到一个合适的排序,或者解决一个指派问题,就是找到一个最优的分配策略,他可以用匈牙利算法在多项式时间内解决,然后这个问题是不可微的,也就不能放在神经网络中。他可以形式化的写作:
其中X是NxN维矩阵表示每个指派的收益,P是置换矩阵。
是Frobenius内积。
指派问题与softmax的联系
其实仔细想想,置换矩阵不就是相当于每一行每一列都是一个one-hot吗,而one-hot一个著名的弱化的例子就是softmax了,我们知道当softmax的温度趋于0的时候,softmax会变成one-hot:
那么他跟指派问题有什么关系呢?其实我们可以定义一个对行列不停地分别除以每一行的和,以及除以每一列的和的操作,这个操作称为Sinkhorn operator S(X) 可以定义如下:
其中