置换矩阵也能求导优化
本文是对论文 Learning Latent Permutations with Gumbel-Sinkhorn Networks的阅读笔记。
很多时候我们都希望学习一个置换矩阵(permutation matrix),用来找到一个合适的排序,或者解决一个指派问题,就是找到一个最优的分配策略,他可以用匈牙利算法在多项式时间内解决,然后这个问题是不可微的,也就不能放在神经网络中。他可以形式化的写作:
M(X)=P∈PNargmax⟨P,X⟩F=P∈PNargmaxtr(PTX)
其中X是NxN维矩阵表示每个指派的收益,P是置换矩阵。⟨⋅⟩F是Frobenius内积。
指派问题与softmax的联系
其实仔细想想,置换矩阵不就是相当于每一行每一列都是一个one-hot吗,而one-hot一个著名的弱化的例子就是softmax了,我们知道当softmax的温度趋于0的时候,softmax会变成one-hot:
softmaxτ(x)i=∑jexp(xj/τ)exp(xi/τ)
那么他跟指派问题有什么关系呢?其实我们可以定义一个对行列不停地分别除以每一行的和,以及除以每一列的和的操作,这个操作称为Sinkhorn operator S(X) 可以定义如下:
S0(X)Sl(X)S(X)=exp(X)=Tc(Tr(Sl−1(X)))=l→∞limSl(X)
其中Tr(X)=X⊘(X1N1N⊤),Tc(X)=X⊘(1N1N⊤X),可以证明S(X)一定会收敛到一个叫Birkhoff polytope的空间上,记为
BN={P∈[0,1]∈RN,NP1N=1N,P⊤1N=1N}
可以证明BN是包含所有置换矩阵的。于是,指派问题与softmax的联系可以用下面这个定理联系起来:
定理1: 定义随机矩阵P的熵为h(P)=−i.j∑pijlogpij,则
S(X/τ)=P∈BNargmax⟨P,X⟩F+τh(P)
如果X的产生是独立的,那么一定有
M(X)=τ→0+limS(X/τ)
现在证明第一个,考虑如下拉格朗日有约束的优化:
L(α,β,P)=⟨P,X⟩F+τh(P)+α⊤(P1N−1N)+β⊤(P⊤1N−1N)
令∂L/∂P=0 一定有对于每个i,j
pτi,j=exp(αi/τ−1/2)exp(Xi,j/τ)exp(βj/τ−1/2)
也就是说对于任意正数的对角矩阵D1,D2,都有Pτ=D1exp(Xi,j/τ)D2 根据Sinkhorn’s theorem, 一定有S(X/τ)=Pτ
与softmax的联系
实际上,以上的推导只是基于一个softmax的原理简单的推广:
argimaxxi=τ→0+limsoftmax(x/τ)
即是softmax所近似的argmax值,实际上,这个argmax可以表示成一个关于one-hot向量的优化问题,即寻找一个one-hot向量,使得他跟x的内积最大:
argimaxxi=argemax⟨e,x⟩
跟上面的证明差不多,我们可以写出e的带约束的拉格朗日公式,并对e求导,令它等于0,可以得到e的形式就是一个softmax公式,于是
softmax(x/τ)≡∑i=1exp(xi/τ)exp(x/τ)=e∈Snargmax⟨e,x⟩+τh(e)
可以简单证明一下:
∂e∂(⟨e,x⟩+τh(e)+α⊤(e1N−1N))⟹=x+τlog(e)+τ+α⊤=0e=exp(−x/τ)exp(−1−α⊤/τ)
又因为i∑ei=1,所以一定有exp(−1−α⊤/τ)=1/i=1∑exp(xi/τ).
于是我们理解permutation matrix本质上可以弱化为softmax组成的矩阵,因此我们完全可以利用gumbel分布对softmax的重参数化能力来重参数化这个置换矩阵,从而采用VAE来求解一个隐变量时置换矩阵的生成模型,而这就是这篇论文所做的贡献了。
关于gumbel的重参数可以参考我前面的一篇文章:
带你认识神奇的Gumbel trick
https://blog.csdn.net/a358463121/article/details/80820878
对softmax的进一步思考
当我们把softmax写成下面这一条公式的时候,事情就变得越发有趣:
softmax(x/τ)≡∑i=1exp(xi/τ)exp(x/τ)=e∈Snargmax⟨e,x⟩+τh(e)
我们发现,softmax的指数项的来源,其实是那个h(e)产生,因为里面有个log,为了得到偏导数等于0的e,这个log要取个指数项消掉。然而对于熵h(x),其实除了香农熵的经典定义外,还有很多其他的定义的,这是否意味着,softmax还拥有其他的变种?
答案是肯定的,在论文[3]中说明了,只要将香农熵换成,Gini entropy:HG(p):=21∑jpj(1−pj),就能推导出全新的sparse softmax,这个softmax具有sparse的性质:
sparsemax (x):=p∈Δdargmin∥p−x∥2
实际上,这个sparse softmax是在论文 [2] 中提出的,有了这个思路,其实我们能够推导出各种各样的变种,论文就提出了用Tsallis α-entropies:
HαT(p):={α(α−1)1∑j(pj−pjα),HS(p),α=1α=1
于是就推导出了entmax
α -entmax (z):=p∈Δdargmaxp⊤z+HαT(p)
这部分有兴趣的各位可以去看看[3].
参考文献
[1] Mena G, Belanger D, Linderman S et.al. Learning Latent Permutations with Gumbel-Sinkhorn Networks[J]. Iclr 2018, 2018(2011): 1–14.
[2] Martins A F T, Astudillo R F. From softmax to sparsemax: A sparse model of attention and multi-label classification[J]. 33rd International Conference on Machine Learning, ICML 2016, 2016, 4: 2432–2443.
[3] Peters B, Niculae V, Martins A F T. Sparse Sequence-to-Sequence Models[J]. 2019.