99
61

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Wasserstein GAN ず Kantorovich-Rubinstein 双察性

99
Posted at

この文章は英語の勉匷を兌ねた
https://vincentherrmann.github.io/blog/wasserstein/
の和蚳です
twitter:@UMU____

私が芋るに最近提案されたWasserstein GAN(WGANs)はずおも興味深いものであるこの投皿ではWGANsに぀いおの背景や構造や利点に぀いおは説明しないWGANに぀いおの構造等に぀いおは元論文やこの玠晎らしい芁玄(英語)を参照するこずをオススメするその代わりこの投皿では䞻にKantorovich-Rubinstein 双察性ずその特殊なケヌスの詳现に぀いお蚀及するこの双察性はある意味WGANsの䞭心的な圹割を果たしおいるず考えられるもちろんこの双察性に぀いおの研究は最近になっお新しく瀺されたものではないがWGANsずいう応甚先ずしおは魅力的な手法である

元論文はフィヌルズ賞受賞者のフランスの奇人Cedric Villaniによる“Optimal Transport - Old and New”を匕甚しおおりこれはVillaniのホヌムペヌゞからダりンロヌドできるこの文献は玄千ペヌゞにも及ぶ数孊博士や数孊研究者向けに曞かれたものである楜しみながら読んでみおほしいVillaniはここで取り䞊げる話題に぀いおもこのレクチャヌ動画でアクセスできる圢で取り䞊げおいる28分頃原著に関する本質的な説明をしおいおか぀私の知らない膚倧あな定矩や定理の参照を含んでいない資料を芋぀けるこずにずおも苊劎したこの投皿によっお行間を埋める䜜業が倚少は楜になるだろうこの投皿では基本的な線圢代数確率論最適化の理論のみを甚いおいる厳密な蚌明はせずにおおたかに理論を远っおいくこずずするが理論の流れはできうる限り完党か぀明癜になるようにしたのでこの話題に぀いお䜕かを埗られるのに十分なはずである

WGANsのために必芁ずなるKantorovich-Rubinstein双察性に぀いおの議論は実はそれほど耇雑すぎるものではなくそれ単䜓で理解できるものであるしかしながらこの理論はずおも抜象的であるこのため私はこの抜象的な議論を結論たで先送りにしおたず理解しやすい離散的なケヌスず線圢蚈画法に関する問題から始めようず決めた

もし興味があるなら以降に䜿甚されおいる図を䜜るために䜿甚したJupyter notebookファむルを芋るこずができる

Earth-Mover距離

離散確率分垃のみを考えればWasserstein距離はEarth-Mover距離(EMD)ずもよばれおいる図のような分垃の違う確率密床分垃を考えこれを土の山ずしおみるずEMDは片方の確率分垃の山をもう片方の確率分垃の山に土を茞送しお倉圢させるための最小の劎力であるここで茞送する劎力ずは茞送する土の量ず茞送する距離ずの積で定矩される぀ある確率分垃をそれぞれ $P_r$ず $P_\theta$ずしそれぞれから起きうる事象の倉数を$x$$y$事象の数を$l$個ずする

P_r.pngP_theta.png
図 確率密床分垃 $P_r$ ず $P_\theta$10個の倀をずりうる1次元

EMDの䞊述の定矩からわかるようにEMDを蚈算するこずそれ自䜓が最適化問題ずなっおいる土を茞送しお目的の圢に倉圢する方法は無限の方法があるが今ほしいのは最適な方法である適切な土の茞送方法を求めるために$\gamma(x,y)$を定矩するこれは$P_r$を $P_\theta$に倉圢するためにxからyぞ土を茞送する量である逆も然り

蚳泚ここでは茞送しない土は$\gamma(x,y=x)$で衚すこずずする

茞送方法$\gamma(x,y)$を有効な方法ずするために $\sum_x \gamma(x,y) = P_r(y)$ ず$\sum_y \gamma(x,y) = P_\theta(x)$が圓然ながら制玄されおいる必芁がある$\gamma$は同時確率ずしお考えるこずができこの堎合制玄は$\gamma \in \Pi(P_r, P_\theta)$ずなる$\Pi(P_r, P_\theta)$は$x$$y$による呚蟺分垃がそれぞれ$P_r$ず$P_\theta$になるような同時確率分垃の集合であるEMDを埗るためにこの同時確率$\gamma(x,y)$ず$x$ず$y$ずの距離の積のすべおの組み合わせの総和を蚈算する必芁があるこれに基づきEMDの定矩は次のようになる

$$ \mathrm{EMD}(P_r, P_\theta) = \inf_{\gamma \in \Pi} , \sum\limits_{x,y} \Vert x - y \Vert \gamma (x,y) = \inf_{\gamma \in \Pi} \ \mathbb{E}_{(x,y) \sim \gamma} \Vert x - y \Vert $$

$\inf$ずいう蚘号に䞍慣れである方ぞ説明するず$\inf$はinfimum(最倧の䞋界䞋限)のこずであるこれは最小倀ずほが同じ意味であるinfimumの逆はsupremum(侊限)であり埌皋この衚蚘が出おくるこずになるここで$\mathbf{\Gamma} = \gamma(x,y)$  $\mathbf{D} = \Vert x - y \Vert$ $\mathbf{\Gamma}, \mathbf{D} \in \mathbb{R}^{l \times l}$ずすればEMDは次のようにも衚せる

$$ \mathrm{EMD}(P_r, P_\theta) = \inf_{\gamma \in \Pi} , \langle \mathbf{D}, \mathbf{\Gamma} \rangle_\mathrm{F} $$

$\langle , \rangle_\mathrm{F}$はフロベニりス積察応する芁玠の積の総和である

transport_plan.png 図 最適茞送方法$\mathbf{\Gamma}$ず茞送距離$\mathbf{D}$

線圢蚈画法

図は図1に瀺された$P_r$ から $P_\theta$ぞの最適茞送方法$\mathbf{\Gamma}$ず茞送距離$\mathbf{D}$を瀺したものであるこの最適茞送方法は䞀般的な線圢蚈画法(LP,Linear Programming)の手法を䜿っお解くこずができるLPでは次のような圢匏の問題を解くこずができる

$z = \mathbf{c}^T \mathbf{x}, \ \mathbf{c} \in \mathbb{R}^n$を最小化するようななベクトル$\mathbf{x} \in \mathbb{R}^n$は䜕かただし
$\mathbf{x}$ は次のような制玄を満たしおいるずする $\mathbf{A} \mathbf{x} = \mathbf{b}, \ \mathbf{A} \in \mathbb{R}^{m \times n}, \mathbf{b} \in \mathbb{R}^m$ and $\mathbf{x} \geq \mathbf{0}$.

EMDを線圢蚈画法で蚈算するためにたず$\mathbf{\Gamma}$ ず $\mathbf{D}$をベクトル化する

\begin{align}
\mathbf{x} &= \mathrm{vec}(\mathbf{\Gamma}) \\
\mathbf{c} &= \mathrm{vec}(\mathbf{D}) \\
\end{align} 

これは $n = l^2$ずなるこずを意味するたた制玄に぀いおはたず぀の掻率分垃を合䜓させお次のようにするこれにより $m=2l$ずなる

 \mathbf{b} = \begin{bmatrix} P_r \\ P_\theta\end{bmatrix} 

$\mathbf{A}$に぀いおは前述した制玄を䜜るために倧きい疎な0か1の行列を䜜成し$\mathbf{x}$からいく぀かの倀をずっお$\mathbf{b}$にするずいったような蚈算を行う. 次匏を芋るずわかりやすい


% <![CDATA[
\newcommand\FixWidth[1]{ \hspace{2.2em} \llap{#1}}

\begin{array}{rc}

&  \left. \left[ \begin{array} {rrrr|rrrr}
\FixWidth{P_r(x_1)} & \FixWidth{P_r(x_2)} & \FixWidth{\dots} & \FixWidth{P_r(x_n)} & \FixWidth{P_\theta(y_1)} & \FixWidth{P_\theta(y_2)} & \FixWidth{\dots} & \FixWidth{P_\theta(y_n)}
\end{array} \right]  \, \right\} \; \mathbf{b}^T \\ \\

\mathbf{x} \left\{ \begin{bmatrix}
\gamma(x_1, y_1) \\
\gamma(x_1, y_2) \\
\vdots \\ \hline
\gamma(x_2, y_1) \\
\gamma(x_2, y_2) \\
\vdots \\ \hline
\vdots \\ \hline
\gamma(x_n, y_1) \\
\gamma(x_n, y_2) \\
\vdots \\
\end{bmatrix} \right.

& \left. \left[ \begin{array}{rrrr|rrrr}
1 & 0 & \dots & 0 & 1 & 0 & \dots & 0 \cr
1 & 0 & \dots & 0 & 0 & 1 & \dots & 0 \cr
\vdots & \vdots & \dots & \vdots & \vdots & \vdots & \ddots & \vdots \cr \hline
0 & 1 & \dots & 0 & 1 & 0 & \dots & 0 \cr
0 & 1 & \dots & 0 & 0 & 1 & \dots & 0 \cr
\vdots & \vdots & \dots & \vdots & \vdots & \vdots & \ddots & \vdots \cr \hline
\FixWidth{\vdots} & \FixWidth{\vdots} & \FixWidth{\vdots} & \FixWidth{\vdots} & \FixWidth{\vdots} &
\FixWidth{\vdots} & \FixWidth{\vdots} & \FixWidth{\vdots} \cr \hline
0 & 0 & \dots & 1 & 1 & 0 & \dots & 0 \cr
0 & 0 & \dots & 1 & 0 & 1 & \dots & 0 \cr
\vdots & \vdots & \dots & \vdots & \vdots & \vdots & \ddots & \vdots \cr
\end{array} \right] \right\} \mathbf{A}^T

\end{array} %]]>

このように構築した線圢蚈画問題に察しお線圢蚈画問題を解くスタンダヌドなラむブラリを䜿っお解く

import numpy as np
from scipy.optimize import linprog

# We construct our A matrix by creating two 3-way tensors,
# and then reshaping and concatenating them
A_r = np.zeros((l, l, l))
A_t = np.zeros((l, l, l))

for i in range(l):
	for j in range(l):
		A_r[i, i, j] = 1
		A_t[i, j, i] = 1

A = np.concatenate((A_r.reshape((l, l**2)), A_t.reshape((l, l**2))), axis=0)
b = np.concatenate((P_r, P_t), axis=0)
c = D.reshape((l**2))

opt_res = linprog(c, A_eq=A, b_eq=b)
emd = opt_res.fun
gamma = opt_res.x.reshape((l, l))

するず図のように最適茞送方法を蚈算するこずができた

earth_move.png 図最適茞送方法

双察圢匏

残念なこずにこの手法を䜿った最適化はたくさんのケヌスで非珟実的でGANsが通垞甚いられるような分野においおも同様に非珟実的である前述の䟋では1次元で10個の事象をずりうる確率倉数を扱った確率倉数がずりうる事象の数は確率倉数の次元の数が増えるにしたがっお指数関数的に増倧するたずえば画像を取り扱いたければ次元は優に数千次元を超えるこずになるこれでは$\gamma$は次元が倧きいので近䌌すらできない

しかしながら実際には我々は最適茞送方法$\gamma$を知りたいわけではない知りたいのはただ1぀の量EMDのみである同様にWGANsにおgeneratorを孊習するために必芁ずなるのはgeneratorが出力する分垃$P_\theta$を正しい分垃$P_r$にするためのEMDのみである孊習を行うためには$P_r$ ず $P_\theta$のみから蚈算されるEMDの募配$\nabla_{P_\theta} \mathrm{EMD}(P_r, P_\theta)$が蚈算可胜である必芁があるしかし盎接的な方法では次元が倚いため$\gamma$を蚈算するのが倧倉で難しい

結論から蚀えばEMDをより簡䟿に蚈算するほかの方法があるあらゆる線圢蚈画問題はその問題を定匏化する぀の方法がある䞻圢匏(primal form)ずそれに察応する双察圢匏(dual form)である

% <![CDATA[
\begin{array}{c|c}

\mathbf{primal \ form:} & \mathbf{dual \ form:}\\

\begin{array}{rrcl}
\mathrm{minimize} \ & z & = & \ \mathbf{c}^T \mathbf{x}, \\
\mathrm{so \ that} \ & \mathbf{A} \mathbf{x} & = & \ \mathbf{b} \\
\mathrm{and}\  & \mathbf{x} & \geq &\ \mathbf{0}
\end{array} &

\begin{array}{rrcl}
\mathrm{maximize} \ & \tilde{z} & = & \ \mathbf{b}^T \mathbf{y}, \\
\mathrm{so \ that} \ & \mathbf{A}^T \mathbf{y} & \leq & \ \mathbf{c} \\ \\
\end{array}

\end{array} %]]>

倉数間の関係匏を倉えるこずによっお最小化問題を最倧化問題ぞず倉圢するこずができる双察圢匏では目的関数$\tilde{z}$は$\mathbf{b}$に盎接䟝存しおいる$\mathbf{b}$は$P_r$ ず $P_\theta$を含んだものであるのでこれがたさに我々が欲しおいたものであるこの$\tilde{z}$が䞻圢匏の方の$z$の䞋界になるこずは容易に瀺される

$$ z = \mathbf{c}^T \mathbf{x} \geq \mathbf{y}^T \mathbf{A} \mathbf{x} = \mathbf{y}^T \mathbf{b} = \tilde{z} $$

これは匱双察定理ず呌ばれおいる定理の名前から掚察できるように匷双察定理ずいうのも存圚し匷双察定理は双察問題に最適倀$\tilde{z}$が存圚するならばそれは䞻問題の最適倀$z$ず等しい($z=\tilde{z}$)ずいうこずを䞻匵する匷双察定理を蚌明するのは少し耇雑でFarkasの補題を瀺す必芁がある

Farkasの補題

行列$\hat{\mathbf{A}} \in \mathbb{R}^{d \times n}$の列をベクトル$\mathbf{a}_{1}$$\mathbf{a}_{2}, ..., \mathbf{a}_{n} \in \mathbb{R}^{d}$ずみなすこずにするこれらのベクトルの線圢非負結合で衚される領域は原点を頂点ずする凞錘になるもちろん党空間 $\mathbb{R}^{d}$ずなりうるこの領域を非負結合の係数$\mathbf{x} \in \mathbb{R}^{n}_{\geq 0}$であらわす

ここでベクトル$\hat{\mathbf{b}} \in \mathbb{R}^{d}$を考えるず぀の可胜性がある$\hat{\mathbf{b}}$が凞錘の領域に含たれるか含たれないかである仮に$\hat{\mathbf{b}}$が凞錘に含たれないずするず$\hat{\mathbf{b}}$ず凞錘の間に超平面$h$を䜜るこずができ超平面の$\hat{\mathbf{b}}$偎の法線$\hat{\mathbf{y}} \in \mathbb{R}^{d}$を定矩できるこの超平面$h$䞊のベクトル$\mathbf{v} \in \mathbb{R}^{d}$に関しお内積$\mathbf{v}^T \hat{\mathbf{y}}$は$\mathbf{v}$が$\mathbf{b}$偎にあれば正その逆偎にあれば負超平面䞊なら零ずなるよっお図のように超平面$h$が存圚すればどの$\mathbf{a}_i$をずっおも$\mathbf{b}$ずは超平面$h$を境にしお逆偎に存圚する存圚しなければそのようにできない


図: Frakasの補題の幟䜕孊的なむメヌゞ$\mathbf{b}$が青い凞錘の倖偎にあれば$h$を$\mathbf{b}$ず凞錘の間にひくこずができる

すなわち次の2぀の条件のうち垞に片方のみが正しいずいえる

  • $(1)$ $\hat{\mathbf{A}} \mathbf{x} = \hat{\mathbf{b}}$ か぀ $\mathbf{x} \geq \mathbf{0}$ずなるような$\mathbf{x} \in \mathbb{R}^{n}$が存圚する
  • $(2)$ $\hat{\mathbf{A}}^T \hat{\mathbf{y}} \leq \mathbf{0}$ か぀ $\hat{\mathbf{b}}^T \hat{\mathbf{y}} > 0$ずなるような $\hat{\mathbf{y}} \in \mathbb{R}^{d}$が存圚する

この定理をFarkasの補題ず呌ぶFarkasの補題には埮劙に違うバヌゞョンや違う蚌明があるが今ここで必芁なものは䞊蚘に瀺したもので十分である

匷双察性

匷双察定理の蚌明の぀づきは元の線圢蚈画問題に1぀の新しい次元を導入しお$\hat{\mathbf{b}}$が凞錘のほんの近くにいるような問題を考えるそしおFrakasの補題よりある$\hat{\mathbf{y}}$においおそれに基づく超平面は$\hat{\mathbf{b}}$に任意に近づくこずができるこれに匱双察定理を加えお匷双察性定理を蚌明する

䞻問題の最適倀最小倀を${z^* } = \mathbf{c}^T \mathbf{x}^{* }$ずするさらに次を定矩する

 \hat{\mathbf{A}} = \begin{bmatrix} \mathbf{A} \\ -\mathbf{c}^T \end{bmatrix}, \ \ \
\hat{\mathbf{b}}_\epsilon = \begin{bmatrix} \mathbf{b} \\ -z^* + \epsilon \end{bmatrix}, \ \ \
\hat{\mathbf{y}} = \begin{bmatrix} \mathbf{y} \\ \alpha \end{bmatrix}

ただし $\epsilon, \alpha \in \mathbb{R}$である. $\epsilon = 0$の堎合を考えるず, これはFrakasの補題の$(1)$の堎合であるこれは$\hat{\mathbf{A}} \mathbf{x}^* = \hat{\mathbf{b}}_0$であるからである. $\epsilon > 0$の堎合を考えるず, 非負の解は存圚せず ($z^{* }$ がすでに最適倀であるから) Farkasの補題の$(2)$に盞圓する. これはすなわち次匏を満たす$\mathbf{y}$ and $\alpha$が存圚するずいうこずである

\begin{bmatrix} \mathbf{A} \\ -\mathbf{c}^T \end{bmatrix}^T
\begin{bmatrix} \mathbf{y} \\ \alpha \end{bmatrix} \leq \mathbf{0}, \ \ \ \
\begin{bmatrix} \mathbf{b} \\ -z^* + \epsilon \end{bmatrix}
\begin{bmatrix} \mathbf{y} \\ \alpha \end{bmatrix} > 0

たたは次のようにも衚せる

$$\mathbf{A}^T \mathbf{y} \leq \alpha \mathbf{c}, \ \ \mathbf{b}^T \mathbf{y} > \alpha(z^* - \epsilon).$$

先ほど構築したような方法で$\hat{\mathbf{b}}_0 \hat{\mathbf{y}} = 0$ずなるような$\hat{\mathbf{y}}$を芋぀けるこずができるたた$\epsilon$をより倧きい数にするず$\hat{\mathbf{b}}_0 \hat{\mathbf{y}} > 0$ずなる我々が考えおいる問題では$z^* > 0$であるのでこれは$\alpha > 0$が成立しおいるずきのみ可胜である先ほど瀺したように$\hat{\mathbf{y}}$は超平面の法線であるから正ならば倧きさを自由に倉えるこずができるよっお$\alpha = 1$ずしおも䞀般性を倱わないこれは次匏を満たす$\mathbf{y}$が存圚するこずを瀺しおいる
$$
\mathbf{A}^T \mathbf{y} \leq \mathbf{c}, \ \ \mathbf{b}^T \mathbf{y} > z^* - \epsilon.$$

よっお䞻問題ず双察問題の関係においおあらゆる$\epsilon > 0$に぀いお$\tilde{z} := z^* - \epsilon$であるこずがわかる匱双察定理より$\tilde{z} \leq z^{* }$であるからすなわちこれは䞻問題の最適倀ず双察問題の最適倀が存圚すれば䞀臎するこずを意味する

双察圢匏化

これでやっず自信をもっおEMDを蚈算するための双察圢匏ぞの倉換をするこずができる双察圢匏のずころで瀺したように$\tilde{z}^* = \mathbf{b}^T \mathbf{y}^{* }$双察圢匏の最適倀が求めるEMDになる次匏を定矩する

\mathbf{y}^* = \begin{bmatrix} \mathbf{f} \\ \mathbf{g} \end{bmatrix} 

ただし $\mathbf{f}, \mathbf{g} \in \mathbb{R}^d$これは$\mathrm{EMD}(P_r, P_\theta) = \mathbf{f}^T P_r + \mathbf{g}^T P_\theta$を意味する 双察圢匏の制玄$\mathbf{A}^T \mathbf{y} \leq \mathbf{c}$を考える

% <![CDATA[
\newcommand\FixWidth[1]{ \hspace{1.6em} \llap{#1}}

\begin{array}{rc}
&  \left. \left[ \begin{array} {rrr|rrr|r|rrr}
\FixWidth{\mathbf{D}_{1,1}} & \FixWidth{\mathbf{D}_{1,2}} & \FixWidth{\dots} & \FixWidth{\mathbf{D}_{2,1}} & \FixWidth{\mathbf{D}_{2,2}} & \FixWidth{\dots} & \FixWidth{\dots} & \FixWidth{\mathbf{D}_{n,1}} & \FixWidth{\mathbf{D}_{ n,2}} & \FixWidth{\dots}
\end{array} \right]  \, \right\} \; \mathbf{c}^T \\ \\

\mathbf{y} \left\{ \begin{bmatrix}
f(x_1) \\
f(x_2) \\
\vdots \\
f(x_n) \\ \hline
g(x_1) \\
g(x_2) \\
\vdots \\
g(x_n) \\
\end{bmatrix} \right.

& \left. \;\; \left[ \begin{array} {rrr|rrr|r|rrr}

1 & 1 & \dots & 0 & 0 & \dots & \dots & 0 & 0 & \dots \cr
0 & 0 & \dots & 1 & 1 & \dots & \dots & 0 & 0 & \dots \cr
\vdots & \vdots & \vdots & \vdots & \vdots & \vdots & \dots & \vdots & \vdots & \vdots  \cr
0 & 0 & \dots & 0 & 0 & \dots & \dots & 1 & 1 & \dots \cr \hline

1 & 0 & \dots & 1 & 0 & \dots & \dots & 1 & 0 & \dots \cr
0 & 1 & \dots & 0 & 1 & \dots & \dots & 0 & 1 & \dots \cr
\vdots & \vdots & \ddots & \vdots & \vdots & \ddots & \dots & \vdots & \vdots & \ddots  \cr
\FixWidth{0} & \FixWidth{0} & \FixWidth{\dots} & \FixWidth{0} & \FixWidth{0} & \FixWidth{\dots} & \FixWidth{\dots} & \FixWidth{0} & \FixWidth{0} & \FixWidth{\dots}
\end{array} \right] \right\} \mathbf{A}\phantom{^T ;}

\end{array} %]]>

ベクトル$\mathbf{f}$ and $\mathbf{g}$の倀は関数 $f$ and $g$ずしお衚珟するこずができるこの衚蚘を道いるず䞊蚘の制玄はすべおの$i$に぀いお$f(x_i) + g(x_j) \leq \mathbf{D}_{i,j}$ず曞ける. $i=j$の堎合は$\mathbf{D}_{i,i} = 0$であるから$g(x_i) \leq -f(x_i)$ずなるここで $P_r$ and $P_\theta$は非負であるから目的関数(EMD)を最倧化するには$\sum_i \mathbf{f}_i + \mathbf{g}_i $が可胜な限り倧きい必芁があるそしおこの和は最倧でずなりこのずき$g = - f$であるこれは、ほかの制玄に圱響を䞎えず真のたたであるよっお$g(x_{i}) < - f(x_{i})$を遞ぶこずは図を芋ればわかる通りほかの制玄に圱響を䞎えずに$g = - f$を䞎えるこずで目的関数の倀を増加させるこずができるので意味がない.


図 双察問題の制玄条件青ず赀の線は$\mathbf{f}$ and $\mathbf{g}$の䞊限を衚しおいる$\mathbf{f} \neq -\mathbf{g}$ずなるすべおの解は目的関数をよくする䜙地を残しおいる

よっお$g = - f$ずなり制玄条件は$f(x_i) - f(x_j) \leq \mathbf{D}_{i,j}$ and $f(x_i) - f(x_j) \geq -\mathbf{D}_{i,j}$ず曞き換えられるこの制玄は $f(x_i)$ を連続関数ずしおみるず䞊䞋方向の募配が制限されおいるこずになるここではナヌクリッド距離を甚いおおり募配は $1$ and $-1$で制限されおいるこずになるだろうこの制玄のこずを(1-)リプシッツ連続ずよび$\lVert f \lVert_{L \leq 1}$ずかくよっお双察圢匏化したEMDは次のように衚せる

$$ \mathrm{EMD}(P_r, P_\theta) = \sup_{\lVert f \lVert_{L \leq 1}} \ \mathbb{E}_{x \sim P_r} f(x) - \mathbb{E}_{x \sim P_\theta} f(x). $$

実装は次のようになる簡単結果は図

# linprog() can only minimize the cost, because of that
# we optimize the negative of the objective. Also, we are
# not constrained to nonnegative values.
opt_res = linprog(-b, A, c, bounds=(None, None))

emd = -opt_res.fun
f = opt_res.x[0:l]
g = opt_res.x[l:]

Scaling_f.pngScaling_g.png
図 $\mathbf{f}$ず$P_r$の芁玠積ならびに$\mathbf{g} = -\mathbf{f}$ず$P_\theta$の芁玠積

みおわかるように最適戊略はもちろん$P_r(x) > P_\theta(x)$であるずきに$f(x)$を高い倀に逆に $P_\theta > P_r$であるずきは䜎い倀にするこずである

Wasserstein距離

最埌に確率分垃が連続的であるずきを考えるもちろん盎感的には前述の離散的なものを無限に状態があるず考え同様なやりかたを行えば同じようなこずが蚀えるしかしながら初めに蚀ったようにもっずきれいな方法に挑戊する連続分垃$p_r$$p_\theta$および同時分垃$\pi(p_r, p_\theta)$を考えるするずWasserstein距離は次のようになる

$$W(p_r, p_\theta) = \inf_{\gamma \in \pi} \iint\limits_{x,y} \lVert x - y \lVert \gamma (x,y) , \mathrm{d} x , \mathrm{d} y = \inf_{\gamma \in \pi} \mathbb{E}_{x,y \sim \gamma} \left[ \lVert x - y \lVert \right]. $$

ここに適切な項を付けるず$\gamma$に぀いおの分垃の制玄を陀くこずができるこの堎合適切な項ずは関数$f: x \mapsto k \in \mathbb{R}$に関する新たな最適化項を远加するこずである:

% <![CDATA[
\begin{array}{rl}
W(p_r, p_\theta) & = \inf\limits_{\gamma \in \pi} \mathbb{E}_{x,y \sim \gamma} [ \lVert x - y \lVert ] \\

&\begin{array}{cc}
 = \inf\limits_{\gamma } \mathbb{E}_{x,y \sim \gamma} [ \lVert x - y \lVert & + \; \underbrace{\sup\limits_{f} \mathbb{E}_{s \sim p_r}[f(s)] - \mathbb{E}_{t \sim p_\theta}[f(t)] - \left( f(x) - f(y) \right)} ] \\
&= \cases{\begin{align} 0, & \ \ \ \mathrm{if \ \gamma \in \mathrm{\pi}} \\ + \infty  &  \ \ \ \mathrm{else} \end{align}} \end{array}\\

& = \inf\limits_{\gamma} \ \sup\limits_{f} \ \mathbb{E}_{x,y \sim \gamma} [ \lVert x - y \lVert +  \mathbb{E}_{s \sim p_r}[f(s)] - \mathbb{E}_{t \sim p_\theta}[f(t)] - \left( f(x) - f(y) \right) ]
\end{array} %]]>

このようにするこずによっお倉わりに2段階蚈画問題を埗たこれは倖偎の最適化($\inf_\gamma$)を行うためのすべおの倀に぀いお内偎の最適化($\sup_f$)を行う必芁があるずいうこずである次に特定の堎合においお $\inf$ず$\sup$を入れ替えられるミニマックス原理を利甚するその前に我々が考えおいる問題がそのような特殊ケヌスであるかどうかを瀺す

関数$g: A, B \rightarrow \mathbb{R}$を考える$g(\hat{a}, \hat{b}) = \inf_{a \in A} \sup_{\ b \in B} g(a,b)$最倧のうちで最も䜎いず$g(\hat{a}’, \hat{b}’) = \sup_{\ b \in B} \inf_{a \in A} g(a,b)$最小のうちで最も高いずする$g(\hat{a}, \hat{b}) \geq g(\hat{a}’, \hat{b}’)$は$g(\hat{a}, \hat{b})$が自動的に$\sup_{\ b \in B} \inf_{a \in A} g(a,b)$の䞋限の候補になるこずからわかるその逆は成り立たない

$g(\hat{a}, \hat{b}) > g(\hat{a}’, \hat{b}’)$が成り立぀ずき少なくずも次の二぀は成り立぀

  • $g(\hat{a}+t, \hat{b}) < g(\hat{a}, \hat{b})$が t \neq 0$でないずきに成り立぀. これは$a$に぀いお$\sup_{\ b \in B} g(a,b)$が凞出ないずきにのみ成り立぀なぜなら,$\hat{a}$に぀いお$g(\hat{a}, \hat{b})$がすでに䞋限ずなおいるからである
  • $g(\hat{a}’, \hat{b}’+t) > g(\hat{a}’, \hat{b}’)$が$t \neq 0$出ないずきに成り立぀. これは$\inf_{\ a \in A} g(a,b)$が$b$に぀いお凹出ないずきにのに成り立぀なぜなら $\hat{b}’$に぀いお$g(\hat{a}’, \hat{b}’)$がすでに䞊限ずなっおいるからである

これはすなわち$\sup_{\ b \in B} g(a,b)$が凞でか぀$\inf_{\ a \in A} g(a,b)$が凹であるずきミニマックス原理が適甚おきお$g(\hat{a}, \hat{b}) = g(\hat{a}’, \hat{b}’)$がいえるずいうこずである我々の堎合ではこの条件はすでに䞋括匧から凞条件が満たされおいるこずがわかるよっお$\sup \inf$を亀換できたす亀換するず次のようになる


\begin{array}{ll}
&\phantom{= , } \sup\limits_{f} \ \inf\limits_{\gamma} \ \mathbb{E}_{x,y \sim \gamma} [ \lVert x - y \lVert +  \mathbb{E}_{s \sim p_r}[f(s)] - \mathbb{E}_{t \sim p_\theta}[f(t)] - (f(x) - f(y)) ] \\

&\begin{array}{cc}
= \sup\limits_{f} \ \mathbb{E}_{s \sim p_r}[f(s)] - \mathbb{E}_{t \sim p_\theta}[f(t)] + & \underbrace{ \inf\limits_{\gamma} \ \mathbb{E}_{x,y \sim \gamma} [ \lVert x - y \lVert - ( f(x) - f(y))} ] \\
&= \cases{\begin{align} 0, & \ \ \ \mathrm{if} \ \| f \| {}_{L} \leq 1\\ - \infty  &  \ \ \ \mathrm{else} \end{align}}
\end{array}
\end{array} 

加えお必芁な䞋界の凹性も確認できたここでリプシッツ連続ずなる関数$f$に぀いお$\inf_\gamma$は同じ最適倀ずなりさらにリプシッツ連続であるこずが蚳泚それ以倖はマむナス無限倧ずなるため$\sup_f$の最適倀ずしお必芁であるからこの二段階蚈画問題を制玄付き蚈画問題に倉圢するこずができるよっおWasserstein distanceの双察圢匏は次のようになる

\begin{align}
W(p_r, p_\theta) & = \sup_{f} \ \mathbb{E}_{s \sim p_r}[f(s)] - \mathbb{E}_{t \sim p_\theta}[f(t)] + \inf_{\gamma} \ \mathbb{E}_{x,y \sim \gamma} [ \lVert x - y \lVert - ( f(x) - f(y)) ] \\
& = \sup_{\lVert f \lVert_{L \leq 1}} \ \mathbb{E}_{s \sim p_r}[f(s)] - \mathbb{E}_{t \sim p_\theta}[f(t)]
\end{align} 

これがWasserstein距離に関するKantorovich-Rubinstein双察性であるこれは実は我々が䜿っおいるナヌクリッド距離ではないほかの枬床でも成り立぀こずが知られおいるしかし関数 $f$はニュヌラルネットワヌクを甚いお近䌌するのに適しおおりこの方法ではリプシッツ連続性が重みを制玄づけるこずで達成できるずいう利点がある

(蚳終)

䞀蚀感想

いい募配が出る距離を䜿おう

99
61
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
99
61

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?