Expressing Sinkhorn algorithm as a mirror descent on its dual function

77 Views Asked by At

The Question

Sinkhorn algorithm solves the entropy regularized optimal transport problem. The primal problem is

$$min\langle C,X\rangle-H(X), s.t. X1_{n}=r, X^{T}1_{n}=c$$

where $H(X)$ is the entropy of $X$. The dual problem of it is

enter image description here

Sinkhorn algorithm actually updates the $u$ and $v$ here, when $k$ is odd

$$u_{k+1}=u_{k}+log(\frac{r}{r(B(u,v)}), v_{k+1}=v_{k}$$

when $k$ is even

$$u_{k+1}=u_{k}, v_{k+1}=v_{k}+log(\frac{c}{c(B(u,v)})$$

$$r(B(u,v))=B(u,v)1_{n}, c(B(u,v))=B^{T}(u,v)1_{n}$$

On the other hand, mirror descent is to find a strongly convex function h that satisfies $\nabla h(X_{k+1}) =\nabla h(X_{k}) - \eta \nabla f(X)$.

My Understanding

I'm looking forward to express the $u,v$ update in Sinkhorn algorithm as a form of mirror descent on the dual function $f(u,v)$. I've thought of this for several weeks and have not come up with a good idea. Is there a way of solving problem like this?