Sinkhorn Distances: Optimal Transport with Entropic Constraintsを読んだのでメモ
はじめに
Sinkhorn Distances: Optimal Transport with Entropic Constraintsを読んだのでメモ.
気持ち
WGANなどで有名になったWasserstein distanceは距離を計算するのに最適化問題を解かなければならず,離散の確率分布間の距離を図ろうとした際にはその次元数に対しての計算コストがかかることが知られている.この論文ではtransport matrix のエントロピーに関する正則化を加えることで問題を緩和し,高速に計算可能なSinkhorn Distanceを提案している.正則化の係数を限りなく0に近づけた際にSinkhorn DistanceはWasserstein distanceに一致する.
Optimal Transport
異なる確率分布間の距離を測る問題について考える.単体上の二つの確率ベクトル (ニューラルネットやってる人的にはsoftmaxの出力で得られるベクトル)が与えられた時,次のpolyhedral set を定義する.
は行,列それぞれの和がとになる非負の要素からなる[tex;d\time d]行列全てを含む集合で,仮にがそれぞれ多項分布に従う変数だった場合は全ての可能なの同時確率を含む集合になっている.このに対してエントロピーと間のKL divergenceを次のように定める.
間のcost matrix が与えられた時,transport matrix (同時確率行列)を使ってからへのmappingのコストをFrobenius inner product を使ってと定義する.このコストを最小化する次の問題のことをoptimal transportと呼ぶ.
ただし,cost matrix は以下で定義される距離行列の推に属する.
Sinkhorn Distance
のエントロピーがであることから,以下の不等式はtightである.
また,エントロピーの凸性から以下の凸集合を導入することができる.
この集合を用いてSinkhorn Distanceを次のように定義する.
Optimal transportにおいてエントロピーを考える必要性として2つ理由があり,一つは計算上の問題で,もう一つは直感的に次のようなものが挙げられる.すなわち,通常のoptimal transportでは解となるは単体の頂点に位置するようなものとなり,決定的な同時確率行列となる.それに対しエントロピーを考えることで確率的な揺れを許容した緩和を行なっていることになる.
Sinkhorn distanceはによって次のことが言える.
- が十分に大きければsinkhorn distance は輸送距離に一致する.
これは任意のにおいてその下界がで抑えられることから言える.
これらのextremeな場合に限らず全ての可能なに対しsinkhorn distanceは可換かつ三角不等式を満たす.ただしが十分小さい場合においてであるような任意のに対しであるため,sinkhorn distanceは距離の公理()を満たさない.ただしこれはにをかけることで満たすことができる.これをTheorem 1とする.
Theorem 1.
全てのにおいて,は対称かつ三角不等式を満たす.また,は距離の公理を全て満たす.
Theorem 1の証明には以下のLemma 1が重要となる.
Lemma 1 (Gluing Lemma With Entropic Constraint)
とする.をで定義される行列とするとはとなる.
実際にTheorem 1の証明をする.の対称性はの対称性から直接いえる.とし,をの二つの輸送問題の解とする.Lemma 1で与えられたを用いて以下のように三角不等式を示す.
は同時確率行列であるためが成り立つことを使っている.ちなみに論文ではとなっていたがおそらくタイポ.
Computing Regularized Transport with Sinkhorn's Algorithm
ここではsinkhorn distanceのエントロピー拘束に対するラグランジュ乗数を考える.
双対定理からが得られ,このをdual-Sinkhorn divergenceと呼ぶ.は元の問題に比べて計算が非常に楽という利点がある.Dual-Sinkhorn divergenceを利用して以下の命題が導かれる.
Lemma 2.
において解は一意に求まり,の形で表現される.ただし,は非負のベクトルではのelement-wise exponential.
この命題は以下のようにという二つの拘束に対する双対変数を使ってdual-sinkhorn divergenceを書くことで導ける.
からとなる.Sinkhorn's theoremからに属するがにおいて一意に存在する事が言える.よってはSinkhorn's fixed point iterationによって,と計算可能.
以上からが与えられれば十分な回数更新を繰り返す事でを計算できる.更新の式はとして一つの式で表現できる.ここの詳しい計算手順は論文のAlgorithm 1にまとまっているので要参照.
まとめ
一部証明を厳密に追えてないけど,色々な論文で使われているのがよくわかる.実験で一部気になるのはFigure 2の結果でEMDよりtest errorが低いのがよくわからない.実験は読んでないから細かい実験条件はわからないが直感的には厳密に解くEMDの方が良さそうだが,同時確率行列への緩和がいい方向に効いたという事なのか.何はともあれ簡単に実装してみたい.