Movatterモバイル変換


[0]ホーム

URL:


SlideShare a Scribd company logo

最適輸送の解き方

46 likes27,016 views
J
joisino

最適輸送問題(Wasserstein 距離)を解く方法についてのさまざまなアプローチ・アルゴリズムを紹介します。線形計画を使った定式化の基礎からはじめて、以下の五つのアルゴリズムを紹介します。1. ネットワークシンプレックス法2. ハンガリアン法3. Sinkhorn アルゴリズム4. ニューラルネットワークによる推定5. スライス法このスライドは第三回 0x-seminar https://sites.google.com/view/uda-0x-seminar/home/0x03 で使用したものです。自己完結するよう心がけたのでセミナーに参加していない人にも役立つスライドになっています。『最適輸送の理論とアルゴリズム』好評発売中! https://www.amazon.co.jp/dp/4065305144Speakerdeck にもアップロードしました: https://speakerdeck.com/joisino/zui-shi-shu-song-nojie-kifang

1 of 270
Downloaded 654 times
1 KYOTO UNIVERSITYKYOTO UNIVERSITY最適輸送の解き方佐藤竜馬
2 / 270 KYOTO UNIVERSITY最適輸送アルゴリズムの様々なアプローチを紹介する最適輸送のアルゴリズムには様々なアプローチがありそれぞれ異なる長所・短所を持っている今日のゴール:解きたい問題に合わせて適切なアルゴリズムを選べるようになる最適輸送の主・双対問題は豊かな構造を持っているそれらを操れるようになると、アルゴリズムを選ぶだけでなく自分で設計できるようになる今日の発展的ゴール:最適輸送の主・双対問題を自由自在に使いこなせるようになる意欲のある方向け
3 / 270 KYOTO UNIVERSITYもくじp.7 今日の講演の構成p.17 線形計画による定式化p.45 ネットワークシンプレックス法p.128 双対問題についてp.149 ハンガリアン法p.198 Sinkhorn アルゴリズムp.222 ニューラルネットワークによる推定p.245 スライス法p.262 まとめp.267 参考文献
4 / 270 KYOTO UNIVERSITY自己紹介
5 / 270 KYOTO UNIVERSITY自己紹介: 京大で最適輸送や GNN を研究してます名前: 佐藤竜馬京大博士一年(鹿島・山田研究室)研究分野:グラフニューラルネットワーク (GNN)* Ryoma Sato, Makoto Yamada, Hisashi Kashima. Approximation Ratios of GraphNeural Networks for Combinatorial Problems. NeurIPS 2019.* Ryoma Sato, Makoto Yamada, Hisashi Kashima. Random Features StrengthenGraph Neural Networks. SDM 2021.最適輸送  今日のトピック* Ryoma Sato, Makoto Yamada, Hisashi Kashima. Fast Unbalanced OptimalTransport on a Tree. NeurIPS 2020.* Yuki Takezawa, Ryoma Sato, Makoto Yamada. Supervised Tree-WassersteinDistance. ICML 2021. 講演者近影「人工知能」七月号に GNN の日本語解説記事書きました
6 / 270 KYOTO UNIVERSITY自己紹介: 競技プログラミングしてました高校生〜学部生の頃は競技プログラミングをしていました主な戦績(自慢):日本情報オリンピック 2014 金賞国際情報オリンピック 2014 日本代表、銅メダルACM ICPC 2018 アジア地区予選ジャカルタ大会 2位ACM ICPC 2019 世界大会出場アルゴリズムの素養は主にここからきています機械学習 + アルゴリズムの交わりを得意にしています
7 / 270 KYOTO UNIVERSITY今日の講演の構成
8 / 270 KYOTO UNIVERSITY今日は最適輸送の色んな解き方をみていく以下の五つのアルゴリズムの長所・短所をみていくその1: 線形計画の定式化とシンプレックス法その2: ハンガリアン法その3: Sinkhorn アルゴリズムその4: ニューラルネットワークによる推定その5: スライス法
9 / 270 KYOTO UNIVERSITY線形計画の定式化は全ての基本その1: 線形計画の定式化はその後の解き方の基本になるネットワークシンプレックス法はこれを主問題で解くアルゴリズム長所 : ソルバーがよく整理されているCPU 上だと早い厳密に解ける短所 : 実行時間を見積もるのが難しい
10 / 270 KYOTO UNIVERSITYハンガリアン法は一対一の割り当て問題によく使われるその2: ハンガリアン法は線形計画の双対を解くユースケースは限られるが、一対一の割当問題を解くためにはよく使われている長所 : CPU 上だと早いシンプルに実装できる短所 : 一対一マッチングにしか使えない(対応するように拡張はできる)応募者 仕事
11 / 270 KYOTO UNIVERSITYSinkhorn は微分可能で GPU フレンドリーその3: Sinkhorn アルゴリズムは目的関数に正則化を加え、行列演算で最適輸送を解くアルゴリズムSinkhorn が [Cuturi+ 2013] で紹介されたことで機械学習界隈で最適輸送が使われるようになるキッカケになった長所 :コストに関して微分可能GPU 上だと早い複数の最適輸送を並列に解ける最適解が唯一に定まる短所 : 厳密な最適輸送の解ではないオーバーフローや解の丸めに気をつける必要ありMarco Cuturi. Sinkhorn Distances: Lightspeed Computation of Optimal Transport. NeurIPS 2013.Gabriel Peyré, Marco Cuturi. Computational Optimal Transport. 2019.
12 / 270 KYOTO UNIVERSITYニューラルネットワークによる推定は GAN の基本技術その4: ニューラルネットワークによる推定は双対問題の特殊形をニューラルネットワークの最適化に帰着するWasserstein GAN という名前で GAN(生成モデル)の生成分布とデータ分布の距離をはかるのに使われている長所 : コストについて微分可能分布からのサンプルをミニバッチで繰り返し解くのに向いている短所 : 単一の入力には向いていないコストが距離で定義されていないと使えないTero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen. Progressive Growing of GANs for Improved Quality, Stability, and Variation. ICLR 2018. GAN による顔写真の自動生成
13 / 270 KYOTO UNIVERSITYスライス法は簡単かつ高速に計算ができるその5: スライス法は一次元上の最適輸送が簡単に解けることを利用する非常に簡単であることから、とりあえず最適輸送っぽいものを得たいときには有用長所 : 実装が簡単非常に高速短所 : 元の最適輸送問題の良い近似になっているとは限らないhttps://www.programmersought.com/article/67174999352/
14 / 270 KYOTO UNIVERSITY今日は最適輸送の色んな解き方をみていくその1: 線形計画の定式化 その2: ハンガリアン法その3: Sinkhorn アルゴリズムその4: ニューラルネットワークによる推定その5: スライス法  上の話題とは独立しているそれぞれ違うアプローチで双対問題を解く 一番大事!時間をかけて丁寧に追う
15 / 270 KYOTO UNIVERSITY今日の講演の聴き方についてスライドの中では証明がたびたび登場します厳密性よりは直感を提供することを優先して説明します重要な洞察は証明後にあらためてフォローするなどして、証明については理解せずに聴き飛ばしても追えるような構成にはしているので安心してください各章はほぼ独立していますが、たとえばニューラルネットワークの推定を読む前に以前の章で双対問題の直感を養っておくとよりスムーズに理解できるはずですこのスライドはウェブ上で公開しているので、講演が終わったあとに証明部分を読み直して理解を深めるなどして活用してください
16 / 270 KYOTO UNIVERSITY凡例重要な用語は赤色で強調している重要なメッセージは青色で強調しているフキダシは補足情報地文で理解できないときの助けを目的としている
17 / 270 KYOTO UNIVERSITY線形計画による定式化
18 / 270 KYOTO UNIVERSITYこの章のゴール最適輸送の主問題と双対問題の線形計画による定式化を知る主問題と双対問題の関係を知る
19 / 270 KYOTO UNIVERSITY最適輸送は最小の輸送コストを求める問題最適輸送問題(ざっくり):工場会社が倉庫を n 個、工場を m 個所有している倉庫 i には小麦粉が ai> 0 グラムあり工場 j には小麦粉がbj> 0 グラム必要である。倉庫 i から工場 j に 1 グラム輸送するのにコスト Cijかかるとき、要件を満たすのに必要な最小コストは?
20 / 270 KYOTO UNIVERSITY例題例:a1= 2a2= 1a3= 1b1= 1b2= 2b3= 1C 1 2 31 1 2 22 2 1 23 2 2 1
21 / 270 KYOTO UNIVERSITY例題答え例 答え: 1 + 2 + 1 + 1 = 5a1= 2a2= 1a3= 1b1= 1b2= 2b3= 1C 1 2 31 1 2 22 2 1 23 2 2 11*コスト11*コスト21*コスト11*コスト1
22 / 270 KYOTO UNIVERSITY最適輸送のもう少しフォーマルな定義最適輸送問題:入力: ベクトル a ∈ Rn, ベクトル b ∈ Rm, 行列 C ∈ Rn✕m出力: {a1, ..., an} を {b1, ..., bm} に輸送する最小コストただしa1+ ... + an= b1+ ... + bm= 1 を仮定するつまり「小麦粉」は不足することも余ることもない合計が 1 なのは割合だけ考えていると思えばよいaiから bjに Pijだけ輸送するのには Cij✕ Pijコストかかる輸送コストは輸送量に線形増加R, は実数集合平文では黒板太字を使うのが面倒なので R を使用します
23 / 270 KYOTO UNIVERSITY最適輸送の線形計画による定式化最適輸送問題:入力: ベクトル a ∈ Rn, ベクトル b ∈ Rm, 行列 C ∈ Rn✕m最適化変数 P ∈ Rn✕m: Pijは i から j に輸送する量 総コスト 輸送量は非負 余りなし 不足なしあわせて質量制約とよぶ(mass constraint)C が距離行列 D と正数 p ≧ 1を用いて Cij= Dijpを表せるとき、最適値の 1/p 乗の値をWasserstein 距離という。最適輸送と Wasserstein 距離を区別せずに用いることもある
24 / 270 KYOTO UNIVERSITY線形計画による定式化のおかげでソルバが使える線形計画に落とし込めたので、線形計画ソルバ (CPLEX など)に投げれば解けるめでたしめでたし終制作・著作O O O
25 / 270 KYOTO UNIVERSITYこれからは問題の性質を知り高速化することを目指す線形計画に落とし込めたので、線形計画ソルバ (CPLEX など)に投げれば解けるめでたしめでたし... とは限らない!第一に、汎用ソルバは専用ソルバより一般に遅い第二に、最適輸送の答えが小さくなるような配置を見つけたい、のように別の最適化の中に最適輸送を組み込むときには最適輸送の最適化の性質を知っておく必要があるただし、小さいインスタンスについて最適値を知りたいだけなら本当にここでおしまいです。お疲れさまでした。
26 / 270 KYOTO UNIVERSITY双対は最適値が同じで相補性が成り立つ線形計画の双対:最小化の線形計画には対となる最大化の線形計画問題があるもとの線形計画を主問題、対となる線形計画を双対問題とよぶざっくり言うと、主問題の制約一つにつき双対問題に変数が一つ、主問題の変数一つにつき双対問題に制約が一つできる重要な性質(いまから詳しく見ていく):主問題と双対問題の最適値は一致する(強双対性)主問題の最適解の変数が正のとき双対問題の対応する制約は等号成立する。逆にこれが成り立つとき最適解となる(相補性)最適輸送では主問題と双対問題両方を使いこなすことが重要この講演の目標は主・双対問題を自由自在に操れるようになること
27 / 270 KYOTO UNIVERSITY最適輸送の双対問題最適輸送の双対問題は右のように表せる導出は省略。普通の線形計画と同様にできるので試してみるとよい。主問題 双対問題fi: aiの余りなし制約に対応する変数gj: bjの不足なし制約に対応する変数fi+ gj≦ Cij: 主問題の変数 Pijに対応する制約
28 / 270 KYOTO UNIVERSITY小麦粉輸送問題再訪。双対の直感的意味とは双対問題の直感的な意味:小麦粉の輸送問題を再び考える主問題は工場会社が倉庫から工場に小麦粉を輸送する総コスト
29 / 270 KYOTO UNIVERSITY物流業者登場。双対問題に対応するトラックで小麦粉を輸送するのをやめて、外部の物流業者を利用する 物流業者は倉庫 i の地域ではグラム fi円払うと引き取りを行い工場 j の地域ではグラム gj円で販売を行う倉庫の小麦粉を全て引き取ってもらい、工場で必要な分を買い取ると実質輸送が完了したことになる
30 / 270 KYOTO UNIVERSITY工場会社が自社で輸送する場合: 主問題に対応工場会社が自社で輸送(主問題)1111
31 / 270 KYOTO UNIVERSITY物流業者に依頼する場合: 双対問題に対応物流業者に依頼(双対問題)111122
32 / 270 KYOTO UNIVERSITY物流業者が双対問題を解く双対問題の主人公、双対問題を「解く」人は物流業者 物流業者は倉庫 i で aiの小麦を単価 fiで回収するので aifi円工場 j で bjの小麦を単価 gjで売るので bjgj円売り上げる物流業者の売上は これを最大化したがっている双対問題の目的関数!
33 / 270 KYOTO UNIVERSITY明らかな工場会社の得を維持しつつ利益を最大化するしかし、あまりに引取価格や販売価格を高くしすぎると工場会社に利用してもらえない fi+ gj≦ Cijであれば、工場会社は倉庫 i から工場 j にトラックで移すより引取 + 購入を行った方が得するこの条件があらゆる (i, j) について成り立っていれば、工場会社は安心して物流業者を利用できる少なくとも自社でトラックを動かすより物流業者に頼ったほうがコストが低いことが保証される物流業者は工場会社が安心できる範囲で売上を最大化することをめざす → 双対問題双対問題の制約!
34 / 270 KYOTO UNIVERSITY最適輸送の双対問題(再掲)物流会社の売上利益を最大化したい工場会社が明らかに損しない
35 / 270 KYOTO UNIVERSITY最適輸送の双対問題は変数が少ないが制約が多い主問題は各場所対の輸送量を定める問題双対問題は各場所の販売・回収コストを定める問題主問題は変数が nm 個、制約が n + m 個双対問題は変数が n + m 個、制約が nm 個どちらが解きやすいかはケースバイケース大 小大小
36 / 270 KYOTO UNIVERSITY双対問題の最適解には自由度あり双対問題の最適解には定数ぶんだけ自由度があるが最適解なら定数 についても最適解理由:ならまた、販売費を安くするぶん回収費を高くして帳尻を合わせられる平均ゼロや特定変数の値が 0 になる解を正規の解とすることがある実行可能目的関数の値は変わらない
37 / 270 KYOTO UNIVERSITY弱双対定理: 工場会社は物流業者に任せると損しない弱双対定理:任意の主問題の実行可能解 P と双対問題の実行可能解 (f, g)について、つまり、双対問題の目的関数の値は主問題の目的関数の値より常に小さい直感的には先程の議論から明らか(f, g) をどのような輸送プランに対しても明らかに損しないように選ぶのが実行可能条件
38 / 270 KYOTO UNIVERSITY弱双対定理の証明弱双対定理の証明P の実行可能性より Pij≧ 0(f, g) の実行可能性より Cij≧ fi+ gjP の実行可能性より ∑jPij= ai, ∑iPij= bj
39 / 270 KYOTO UNIVERSITY強双対定理: 物流業者が頑張るとプラマイゼロまでいける強双対定理:を満たす主問題の実行可能解 P と双対問題の実行可能解 (f, g) が存在するつまり、双対問題と主問題の最適値は一致する小麦粉の例でいうと、物流業者が値段設定を頑張れば、工場会社が自社で輸送する最適コストまでは売上を伸ばせる(それ以上は弱双対定理より不可能)証明は少し煩雑なので省略線形計画や最適化の教科書を参照主問題最小化双対問題最大化ちょうど一致
40 / 270 KYOTO UNIVERSITY相補性: 主問題で正の箇所は等号成立定義 相補性:主問題の実行可能解 P について、双対問題の解 (f, g) は以下の条件を満たすとき相補的であるというPij> 0 ならば fi+ gj= Cijつまり、輸送が発生する倉庫と工場の間では不等式制約が等号で成立するとき相補的等号が成立するということは、その間の輸送を流通業者に任せたとしても(もちろん損することはないが)得せずコストは変わらない fi+ gj= Cijが成り立つ組 (i, j) をタイトと呼ぶfi+ gj< Cijが成り立つ組 (i, j) をルーズと呼ぶ不等式制約がギリギリ縁まで来ているイメージ
41 / 270 KYOTO UNIVERSITY相補的ならば両方最適解命題 相補性を使った最適性の十分条件:主問題の実行可能解 P について双対問題の実行可能解 (f, g)が相補的であるならばこれらは両方それぞれの問題の最適解証明(弱双対と似ている):相補性より正の項については Cij= fi+ gjそれ以外の項は何であっても消えるので無問題弱双対定理より、主問題より目的関数は大きくなり得ないのでこれが最適
42 / 270 KYOTO UNIVERSITY相補的でないならどちらかは最適解でない命題 相補性を使った最適性の必要条件:主問題の実行可能解 P について双対問題の実行可能解 (f, g)が相補的でないならばこれらのどちらかは最適解でない証明(弱双対と似ている):非相補性より Pij> 0, Cij> fi+ gjなる項があるので等号不成立強双対定理より、主問題か双対問題のどちらかはさらに改善できる
43 / 270 KYOTO UNIVERSITY最適化をすることは相補的な組を見つけることと同じつまり、実行可能解 P と (f, g) の両方が最適解である必要十分条件は相補的であること主問題や双対問題を最適化する代わりに、相補的な組を見つけることをめざしてもよいこれで線形計画としての基本的な性質は終了ここからはこの性質を使ってどのように解くかをみていく
44 / 270 KYOTO UNIVERSITYこの章のゴールの確認最適輸送の主問題と双対問題の線形計画による定式化を知る主問題は工場会社が全ての小麦を輸送する最小コスト双対問題は物流業者が全ての小麦を回収・販売する最大売上主問題と双対問題の関係を知る双対問題の値は主問題の値より小さい(弱双対性)双対問題の最適値は主問題の最適値と同じ(強双対性)主・双対実行可能解が相補的であるときかつそのときのみ最適
45 / 270 KYOTO UNIVERSITYアルゴリズムその1: ネットワークシンプレックス法
46 / 270 KYOTO UNIVERSITY線形計画の定式化は全ての基本その1: 線形計画の定式化はその後の解き方の基本になるネットワークシンプレックス法はこれを主問題で解くアルゴリズム長所 : ソルバーがよく整理されているCPU 上だと早い厳密に解ける短所 : 実行時間を見積もるのが難しい
47 / 270 KYOTO UNIVERSITYシンプレックス法は一般の線形計画用の効率的手法シンプレックス法:線形計画の実行可能領域が凸多面体であること・最適値が頂点にあることを利用し、多面体の頂点を解が良くなる方向に走査していくアルゴリズム最悪ケースでは指数時間かかるが、多くのケースでは非常に高速であるシンプレックス法は一般の線形計画用のアルゴリズムここではシンプレックス法を最適輸送専用に高速化・単純化したネットワークシンプレックス法を紹介するどのように頂点を辿るかが効率の上で重要
48 / 270 KYOTO UNIVERSITYこの章のゴール最適輸送問題において多面体の頂点が表している解を知る多面体の頂点を効率よく辿る方法を知る
49 / 270 KYOTO UNIVERSITY別の解の中点になっていない解を頂点というPQRPQRPQR頂点以外だとそのような Q, R を取れるが頂点だと取ろうとするとはみ出てしまうまず、最適輸送問題の実行可能領域の頂点はどのような解に対応しているかを考える定義 頂点:実行可能解 P が頂点であるとは、別の実行可能解 Q, R を用いてP = (Q + R) / 2 と表せないことである
50 / 270 KYOTO UNIVERSITY閉路のない連結なグラフを木という連結でないので木ではない 木である 閉路があるので木ではない上図のように、点を線で結んだ図(構造)をグラフという点のことをノード、線のことを辺とよぶ定義 木:閉路のない連結なグラフを木という
51 / 270 KYOTO UNIVERSITY使用グラフ: 輸送が発生する倉庫と工場に辺があるP 1 2 31 1 1 02 0 1 03 0 0 2123123使用グラフはこの資料独自の用語小麦問題の類推から左側のノードを倉庫右側のノードを工場とよぶ定義 使用グラフ:左側に n 個、右側に m 個ノードを置き、左側の i と右側の j に辺を張った(二部)グラフ G を考える。主問題の解 P について Pij> 0 であれば (i, j) が G の辺として含まれるとき、G は P に付随する使用グラフという実際に輸送が発生する倉庫と工場間に辺が張られているようなグラフ
52 / 270 KYOTO UNIVERSITY使用グラフを固定する = 含まれない辺が使用不可今後、逆に使用グラフを固定してその使用グラフが付随する解を考えることもあるこれは、使用グラフに含まれない辺を輸送不可能にすることに相当
53 / 270 KYOTO UNIVERSITY頂点解は使用グラフとして木をもつ命題 頂点の必要条件:主問題の実行可能解 P が頂点ならば、木を使用グラフとしてもつ証明(ざっくり):対偶、木を使用グラフとしてもたなければ頂点でないを示すこのとき Pij> 0 となる (i, j) だけから閉路 H を構成できるH を適当な倉庫から辿っていくと、対応する頂点は倉庫、工場、倉庫、工場、倉庫、... というように倉庫と工場が交互に現れるちょうど一周した時点でストップすることにするこのとき通過した辺に対応する P の値を順番に P1, ..., PLとおくつづく倉庫どうし、工場どうしは結ばれることがないためL は閉路の長さP2P1P3P4P3P5P6
54 / 270 KYOTO UNIVERSITY頂点解は使用グラフとして木をもつ:証明つづき証明(続き):偶数番目の要素を ε > 0 大きくし、奇数番目の要素を ε 小さくして P から新しい解 P’ を作る(閉路の要素以外は変えない)Piは正辺なので値は正ε を十分小さくとると解は正のままH に含まれる各工場について倉庫 → 工場側の辺が ε 小さくなり、工場 → 倉庫側の辺が ε 大きくなるので不足なし制約を満たす倉庫についても同様に余りなし制約を満たすので、P’ は実行可能ε’ = -ε で同じことすると実行可能解 P’’ が得られP = (P’ + P’’) / 2 なのでP は頂点でないGabriel Peyré, Marco Cuturi. Computational Optimal Transport. 2019.
55 / 270 KYOTO UNIVERSITY木が付随する解はただ一つ補題 木が付随する解の唯一性:木を任意の取ったときこの質量制約を満たす主問題の解のうちこの木が付随するものはただ一つ証明(ざっくり):木が定まれば主問題の解の値が次々に定まることを示すグラフが木なので次数が 1 のノード、すなわち一本しか使用グラフの辺が繋がっていないノードが存在するこのノードを i とよび、簡単のため倉庫と仮定するノード i に接続する辺 (i, j) に相当する Pijの値は余りなし制約より Pij= aiと一意に定まる つづくi から出る他の辺は使用グラフに含まれないので使えないj に全て送るしかないP が負かもしれないので実行可能とは限らない
56 / 270 KYOTO UNIVERSITY木が付随する解はただ一つ: 証明つづき証明(続き):Pijが確定したことにより、j 側の要求が Pijだけ満たされたのでbjから Pijを引くPijが確定したのでグラフから頂点 i と辺 (i, j) を取り除くこうしてもグラフは木のままあとは再帰的に上記のステップを繰り返すと全ての辺の値が一意に定まる詳しくは次のスライドからはじまる例を参照
57 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:使用グラフ(木)0.10.20.50.10.10.60.20.2
58 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.10.20.50.10.10.60.20.2次数 1 なので、相手から必ず0.1 輸送されないといけない
59 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.20.50.10.10.50.20.20.1 輸送したので残りが減る0.1この辺の輸送量が 0.1 に決まる
60 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.20.50.10.10.50.20.20.1
61 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.50.10.10.30.20.20.10.2-0.2
62 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.50.10.10.30.20.20.10.2最初次数 1 でなかったが輸送コストが確定していって次数が 1 になった残った小麦は残りの辺を使って全て輸送するしかない
63 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.20.10.10.00.20.20.10.20.3-0.3
64 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.20.10.10.00.20.20.10.20.3
65 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.010.00.00.10.10.00.00.20.10.20.30.2-0.2
66 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.00.10.10.00.00.20.10.20.30.2
67 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.0000.00.10.10.00.00.20.10.20.30.20.00.0 輸送されるというパターンもある
68 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.00.10.10.00.00.20.10.20.30.20.0
69 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.00.00.10.00.00.10.10.20.30.20.00.1-0.1
70 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.00.00.10.00.00.10.10.20.30.20.00.1
71 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.00.00.00.00.00.00.10.20.30.20.00.10.1∑ ai= ∑ bjの仮定より必ず最後は辻褄があう
72 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例: 輸送量が一意に定まった0.10.20.50.10.10.60.20.20.10.20.30.20.00.10.1
73 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:使用グラフ(木)0.10.20.50.10.10.60.20.2
74 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:0.10.20.50.10.10.60.20.2
75 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:0.00.20.50.10.10.50.20.20.1-0.1
76 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:0.00.20.50.10.10.50.20.20.1
77 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:0.00.00.50.10.10.30.20.20.10.2-0.1
78 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:0.00.00.50.10.10.30.20.20.10.2
79 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:足りなくなることもある0.00.00.00.10.1-0.20.20.20.10.2足りない! 0.5
80 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:無理やり続行0.00.00.00.10.1-0.20.20.20.10.20.5
81 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:無理やり続行0.00.00.00.30.10.00.20.20.10.20.5-0.2負の量を送られると逆に増える
82 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:中略。これを続けるとこうなる0.10.20.50.10.10.60.20.20.10.20.5-0.20.20.10.1
83 / 270 KYOTO UNIVERSITY木の使用グラフに付随する解が実行不能のときもある輸送量を定めるうちに在庫量・要求量が負になることもあるそのままプロセスを続行させることはできるが、輸送プランにも負値が現れ実行可能ではない場合があるつまり、木 T を固定したとき、この木を使用グラフとして持つ解はちょうど 1 つただし、実行可能でない場合はあるので実行可能解は 0 or 1 個
84 / 270 KYOTO UNIVERSITY木を使用グラフとして持つなら頂点命題 頂点の十分条件:主実行可能解 P が木を使用グラフとしてもつなら P は頂点証明(ざっくり):実行可能解 Q, R を用いて P = (Q + R) / 2 と表せるとするQ と R の要素は非負なので Pij= 0 である要素は Q, R でもゼロ(仮に Qij> 0 なら Rij≧ 0 より Qij+ Rij> 0 となる)よって Q, R にも P と同じ木が使用グラフとして付随し、一意性よりP = Q = R
85 / 270 KYOTO UNIVERSITY頂点の条件より探索空間を劇的に絞れる証明はややこしいが、実行可能解 P が頂点であることと使用グラフとして木をもつことは同値である木にはちょうど一つの解に付随を知っていればよい線形計画の最適解は頂点にあるので、これにより解の候補を絞れる
86 / 270 KYOTO UNIVERSITY頂点だけ探索すれば良い → 頂点を全て探索してみる愚直なアルゴリズム:倉庫と工場を結ぶ木を全て考え各木を使用グラフとしてもつ解(一意に定まる)を計算し、コストが一番安いものを出力する木のパターンは非常に多いので効率は悪いしかし、解集合が無限にあったところを、有限まで絞り込めているので劇的な改善
87 / 270 KYOTO UNIVERSITY使用グラフと相補性は相性がよい使用グラフの定義は相補性と相性が良さそう 使用グラフ G の全ての辺 (i, j) で fi+ gj= Cijとなるとき(f, g) は G について相補的であるという。主問題の実行可能解 P と双対問題の実行可能解 (f, g) を考えるP に付随する任意の使用グラフ G をとる(G, f, g) が相補的である → (P, f, g) が相補的である理由: Pij> 0 な辺 (i, j) は使用グラフ G に含まれるのでタイト Pij> 0 でない辺もタイトなので、使用グラフについての相補性はP についての相補性より強いしかし、特殊な例ではこれが十分条件になる
88 / 270 KYOTO UNIVERSITY木と相補的な双対実行可能解が存在する命題 木の使用グラフと相補性:以下の性質をもつ木 T が存在する主問題のある実行可能解 P と双対問題の実行可能解 (f, g) が存在し、P が T を使用グラフとしてもち、(f, g) は T について相補的証明(ざっくり):P を実行可能領域の頂点にある最適解の中から適当にとるこのとき P は頂点性よりある木 T を使用グラフとしてもつP は最適解なので相補的な双対実行可能解 (f, g) が存在するfi+ gj= Cijを満たす (i, j) ∈ T は森 F になるF が連結であれば F = T となり終了 つづく
89 / 270 KYOTO UNIVERSITY木と相補的な双対実行可能解が存在する: 証明続き証明(つづき):F の異なる連結成分を結ぶ組 (i, j) の中で s(i, j) = Cij- fi- gjが最も小さいものを取ってきて i*, j* とおくi* が繋がっている側の連結成分に含まれる倉庫側の変数をs(i*, j*) 増加させ、工場側の変数を s(i*, j*) 減少させるF の連結成分内の倉庫・工場対では fi+ gjの値は変わらず、この連結成分と他の連結成分の対では s(i, j) だけ減少 or 増加する連結成分間では少なくとも s(i*, j*) だけ余裕があったので依然として実行可能fi*+ gj*= Ci*j*なので F に (i, j) を追加しこのプロセスを繰り返すことで連結成分を 1 つづつ減らして F を木にできる
90 / 270 KYOTO UNIVERSITY木と相補的な双対実行可能解が存在する緑辺は正の輸送量とするこのとき相補性よりタイト灰辺は輸送量ゼロこのときタイトとは限らない緑辺と灰辺を合わせて使用グラフ連結成分全体の値を定数変化させてもその中では制約は守られたまま(cf 双対問題の自由度)限界まで変化させると他の連結成分との間がタイトになり繋がる
91 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる相補解の一意性:木 T を定めると T と相補的な f1= 0 を満たす双対問題の解がただ 1 つ存在する証明(ざっくり):T 上で倉庫 i = 1 と繋がっている工場 j の値は相補性よりgj= C1j- f1= Cijと定まる同様に j と繋がる倉庫も定まり芋づる式に全ての値が定まる閉路が無いので相補性の条件が矛盾することはなく最後まで定まる T に含まれない辺については fi+ gj> Cijとなってしまうことがあるので実行可能解とはなるとは限らないことに注意 固定するのは f1でなくてよいが双対解の自由度より何かは固定する実行可能とは限らない
92 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:使用グラフ(木)300100508010050200f1辺上の値は輸送コスト輸送量ではない
93 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:3001005080100502000
94 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:300100508010050200020050100200 - 0 = 20050 - 0 = 50100 - 0 = 100
95 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:300100508010050200020050100-20-5080 - 100 = -2050 - 100 = -50
96 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:300100508010050200020050100-20-50150350100 - (-50) = 150300 - (-50) = 350
97 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:双対解が定まった3001005080100502000-20-5050100150350200
98 / 270 KYOTO UNIVERSITY相補性を使って途中で最適性を判断できるちょっと改善した愚直なアルゴリズム:倉庫と工場を結ぶ木を全て考え各木 T について T を使用グラフとしてもつ主問題の解 P とT と相補的な双対問題の解 (f, g) を計算し、双方が実行可能であれば (P, f, g) を最適解として出力するそのような (P, f, g) は存在するので解は出力される(T, f, g) が相補的 -> (P, f, g) が相補的 -> (P, f, g) は最適以前の愚直アルゴリズムは全ての T について計算して最小を出力したが、改善バージョンは実行可能解が見つかった時点でその後を計算せずとも直ちに最適とわかり停止できる点で効率がよい
99 / 270 KYOTO UNIVERSITYNS法は主問題の頂点を辿りつつ相補的な双対解を探すネットワークシンプレックス法の基本アイデア:主問題の実行可能解 P と P に付随する使用木 T の組 (P, T) を変化させていって T と相補的な双対実行可能解 (f, g) を見つけるつまり主問題の実行可能領域の頂点を辿っていって
100 / 270 KYOTO UNIVERSITYまず初期頂点解を見つけるステップ 1: 何でもよいので頂点解を見つけるNorth west corner rule というアルゴリズムで見つけられる:倉庫 1 から、工場 1 に目一杯渡し、工場 2 に目一杯渡し ... を繰り返し、全部尽きた時点で今度は尽きた場所の工場からはじめて倉庫 2 から目一杯貰い、倉庫 3 から目一杯貰い ... を繰り返し、全部満たされた時点で今度は満たされた場所の倉庫からはじめて次の工場に目一杯渡し、その次の工場に目一杯渡し... を繰り返す詳しくは次のスライドからはじまるアニメーションを参照
101 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.10.10.60.10.3まずは工場 1 から
102 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.10.10.60.10.30.1 まで受け入れ可
103 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.10.00.60.10.20.1-0.1目一杯輸送する
104 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.10.00.60.10.20.1
105 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.00.00.60.10.10.10.1-0.1
106 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.00.00.60.10.10.10.10.5 まで受け入れ可0.1 まで輸送可
107 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.40.00.00.60.10.00.10.10.1全部輸送まだ余裕あり
108 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.40.00.00.60.10.00.10.10.1 次はこちら側を中心に考える
109 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.30.00.00.60.00.00.10.10.10.1
110 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.30.00.00.60.00.00.10.10.10.1
111 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.00.00.00.30.00.00.10.10.10.10.3容量を全部使い果たした次はこちら側を中心に考える
112 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.00.00.00.30.00.00.10.10.10.10.3
113 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.00.00.00.00.10.00.00.10.10.10.10.30.2-0.2
114 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.00.00.00.00.10.00.00.10.10.10.10.30.2
115 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.00.00.00.00.00.00.00.00.10.10.10.10.30.20.1∑ ai= ∑ bjの仮定より必ず最後は辻褄があう
116 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例: 頂点解とそれに付随する木が見つかったこれが探索の初期解0.10.20.50.10.10.60.10.30.10.10.10.10.30.20.1
117 / 270 KYOTO UNIVERSITY付随する双対解が実行可能なら終了、不能なら次へ ステップ 2: 今の木に付随する f1= 0 な双対解 (f, g) を計算するもしこれが実行可能ならば最適解なのでこれで終了 実行可能でないなら fi*+ gj*> Ci*j*なる違反 (i*, j*) が存在する 木辺上では fi+ gj= Cijとなっているので (i*, j*) は木の辺でない(i*, j*) 上で双対問題の制約を満たすようにしたいステップ 3: 次に試す木は今の木とほとんど同じだが、(i*, j*) を使用グラフの辺に含めることで fi*+ gj*= Ci*j*が満たされるようにするどうすればそのような (P, T) の組を見つけられるか木に付随する双対解は芋づる式に計算できる
118 / 270 KYOTO UNIVERSITY含めたい辺を木に含めるにはどうしたらよいか(i*, j*) を T に含めるすると T には閉路が一つできる倉庫 → 工場の辺 (i*, j*) からはじめて、工場 → 倉庫の辺、倉庫 → 工場の辺、... と一周まわるまで辿る 偶数番目の辺(工場 → 倉庫の辺)に相当する Pijのうち最小値を p とおき添字を (i’, j’) とする 偶数番目の辺に相当する Pijを一律 p 減らし、奇数番目の辺に相当する Pijを一律 p 増やすそして (i’, j’) を T から削る → T が木になるp一番輸送が少ない辺(i*, j*)
119 / 270 KYOTO UNIVERSITYネットワークシンプレックスの更新の仕方p一番輸送が少ない辺(i*, j*)これを
120 / 270 KYOTO UNIVERSITYネットワークシンプレックスの更新の仕方0+pこうこうしてできた P は実行可能で T を使用グラフとしてもつ、なぜか?+p+p-p-p-p
121 / 270 KYOTO UNIVERSITY新しい木と解のペアも頂点に対応している実行可能性:閉路の中で一番輸送量が少ない箇所と同じぶんだけ減らしたのでPijは非負のまま閉路の偶数番目と奇数番目を同じ分だけ増減させたので余りなし制約、不足なし制約は依然満たされている付随性:除かれた辺 (i’, j’) はもともとの輸送量 p だけ輸送量が減らされたので変化後は輸送量ゼロになっており大丈夫Gabriel Peyré, Marco Cuturi. Computational Optimal Transport. 2019.
122 / 270 KYOTO UNIVERSITYNS法は違反辺を反復的に修正していくあとは新しく求めた解と木を使ってまた相補的な双対解を見つけ、実行可能であれば停止、実行可能でないなら違反辺を修正することを繰り返す初期解違反辺実行可能 = 最適解次の頂点
123 / 270 KYOTO UNIVERSITYNS法のステップで目的関数は広義単調減少単調性:この操作で主問題の目的関数は広義単調に減少していく証明:(i*, j*) を含めたときにできた閉路を (i*, j*) からはじめて、辿ったノードを順番に並べる: i1= i*, j1= j*, i2, j2, ..., il, jl, il+1= i*木上では fi+ gj= Cijが成り立っていることに注意すると、(奇数番目の辺のコスト合計)- (偶数番目の辺のコスト合計)=この量 × p (≧ 0) だけ目的関数が減るほとんど全てのfiと gj がキャンセル(i*, j*) は違反辺p一番輸送が少ない辺(i*, j*)i1i2i3j1j2j3
124 / 270 KYOTO UNIVERSITY改善する方向に頂点を辿っていくのでシンプレックス法木は頂点解に対応する辺を一つ削除して別の辺を追加した木は隣接頂点となるつまり、ネットワークシンプレックス法は目的関数が悪化しない方向に隣接する頂点を辿っていくこれがシンプレックス法という名前の由来頂点を移動したとき目的関数が変化しないこともある追加する辺を適当に選び続けると同じ解をぐるぐる回る可能性があるこれは通常のシンプレックス法と同様無限ループを避けるうまいピポット選択(カニンガムのルール)が必要「組合せ最適化」 9.6 章 ネットワーク単体法や「グラフ・ネットワーク・組合せ論」 2.3.2 章などを参照
125 / 270 KYOTO UNIVERSITYNS法は最悪計算量は悪いが実際は高速ピボット選択をうまくしてもネットワークシンプレックス法の最悪計算量は多項式時間で抑えられないこれは通常のシンプレックス法と同様ネットワークシンプレックス法は多くのインスタンスについて非常に高速これも通常のシンプレックス法と同様ネットワークシンプレックス法は頂点の性質をうまく使って高速に頂点を辿れるので通常のシンプレックス法よりもさらに高速インスタンスに特殊な性質(例えば低次元性)がないかつ CPU 上で解くのであればだいたい最速例えばグラフアルゴリズムライブラリ Lemon や networkx最適輸送ライブラリ POT で使える多項式で抑えられる変種もある
126 / 270 KYOTO UNIVERSITYNS法は主問題を解いた。次からは双対問題を紹介ネットワークシンプレックス法は主問題の解を実行可能領域内で辿りつつ、主問題の目的関数を減少させていくそして相補的な双対問題が実行可能になれば終了以上の点でネットワークシンプレックス法は主問題のアルゴリズム以降は双対問題を更に掘り下げ、双対問題を直接解いていくアルゴリズムを紹介する
127 / 270 KYOTO UNIVERSITYこの章のゴールの確認最適輸送問題において多面体の頂点が表している解を知る使用グラフが木であるときかつそのときのみ頂点にある多面体の頂点を効率よく辿る方法を知る違反している双対問題の制約を見つけ、その辺が使用グラフに含まれるように変更すると「より良い」頂点に移ったことになる
128 / 270 KYOTO UNIVERSITY双対問題についてこの講演のこれからの主役になる双対問題のさまざまなトピックをオムニバス的に紹介する
129 / 270 KYOTO UNIVERSITY最適輸送の双対問題(再再掲)物流会社の売上利益を最大化したい工場会社が明らかに損しない
130 / 270 KYOTO UNIVERSITYこの章のゴール双対問題の最適解が表しているものを理解する双対問題の四つの変種を知る双対問題の物理的イメージを知るC-transform を知る
131 / 270 KYOTO UNIVERSITY双対問題の話題1: 感度分析
132 / 270 KYOTO UNIVERSITY双対問題の最適解は各制約の感度を表すまず、通常の線形計画と同様に、双対問題は感度分析を提供する主問題の制約に対応する双対変数の最適解はその制約が少し大きくなった時に最適解がどれほど大きくなるかを表しているたとえば、(f*, g*) を双対問題の最適解とすると i 番目の倉庫に入っている小麦粉の量が ε 増えたときに ε f*iくらい輸送コストが増え、j 番目の工場が要求する小麦粉の量が ε 増えたときに ε g*jくらい輸送コストが増えることを表す直感的には、ちょっとくらい小麦粉の量が変わっても双対問題の解は微小しか変わらない。簡単化して解が同じだとすると、双対問題の目的関数は aiが ε 増えると f*iだけ増える
133 / 270 KYOTO UNIVERSITY例: 僻地にある倉庫では足元見られて処分代が高くなる例: C 1 2 31 100 100 1002 1 1 13 1 1 1コスト大f1+ gi≦ C1j= 100f1大大きくできる= 流通業者は足元を見ることができる= ちょっとでも小麦粉が増えるとコスト激増こちらは他の制約 f2+ gj≦ C2j= 1があるので大きくできない
134 / 270 KYOTO UNIVERSITY双対問題の話題2: 変数設定
135 / 270 KYOTO UNIVERSITY双対変数は負号を付けて処分額を販売額にしてよい 問: gjの「小麦粉の販売額」は分かるが fiの「小麦粉の処分額」は不自然では?普通小麦粉の処分にお金を払わないだろ。倉庫では小麦粉を周りに売って、工場では小麦粉を周りから買う方が問題として自然では? 答: fiは負の値も取る。 -fi円で小麦粉を売っていると考えられる。 f’i= -fiと変数変換して、流通業者が f’i円で小麦粉を買い取るとしてもよい。このとき、流通業者の利益はこれを最大化したい仕入れ経費売上
136 / 270 KYOTO UNIVERSITY負号の付け方で様々な等価な双対問題が考えられる(1) f: 倉庫での処分コスト, g: 工場での購入コスト (2) f’: 倉庫での下取り利益, g: 工場での購入コスト(3) f: 倉庫での処分コスト, g’: 工場での引取利益 (4) f’: 倉庫での下取り利益, g’: 工場での引取利益全て等価(最適値は同じ、最適解も簡単に変換できる)なので一番イメージしやすいものを念頭に置くのが良い式としては (1) と (3) がこのスライドでも文献でもよく登場する
137 / 270 KYOTO UNIVERSITY双対問題の話題3: 双対問題の物理的イメージ
138 / 270 KYOTO UNIVERSITY双対問題を別の見方で解釈しなおす一旦、工場会社や流通業者といった例えは忘れて、双対問題を純粋な目で最適化問題としてみる前スライドの 3 番目の定式化を使う
139 / 270 KYOTO UNIVERSITY大小を上下と思うと f は上に g’ は下に最適化する各変数について、値が大きいほど「上」、小さいほど「下」にあるというイメージを持ってみる ai> 0, bj> 0 より、fiは上にあればあるほど、g’jは下にあればあるほどよい fiを 1 センチ上に上げると aiポイント貰えるg’jを 1 センチ下に下げると bjポイント貰える
140 / 270 KYOTO UNIVERSITYfiと gjのペアを Cij以上離しすぎると制約違反 ただし、全く自由に fiと g’jを動かせる訳ではないfig’j< CijOKfiOKfig’j= CijOKfig’j> CijNG1 つでもこういう組ができるとアウト
141 / 270 KYOTO UNIVERSITY双対問題は紐が付いたボールを上下に引っ張るイメージ双対問題の物理的イメージ:f に対応する赤玉 n 個と g’ に対応する青玉 m 個を用意するfiに対応する赤玉と g’jに対応する青玉の間に長さ Cijの紐を張る合計 nm 本の紐がある紐が切れないように赤玉を上に引っ張り、青玉を下に引っ張りできるだけポイントを稼ぎたいfiを 1 センチ上に上げると aiポイント貰えるg’jを 1 センチ下に下げると bjポイント貰える相補性より「紐がピンと張っている組」の間に輸送が生じるfig’j> Cijfig’ が上にある場合はセーフなので正確には g’ が上にある限りは切れない魔法の紐を考えるg’ は下に引っ張るのでこういうケースは起きづらいOK
142 / 270 KYOTO UNIVERSITY双対問題の話題4: C-transform
143 / 270 KYOTO UNIVERSITYC-transform は f を固定して g’ を下に下げる変換ここでも 3 番目の定式化 (f, g’) の最適化を考えるC-transform は今手元にある双対問題の解 (f, g’) からより良い新しい解を生成する方法イメージとしては、f に対応する赤玉を完全に固定してしまって、糸が弛んでる g’ に対応する青玉をできるだけ下に引っ張る赤玉を固定すると青玉どうしは干渉しあわないので並列に引っ張っても(どの順番引っ張っても)結果は同じ赤玉が下に動くだけなので、目的関数は改善される(か変わらない)
144 / 270 KYOTO UNIVERSITYC変換は簡単に計算でき、制約は守られる双対問題の解 f について f の C-transform fC∈ Rm は fiと繋がっている紐は fi- Cijまで下げられるどれか一つでも切れるとアウトなので、一番保守的な制約を採用するfCは g’ 側の変数を表していることに注意。(f, fC) が新たな解になる。明らかに (f, fC) は実行可能証明:
145 / 270 KYOTO UNIVERSITYC変換はベストな相方を見つける(f, g’) が実行可能解のとき (f, fC) の目的関数値の方が悪くない証明:つまり、(f, fC) は (f, *) という形の実行可能解の中でベストな解実は、双対問題は f, g’ の両方を自由変数する必要はなく、f を探索空間として、その都度ベストな g’ を C-transform で計算しその時の値を目的関数とすればよいが、実際は f, g’ の両方を自由変数とした方が簡単な場合も多いg’ の実行可能性より g’j≧ fi- Cij
146 / 270 KYOTO UNIVERSITYC-transform は g’ を固定して f を上に上げる変換逆に g’ 側を固定して f を上に引っ張る変換も考えられるこれを C-transform というやはり (g’C, g’) は実行可能であり (*, g’) の形の解の中でベスト
147 / 270 KYOTO UNIVERSITY交互に変換する戦略は失敗する適当な f からはじめて、(f, fC) → (fCC, fC) → (fCC, fCCC) → ...と交互にベストな相方を見つけていって解を改善していくアルゴリズムが考えられるがこれは上手くいかないなぜなら、fC= fCCCとなりわずか 2 ステップで更新はストップ直感的には、fCは f に対応できる一番下であるのに f よりもいくつかのfiが上に動いた fCCを相手にしては fCからさらに下に動くことは不可能しかも (fCC, fC) が双対問題の最適解とは限らないC-transform をソフトにして交互に最適解まで変換できるようにした(と見ることができる)のが後で紹介する Sinkhorn 法
148 / 270 KYOTO UNIVERSITYこの章のゴールの確認双対問題の最適解が表しているものを理解する各小麦粉の量を増やした時に増えるコストの感度を表している双対問題の四つの変種を知る変数の符号によって計四種類正負の異なる定式化がある双対問題の物理的イメージを知る変数をボールに、制約を糸に例えると f を上にひっぱり g を下にひっぱるようなイメージC-transform を知る片方の変数を固定した時にもう片方を最大限引っ張る操作これにより解が良くなる(悪くならない)
149 / 270 KYOTO UNIVERSITYアルゴリズムその2: ハンガリアン法
150 / 270 KYOTO UNIVERSITYハンガリアン法は一対一の割り当て問題によく使われるその2: ハンガリアン法は線形計画の双対を解くユースケースは限られるが、一対一の割当問題を解くためにはよく使われている長所 : CPU 上だと早いシンプルに実装できる短所 : 一対一マッチングにしか使えない(対応するように拡張はできる)応募者 仕事
151 / 270 KYOTO UNIVERSITYこの章のゴール最適輸送の特殊ケースである割当問題を知る割当問題を解くハンガリアン法を理解する
152 / 270 KYOTO UNIVERSITY倉庫と工場を一対一に対応させる割当問題を考えるこの章では特殊だが重要な例、割当問題、のみを考える 具体的には n = m, a1= ... = an, b1= ... = bmを仮定する倉庫と工場が n 個ずつあり、一対一に対応させる倉庫 i と工場 j を対応させるのはコスト Cijかかる最小の合計コストは?同数・同量なのでn, a, b が入力から消えた問題がシンプルになった
153 / 270 KYOTO UNIVERSITY割当問題はさまざまな応用がある問題を単純化したが、輸送問題以外にも応用先は多い例えば機械学習ではクラスタリングの精度を計るのに使うクラスタ 1クラスタ 2クラスタ 3クラス Aクラス Bクラス CC1B= 4:クラスタ 1 がクラス B を表しているとしたときの誤分類の個数クラスタリングアルゴリズムはサンプルをまとめるだけで何のクラスを表しているかは出力しないので精度をはかるためには対応関係を明らかにする必要がある最適割当はベストシナリオでの精度に対応する
154 / 270 KYOTO UNIVERSITYハンガリアン法が割り当て問題の最も有名なアルゴリズム割当問題を解く最も有名なアルゴリズムはハンガリアン法古典的なアルゴリズムだが今でも色んな場面で頻繁に使われるObject-Centric Learning with Slot Attention (NeurIPS 2020)集合予測の問題において出力順番が不同なのでハンガリアン法でマッチングOn Testing for Biases in Peer Review (NeurIPS 2019)査読論文割当システムにハンガリアン法を使うPartially View-aligned Clustering (NeurIPS 2020)複数ビューのクラスタの対応にハンガリアン法を使う(提案手法はこれの改良版)
155 / 270 KYOTO UNIVERSITY割当問題の定式化主問題 双対問題今回は ai= 1 としておくai= 1/n としても等価といった解も実行可能だが、一対一対応を表す順列行列が最適値を取り、ハンガリアン法もそのような解を見つける問題の入力: 割り当てコスト行列 C ∈ Rn×m 最適輸送では入力であったa, b は今回定数
156 / 270 KYOTO UNIVERSITYハンガリアン法は双対変数を最適化していくハンガリアン法は双対変数を実行可能領域に収めながら実行可能でない主問題の相補的な解を実行可能に近づけていく↔ ネットワークシンプレックス法は主変数は実行可能に収めながら実行可能でない双対問題の相補解を実行可能に近づけていくハンガリアン法のループ中、常に成り立つ条件:(1) は実行可能(2) ならば はタイト ( )(3)(4)(1), (2) より P が実行可能になれば直ちに最適解 Pij= 1 となっているとき (i, j) がマッチしているという
157 / 270 KYOTO UNIVERSITYハンガリアン法は順番にマッチする相手を決めていく まず fi= 0, g’j=0, Pij= 0 と初期化するi = 1, 2, ..., n と順番にマッチする相手を決めていくノード i から、左から右へのタイトな辺と右から左のマッチしている辺だけを辿ってたどり着くノード集合を X とするX の状態によって二種類に場合分け(a) 未マッチな右側の頂点が X に含まれる場合(b) 未マッチな右側の頂点が X に含まれない場合
158 / 270 KYOTO UNIVERSITYハンガリアン法の場合分け 1(a) 未マッチな右側の頂点が X に含まれる場合このパスの辺は全てタイトである。このパスの Pijを全て反転させる双対変数は変化せず以下は全て満たされたまま(2) ならば はタイト(3)(4)i がこれによりマッチするので i ← i+1 として次のイテレーションへi1= i j1未 済i2j2未 済i3j3未i1= i j1済 未i2j2済 未i3j3済
159 / 270 KYOTO UNIVERSITYハンガリアン法の場合分け 2(b) 未マッチな右側の頂点が X に含まれない場合X に含まれる左側のノード i から X に含まれない右側のノード j への余裕度 Cij- (fi- gj) が一番小さい値を ε > 0 とするX に含まれるノードに対応する双対変数を全て ε だけ増加させる i, j が両方 X に含まれる or 両方含まれないときは fi- g’j変化なしj だけ X に含まれるなら Pij= 0 かつ fi- g’jは減る方向に変化i だけ X に含まれるなら fi- g’jは増えるが ε のとり方より制約は守るこの変化により余裕度が一番小さかった辺がタイトになったその辺を含めてもう一度 X を計算しなおす(前々スライドへ)
160 / 270 KYOTO UNIVERSITYハンガリアン法: 例00000000例:C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
161 / 270 KYOTO UNIVERSITYハンガリアン法: 例00000000例: i = 1 まずはこのノードの相手を探すC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
162 / 270 KYOTO UNIVERSITYハンガリアン法: 例00000000例: X: 未マッチ右ノードなし → ケース (b) へC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
163 / 270 KYOTO UNIVERSITYハンガリアン法: 例00000000例: ケース (b)Cij- fi+ gj= 30最も余裕なしC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
164 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例: ケース (b)タイトに+30C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
165 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例: X: 未マッチ右ノードあり → ケース (a) へ未C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
166 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例: ケース (a)マッチ C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
167 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例:i = 2次はこのノードの相手を探すC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
168 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例: X: 未マッチ右ノードなし → ケース (b) へC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
169 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例: ケース (b)Cij- fi+ gj= 20C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
170 / 270 KYOTO UNIVERSITYハンガリアン法: 例0000002030例: ケース (b)タイトに+20C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
171 / 270 KYOTO UNIVERSITYハンガリアン法: 例0000002030例: X: 未マッチ右ノードなし → ケース (b) へC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
172 / 270 KYOTO UNIVERSITYハンガリアン法: 例0000002030例: ケース (b)余裕= 10C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
173 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040例: ケース (b)タイトに+10+10+10 C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
174 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040例: X: 未マッチ右ノードあり → ケース (a) へC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60未
175 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040例: ケース (a)反転反転反転C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
176 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040例:i = 3次はこのノードの相手を探すC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
177 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040例: X: 未マッチ右ノードなし → ケース (b) へC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
178 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)余裕= 30
179 / 270 KYOTO UNIVERSITYハンガリアン法: 例000100303040C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)+30タイトに
180 / 270 KYOTO UNIVERSITYハンガリアン法: 例000100303040C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: X: 未マッチ右ノードなし → ケース (b) へ
181 / 270 KYOTO UNIVERSITYハンガリアン法: 例000100303040C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)余裕= 10
182 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)+10+10+10+10+10タイトに
183 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: X: 未マッチ右ノードあり → ケース (a) へ未
184 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (a)反転
185 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例:i = 4最後はこのノード
186 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: X: 未マッチ右ノードなし → ケース (b) へ
187 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)余裕= 20
188 / 270 KYOTO UNIVERSITYハンガリアン法: 例01002020404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)+20 タイトに
189 / 270 KYOTO UNIVERSITYハンガリアン法: 例01002020404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: X: 未マッチ右ノードなし → ケース (b) へこの辺は使えない
190 / 270 KYOTO UNIVERSITYハンガリアン法: 例01002020404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)
191 / 270 KYOTO UNIVERSITYハンガリアン法: 例02003030405060C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)+10+10+10+10+10タイトにルーズに
192 / 270 KYOTO UNIVERSITYハンガリアン法: 例02003030405060C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: X: 未マッチ右ノードあり → ケース (a) へ未
193 / 270 KYOTO UNIVERSITYハンガリアン法: 例02003030405060C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (a)反転反転反転反転反転
194 / 270 KYOTO UNIVERSITYハンガリアン法: 例02003030405060C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: 主・双対最適解が求まった
195 / 270 KYOTO UNIVERSITYハンガリアン法は最悪ケース三乗時間(b) が起こるたびに X に含まれる右ノードが 1 つは増えていくのでn 回 (b) が起こるまでには未マッチ右ノードに到達できるようになる(a) が起こるとマッチ組は 1 組増える最悪ケースでも n2ステップ以内に最適解を見つけて停止できる(a), (b) を効率よく実装すれば最悪計算量 O(n3) 時間で解けるちゃんと効率良く実装するのはそれなりに難しいたとえば古いバージョンの scipy などで実装されている今は同じ関数でも違うアルゴリズムが使われている
196 / 270 KYOTO UNIVERSITYハンガリアン法は一般の最適輸送にも拡張できる今回は簡単のため割り当て問題を考えたが、同様のアルゴリズムは一般の最適輸送問題にも適用できるたとえば最短パス反復アルゴリズム、主双対アルゴリズム「組合せ最適化」 9.4 章 最短パス反復アルゴリズム「グラフ・ネットワーク・組合せ論」 2.3.2 章など参照
197 / 270 KYOTO UNIVERSITYこの章のゴールの確認最適輸送の特殊ケースである割当問題を知るa と b が全て同じな一対一を求める問題を割当問題というクラスタリングの評価などに使える割当問題を解くハンガリアン法を理解する実行可能な双対解を動かしながら相補的な主解を一つずつマッチさせて実行可能にしていく
198 / 270 KYOTO UNIVERSITYアルゴリズムその3: Sinkhorn アルゴリズム
199 / 270 KYOTO UNIVERSITYSinkhorn は微分可能で GPU フレンドリーその3: Sinkhorn アルゴリズムは目的関数に正則化を加え、行列演算で最適輸送を解くアルゴリズムSinkhorn が [Cuturi+ 2013] で紹介されたことで機械学習界隈で最適輸送が使われるようになるキッカケになった長所 :コストに関して微分可能GPU 上だと早い複数の最適輸送を並列に解ける最適解が唯一に定まる短所 : 厳密な最適輸送の解ではないオーバーフローや解の丸めに気をつける必要ありMarco Cuturi. Sinkhorn Distances: Lightspeed Computation of Optimal Transport. NeurIPS 2013.Gabriel Peyré, Marco Cuturi. Computational Optimal Transport. 2019.
200 / 270 KYOTO UNIVERSITYこの章のゴールエントロピー正則化最適輸送の定義と嬉しさを知るSinkhorn アルゴリズムの動作と嬉しさを知る
201 / 270 KYOTO UNIVERSITYエントロピー正則化つき最適輸送問題を考えるこの章では以下のエントロピー正則化つき最適輸送問題を考えるただし ε > 0 は正則化係数、H(P) は以下のエントロピー関数エントロピー
202 / 270 KYOTO UNIVERSITYエントロピー正則化つき問題はより簡単に解けるつまり、輸送コストを下げつつ、エントロピーが大きい解を求めるε を十分小さく取ると、輸送コストを下げるの項が支配的になり元の最適輸送問題とほぼ同じこのときエントロピーは解のタイブレークに使われるこれまでは輸送行列 P がスパースな解を求めてきたが、エントロピー正則化つき問題では最適値が P が密行列になる目的関数が線形でなくなり、解も密になるので難しい問題になってそうだが、実はエントロピー正則化つき問題はより簡単に解ける
203 / 270 KYOTO UNIVERSITYエントロピー正則化つき問題の最適解は一意嬉しさ1 : エントロピー正則化つき問題の目的関数は強凸制約が線形制約だけということは実行可能領域は凸なので最適解は一意に定まる↔ 線形計画は面全体で最適をとることがあり、一意に定まらない線形 エントロピーは強凹→ 全体で強凸
204 / 270 KYOTO UNIVERSITYエントロピー正則化つき問題はコストについて微分可能嬉しさ2 : コストに対して微分可能正則化なしの問題では解がスパースであり、たとえば遠くの全然関係ない倉庫と工場のコストを少し下げたところで最適解には全く影響を与えず、有用な勾配情報が得られなかったエントロピー正則化つきでは、遠くの組であっても最適値で少量は輸送が生じるので、遠くの組のコストの感度がわかるこれにより、ランダムなコストからはじめて、最適輸送を解く → 勾配を見て最適値が下がるようにコスト更新→ 最適輸送を解く → コスト更新 → ...というように良いコストの設計を最適化できるもちろん制約がないと全コスト 0 が最適なので、コストに制約は入れる
205 / 270 KYOTO UNIVERSITY双対問題を考える。まずはラグランジュ乗数を導入エントロピー正則化つき問題でも双対を考えるラグランジュ乗数 f, g を導入するとラグランジュ関数は以下になるこれを Pijについて微分するとイコールゼロとおくと L が最小となる P は以下の通りPij≧ 0 についての乗数はあとでどうせ消えるので省略
206 / 270 KYOTO UNIVERSITY双対問題は正則化なし版の制約をソフトにしたもの前ページの最適 P*をラグランジュ関数に代入すると双対問題はエントロピー正則化つき最適輸送の双対問題は制約なし最大化問題 より最終項は fi+ gj≦ Cijのソフト版ε → 0 で厳密制約になる正則化なしと同じ ソフト版双対制約嬉しい
207 / 270 KYOTO UNIVERSITY双対問題の目的関数の勾配は f 内 g 内で絡みなし双対問題の目的関数を D をおくD の f と g についての勾配は以下の通り fiの勾配の中に fk(k ≠ i), gjの勾配の中に gk(k ≠ j) は出てこない嬉しい
208 / 270 KYOTO UNIVERSITYf ごと、g ごとに最適値が厳密に求まるSinkhorn アルゴリズムの基本的な考えは座標向上法f を固定したときの g の最適値は勾配イコールゼロとおいてg を固定したときの f の最適値も同様にSinkhorn アルゴリズムは f 固定での g の厳密最適化 →g 固定での f の厳密最適化を交互に繰り返す
209 / 270 KYOTO UNIVERSITYSinkhorn は f と g を交互に最適化する対数領域での Sinkhorn アルゴリズムステップ 1: f(1)を適当に初期化(例えばゼロベクトル), t = 1 にステップ 2:ステップ 3:ステップ 4: f と g が収束するまで t ← t + 1 でステップ 2 へ目的関数が微分可能で各ステップ唯一解なので大域最適に収束
210 / 270 KYOTO UNIVERSITYSinkhorn はソフト版 C-transformf と g の一方を固定してもう一方を最適化するのは C-transform に似ている 一般に x1, ..., xn∈ R について log sum exp はSinkhorn のイテレーションはソフト版 C-transform と考えられる交互 C-transform は大域収束しなかったがSinkhorn は強凸 + 制約なしより大域収束fi- Cijが一番大きい= Cij- fiが一番小さい= 一番制約が厳しいほぼ max 関数ε → 0 で厳密にC-transform
211 / 270 KYOTO UNIVERSITY指数関数を使って変数変換するとシンプルに書ける先程のイテレーションでは log や exp がたくさん出てくると変数変換するとシンプルに
212 / 270 KYOTO UNIVERSITYギブスカーネルの定義さらに K ∈ Rn×mを以下で定めるK をギブス (Gibbs) カーネルというi と j の類似度を表している例えば C がユークリッド距離の自乗のときガウスカーネルになるコストに負号 → 類似度exp は単調Sinkhorn のココに登場
213 / 270 KYOTO UNIVERSITYSinkhorn のイテレーションは行列積でかけるギブスカーネル行列を使うとさらにシンプルにただし KTは転置行列、割り算は要素ごと、分母は行列ベクトル積非常に単純に実装できる行列ベクトル積がメインなので GPU で高速計算可能ふつう Sinkhorn というとこの形の更新アルゴリズムを指す
214 / 270 KYOTO UNIVERSITYSinkhorn 変数から元の変数への戻し方Sinkhorn により (u, v) が求まると、変数変換の式より元の双対変数は主問題の変数はラグランジュ関数から双対関数を求めた式よりf, g が完璧に収束しない限り、求めた Pijは厳密には実行可能とは限らないことに注意 この Pijから違反分をいい感じに分配して実行可能解を計算するアルゴリズムも提案されている [Altschuler+ 2017]Jason Altschuler, Jonathan Weed, Philippe Rigollet. Near-linear time approximation algorithms foroptimal transport via Sinkhorn iteration. NeurIPS 2017.
215 / 270 KYOTO UNIVERSITYSinkhorn は正則化が小さいとき数値的に不安定注意:変数変換により計算を指数領域で行っている特に、ε が小さいとこれらの値は非常に大きくなり、オーバーフローを起こす可能性がある数値的に不安定な時は、log sum exp などの計算の分遅いが対数領域で計算を行う必要がある
216 / 270 KYOTO UNIVERSITYSinkhorn アルゴリズム: 例C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ハンガリアン法で使った同じ例を使う以下はハンガリアン法で求めた最適解
217 / 270 KYOTO UNIVERSITYSinkhorn アルゴリズム: 例例: 入力を入れてもわずか 25 行メインロジックはわずか 3 行マッチングの可視化1 -- 12 -- 23 -- 44 -- 3となりほぼ正則化なしと同じ正則化のため他のマスも少し正の値をとる
218 / 270 KYOTO UNIVERSITY微分の使いどころ: 配置問題微分の使いどころの例:あなたは工場会社の社長で m 個の工場を持っているj 番目の工場の位置は (xj, yj) で小麦粉を bj要求するn 個の倉庫を建設する。i 番目の倉庫は小麦粉を ai保存できる小麦粉を 1 グラム 1 メートル輸送するのに 1 円かかる倉庫をどこに建設すればよい?解き方:(1) 倉庫の位置変数をランダムに初期化(2) Cij= 倉庫 i と工場 j の距離として計算(3) Sinkhorn に (a, b, C) を入力して解いて総輸送コストを評価(4) 倉庫の位置変数の勾配を求めて倉庫の位置を改善 → (2) へ???どこに置く?
219 / 270 KYOTO UNIVERSITY最新の手法でも配置問題に Sinkhorn が使われるこの問題はクラスタリングと見ることもできる [Cuturi+ ICML 2014]工場がサンプル点で、倉庫がクラスタ中心クラスタが含むサンプル数(倉庫に入る小麦粉)は決まっているこの発想から、クラスタリングの際に Sinkhorn 法を使う手法が最新の機械学習でも使われている [Caron+ NeurIPS 2020]Marco Cuturi, Arnaud Doucet. Fast Computation of Wasserstein Barycenters. ICML 2014.Mathilde Caron, Ishan Misra, Julien Mairal, Priya Goyal, Piotr Bojanowski, Armand Joulin. UnsupervisedLearning of Visual Features by Contrasting Cluster Assignments. NeurIPS 2020.クラスタ中心
220 / 270 KYOTO UNIVERSITY最新の手法でも公平予測問題に Sinkhorn が使われる他にも、二つの集合の距離を近づけるための微分可ロスとして使われる例えば、公平性の担保のため、男性についての予測と女性についての予測分布が同じようにしたい予測誤差 + 赤と青の最適輸送距離を最小化 [Oneto+ NeurIPS 2020]Luca Oneto, Michele Donini, Giulia Luise, Carlo Ciliberto, Andreas Maurer, Massimiliano Pontil. ExploitingMMD and Sinkhorn Divergences for Fair and Transferable Representation Learning. NeurIPS 2020.ニューラルネットワーク入力d 次元ベクトルが出てくるRd予測器出力各丸は各サンプルの埋め込み赤: 女性サンプル青: 男性サンプル
221 / 270 KYOTO UNIVERSITYこの章のゴールの確認エントロピー正則化最適輸送の定義と嬉しさを知る「ぼやけた」輸送プランを好むように負のエントロピーがペナルティとして加わるこれにより最適解が一意になり微分可能になるSinkhorn アルゴリズムの動作と嬉しさを知る双対問題の f と g を交互に最適化f と g を変数変換することでより簡単な式で書けるようにする実装が簡単かつ GPU で高速に計算できるようになる
222 / 270 KYOTO UNIVERSITYアルゴリズムその4: ニューラルネットワークによる推定
223 / 270 KYOTO UNIVERSITYニューラルネットワークによる推定は GAN の基本技術その4: ニューラルネットワークによる推定は双対問題の特殊形をニューラルネットワークの最適化に帰着するWasserstein GAN という名前で GAN(生成モデル)の生成分布とデータ分布の距離をはかるのに使われている長所 : コストについて微分可能分布からのサンプルをミニバッチで繰り返し解くのに向いている短所 : 単一の入力には向いていないコストが距離で定義されていないと使えないTero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen. Progressive Growing of GANs for Improved Quality, Stability, and Variation. ICLR 2018. GAN による顔写真の自動生成
224 / 270 KYOTO UNIVERSITYこの章のゴール双対問題を関数の最適化に置き換える視点を知る関数の最適化問題は分類問題と見られることを理解する
225 / 270 KYOTO UNIVERSITY三番目の定式化を考えるこの章で考えるのは 3 番目の双対の最適化 (f, g’) を変数にしたものこの章では主問題は考えないf: 回収価格(高くしたい)g’: 引取コスト (低くしたい)3 番目の定式化
226 / 270 KYOTO UNIVERSITY倉庫と工場が座標に埋め込まれている場合を考える倉庫・工場が座標を持っていて、輸送コストがその間の距離で定義される場合を考える倉庫 の座標を , 工場 の座標を と表し倉庫 から工場 に 1 グラムの小麦粉を輸送するコストをとする問題の入力:C は x, y から陰に定まるので受け取らない
227 / 270 KYOTO UNIVERSITY座標が決まれば双対値は決まる命題 と の関数性:最適解では ならば , ならば証明:が実行可能で だが だと仮定する任意の k に対してなので、 更新しても実行可能で、目的関数は良くなるよって最適解では ならば が成り立つについても同様
228 / 270 KYOTO UNIVERSITY関数の最適化問題に置き換える倉庫や工場の座標について双対解の値は位置に定めてしまってよい各倉庫や工場について値を持つのではなく、各座標に値を持つように問題を変える流通企業が各倉庫個別に値段を決めるのではなく、全ての土地で連続的に値段を定めるイメージ位置 x での小麦粉の仕入れ価格・販売価格を定めるベクトルの最適化ではなく関数の最適化実際に取引が発生するのは各倉庫・工場の位置g’ は微分ではなく関数の名前なことに注意
229 / 270 KYOTO UNIVERSITY最適解はリプシッツ連続補題 リプシッツ連続性:最適解では が成り立つ証明:が実行可能で とすると更新しても実行可能、なぜならこれにより目的関数は増加するので、最適値ではについても同様に
230 / 270 KYOTO UNIVERSITY最適解はでは f と g’ が一致命題 と の一致性:が成り立つ最適解が存在する証明:は 以外の場所、 は以外の場所は値によらず目的値は変わらないので ではと仮定できるにおいて とする制約より よってと更新しても実行可能、なぜなら のリプシッツ性よりを減少させると目的関数は増加するので最適解は とできる
231 / 270 KYOTO UNIVERSITY最適化変数を f のみにできるつまり、最適化変数から g’ を取り除くことができ直感的には最適解では小麦の仕入れ価格と販売価格は各地で一致また、制約条件は f がリプシッツであることにほかならないC-transform の説明の時に、実質 f だけを自由変数とできると説明したが、本質的にはそれと同じことを言っているC が距離公理を満たす場合は fCが簡単に表せるy 側でも f を使う
232 / 270 KYOTO UNIVERSITY制約をリプシッツであると書く制約をリプシッツ関数と明示的に書き換える以前の制約では全点対についての評価が必要だったが、リプシッツ性は局所的な条件で書ける嬉しい
233 / 270 KYOTO UNIVERSITY一般の距離空間でも最適化を f のみにできる発展的注意:今回は簡単のためコストをユークリッド距離としたが、一般に倉庫と工場がある空間 X に埋め込まれ、コストが X 上の距離関数で定義するという拡張が考えられる各点で同じ値を取る(関数性)・リプシッツ性・f と g’ の一致性の証明には距離公理の性質しか使っていないので、一般の距離空間の場合も f: X → R を X 上でのリプシッツ連続関数制約で最適化する問題に帰着できるX をグラフとし、グラフ上の最短経路距離コストを使うケースは頻出
234 / 270 KYOTO UNIVERSITYf は滑らかな範囲で x 上で大きく y 上で小さくするあらためて f だけの最適化問題を眺めてみる f は X = {x1, ..., xn} 上で大きければ大きいほどY = {y1, ..., ym} 上で小さければ小さいほどよいただし、f は「滑らか」(リプシッツ連続)でなければならない正正小麦を購入する場所では安く販売する場所では高く設定する
235 / 270 KYOTO UNIVERSITY関数最適化のイメージ例: 赤点は倉庫、青点は工場に対応 xiyi背景が赤いほどf の値が大きい背景が青いほどf の値が小さい関数の変化は滑らか
236 / 270 KYOTO UNIVERSITY双対問題は 2 クラス分類問題と見ることができる このように見ると、X = {x1, ..., xn} を正例、Y = {y1, ..., ym} を負例としたときの 2 クラス分類問題と見ることができる ai, biはサンプルの重み激しく変化する分類器は制約違反「正則化」としてリプシッツ関数の条件
237 / 270 KYOTO UNIVERSITY分類問題をニューラルネットワークに任せる「分類器」 f をニューラルネットワークでモデリングすることを考えるロス関数はシンプルにf が 1-リプシッツ連続であることを課すのは難しいここでは素朴な解決策を 2 つ紹介
238 / 270 KYOTO UNIVERSITYパラメータの値を無理やり制限してリプシッツ性を課す解決策 1: weight clipping [Arjovsky+ 2017]訓練の際ニューラルネットワークの各パラメータの絶対値が定数 γ > 0 を越えるたびに絶対値 γ にクリップする(γ:ハイパラ)こうすると、ニューラルネットワーク f の表現できる関数は制限され急激な変化をする関数は表せなくなるγ の設定次第で、何らかの k > 0 について k-リプシッツであることが保証できるk-リプシッツな関数全てを表現できる訳ではないが、ニューラルネットワークの柔軟性よりそれなりに豊富な関数が表現できることが期待できるMartin Arjovsky, Soumith Chintala, Léon Bottou. Wasserstein GAN. ICML 2017
239 / 270 KYOTO UNIVERSITY各点での勾配が 1 から離れるとペナルティ解決策 2: gradient penalty [Arjovsky+ 2017]f が微分可のとき各点での勾配のノルムが 1 以下 ↔ 1-リプシッツ色んな点で勾配を評価して 1 から離れていたらペナルティを課すをロスとして最適化Ishaan Gulrajani, Faruk Ahmed, Martín Arjovsky, Vincent Dumoulin, Aaron C. Courville.. ImprovedTraining of Wasserstein GANs. NeurIPS 2017ハイパラ正則化係数色んな訓練サンプル例えば X ∪ Y勾配を 1 に近づける
240 / 270 KYOTO UNIVERSITYニューラルネットワークの定式化は GAN に用いられるf をニューラルネットワークで表すと f(x) は x について微分可能→ 最適輸送コストを下げるには x をどう動かせばよいかが分かるニューラルネットワークによる定式化は GAN(生成モデル)の訓練によく用いられる: Wasserstein GAN自然サンプルの集合を X ⊂ Rdとする。例えば画像の集合GAN により、X に似たサンプル集合を生成したいGAN により生成したサンプルの集合を Y ⊂ Rdとし、X と Y の距離を最適輸送コストで測るこれを最小化するように GAN を訓練する
241 / 270 KYOTO UNIVERSITYニューラルネットワークの推定は大規模データと相性よし典型的な X は非常に大きい(数百万枚の画像など)生成モデルの生成結果 Y の候補は無限にあるハンガリアン法や Sinkhorn 法では全ての対を一度に解かなければならず、非常に大きいデータには適していない「分類器」 f を分類するという考え方に立てば、X と Y から一部のデータをミニバッチとして取り出し f を徐々に訓練していけばよい→ ニューラルネットワークによる推定は大規模(or 無限)のデータについて解くのと相性がよい
242 / 270 KYOTO UNIVERSITYWasserstein GAN: 生成モデル と f の交互訓練1. 生成モデル G: Rr→ Rdをランダムに初期化これはノイズ z ∈ Rrを受け取り画像 G(z) ∈ Rdを返す最適輸送問題を解くニューラルネットワーク f をランダムに初期化 2. G を使って画像 Y = {G(z1), G(z2), ..., G(zm)} を生成3. f が X と Y を分類できるようにミニバッチで訓練してX と Y の(ミニバッチの)最適輸送コストを計算4. f を使った最適輸送コストが小さくなるように G をアップデート5. 2 へ戻る。このとき Y は変化するが f を一から訓練するのではなく、少し G が変わったくらいでは最適な f もほぼ同じなので以前のパラメータから訓練をスタートする(ホットスタート)
243 / 270 KYOTO UNIVERSITY深層畳み込みネットワークを使うことでリアルな画像生成Wasserstein GAN の論文や後続の論文では G や f として深層畳み込みニューラルネットワークを使う上は X を顔写真集合として訓練したてできた生成画像非常にリアルな顔写真が生成できている上の画像は段階的学習など別のテクニックも駆使して訓練されているTero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen. Progressive Growing of GANs for ImprovedQuality, Stability, and Variation. ICLR 2018.
244 / 270 KYOTO UNIVERSITYこの章のゴール双対問題を関数の最適化に置き換える視点を知る倉庫と工場に座標が付いていてコストが座標から決まる場合は個々の変数を決めるのではなく空間全体の値を関数として求める見方もできる関数の最適化問題は分類問題と見られることを理解する関数を決める問題だと思うと、倉庫点を正例、工場点を負例とする二クラス分類問題と見ることができるこのとき関数はリプシッツ性という滑らかさが正則化として要求される
245 / 270 KYOTO UNIVERSITYその5: スライス法
246 / 270 KYOTO UNIVERSITYスライス法は簡単かつ高速に計算ができるその5: スライス法は一次元上の最適輸送が簡単に解けることを利用する非常に簡単であることから、とりあえず最適輸送っぽいものを得たいときには有用長所 : 実装が簡単非常に高速短所 : 元の最適輸送問題の良い近似になっているとは限らないhttps://www.programmersought.com/article/67174999352/
247 / 270 KYOTO UNIVERSITYこの章のゴール一次元と木の最適輸送問題が簡単に解けることを知る高次元の問題も一次元や木に帰着できることを知る
248 / 270 KYOTO UNIVERSITY倉庫と工場が一次元に埋め込まれている場合を考えるこの章では、倉庫と工場が一次元上に埋め込まれている場合を考える主問題を考える 入力: a1, ..., an∈ R, b1, ..., bm∈ R,x1, ..., xn∈ R, y1, ..., ym∈ R輸送コストが座標の差の絶対値Rx1 x2x3y1y2y3
249 / 270 KYOTO UNIVERSITY一次元の場合は簡単に解けるこのとき最適輸送問題は非常に簡単に解けるやり方:(1) まだ小麦粉が余っている倉庫のうち一番左にあるものを選ぶ(2) まだ小麦粉を要求している工場のうち一番左にあるものに 目一杯小麦粉を輸送する(3) 以上を全ての輸送が完了するまで行うつまり貪欲法
250 / 270 KYOTO UNIVERSITY貪欲法で解ける理由貪欲法でよい理由:左側の赤丸の方が右側の赤丸よりも右の青丸に輸送していたとすると
251 / 270 KYOTO UNIVERSITY左からマッチさせた方がコストが低い貪欲法でよい理由:輸送する組を入れ替えた方がコストが下がる
252 / 270 KYOTO UNIVERSITY貪欲法で解ける理由貪欲法でよい理由:こういう場合でも
253 / 270 KYOTO UNIVERSITY左からマッチさせた方がコストが低い貪欲法でよい理由:左からマッチさせると少なくとも悪くはならない赤が右にある場合など他の全場合も同様
254 / 270 KYOTO UNIVERSITY実装も非常に簡単かつ高速実装も非常にシンプルかつ高速 (1) x1, ..., xn と y1, ..., ymをそれぞれソート(2) i = 1, j = 1 に初期化(3) 倉庫 i から工場 j に min(ai, bj) 輸送(4) ai= 0 なら i ← i + 1 として (3) へ(5) ai> 0 なら j ← j + 1 として (3) へソートがボトルネックなので O(n log n) 時間 n = m, ai= bj= 1(割当問題)のとき全て一対一でマッチするのでx1, ..., xn, y1, ..., ymをソートして で一発で求まる
255 / 270 KYOTO UNIVERSITY高次元でも一次元に帰着して簡単にする一次元の場合非常に簡単なことを利用して、高次元の場合も一次元に帰着する方法が提案されているSliced Wasserstein distance [Rabin+ 2011]:x1, ..., xn∈ Rd, y1, ..., ym∈ Rdのとき、ランダムな方向 Θ ∈ Rdに x1, ..., xn, y1, ..., ymを射影し、一次元にして輸送距離を計算最終的な答えは何度か方向を変えた時の平均値k 個方向を使うと O(k n log n) 時間実装は一次元の場合と同等Julien Rabin, Gabriel Peyré, Julie Delon, Marc Bernot. Wasserstein Barycenter and its Application toTexture Mixing. 2011.https://www.programmersought.com/article/67174999352/ただしこの期待値が元の空間でのコストの近似になっている訳ではない
256 / 270 KYOTO UNIVERSITY直線に限らず、どんな一次元に射影してもよいSliced Wasserstein distance [Rabin+ 2011] では直線に沿って射影したが、一次元に射影できたらどういう射影でもよい例えばデータが U 字型だったら U 字に沿った一次元、一般にはデータのサポートに沿った一次元が良さそうGeneralized sliced Wasserstein [Kolouri+ NeurIPS 2019]適当な射影関数 Θ: Rd→ R を使って射影して一次元で解くランダムな射影の平均だけでなく、一番青と赤が見分けられるような射影を学習により見つける方法も提案(判別分析のようなイメージ)Julien Rabin, Gabriel Peyré, Julie Delon, Marc Bernot. Wasserstein Barycenter and its Application toTexture Mixing. 2011.Soheil Kolouri, Kimia Nadjahi, Umut Simsekli, Roland Badeau, Gustavo K. Rohde. Generalized SlicedWasserstein Distances. NeurIPS 2019.
257 / 270 KYOTO UNIVERSITY一次元から木への一般化貪欲法で解けるのは一次元の場合だけでない一般に、空間が木の場合でも貪欲法で厳密に解ける辺に長さの情報が付いている木があり、ノードには倉庫と工場がある倉庫 i から工場 j への輸送コストはその倉庫と工場があるノードを結ぶパスの長さの総和とするこれは一次元の場合の一般化一次元はパスグラフ(一直線の木)に対応している50601040 7020 3050のコストは20 + 30 + 50 = 100パスグラフ
258 / 270 KYOTO UNIVERSITY木の場合も同様に貪欲法で解ける木の場合も貪欲法で解けるやり方:(1) DFS 帰りがけ順でノードを走査する(2) 現在のノードの子孫でまだ小麦粉が残っている倉庫と 小麦粉を要求している工場があれば輸送するそのような倉庫か工場のどちらかがなくなるまで繰り返しなくなれば次のノードへ線形時間で計算できる一次元の場合は、ソートするのが木を構築するところに相当ソートが終わればあとは線形時間なので、木の場合も一次元の場合も同じ計算量
259 / 270 KYOTO UNIVERSITY高次元でも木に帰着して簡単にする一次元の場合と同様に、木に帰着する方法が提案されているTree-Sliced Wasserstein [Le+ NeurIPS 2019]:x1, ..., xn∈ Rd, y1, ..., ym∈ Rdのとき、ランダムな木(例えばクラスタリング木)のノードに x1, ..., xn, y1, ..., ymを射影し、木上で輸送距離を計算最終的な答えは何度か木を変えた時の平均値k 個木を使うと O(k n log n) 時間良い木を使うと元の輸送距離の近似にもなるTam Le, Makoto Yamada, Kenji Fukumizu, Marco Cuturi. Tree-Sliced Variants of Wasserstein Distances.NeurIPS 2019.http://www.sthda.com/english/articles/31-principal-component-methods-in-r-practical-guide/117-hcpc-hierarchical-clustering-on-principal-components-essentials/
260 / 270 KYOTO UNIVERSITY一次元の場合そのものが重要な場合もある高次元を一次元や木に帰着する場合を主に扱ったが、一次元の最適輸送そのものが重要なこともある就活生の特徴量を受け取り自社の適正スコアを出す問題を考える男性の適正スコアと女性の適正スコアは偏ってはいけないので最適輸送コストを正則化に加えるデータの方を男性と女性の見分けが付かなくなるように最適輸送コストで補正するやり方が [Feldman+ KDD 2015] で提案されている適正スコアx1 x2x3y1y2y3Michael Feldman, Sorelle A. Friedler, John Moeller, Carlos Scheidegger, Suresh Venkatasubramanian.Certifying and Removing Disparate Impact. KDD 2015.
261 / 270 KYOTO UNIVERSITYこの章のゴールの確認一次元と木の最適輸送問題が簡単に解けることを知るコストが一次元や木で定義される場合は貪欲法で厳密に解ける高次元の問題も一次元や木に帰着できることを知る空間が一次元や木と限らなくても、空間を「スライス」することで一次元の問題に帰着できる場合があるこれにより簡単・高速に問題が解ける
262 / 270 KYOTO UNIVERSITYまとめ
263 / 270 KYOTO UNIVERSITY今日は最適輸送の色んな解き方をみた今日は最適輸送のアルゴリズムについてみたその1: 線形計画の定式化とシンプレックス法その2: ハンガリアン法その3: Sinkhorn アルゴリズムその4: ニューラルネットワークによる推定その5: スライシングそれぞれ、長所・短所があった
264 / 270 KYOTO UNIVERSITYおすすめ本紹介 1さらに勉強したい人におすすめの本:Gabriel Peyré and Macro Cuturi. ComputationalOptimal Transport with Applications to Data Science.arXiv で電子版が公開されています:https://arxiv.org/abs/1803.00567この講演のネットワークシンプレックス法と Sinkhorn アルゴリズムについてはこの本を参考にしたSinkhorn アルゴリズムについては特に収束の話や別の見方など詳しい動的な定式化・Gromov Wassersteingradient flow など発展的な話題も多く載っている
265 / 270 KYOTO UNIVERSITYおすすめ本紹介 2組合せアルゴリズム的な視点を深堀したい人は以下もおすすめB.コルテ, J. フィーゲン (著) / 浅野 孝夫, 浅野 泰仁, 小野 孝男,平田 富夫 (訳) 「組合せ最適化」→ 第 9 章が最適輸送(最小費用フロー)について藤重 悟 「グラフ・ネットワーク・組合せ論」→ 第 2.3 章が最適輸送(最小費用フロー)について
266 / 270 KYOTO UNIVERSITY全体のゴールの確認解きたい問題に合わせて適切なアルゴリズムを選べるようになる基本は線形計画とネットワークシンプレックス法割当問題はハンガリアン法でシンプルにコストについて微分したい・GPU を使いたいときは Sinkhorn 法空間に埋め込まれた分布を最適化するときはニューラルネットワークシンプルに答えを得たいときはスライス法最適輸送の主・双対問題を自由自在に使いこなせるようになる相補的な解を見つける視点双対問題の物理的イメージと C-transform双対問題が分類問題のようになっている視点
267 / 270 KYOTO UNIVERSITY参考文献
268 / 270 KYOTO UNIVERSITY参考文献Jason Altschuler, Jonathan Weed, Philippe Rigollet. Near-linear time approximationalgorithms for optimal transport via Sinkhorn iteration. NeurIPS 2017.Martin Arjovsky, Soumith Chintala, Léon Bottou. Wasserstein GAN. ICML 2017Mathilde Caron, Ishan Misra, Julien Mairal, Priya Goyal, Piotr Bojanowski, Armand Joulin.Unsupervised Learning of Visual Features by Contrasting Cluster Assignments. NeurIPS2020.Marco Cuturi. Sinkhorn Distances: Lightspeed Computation of Optimal Transport.NeurIPS 2013.Marco Cuturi, Arnaud Doucet. Fast Computation of Wasserstein Barycenters. ICML 2014.Michael Feldman, Sorelle A. Friedler, John Moeller, Carlos Scheidegger, SureshVenkatasubramanian. Certifying and Removing Disparate Impact. KDD 2015.Ishaan Gulrajani, Faruk Ahmed, Martín Arjovsky, Vincent Dumoulin, Aaron C. Courville.Improved Training of Wasserstein GANs. NeurIPS 2017.
269 / 270 KYOTO UNIVERSITY参考文献Zhenyu Huang, Peng Hu, Joey Tianyi Zhou, Jiancheng Lv, Xi Peng. Partially View-alignedClustering. NeurIPS 2020.Tero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen. Progressive Growing of GANs forImproved Quality, Stability, and Variation. ICLR 2018.Soheil Kolouri, Kimia Nadjahi, Umut Simsekli, Roland Badeau, Gustavo K. Rohde.Generalized Sliced Wasserstein Distances. NeurIPS 2019.Tam Le, Makoto Yamada, Kenji Fukumizu, Marco Cuturi. Tree-Sliced Variants ofWasserstein Distances. NeurIPS 2019.Francesco Locatello, Dirk Weissenborn, Thomas Unterthiner, Aravindh Mahendran, GeorgHeigold, Jakob Uszkoreit, Alexey Dosovitskiy, Thomas Kipf. Object-Centric Learning withSlot Attention. NeurIPS 2020.Luca Oneto, Michele Donini, Giulia Luise, Carlo Ciliberto, Andreas Maurer, MassimilianoPontil. Exploiting MMD and Sinkhorn Divergences for Fair and TransferableRepresentation Learning. NeurIPS 2020.Gabriel Peyré, Marco Cuturi. Computational Optimal Transport. 2019.
270 / 270 KYOTO UNIVERSITY参考文献Julien Rabin, Gabriel Peyré, Julie Delon, Marc Bernot. Wasserstein Barycenter and itsApplication to Texture Mixing. 2011.Ivan Stelmakh, Nihar B. Shah, Aarti Singh. On Testing for Biases in Peer Review. NeurIPS2019.B.コルテ, J. フィーゲン (著) / 浅野 孝夫, 浅野 泰仁, 小野 孝男, 平田 富夫 (訳) 「組合せ最適化」藤重 悟 「グラフ・ネットワーク・組合せ論」

Recommended

最適輸送入門
最適輸送入門最適輸送入門
最適輸送入門
joisino
 
深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)深層生成モデルと世界モデル(2020/11/20版)
深層生成モデルと世界モデル(2020/11/20版)
Masahiro Suzuki
 
最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向最適輸送の計算アルゴリズムの研究動向
最適輸送の計算アルゴリズムの研究動向
ohken
 
猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder猫でも分かるVariational AutoEncoder
猫でも分かるVariational AutoEncoder
Sho Tatsuno
 
深層学習の数理
深層学習の数理深層学習の数理
深層学習の数理
Taiji Suzuki
 
全力解説!Transformer
全力解説!Transformer全力解説!Transformer
全力解説!Transformer
Arithmer Inc.
 
【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models【メタサーベイ】基盤モデル / Foundation Models
【メタサーベイ】基盤モデル / Foundation Models
cvpaper. challenge
 
深層生成モデルと世界モデル
深層生成モデルと世界モデル深層生成モデルと世界モデル
深層生成モデルと世界モデル
Masahiro Suzuki
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
joisino
 
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
joisino
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
Preferred Networks
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
佑 甲野
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
Shunji Umetani
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
Hakky St
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
Naoaki Okazaki
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
Eiji Uchibe
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
 
ベイズ最適化
ベイズ最適化ベイズ最適化
ベイズ最適化
MatsuiRyo
 
直交領域探索
直交領域探索直交領域探索
直交領域探索
okuraofvegetable
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
Takami Sato
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
Deep Learning JP
 
バンディット問題について
バンディット問題についてバンディット問題について
バンディット問題について
jkomiyama
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
 
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
Asai Masataro
 
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
Susumu Yamazaki
 
ユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーションユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーション
Masanori Kado
 

More Related Content

What's hot(20)

グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
joisino
 
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
joisino
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
Preferred Networks
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
佑 甲野
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
Shunji Umetani
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
Hakky St
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
Naoaki Okazaki
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
Eiji Uchibe
 
研究効率化Tips Ver.2
研究効率化Tips Ver.2研究効率化Tips Ver.2
研究効率化Tips Ver.2
cvpaper. challenge
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
 
ベイズ最適化
ベイズ最適化ベイズ最適化
ベイズ最適化
MatsuiRyo
 
直交領域探索
直交領域探索直交領域探索
直交領域探索
okuraofvegetable
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
Takami Sato
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
Deep Learning JP
 
バンディット問題について
バンディット問題についてバンディット問題について
バンディット問題について
jkomiyama
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
 
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
Asai Masataro
 
グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題グラフニューラルネットワークとグラフ組合せ問題
グラフニューラルネットワークとグラフ組合せ問題
joisino
 
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
Word Tour: One-dimensional Word Embeddings via the Traveling Salesman Problem...
joisino
 
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
最新リリース:Optuna V3の全て - 2022/12/10 Optuna Meetup #2
Preferred Networks
 
機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門機械学習のためのベイズ最適化入門
機械学習のためのベイズ最適化入門
hoxo_m
 
多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識多様な強化学習の概念と課題認識
多様な強化学習の概念と課題認識
佑 甲野
 
組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで組合せ最適化入門:線形計画から整数計画まで
組合せ最適化入門:線形計画から整数計画まで
Shunji Umetani
 
劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章劣モジュラ最適化と機械学習1章
劣モジュラ最適化と機械学習1章
Hakky St
 
プログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズムプログラミングコンテストでの乱択アルゴリズム
プログラミングコンテストでの乱択アルゴリズム
Takuya Akiba
 
研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有研究室における研究・実装ノウハウの共有
研究室における研究・実装ノウハウの共有
Naoaki Okazaki
 
強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習強化学習と逆強化学習を組み合わせた模倣学習
強化学習と逆強化学習を組み合わせた模倣学習
Eiji Uchibe
 
グラフィカルモデル入門
グラフィカルモデル入門グラフィカルモデル入門
グラフィカルモデル入門
Kawamoto_Kazuhiko
 
PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門PRML学習者から入る深層生成モデル入門
PRML学習者から入る深層生成モデル入門
tmtm otm
 
ベイズ最適化
ベイズ最適化ベイズ最適化
ベイズ最適化
MatsuiRyo
 
最適化超入門
最適化超入門最適化超入門
最適化超入門
Takami Sato
 
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ[DL輪読会]ドメイン転移と不変表現に関するサーベイ
[DL輪読会]ドメイン転移と不変表現に関するサーベイ
Deep Learning JP
 
バンディット問題について
バンディット問題についてバンディット問題について
バンディット問題について
jkomiyama
 
変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)変分推論法(変分ベイズ法)(PRML第10章)
変分推論法(変分ベイズ法)(PRML第10章)
Takao Yamanaka
 
新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには新分野に飛び入って半年で業績を作るには
新分野に飛び入って半年で業績を作るには
Asai Masataro
 

Similar to 最適輸送の解き方(10)

本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
Susumu Yamazaki
 
ユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーションユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーション
Masanori Kado
 
パンダスタジオ募集 20121204 11
パンダスタジオ募集 20121204 11パンダスタジオ募集 20121204 11
パンダスタジオ募集 20121204 11
Masahiro Nishimura
 
思考の手引き 〜整理・分析編〜
思考の手引き 〜整理・分析編〜思考の手引き 〜整理・分析編〜
思考の手引き 〜整理・分析編〜
tankyu tomonokai
 
パンダスタジオ募集 20121207_12
パンダスタジオ募集 20121207_12パンダスタジオ募集 20121207_12
パンダスタジオ募集 20121207_12
Masahiro Nishimura
 
2011 講演資料
2011 講演資料2011 講演資料
2011 講演資料
Ryosuke Nishida
 
10+1 Things you should know about JavaScript testing
10+1 Things you should know about JavaScript testing10+1 Things you should know about JavaScript testing
10+1 Things you should know about JavaScript testing
Takuto Wada
 
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
Takashi Uemura
 
#東洋大学産業組織論 (16/30) オリエンテーション
#東洋大学産業組織論 (16/30) オリエンテーション#東洋大学産業組織論 (16/30) オリエンテーション
#東洋大学産業組織論 (16/30) オリエンテーション
Yasushi Hara
 
北海学園英語教育研究会第4回研究会特別セミナースライド
北海学園英語教育研究会第4回研究会特別セミナースライド北海学園英語教育研究会第4回研究会特別セミナースライド
北海学園英語教育研究会第4回研究会特別セミナースライド
Kazuhito Yamato
 
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
本学部でのアクティブラーニングの導入事例
~コンセプトは「多読と発表」「原理と概念の理解」
Susumu Yamazaki
 
ユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーションユーザーストーリー:ファースト・ジェネレーション
ユーザーストーリー:ファースト・ジェネレーション
Masanori Kado
 
パンダスタジオ募集 20121204 11
パンダスタジオ募集 20121204 11パンダスタジオ募集 20121204 11
パンダスタジオ募集 20121204 11
Masahiro Nishimura
 
思考の手引き 〜整理・分析編〜
思考の手引き 〜整理・分析編〜思考の手引き 〜整理・分析編〜
思考の手引き 〜整理・分析編〜
tankyu tomonokai
 
パンダスタジオ募集 20121207_12
パンダスタジオ募集 20121207_12パンダスタジオ募集 20121207_12
パンダスタジオ募集 20121207_12
Masahiro Nishimura
 
10+1 Things you should know about JavaScript testing
10+1 Things you should know about JavaScript testing10+1 Things you should know about JavaScript testing
10+1 Things you should know about JavaScript testing
Takuto Wada
 
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
20121124 学生セミナー「基礎からわかる! IT業界とプログラミング」
Takashi Uemura
 
#東洋大学産業組織論 (16/30) オリエンテーション
#東洋大学産業組織論 (16/30) オリエンテーション#東洋大学産業組織論 (16/30) オリエンテーション
#東洋大学産業組織論 (16/30) オリエンテーション
Yasushi Hara
 
北海学園英語教育研究会第4回研究会特別セミナースライド
北海学園英語教育研究会第4回研究会特別セミナースライド北海学園英語教育研究会第4回研究会特別セミナースライド
北海学園英語教育研究会第4回研究会特別セミナースライド
Kazuhito Yamato
 

More from joisino(10)

キャッシュオブリビアスアルゴリズム
キャッシュオブリビアスアルゴリズムキャッシュオブリビアスアルゴリズム
キャッシュオブリビアスアルゴリズム
joisino
 
Metric Recovery from Unweighted k-NN Graphs
Metric Recovery from Unweighted k-NN GraphsMetric Recovery from Unweighted k-NN Graphs
Metric Recovery from Unweighted k-NN Graphs
joisino
 
Towards Principled User-side Recommender Systems
Towards Principled User-side Recommender SystemsTowards Principled User-side Recommender Systems
Towards Principled User-side Recommender Systems
joisino
 
CLEAR: A Fully User-side Image Search System
CLEAR: A Fully User-side Image Search SystemCLEAR: A Fully User-side Image Search System
CLEAR: A Fully User-side Image Search System
joisino
 
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...
joisino
 
An Introduction to Spectral Graph Theory
An Introduction to Spectral Graph TheoryAn Introduction to Spectral Graph Theory
An Introduction to Spectral Graph Theory
joisino
 
ユーザーサイド情報検索システム
ユーザーサイド情報検索システムユーザーサイド情報検索システム
ユーザーサイド情報検索システム
joisino
 
Random Features Strengthen Graph Neural Networks
Random Features Strengthen Graph Neural NetworksRandom Features Strengthen Graph Neural Networks
Random Features Strengthen Graph Neural Networks
joisino
 
Fast Unbalanced Optimal Transport on a Tree
Fast Unbalanced Optimal Transport on a TreeFast Unbalanced Optimal Transport on a Tree
Fast Unbalanced Optimal Transport on a Tree
joisino
 
死にたくない
死にたくない死にたくない
死にたくない
joisino
 
キャッシュオブリビアスアルゴリズム
キャッシュオブリビアスアルゴリズムキャッシュオブリビアスアルゴリズム
キャッシュオブリビアスアルゴリズム
joisino
 
Metric Recovery from Unweighted k-NN Graphs
Metric Recovery from Unweighted k-NN GraphsMetric Recovery from Unweighted k-NN Graphs
Metric Recovery from Unweighted k-NN Graphs
joisino
 
Towards Principled User-side Recommender Systems
Towards Principled User-side Recommender SystemsTowards Principled User-side Recommender Systems
Towards Principled User-side Recommender Systems
joisino
 
CLEAR: A Fully User-side Image Search System
CLEAR: A Fully User-side Image Search SystemCLEAR: A Fully User-side Image Search System
CLEAR: A Fully User-side Image Search System
joisino
 
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...
Private Recommender Systems: How Can Users Build Their Own Fair Recommender S...
joisino
 
An Introduction to Spectral Graph Theory
An Introduction to Spectral Graph TheoryAn Introduction to Spectral Graph Theory
An Introduction to Spectral Graph Theory
joisino
 
ユーザーサイド情報検索システム
ユーザーサイド情報検索システムユーザーサイド情報検索システム
ユーザーサイド情報検索システム
joisino
 
Random Features Strengthen Graph Neural Networks
Random Features Strengthen Graph Neural NetworksRandom Features Strengthen Graph Neural Networks
Random Features Strengthen Graph Neural Networks
joisino
 
Fast Unbalanced Optimal Transport on a Tree
Fast Unbalanced Optimal Transport on a TreeFast Unbalanced Optimal Transport on a Tree
Fast Unbalanced Optimal Transport on a Tree
joisino
 
死にたくない
死にたくない死にたくない
死にたくない
joisino
 

最適輸送の解き方

  • 1.1 KYOTO UNIVERSITYKYOTO UNIVERSITY最適輸送の解き方佐藤竜馬
  • 2.2 / 270 KYOTO UNIVERSITY最適輸送アルゴリズムの様々なアプローチを紹介する最適輸送のアルゴリズムには様々なアプローチがありそれぞれ異なる長所・短所を持っている今日のゴール:解きたい問題に合わせて適切なアルゴリズムを選べるようになる最適輸送の主・双対問題は豊かな構造を持っているそれらを操れるようになると、アルゴリズムを選ぶだけでなく自分で設計できるようになる今日の発展的ゴール:最適輸送の主・双対問題を自由自在に使いこなせるようになる意欲のある方向け
  • 3.3 / 270 KYOTO UNIVERSITYもくじp.7 今日の講演の構成p.17 線形計画による定式化p.45 ネットワークシンプレックス法p.128 双対問題についてp.149 ハンガリアン法p.198 Sinkhorn アルゴリズムp.222 ニューラルネットワークによる推定p.245 スライス法p.262 まとめp.267 参考文献
  • 4.4 / 270 KYOTO UNIVERSITY自己紹介
  • 5.5 / 270 KYOTO UNIVERSITY自己紹介: 京大で最適輸送や GNN を研究してます名前: 佐藤竜馬京大博士一年(鹿島・山田研究室)研究分野:グラフニューラルネットワーク (GNN)* Ryoma Sato, Makoto Yamada, Hisashi Kashima. Approximation Ratios of GraphNeural Networks for Combinatorial Problems. NeurIPS 2019.* Ryoma Sato, Makoto Yamada, Hisashi Kashima. Random Features StrengthenGraph Neural Networks. SDM 2021.最適輸送  今日のトピック* Ryoma Sato, Makoto Yamada, Hisashi Kashima. Fast Unbalanced OptimalTransport on a Tree. NeurIPS 2020.* Yuki Takezawa, Ryoma Sato, Makoto Yamada. Supervised Tree-WassersteinDistance. ICML 2021. 講演者近影「人工知能」七月号に GNN の日本語解説記事書きました
  • 6.6 / 270 KYOTO UNIVERSITY自己紹介: 競技プログラミングしてました高校生〜学部生の頃は競技プログラミングをしていました主な戦績(自慢):日本情報オリンピック 2014 金賞国際情報オリンピック 2014 日本代表、銅メダルACM ICPC 2018 アジア地区予選ジャカルタ大会 2位ACM ICPC 2019 世界大会出場アルゴリズムの素養は主にここからきています機械学習 + アルゴリズムの交わりを得意にしています
  • 7.7 / 270 KYOTO UNIVERSITY今日の講演の構成
  • 8.8 / 270 KYOTO UNIVERSITY今日は最適輸送の色んな解き方をみていく以下の五つのアルゴリズムの長所・短所をみていくその1: 線形計画の定式化とシンプレックス法その2: ハンガリアン法その3: Sinkhorn アルゴリズムその4: ニューラルネットワークによる推定その5: スライス法
  • 9.9 / 270 KYOTO UNIVERSITY線形計画の定式化は全ての基本その1: 線形計画の定式化はその後の解き方の基本になるネットワークシンプレックス法はこれを主問題で解くアルゴリズム長所 : ソルバーがよく整理されているCPU 上だと早い厳密に解ける短所 : 実行時間を見積もるのが難しい
  • 10.10 / 270 KYOTO UNIVERSITYハンガリアン法は一対一の割り当て問題によく使われるその2: ハンガリアン法は線形計画の双対を解くユースケースは限られるが、一対一の割当問題を解くためにはよく使われている長所 : CPU 上だと早いシンプルに実装できる短所 : 一対一マッチングにしか使えない(対応するように拡張はできる)応募者 仕事
  • 11.11 / 270 KYOTO UNIVERSITYSinkhorn は微分可能で GPU フレンドリーその3: Sinkhorn アルゴリズムは目的関数に正則化を加え、行列演算で最適輸送を解くアルゴリズムSinkhorn が [Cuturi+ 2013] で紹介されたことで機械学習界隈で最適輸送が使われるようになるキッカケになった長所 :コストに関して微分可能GPU 上だと早い複数の最適輸送を並列に解ける最適解が唯一に定まる短所 : 厳密な最適輸送の解ではないオーバーフローや解の丸めに気をつける必要ありMarco Cuturi. Sinkhorn Distances: Lightspeed Computation of Optimal Transport. NeurIPS 2013.Gabriel Peyré, Marco Cuturi. Computational Optimal Transport. 2019.
  • 12.12 / 270 KYOTO UNIVERSITYニューラルネットワークによる推定は GAN の基本技術その4: ニューラルネットワークによる推定は双対問題の特殊形をニューラルネットワークの最適化に帰着するWasserstein GAN という名前で GAN(生成モデル)の生成分布とデータ分布の距離をはかるのに使われている長所 : コストについて微分可能分布からのサンプルをミニバッチで繰り返し解くのに向いている短所 : 単一の入力には向いていないコストが距離で定義されていないと使えないTero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen. Progressive Growing of GANs for Improved Quality, Stability, and Variation. ICLR 2018. GAN による顔写真の自動生成
  • 13.13 / 270 KYOTO UNIVERSITYスライス法は簡単かつ高速に計算ができるその5: スライス法は一次元上の最適輸送が簡単に解けることを利用する非常に簡単であることから、とりあえず最適輸送っぽいものを得たいときには有用長所 : 実装が簡単非常に高速短所 : 元の最適輸送問題の良い近似になっているとは限らないhttps://www.programmersought.com/article/67174999352/
  • 14.14 / 270 KYOTO UNIVERSITY今日は最適輸送の色んな解き方をみていくその1: 線形計画の定式化 その2: ハンガリアン法その3: Sinkhorn アルゴリズムその4: ニューラルネットワークによる推定その5: スライス法  上の話題とは独立しているそれぞれ違うアプローチで双対問題を解く 一番大事!時間をかけて丁寧に追う
  • 15.15 / 270 KYOTO UNIVERSITY今日の講演の聴き方についてスライドの中では証明がたびたび登場します厳密性よりは直感を提供することを優先して説明します重要な洞察は証明後にあらためてフォローするなどして、証明については理解せずに聴き飛ばしても追えるような構成にはしているので安心してください各章はほぼ独立していますが、たとえばニューラルネットワークの推定を読む前に以前の章で双対問題の直感を養っておくとよりスムーズに理解できるはずですこのスライドはウェブ上で公開しているので、講演が終わったあとに証明部分を読み直して理解を深めるなどして活用してください
  • 16.16 / 270 KYOTO UNIVERSITY凡例重要な用語は赤色で強調している重要なメッセージは青色で強調しているフキダシは補足情報地文で理解できないときの助けを目的としている
  • 17.17 / 270 KYOTO UNIVERSITY線形計画による定式化
  • 18.18 / 270 KYOTO UNIVERSITYこの章のゴール最適輸送の主問題と双対問題の線形計画による定式化を知る主問題と双対問題の関係を知る
  • 19.19 / 270 KYOTO UNIVERSITY最適輸送は最小の輸送コストを求める問題最適輸送問題(ざっくり):工場会社が倉庫を n 個、工場を m 個所有している倉庫 i には小麦粉が ai> 0 グラムあり工場 j には小麦粉がbj> 0 グラム必要である。倉庫 i から工場 j に 1 グラム輸送するのにコスト Cijかかるとき、要件を満たすのに必要な最小コストは?
  • 20.20 / 270 KYOTO UNIVERSITY例題例:a1= 2a2= 1a3= 1b1= 1b2= 2b3= 1C 1 2 31 1 2 22 2 1 23 2 2 1
  • 21.21 / 270 KYOTO UNIVERSITY例題答え例 答え: 1 + 2 + 1 + 1 = 5a1= 2a2= 1a3= 1b1= 1b2= 2b3= 1C 1 2 31 1 2 22 2 1 23 2 2 11*コスト11*コスト21*コスト11*コスト1
  • 22.22 / 270 KYOTO UNIVERSITY最適輸送のもう少しフォーマルな定義最適輸送問題:入力: ベクトル a ∈ Rn, ベクトル b ∈ Rm, 行列 C ∈ Rn✕m出力: {a1, ..., an} を {b1, ..., bm} に輸送する最小コストただしa1+ ... + an= b1+ ... + bm= 1 を仮定するつまり「小麦粉」は不足することも余ることもない合計が 1 なのは割合だけ考えていると思えばよいaiから bjに Pijだけ輸送するのには Cij✕ Pijコストかかる輸送コストは輸送量に線形増加R, は実数集合平文では黒板太字を使うのが面倒なので R を使用します
  • 23.23 / 270 KYOTO UNIVERSITY最適輸送の線形計画による定式化最適輸送問題:入力: ベクトル a ∈ Rn, ベクトル b ∈ Rm, 行列 C ∈ Rn✕m最適化変数 P ∈ Rn✕m: Pijは i から j に輸送する量 総コスト 輸送量は非負 余りなし 不足なしあわせて質量制約とよぶ(mass constraint)C が距離行列 D と正数 p ≧ 1を用いて Cij= Dijpを表せるとき、最適値の 1/p 乗の値をWasserstein 距離という。最適輸送と Wasserstein 距離を区別せずに用いることもある
  • 24.24 / 270 KYOTO UNIVERSITY線形計画による定式化のおかげでソルバが使える線形計画に落とし込めたので、線形計画ソルバ (CPLEX など)に投げれば解けるめでたしめでたし終制作・著作O O O
  • 25.25 / 270 KYOTO UNIVERSITYこれからは問題の性質を知り高速化することを目指す線形計画に落とし込めたので、線形計画ソルバ (CPLEX など)に投げれば解けるめでたしめでたし... とは限らない!第一に、汎用ソルバは専用ソルバより一般に遅い第二に、最適輸送の答えが小さくなるような配置を見つけたい、のように別の最適化の中に最適輸送を組み込むときには最適輸送の最適化の性質を知っておく必要があるただし、小さいインスタンスについて最適値を知りたいだけなら本当にここでおしまいです。お疲れさまでした。
  • 26.26 / 270 KYOTO UNIVERSITY双対は最適値が同じで相補性が成り立つ線形計画の双対:最小化の線形計画には対となる最大化の線形計画問題があるもとの線形計画を主問題、対となる線形計画を双対問題とよぶざっくり言うと、主問題の制約一つにつき双対問題に変数が一つ、主問題の変数一つにつき双対問題に制約が一つできる重要な性質(いまから詳しく見ていく):主問題と双対問題の最適値は一致する(強双対性)主問題の最適解の変数が正のとき双対問題の対応する制約は等号成立する。逆にこれが成り立つとき最適解となる(相補性)最適輸送では主問題と双対問題両方を使いこなすことが重要この講演の目標は主・双対問題を自由自在に操れるようになること
  • 27.27 / 270 KYOTO UNIVERSITY最適輸送の双対問題最適輸送の双対問題は右のように表せる導出は省略。普通の線形計画と同様にできるので試してみるとよい。主問題 双対問題fi: aiの余りなし制約に対応する変数gj: bjの不足なし制約に対応する変数fi+ gj≦ Cij: 主問題の変数 Pijに対応する制約
  • 28.28 / 270 KYOTO UNIVERSITY小麦粉輸送問題再訪。双対の直感的意味とは双対問題の直感的な意味:小麦粉の輸送問題を再び考える主問題は工場会社が倉庫から工場に小麦粉を輸送する総コスト
  • 29.29 / 270 KYOTO UNIVERSITY物流業者登場。双対問題に対応するトラックで小麦粉を輸送するのをやめて、外部の物流業者を利用する 物流業者は倉庫 i の地域ではグラム fi円払うと引き取りを行い工場 j の地域ではグラム gj円で販売を行う倉庫の小麦粉を全て引き取ってもらい、工場で必要な分を買い取ると実質輸送が完了したことになる
  • 30.30 / 270 KYOTO UNIVERSITY工場会社が自社で輸送する場合: 主問題に対応工場会社が自社で輸送(主問題)1111
  • 31.31 / 270 KYOTO UNIVERSITY物流業者に依頼する場合: 双対問題に対応物流業者に依頼(双対問題)111122
  • 32.32 / 270 KYOTO UNIVERSITY物流業者が双対問題を解く双対問題の主人公、双対問題を「解く」人は物流業者 物流業者は倉庫 i で aiの小麦を単価 fiで回収するので aifi円工場 j で bjの小麦を単価 gjで売るので bjgj円売り上げる物流業者の売上は これを最大化したがっている双対問題の目的関数!
  • 33.33 / 270 KYOTO UNIVERSITY明らかな工場会社の得を維持しつつ利益を最大化するしかし、あまりに引取価格や販売価格を高くしすぎると工場会社に利用してもらえない fi+ gj≦ Cijであれば、工場会社は倉庫 i から工場 j にトラックで移すより引取 + 購入を行った方が得するこの条件があらゆる (i, j) について成り立っていれば、工場会社は安心して物流業者を利用できる少なくとも自社でトラックを動かすより物流業者に頼ったほうがコストが低いことが保証される物流業者は工場会社が安心できる範囲で売上を最大化することをめざす → 双対問題双対問題の制約!
  • 34.34 / 270 KYOTO UNIVERSITY最適輸送の双対問題(再掲)物流会社の売上利益を最大化したい工場会社が明らかに損しない
  • 35.35 / 270 KYOTO UNIVERSITY最適輸送の双対問題は変数が少ないが制約が多い主問題は各場所対の輸送量を定める問題双対問題は各場所の販売・回収コストを定める問題主問題は変数が nm 個、制約が n + m 個双対問題は変数が n + m 個、制約が nm 個どちらが解きやすいかはケースバイケース大 小大小
  • 36.36 / 270 KYOTO UNIVERSITY双対問題の最適解には自由度あり双対問題の最適解には定数ぶんだけ自由度があるが最適解なら定数 についても最適解理由:ならまた、販売費を安くするぶん回収費を高くして帳尻を合わせられる平均ゼロや特定変数の値が 0 になる解を正規の解とすることがある実行可能目的関数の値は変わらない
  • 37.37 / 270 KYOTO UNIVERSITY弱双対定理: 工場会社は物流業者に任せると損しない弱双対定理:任意の主問題の実行可能解 P と双対問題の実行可能解 (f, g)について、つまり、双対問題の目的関数の値は主問題の目的関数の値より常に小さい直感的には先程の議論から明らか(f, g) をどのような輸送プランに対しても明らかに損しないように選ぶのが実行可能条件
  • 38.38 / 270 KYOTO UNIVERSITY弱双対定理の証明弱双対定理の証明P の実行可能性より Pij≧ 0(f, g) の実行可能性より Cij≧ fi+ gjP の実行可能性より ∑jPij= ai, ∑iPij= bj
  • 39.39 / 270 KYOTO UNIVERSITY強双対定理: 物流業者が頑張るとプラマイゼロまでいける強双対定理:を満たす主問題の実行可能解 P と双対問題の実行可能解 (f, g) が存在するつまり、双対問題と主問題の最適値は一致する小麦粉の例でいうと、物流業者が値段設定を頑張れば、工場会社が自社で輸送する最適コストまでは売上を伸ばせる(それ以上は弱双対定理より不可能)証明は少し煩雑なので省略線形計画や最適化の教科書を参照主問題最小化双対問題最大化ちょうど一致
  • 40.40 / 270 KYOTO UNIVERSITY相補性: 主問題で正の箇所は等号成立定義 相補性:主問題の実行可能解 P について、双対問題の解 (f, g) は以下の条件を満たすとき相補的であるというPij> 0 ならば fi+ gj= Cijつまり、輸送が発生する倉庫と工場の間では不等式制約が等号で成立するとき相補的等号が成立するということは、その間の輸送を流通業者に任せたとしても(もちろん損することはないが)得せずコストは変わらない fi+ gj= Cijが成り立つ組 (i, j) をタイトと呼ぶfi+ gj< Cijが成り立つ組 (i, j) をルーズと呼ぶ不等式制約がギリギリ縁まで来ているイメージ
  • 41.41 / 270 KYOTO UNIVERSITY相補的ならば両方最適解命題 相補性を使った最適性の十分条件:主問題の実行可能解 P について双対問題の実行可能解 (f, g)が相補的であるならばこれらは両方それぞれの問題の最適解証明(弱双対と似ている):相補性より正の項については Cij= fi+ gjそれ以外の項は何であっても消えるので無問題弱双対定理より、主問題より目的関数は大きくなり得ないのでこれが最適
  • 42.42 / 270 KYOTO UNIVERSITY相補的でないならどちらかは最適解でない命題 相補性を使った最適性の必要条件:主問題の実行可能解 P について双対問題の実行可能解 (f, g)が相補的でないならばこれらのどちらかは最適解でない証明(弱双対と似ている):非相補性より Pij> 0, Cij> fi+ gjなる項があるので等号不成立強双対定理より、主問題か双対問題のどちらかはさらに改善できる
  • 43.43 / 270 KYOTO UNIVERSITY最適化をすることは相補的な組を見つけることと同じつまり、実行可能解 P と (f, g) の両方が最適解である必要十分条件は相補的であること主問題や双対問題を最適化する代わりに、相補的な組を見つけることをめざしてもよいこれで線形計画としての基本的な性質は終了ここからはこの性質を使ってどのように解くかをみていく
  • 44.44 / 270 KYOTO UNIVERSITYこの章のゴールの確認最適輸送の主問題と双対問題の線形計画による定式化を知る主問題は工場会社が全ての小麦を輸送する最小コスト双対問題は物流業者が全ての小麦を回収・販売する最大売上主問題と双対問題の関係を知る双対問題の値は主問題の値より小さい(弱双対性)双対問題の最適値は主問題の最適値と同じ(強双対性)主・双対実行可能解が相補的であるときかつそのときのみ最適
  • 45.45 / 270 KYOTO UNIVERSITYアルゴリズムその1: ネットワークシンプレックス法
  • 46.46 / 270 KYOTO UNIVERSITY線形計画の定式化は全ての基本その1: 線形計画の定式化はその後の解き方の基本になるネットワークシンプレックス法はこれを主問題で解くアルゴリズム長所 : ソルバーがよく整理されているCPU 上だと早い厳密に解ける短所 : 実行時間を見積もるのが難しい
  • 47.47 / 270 KYOTO UNIVERSITYシンプレックス法は一般の線形計画用の効率的手法シンプレックス法:線形計画の実行可能領域が凸多面体であること・最適値が頂点にあることを利用し、多面体の頂点を解が良くなる方向に走査していくアルゴリズム最悪ケースでは指数時間かかるが、多くのケースでは非常に高速であるシンプレックス法は一般の線形計画用のアルゴリズムここではシンプレックス法を最適輸送専用に高速化・単純化したネットワークシンプレックス法を紹介するどのように頂点を辿るかが効率の上で重要
  • 48.48 / 270 KYOTO UNIVERSITYこの章のゴール最適輸送問題において多面体の頂点が表している解を知る多面体の頂点を効率よく辿る方法を知る
  • 49.49 / 270 KYOTO UNIVERSITY別の解の中点になっていない解を頂点というPQRPQRPQR頂点以外だとそのような Q, R を取れるが頂点だと取ろうとするとはみ出てしまうまず、最適輸送問題の実行可能領域の頂点はどのような解に対応しているかを考える定義 頂点:実行可能解 P が頂点であるとは、別の実行可能解 Q, R を用いてP = (Q + R) / 2 と表せないことである
  • 50.50 / 270 KYOTO UNIVERSITY閉路のない連結なグラフを木という連結でないので木ではない 木である 閉路があるので木ではない上図のように、点を線で結んだ図(構造)をグラフという点のことをノード、線のことを辺とよぶ定義 木:閉路のない連結なグラフを木という
  • 51.51 / 270 KYOTO UNIVERSITY使用グラフ: 輸送が発生する倉庫と工場に辺があるP 1 2 31 1 1 02 0 1 03 0 0 2123123使用グラフはこの資料独自の用語小麦問題の類推から左側のノードを倉庫右側のノードを工場とよぶ定義 使用グラフ:左側に n 個、右側に m 個ノードを置き、左側の i と右側の j に辺を張った(二部)グラフ G を考える。主問題の解 P について Pij> 0 であれば (i, j) が G の辺として含まれるとき、G は P に付随する使用グラフという実際に輸送が発生する倉庫と工場間に辺が張られているようなグラフ
  • 52.52 / 270 KYOTO UNIVERSITY使用グラフを固定する = 含まれない辺が使用不可今後、逆に使用グラフを固定してその使用グラフが付随する解を考えることもあるこれは、使用グラフに含まれない辺を輸送不可能にすることに相当
  • 53.53 / 270 KYOTO UNIVERSITY頂点解は使用グラフとして木をもつ命題 頂点の必要条件:主問題の実行可能解 P が頂点ならば、木を使用グラフとしてもつ証明(ざっくり):対偶、木を使用グラフとしてもたなければ頂点でないを示すこのとき Pij> 0 となる (i, j) だけから閉路 H を構成できるH を適当な倉庫から辿っていくと、対応する頂点は倉庫、工場、倉庫、工場、倉庫、... というように倉庫と工場が交互に現れるちょうど一周した時点でストップすることにするこのとき通過した辺に対応する P の値を順番に P1, ..., PLとおくつづく倉庫どうし、工場どうしは結ばれることがないためL は閉路の長さP2P1P3P4P3P5P6
  • 54.54 / 270 KYOTO UNIVERSITY頂点解は使用グラフとして木をもつ:証明つづき証明(続き):偶数番目の要素を ε > 0 大きくし、奇数番目の要素を ε 小さくして P から新しい解 P’ を作る(閉路の要素以外は変えない)Piは正辺なので値は正ε を十分小さくとると解は正のままH に含まれる各工場について倉庫 → 工場側の辺が ε 小さくなり、工場 → 倉庫側の辺が ε 大きくなるので不足なし制約を満たす倉庫についても同様に余りなし制約を満たすので、P’ は実行可能ε’ = -ε で同じことすると実行可能解 P’’ が得られP = (P’ + P’’) / 2 なのでP は頂点でないGabriel Peyré, Marco Cuturi. Computational Optimal Transport. 2019.
  • 55.55 / 270 KYOTO UNIVERSITY木が付随する解はただ一つ補題 木が付随する解の唯一性:木を任意の取ったときこの質量制約を満たす主問題の解のうちこの木が付随するものはただ一つ証明(ざっくり):木が定まれば主問題の解の値が次々に定まることを示すグラフが木なので次数が 1 のノード、すなわち一本しか使用グラフの辺が繋がっていないノードが存在するこのノードを i とよび、簡単のため倉庫と仮定するノード i に接続する辺 (i, j) に相当する Pijの値は余りなし制約より Pij= aiと一意に定まる つづくi から出る他の辺は使用グラフに含まれないので使えないj に全て送るしかないP が負かもしれないので実行可能とは限らない
  • 56.56 / 270 KYOTO UNIVERSITY木が付随する解はただ一つ: 証明つづき証明(続き):Pijが確定したことにより、j 側の要求が Pijだけ満たされたのでbjから Pijを引くPijが確定したのでグラフから頂点 i と辺 (i, j) を取り除くこうしてもグラフは木のままあとは再帰的に上記のステップを繰り返すと全ての辺の値が一意に定まる詳しくは次のスライドからはじまる例を参照
  • 57.57 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:使用グラフ(木)0.10.20.50.10.10.60.20.2
  • 58.58 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.10.20.50.10.10.60.20.2次数 1 なので、相手から必ず0.1 輸送されないといけない
  • 59.59 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.20.50.10.10.50.20.20.1 輸送したので残りが減る0.1この辺の輸送量が 0.1 に決まる
  • 60.60 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.20.50.10.10.50.20.20.1
  • 61.61 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.50.10.10.30.20.20.10.2-0.2
  • 62.62 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.50.10.10.30.20.20.10.2最初次数 1 でなかったが輸送コストが確定していって次数が 1 になった残った小麦は残りの辺を使って全て輸送するしかない
  • 63.63 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.20.10.10.00.20.20.10.20.3-0.3
  • 64.64 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.20.10.10.00.20.20.10.20.3
  • 65.65 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.010.00.00.10.10.00.00.20.10.20.30.2-0.2
  • 66.66 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.00.10.10.00.00.20.10.20.30.2
  • 67.67 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.0000.00.10.10.00.00.20.10.20.30.20.00.0 輸送されるというパターンもある
  • 68.68 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.00.10.10.00.00.20.10.20.30.20.0
  • 69.69 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.00.00.10.00.00.10.10.20.30.20.00.1-0.1
  • 70.70 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.00.00.10.00.00.10.10.20.30.20.00.1
  • 71.71 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例:0.00.00.00.00.00.00.00.00.10.20.30.20.00.10.1∑ ai= ∑ bjの仮定より必ず最後は辻褄があう
  • 72.72 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例例: 輸送量が一意に定まった0.10.20.50.10.10.60.20.20.10.20.30.20.00.10.1
  • 73.73 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:使用グラフ(木)0.10.20.50.10.10.60.20.2
  • 74.74 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:0.10.20.50.10.10.60.20.2
  • 75.75 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:0.00.20.50.10.10.50.20.20.1-0.1
  • 76.76 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:0.00.20.50.10.10.50.20.20.1
  • 77.77 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:0.00.00.50.10.10.30.20.20.10.2-0.1
  • 78.78 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:0.00.00.50.10.10.30.20.20.10.2
  • 79.79 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:足りなくなることもある0.00.00.00.10.1-0.20.20.20.10.2足りない! 0.5
  • 80.80 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:無理やり続行0.00.00.00.10.1-0.20.20.20.10.20.5
  • 81.81 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:無理やり続行0.00.00.00.30.10.00.20.20.10.20.5-0.2負の量を送られると逆に増える
  • 82.82 / 270 KYOTO UNIVERSITY木の使用グラフが定まると解は一意に定まる: 例別の例:中略。これを続けるとこうなる0.10.20.50.10.10.60.20.20.10.20.5-0.20.20.10.1
  • 83.83 / 270 KYOTO UNIVERSITY木の使用グラフに付随する解が実行不能のときもある輸送量を定めるうちに在庫量・要求量が負になることもあるそのままプロセスを続行させることはできるが、輸送プランにも負値が現れ実行可能ではない場合があるつまり、木 T を固定したとき、この木を使用グラフとして持つ解はちょうど 1 つただし、実行可能でない場合はあるので実行可能解は 0 or 1 個
  • 84.84 / 270 KYOTO UNIVERSITY木を使用グラフとして持つなら頂点命題 頂点の十分条件:主実行可能解 P が木を使用グラフとしてもつなら P は頂点証明(ざっくり):実行可能解 Q, R を用いて P = (Q + R) / 2 と表せるとするQ と R の要素は非負なので Pij= 0 である要素は Q, R でもゼロ(仮に Qij> 0 なら Rij≧ 0 より Qij+ Rij> 0 となる)よって Q, R にも P と同じ木が使用グラフとして付随し、一意性よりP = Q = R
  • 85.85 / 270 KYOTO UNIVERSITY頂点の条件より探索空間を劇的に絞れる証明はややこしいが、実行可能解 P が頂点であることと使用グラフとして木をもつことは同値である木にはちょうど一つの解に付随を知っていればよい線形計画の最適解は頂点にあるので、これにより解の候補を絞れる
  • 86.86 / 270 KYOTO UNIVERSITY頂点だけ探索すれば良い → 頂点を全て探索してみる愚直なアルゴリズム:倉庫と工場を結ぶ木を全て考え各木を使用グラフとしてもつ解(一意に定まる)を計算し、コストが一番安いものを出力する木のパターンは非常に多いので効率は悪いしかし、解集合が無限にあったところを、有限まで絞り込めているので劇的な改善
  • 87.87 / 270 KYOTO UNIVERSITY使用グラフと相補性は相性がよい使用グラフの定義は相補性と相性が良さそう 使用グラフ G の全ての辺 (i, j) で fi+ gj= Cijとなるとき(f, g) は G について相補的であるという。主問題の実行可能解 P と双対問題の実行可能解 (f, g) を考えるP に付随する任意の使用グラフ G をとる(G, f, g) が相補的である → (P, f, g) が相補的である理由: Pij> 0 な辺 (i, j) は使用グラフ G に含まれるのでタイト Pij> 0 でない辺もタイトなので、使用グラフについての相補性はP についての相補性より強いしかし、特殊な例ではこれが十分条件になる
  • 88.88 / 270 KYOTO UNIVERSITY木と相補的な双対実行可能解が存在する命題 木の使用グラフと相補性:以下の性質をもつ木 T が存在する主問題のある実行可能解 P と双対問題の実行可能解 (f, g) が存在し、P が T を使用グラフとしてもち、(f, g) は T について相補的証明(ざっくり):P を実行可能領域の頂点にある最適解の中から適当にとるこのとき P は頂点性よりある木 T を使用グラフとしてもつP は最適解なので相補的な双対実行可能解 (f, g) が存在するfi+ gj= Cijを満たす (i, j) ∈ T は森 F になるF が連結であれば F = T となり終了 つづく
  • 89.89 / 270 KYOTO UNIVERSITY木と相補的な双対実行可能解が存在する: 証明続き証明(つづき):F の異なる連結成分を結ぶ組 (i, j) の中で s(i, j) = Cij- fi- gjが最も小さいものを取ってきて i*, j* とおくi* が繋がっている側の連結成分に含まれる倉庫側の変数をs(i*, j*) 増加させ、工場側の変数を s(i*, j*) 減少させるF の連結成分内の倉庫・工場対では fi+ gjの値は変わらず、この連結成分と他の連結成分の対では s(i, j) だけ減少 or 増加する連結成分間では少なくとも s(i*, j*) だけ余裕があったので依然として実行可能fi*+ gj*= Ci*j*なので F に (i, j) を追加しこのプロセスを繰り返すことで連結成分を 1 つづつ減らして F を木にできる
  • 90.90 / 270 KYOTO UNIVERSITY木と相補的な双対実行可能解が存在する緑辺は正の輸送量とするこのとき相補性よりタイト灰辺は輸送量ゼロこのときタイトとは限らない緑辺と灰辺を合わせて使用グラフ連結成分全体の値を定数変化させてもその中では制約は守られたまま(cf 双対問題の自由度)限界まで変化させると他の連結成分との間がタイトになり繋がる
  • 91.91 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる相補解の一意性:木 T を定めると T と相補的な f1= 0 を満たす双対問題の解がただ 1 つ存在する証明(ざっくり):T 上で倉庫 i = 1 と繋がっている工場 j の値は相補性よりgj= C1j- f1= Cijと定まる同様に j と繋がる倉庫も定まり芋づる式に全ての値が定まる閉路が無いので相補性の条件が矛盾することはなく最後まで定まる T に含まれない辺については fi+ gj> Cijとなってしまうことがあるので実行可能解とはなるとは限らないことに注意 固定するのは f1でなくてよいが双対解の自由度より何かは固定する実行可能とは限らない
  • 92.92 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:使用グラフ(木)300100508010050200f1辺上の値は輸送コスト輸送量ではない
  • 93.93 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:3001005080100502000
  • 94.94 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:300100508010050200020050100200 - 0 = 20050 - 0 = 50100 - 0 = 100
  • 95.95 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:300100508010050200020050100-20-5080 - 100 = -2050 - 100 = -50
  • 96.96 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:300100508010050200020050100-20-50150350100 - (-50) = 150300 - (-50) = 350
  • 97.97 / 270 KYOTO UNIVERSITY木と相補的な双対解はほぼ一意に定まる: 例例:双対解が定まった3001005080100502000-20-5050100150350200
  • 98.98 / 270 KYOTO UNIVERSITY相補性を使って途中で最適性を判断できるちょっと改善した愚直なアルゴリズム:倉庫と工場を結ぶ木を全て考え各木 T について T を使用グラフとしてもつ主問題の解 P とT と相補的な双対問題の解 (f, g) を計算し、双方が実行可能であれば (P, f, g) を最適解として出力するそのような (P, f, g) は存在するので解は出力される(T, f, g) が相補的 -> (P, f, g) が相補的 -> (P, f, g) は最適以前の愚直アルゴリズムは全ての T について計算して最小を出力したが、改善バージョンは実行可能解が見つかった時点でその後を計算せずとも直ちに最適とわかり停止できる点で効率がよい
  • 99.99 / 270 KYOTO UNIVERSITYNS法は主問題の頂点を辿りつつ相補的な双対解を探すネットワークシンプレックス法の基本アイデア:主問題の実行可能解 P と P に付随する使用木 T の組 (P, T) を変化させていって T と相補的な双対実行可能解 (f, g) を見つけるつまり主問題の実行可能領域の頂点を辿っていって
  • 100.100 / 270 KYOTO UNIVERSITYまず初期頂点解を見つけるステップ 1: 何でもよいので頂点解を見つけるNorth west corner rule というアルゴリズムで見つけられる:倉庫 1 から、工場 1 に目一杯渡し、工場 2 に目一杯渡し ... を繰り返し、全部尽きた時点で今度は尽きた場所の工場からはじめて倉庫 2 から目一杯貰い、倉庫 3 から目一杯貰い ... を繰り返し、全部満たされた時点で今度は満たされた場所の倉庫からはじめて次の工場に目一杯渡し、その次の工場に目一杯渡し... を繰り返す詳しくは次のスライドからはじまるアニメーションを参照
  • 101.101 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.10.10.60.10.3まずは工場 1 から
  • 102.102 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.10.10.60.10.30.1 まで受け入れ可
  • 103.103 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.10.00.60.10.20.1-0.1目一杯輸送する
  • 104.104 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.10.00.60.10.20.1
  • 105.105 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.00.00.60.10.10.10.1-0.1
  • 106.106 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.50.00.00.60.10.10.10.10.5 まで受け入れ可0.1 まで輸送可
  • 107.107 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.40.00.00.60.10.00.10.10.1全部輸送まだ余裕あり
  • 108.108 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.40.00.00.60.10.00.10.10.1 次はこちら側を中心に考える
  • 109.109 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.30.00.00.60.00.00.10.10.10.1
  • 110.110 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.30.00.00.60.00.00.10.10.10.1
  • 111.111 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.00.00.00.30.00.00.10.10.10.10.3容量を全部使い果たした次はこちら側を中心に考える
  • 112.112 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.20.00.00.00.30.00.00.10.10.10.10.3
  • 113.113 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.00.00.00.00.10.00.00.10.10.10.10.30.2-0.2
  • 114.114 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.10.00.00.00.00.10.00.00.10.10.10.10.30.2
  • 115.115 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例:0.00.00.00.00.00.00.00.00.10.10.10.10.30.20.1∑ ai= ∑ bjの仮定より必ず最後は辻褄があう
  • 116.116 / 270 KYOTO UNIVERSITY頂点解の見つけ方: 例例: 頂点解とそれに付随する木が見つかったこれが探索の初期解0.10.20.50.10.10.60.10.30.10.10.10.10.30.20.1
  • 117.117 / 270 KYOTO UNIVERSITY付随する双対解が実行可能なら終了、不能なら次へ ステップ 2: 今の木に付随する f1= 0 な双対解 (f, g) を計算するもしこれが実行可能ならば最適解なのでこれで終了 実行可能でないなら fi*+ gj*> Ci*j*なる違反 (i*, j*) が存在する 木辺上では fi+ gj= Cijとなっているので (i*, j*) は木の辺でない(i*, j*) 上で双対問題の制約を満たすようにしたいステップ 3: 次に試す木は今の木とほとんど同じだが、(i*, j*) を使用グラフの辺に含めることで fi*+ gj*= Ci*j*が満たされるようにするどうすればそのような (P, T) の組を見つけられるか木に付随する双対解は芋づる式に計算できる
  • 118.118 / 270 KYOTO UNIVERSITY含めたい辺を木に含めるにはどうしたらよいか(i*, j*) を T に含めるすると T には閉路が一つできる倉庫 → 工場の辺 (i*, j*) からはじめて、工場 → 倉庫の辺、倉庫 → 工場の辺、... と一周まわるまで辿る 偶数番目の辺(工場 → 倉庫の辺)に相当する Pijのうち最小値を p とおき添字を (i’, j’) とする 偶数番目の辺に相当する Pijを一律 p 減らし、奇数番目の辺に相当する Pijを一律 p 増やすそして (i’, j’) を T から削る → T が木になるp一番輸送が少ない辺(i*, j*)
  • 119.119 / 270 KYOTO UNIVERSITYネットワークシンプレックスの更新の仕方p一番輸送が少ない辺(i*, j*)これを
  • 120.120 / 270 KYOTO UNIVERSITYネットワークシンプレックスの更新の仕方0+pこうこうしてできた P は実行可能で T を使用グラフとしてもつ、なぜか?+p+p-p-p-p
  • 121.121 / 270 KYOTO UNIVERSITY新しい木と解のペアも頂点に対応している実行可能性:閉路の中で一番輸送量が少ない箇所と同じぶんだけ減らしたのでPijは非負のまま閉路の偶数番目と奇数番目を同じ分だけ増減させたので余りなし制約、不足なし制約は依然満たされている付随性:除かれた辺 (i’, j’) はもともとの輸送量 p だけ輸送量が減らされたので変化後は輸送量ゼロになっており大丈夫Gabriel Peyré, Marco Cuturi. Computational Optimal Transport. 2019.
  • 122.122 / 270 KYOTO UNIVERSITYNS法は違反辺を反復的に修正していくあとは新しく求めた解と木を使ってまた相補的な双対解を見つけ、実行可能であれば停止、実行可能でないなら違反辺を修正することを繰り返す初期解違反辺実行可能 = 最適解次の頂点
  • 123.123 / 270 KYOTO UNIVERSITYNS法のステップで目的関数は広義単調減少単調性:この操作で主問題の目的関数は広義単調に減少していく証明:(i*, j*) を含めたときにできた閉路を (i*, j*) からはじめて、辿ったノードを順番に並べる: i1= i*, j1= j*, i2, j2, ..., il, jl, il+1= i*木上では fi+ gj= Cijが成り立っていることに注意すると、(奇数番目の辺のコスト合計)- (偶数番目の辺のコスト合計)=この量 × p (≧ 0) だけ目的関数が減るほとんど全てのfiと gj がキャンセル(i*, j*) は違反辺p一番輸送が少ない辺(i*, j*)i1i2i3j1j2j3
  • 124.124 / 270 KYOTO UNIVERSITY改善する方向に頂点を辿っていくのでシンプレックス法木は頂点解に対応する辺を一つ削除して別の辺を追加した木は隣接頂点となるつまり、ネットワークシンプレックス法は目的関数が悪化しない方向に隣接する頂点を辿っていくこれがシンプレックス法という名前の由来頂点を移動したとき目的関数が変化しないこともある追加する辺を適当に選び続けると同じ解をぐるぐる回る可能性があるこれは通常のシンプレックス法と同様無限ループを避けるうまいピポット選択(カニンガムのルール)が必要「組合せ最適化」 9.6 章 ネットワーク単体法や「グラフ・ネットワーク・組合せ論」 2.3.2 章などを参照
  • 125.125 / 270 KYOTO UNIVERSITYNS法は最悪計算量は悪いが実際は高速ピボット選択をうまくしてもネットワークシンプレックス法の最悪計算量は多項式時間で抑えられないこれは通常のシンプレックス法と同様ネットワークシンプレックス法は多くのインスタンスについて非常に高速これも通常のシンプレックス法と同様ネットワークシンプレックス法は頂点の性質をうまく使って高速に頂点を辿れるので通常のシンプレックス法よりもさらに高速インスタンスに特殊な性質(例えば低次元性)がないかつ CPU 上で解くのであればだいたい最速例えばグラフアルゴリズムライブラリ Lemon や networkx最適輸送ライブラリ POT で使える多項式で抑えられる変種もある
  • 126.126 / 270 KYOTO UNIVERSITYNS法は主問題を解いた。次からは双対問題を紹介ネットワークシンプレックス法は主問題の解を実行可能領域内で辿りつつ、主問題の目的関数を減少させていくそして相補的な双対問題が実行可能になれば終了以上の点でネットワークシンプレックス法は主問題のアルゴリズム以降は双対問題を更に掘り下げ、双対問題を直接解いていくアルゴリズムを紹介する
  • 127.127 / 270 KYOTO UNIVERSITYこの章のゴールの確認最適輸送問題において多面体の頂点が表している解を知る使用グラフが木であるときかつそのときのみ頂点にある多面体の頂点を効率よく辿る方法を知る違反している双対問題の制約を見つけ、その辺が使用グラフに含まれるように変更すると「より良い」頂点に移ったことになる
  • 128.128 / 270 KYOTO UNIVERSITY双対問題についてこの講演のこれからの主役になる双対問題のさまざまなトピックをオムニバス的に紹介する
  • 129.129 / 270 KYOTO UNIVERSITY最適輸送の双対問題(再再掲)物流会社の売上利益を最大化したい工場会社が明らかに損しない
  • 130.130 / 270 KYOTO UNIVERSITYこの章のゴール双対問題の最適解が表しているものを理解する双対問題の四つの変種を知る双対問題の物理的イメージを知るC-transform を知る
  • 131.131 / 270 KYOTO UNIVERSITY双対問題の話題1: 感度分析
  • 132.132 / 270 KYOTO UNIVERSITY双対問題の最適解は各制約の感度を表すまず、通常の線形計画と同様に、双対問題は感度分析を提供する主問題の制約に対応する双対変数の最適解はその制約が少し大きくなった時に最適解がどれほど大きくなるかを表しているたとえば、(f*, g*) を双対問題の最適解とすると i 番目の倉庫に入っている小麦粉の量が ε 増えたときに ε f*iくらい輸送コストが増え、j 番目の工場が要求する小麦粉の量が ε 増えたときに ε g*jくらい輸送コストが増えることを表す直感的には、ちょっとくらい小麦粉の量が変わっても双対問題の解は微小しか変わらない。簡単化して解が同じだとすると、双対問題の目的関数は aiが ε 増えると f*iだけ増える
  • 133.133 / 270 KYOTO UNIVERSITY例: 僻地にある倉庫では足元見られて処分代が高くなる例: C 1 2 31 100 100 1002 1 1 13 1 1 1コスト大f1+ gi≦ C1j= 100f1大大きくできる= 流通業者は足元を見ることができる= ちょっとでも小麦粉が増えるとコスト激増こちらは他の制約 f2+ gj≦ C2j= 1があるので大きくできない
  • 134.134 / 270 KYOTO UNIVERSITY双対問題の話題2: 変数設定
  • 135.135 / 270 KYOTO UNIVERSITY双対変数は負号を付けて処分額を販売額にしてよい 問: gjの「小麦粉の販売額」は分かるが fiの「小麦粉の処分額」は不自然では?普通小麦粉の処分にお金を払わないだろ。倉庫では小麦粉を周りに売って、工場では小麦粉を周りから買う方が問題として自然では? 答: fiは負の値も取る。 -fi円で小麦粉を売っていると考えられる。 f’i= -fiと変数変換して、流通業者が f’i円で小麦粉を買い取るとしてもよい。このとき、流通業者の利益はこれを最大化したい仕入れ経費売上
  • 136.136 / 270 KYOTO UNIVERSITY負号の付け方で様々な等価な双対問題が考えられる(1) f: 倉庫での処分コスト, g: 工場での購入コスト (2) f’: 倉庫での下取り利益, g: 工場での購入コスト(3) f: 倉庫での処分コスト, g’: 工場での引取利益 (4) f’: 倉庫での下取り利益, g’: 工場での引取利益全て等価(最適値は同じ、最適解も簡単に変換できる)なので一番イメージしやすいものを念頭に置くのが良い式としては (1) と (3) がこのスライドでも文献でもよく登場する
  • 137.137 / 270 KYOTO UNIVERSITY双対問題の話題3: 双対問題の物理的イメージ
  • 138.138 / 270 KYOTO UNIVERSITY双対問題を別の見方で解釈しなおす一旦、工場会社や流通業者といった例えは忘れて、双対問題を純粋な目で最適化問題としてみる前スライドの 3 番目の定式化を使う
  • 139.139 / 270 KYOTO UNIVERSITY大小を上下と思うと f は上に g’ は下に最適化する各変数について、値が大きいほど「上」、小さいほど「下」にあるというイメージを持ってみる ai> 0, bj> 0 より、fiは上にあればあるほど、g’jは下にあればあるほどよい fiを 1 センチ上に上げると aiポイント貰えるg’jを 1 センチ下に下げると bjポイント貰える
  • 140.140 / 270 KYOTO UNIVERSITYfiと gjのペアを Cij以上離しすぎると制約違反 ただし、全く自由に fiと g’jを動かせる訳ではないfig’j< CijOKfiOKfig’j= CijOKfig’j> CijNG1 つでもこういう組ができるとアウト
  • 141.141 / 270 KYOTO UNIVERSITY双対問題は紐が付いたボールを上下に引っ張るイメージ双対問題の物理的イメージ:f に対応する赤玉 n 個と g’ に対応する青玉 m 個を用意するfiに対応する赤玉と g’jに対応する青玉の間に長さ Cijの紐を張る合計 nm 本の紐がある紐が切れないように赤玉を上に引っ張り、青玉を下に引っ張りできるだけポイントを稼ぎたいfiを 1 センチ上に上げると aiポイント貰えるg’jを 1 センチ下に下げると bjポイント貰える相補性より「紐がピンと張っている組」の間に輸送が生じるfig’j> Cijfig’ が上にある場合はセーフなので正確には g’ が上にある限りは切れない魔法の紐を考えるg’ は下に引っ張るのでこういうケースは起きづらいOK
  • 142.142 / 270 KYOTO UNIVERSITY双対問題の話題4: C-transform
  • 143.143 / 270 KYOTO UNIVERSITYC-transform は f を固定して g’ を下に下げる変換ここでも 3 番目の定式化 (f, g’) の最適化を考えるC-transform は今手元にある双対問題の解 (f, g’) からより良い新しい解を生成する方法イメージとしては、f に対応する赤玉を完全に固定してしまって、糸が弛んでる g’ に対応する青玉をできるだけ下に引っ張る赤玉を固定すると青玉どうしは干渉しあわないので並列に引っ張っても(どの順番引っ張っても)結果は同じ赤玉が下に動くだけなので、目的関数は改善される(か変わらない)
  • 144.144 / 270 KYOTO UNIVERSITYC変換は簡単に計算でき、制約は守られる双対問題の解 f について f の C-transform fC∈ Rm は fiと繋がっている紐は fi- Cijまで下げられるどれか一つでも切れるとアウトなので、一番保守的な制約を採用するfCは g’ 側の変数を表していることに注意。(f, fC) が新たな解になる。明らかに (f, fC) は実行可能証明:
  • 145.145 / 270 KYOTO UNIVERSITYC変換はベストな相方を見つける(f, g’) が実行可能解のとき (f, fC) の目的関数値の方が悪くない証明:つまり、(f, fC) は (f, *) という形の実行可能解の中でベストな解実は、双対問題は f, g’ の両方を自由変数する必要はなく、f を探索空間として、その都度ベストな g’ を C-transform で計算しその時の値を目的関数とすればよいが、実際は f, g’ の両方を自由変数とした方が簡単な場合も多いg’ の実行可能性より g’j≧ fi- Cij
  • 146.146 / 270 KYOTO UNIVERSITYC-transform は g’ を固定して f を上に上げる変換逆に g’ 側を固定して f を上に引っ張る変換も考えられるこれを C-transform というやはり (g’C, g’) は実行可能であり (*, g’) の形の解の中でベスト
  • 147.147 / 270 KYOTO UNIVERSITY交互に変換する戦略は失敗する適当な f からはじめて、(f, fC) → (fCC, fC) → (fCC, fCCC) → ...と交互にベストな相方を見つけていって解を改善していくアルゴリズムが考えられるがこれは上手くいかないなぜなら、fC= fCCCとなりわずか 2 ステップで更新はストップ直感的には、fCは f に対応できる一番下であるのに f よりもいくつかのfiが上に動いた fCCを相手にしては fCからさらに下に動くことは不可能しかも (fCC, fC) が双対問題の最適解とは限らないC-transform をソフトにして交互に最適解まで変換できるようにした(と見ることができる)のが後で紹介する Sinkhorn 法
  • 148.148 / 270 KYOTO UNIVERSITYこの章のゴールの確認双対問題の最適解が表しているものを理解する各小麦粉の量を増やした時に増えるコストの感度を表している双対問題の四つの変種を知る変数の符号によって計四種類正負の異なる定式化がある双対問題の物理的イメージを知る変数をボールに、制約を糸に例えると f を上にひっぱり g を下にひっぱるようなイメージC-transform を知る片方の変数を固定した時にもう片方を最大限引っ張る操作これにより解が良くなる(悪くならない)
  • 149.149 / 270 KYOTO UNIVERSITYアルゴリズムその2: ハンガリアン法
  • 150.150 / 270 KYOTO UNIVERSITYハンガリアン法は一対一の割り当て問題によく使われるその2: ハンガリアン法は線形計画の双対を解くユースケースは限られるが、一対一の割当問題を解くためにはよく使われている長所 : CPU 上だと早いシンプルに実装できる短所 : 一対一マッチングにしか使えない(対応するように拡張はできる)応募者 仕事
  • 151.151 / 270 KYOTO UNIVERSITYこの章のゴール最適輸送の特殊ケースである割当問題を知る割当問題を解くハンガリアン法を理解する
  • 152.152 / 270 KYOTO UNIVERSITY倉庫と工場を一対一に対応させる割当問題を考えるこの章では特殊だが重要な例、割当問題、のみを考える 具体的には n = m, a1= ... = an, b1= ... = bmを仮定する倉庫と工場が n 個ずつあり、一対一に対応させる倉庫 i と工場 j を対応させるのはコスト Cijかかる最小の合計コストは?同数・同量なのでn, a, b が入力から消えた問題がシンプルになった
  • 153.153 / 270 KYOTO UNIVERSITY割当問題はさまざまな応用がある問題を単純化したが、輸送問題以外にも応用先は多い例えば機械学習ではクラスタリングの精度を計るのに使うクラスタ 1クラスタ 2クラスタ 3クラス Aクラス Bクラス CC1B= 4:クラスタ 1 がクラス B を表しているとしたときの誤分類の個数クラスタリングアルゴリズムはサンプルをまとめるだけで何のクラスを表しているかは出力しないので精度をはかるためには対応関係を明らかにする必要がある最適割当はベストシナリオでの精度に対応する
  • 154.154 / 270 KYOTO UNIVERSITYハンガリアン法が割り当て問題の最も有名なアルゴリズム割当問題を解く最も有名なアルゴリズムはハンガリアン法古典的なアルゴリズムだが今でも色んな場面で頻繁に使われるObject-Centric Learning with Slot Attention (NeurIPS 2020)集合予測の問題において出力順番が不同なのでハンガリアン法でマッチングOn Testing for Biases in Peer Review (NeurIPS 2019)査読論文割当システムにハンガリアン法を使うPartially View-aligned Clustering (NeurIPS 2020)複数ビューのクラスタの対応にハンガリアン法を使う(提案手法はこれの改良版)
  • 155.155 / 270 KYOTO UNIVERSITY割当問題の定式化主問題 双対問題今回は ai= 1 としておくai= 1/n としても等価といった解も実行可能だが、一対一対応を表す順列行列が最適値を取り、ハンガリアン法もそのような解を見つける問題の入力: 割り当てコスト行列 C ∈ Rn×m 最適輸送では入力であったa, b は今回定数
  • 156.156 / 270 KYOTO UNIVERSITYハンガリアン法は双対変数を最適化していくハンガリアン法は双対変数を実行可能領域に収めながら実行可能でない主問題の相補的な解を実行可能に近づけていく↔ ネットワークシンプレックス法は主変数は実行可能に収めながら実行可能でない双対問題の相補解を実行可能に近づけていくハンガリアン法のループ中、常に成り立つ条件:(1) は実行可能(2) ならば はタイト ( )(3)(4)(1), (2) より P が実行可能になれば直ちに最適解 Pij= 1 となっているとき (i, j) がマッチしているという
  • 157.157 / 270 KYOTO UNIVERSITYハンガリアン法は順番にマッチする相手を決めていく まず fi= 0, g’j=0, Pij= 0 と初期化するi = 1, 2, ..., n と順番にマッチする相手を決めていくノード i から、左から右へのタイトな辺と右から左のマッチしている辺だけを辿ってたどり着くノード集合を X とするX の状態によって二種類に場合分け(a) 未マッチな右側の頂点が X に含まれる場合(b) 未マッチな右側の頂点が X に含まれない場合
  • 158.158 / 270 KYOTO UNIVERSITYハンガリアン法の場合分け 1(a) 未マッチな右側の頂点が X に含まれる場合このパスの辺は全てタイトである。このパスの Pijを全て反転させる双対変数は変化せず以下は全て満たされたまま(2) ならば はタイト(3)(4)i がこれによりマッチするので i ← i+1 として次のイテレーションへi1= i j1未 済i2j2未 済i3j3未i1= i j1済 未i2j2済 未i3j3済
  • 159.159 / 270 KYOTO UNIVERSITYハンガリアン法の場合分け 2(b) 未マッチな右側の頂点が X に含まれない場合X に含まれる左側のノード i から X に含まれない右側のノード j への余裕度 Cij- (fi- gj) が一番小さい値を ε > 0 とするX に含まれるノードに対応する双対変数を全て ε だけ増加させる i, j が両方 X に含まれる or 両方含まれないときは fi- g’j変化なしj だけ X に含まれるなら Pij= 0 かつ fi- g’jは減る方向に変化i だけ X に含まれるなら fi- g’jは増えるが ε のとり方より制約は守るこの変化により余裕度が一番小さかった辺がタイトになったその辺を含めてもう一度 X を計算しなおす(前々スライドへ)
  • 160.160 / 270 KYOTO UNIVERSITYハンガリアン法: 例00000000例:C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 161.161 / 270 KYOTO UNIVERSITYハンガリアン法: 例00000000例: i = 1 まずはこのノードの相手を探すC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 162.162 / 270 KYOTO UNIVERSITYハンガリアン法: 例00000000例: X: 未マッチ右ノードなし → ケース (b) へC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 163.163 / 270 KYOTO UNIVERSITYハンガリアン法: 例00000000例: ケース (b)Cij- fi+ gj= 30最も余裕なしC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 164.164 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例: ケース (b)タイトに+30C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 165.165 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例: X: 未マッチ右ノードあり → ケース (a) へ未C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 166.166 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例: ケース (a)マッチ C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 167.167 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例:i = 2次はこのノードの相手を探すC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 168.168 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例: X: 未マッチ右ノードなし → ケース (b) へC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 169.169 / 270 KYOTO UNIVERSITYハンガリアン法: 例000000030例: ケース (b)Cij- fi+ gj= 20C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 170.170 / 270 KYOTO UNIVERSITYハンガリアン法: 例0000002030例: ケース (b)タイトに+20C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 171.171 / 270 KYOTO UNIVERSITYハンガリアン法: 例0000002030例: X: 未マッチ右ノードなし → ケース (b) へC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 172.172 / 270 KYOTO UNIVERSITYハンガリアン法: 例0000002030例: ケース (b)余裕= 10C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 173.173 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040例: ケース (b)タイトに+10+10+10 C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 174.174 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040例: X: 未マッチ右ノードあり → ケース (a) へC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60未
  • 175.175 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040例: ケース (a)反転反転反転C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 176.176 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040例:i = 3次はこのノードの相手を探すC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 177.177 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040例: X: 未マッチ右ノードなし → ケース (b) へC 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60
  • 178.178 / 270 KYOTO UNIVERSITYハンガリアン法: 例00010003040C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)余裕= 30
  • 179.179 / 270 KYOTO UNIVERSITYハンガリアン法: 例000100303040C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)+30タイトに
  • 180.180 / 270 KYOTO UNIVERSITYハンガリアン法: 例000100303040C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: X: 未マッチ右ノードなし → ケース (b) へ
  • 181.181 / 270 KYOTO UNIVERSITYハンガリアン法: 例000100303040C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)余裕= 10
  • 182.182 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)+10+10+10+10+10タイトに
  • 183.183 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: X: 未マッチ右ノードあり → ケース (a) へ未
  • 184.184 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (a)反転
  • 185.185 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例:i = 4最後はこのノード
  • 186.186 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: X: 未マッチ右ノードなし → ケース (b) へ
  • 187.187 / 270 KYOTO UNIVERSITYハンガリアン法: 例0100200404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)余裕= 20
  • 188.188 / 270 KYOTO UNIVERSITYハンガリアン法: 例01002020404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)+20 タイトに
  • 189.189 / 270 KYOTO UNIVERSITYハンガリアン法: 例01002020404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: X: 未マッチ右ノードなし → ケース (b) へこの辺は使えない
  • 190.190 / 270 KYOTO UNIVERSITYハンガリアン法: 例01002020404050C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)
  • 191.191 / 270 KYOTO UNIVERSITYハンガリアン法: 例02003030405060C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (b)+10+10+10+10+10タイトにルーズに
  • 192.192 / 270 KYOTO UNIVERSITYハンガリアン法: 例02003030405060C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: X: 未マッチ右ノードあり → ケース (a) へ未
  • 193.193 / 270 KYOTO UNIVERSITYハンガリアン法: 例02003030405060C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ケース (a)反転反転反転反転反転
  • 194.194 / 270 KYOTO UNIVERSITYハンガリアン法: 例02003030405060C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: 主・双対最適解が求まった
  • 195.195 / 270 KYOTO UNIVERSITYハンガリアン法は最悪ケース三乗時間(b) が起こるたびに X に含まれる右ノードが 1 つは増えていくのでn 回 (b) が起こるまでには未マッチ右ノードに到達できるようになる(a) が起こるとマッチ組は 1 組増える最悪ケースでも n2ステップ以内に最適解を見つけて停止できる(a), (b) を効率よく実装すれば最悪計算量 O(n3) 時間で解けるちゃんと効率良く実装するのはそれなりに難しいたとえば古いバージョンの scipy などで実装されている今は同じ関数でも違うアルゴリズムが使われている
  • 196.196 / 270 KYOTO UNIVERSITYハンガリアン法は一般の最適輸送にも拡張できる今回は簡単のため割り当て問題を考えたが、同様のアルゴリズムは一般の最適輸送問題にも適用できるたとえば最短パス反復アルゴリズム、主双対アルゴリズム「組合せ最適化」 9.4 章 最短パス反復アルゴリズム「グラフ・ネットワーク・組合せ論」 2.3.2 章など参照
  • 197.197 / 270 KYOTO UNIVERSITYこの章のゴールの確認最適輸送の特殊ケースである割当問題を知るa と b が全て同じな一対一を求める問題を割当問題というクラスタリングの評価などに使える割当問題を解くハンガリアン法を理解する実行可能な双対解を動かしながら相補的な主解を一つずつマッチさせて実行可能にしていく
  • 198.198 / 270 KYOTO UNIVERSITYアルゴリズムその3: Sinkhorn アルゴリズム
  • 199.199 / 270 KYOTO UNIVERSITYSinkhorn は微分可能で GPU フレンドリーその3: Sinkhorn アルゴリズムは目的関数に正則化を加え、行列演算で最適輸送を解くアルゴリズムSinkhorn が [Cuturi+ 2013] で紹介されたことで機械学習界隈で最適輸送が使われるようになるキッカケになった長所 :コストに関して微分可能GPU 上だと早い複数の最適輸送を並列に解ける最適解が唯一に定まる短所 : 厳密な最適輸送の解ではないオーバーフローや解の丸めに気をつける必要ありMarco Cuturi. Sinkhorn Distances: Lightspeed Computation of Optimal Transport. NeurIPS 2013.Gabriel Peyré, Marco Cuturi. Computational Optimal Transport. 2019.
  • 200.200 / 270 KYOTO UNIVERSITYこの章のゴールエントロピー正則化最適輸送の定義と嬉しさを知るSinkhorn アルゴリズムの動作と嬉しさを知る
  • 201.201 / 270 KYOTO UNIVERSITYエントロピー正則化つき最適輸送問題を考えるこの章では以下のエントロピー正則化つき最適輸送問題を考えるただし ε > 0 は正則化係数、H(P) は以下のエントロピー関数エントロピー
  • 202.202 / 270 KYOTO UNIVERSITYエントロピー正則化つき問題はより簡単に解けるつまり、輸送コストを下げつつ、エントロピーが大きい解を求めるε を十分小さく取ると、輸送コストを下げるの項が支配的になり元の最適輸送問題とほぼ同じこのときエントロピーは解のタイブレークに使われるこれまでは輸送行列 P がスパースな解を求めてきたが、エントロピー正則化つき問題では最適値が P が密行列になる目的関数が線形でなくなり、解も密になるので難しい問題になってそうだが、実はエントロピー正則化つき問題はより簡単に解ける
  • 203.203 / 270 KYOTO UNIVERSITYエントロピー正則化つき問題の最適解は一意嬉しさ1 : エントロピー正則化つき問題の目的関数は強凸制約が線形制約だけということは実行可能領域は凸なので最適解は一意に定まる↔ 線形計画は面全体で最適をとることがあり、一意に定まらない線形 エントロピーは強凹→ 全体で強凸
  • 204.204 / 270 KYOTO UNIVERSITYエントロピー正則化つき問題はコストについて微分可能嬉しさ2 : コストに対して微分可能正則化なしの問題では解がスパースであり、たとえば遠くの全然関係ない倉庫と工場のコストを少し下げたところで最適解には全く影響を与えず、有用な勾配情報が得られなかったエントロピー正則化つきでは、遠くの組であっても最適値で少量は輸送が生じるので、遠くの組のコストの感度がわかるこれにより、ランダムなコストからはじめて、最適輸送を解く → 勾配を見て最適値が下がるようにコスト更新→ 最適輸送を解く → コスト更新 → ...というように良いコストの設計を最適化できるもちろん制約がないと全コスト 0 が最適なので、コストに制約は入れる
  • 205.205 / 270 KYOTO UNIVERSITY双対問題を考える。まずはラグランジュ乗数を導入エントロピー正則化つき問題でも双対を考えるラグランジュ乗数 f, g を導入するとラグランジュ関数は以下になるこれを Pijについて微分するとイコールゼロとおくと L が最小となる P は以下の通りPij≧ 0 についての乗数はあとでどうせ消えるので省略
  • 206.206 / 270 KYOTO UNIVERSITY双対問題は正則化なし版の制約をソフトにしたもの前ページの最適 P*をラグランジュ関数に代入すると双対問題はエントロピー正則化つき最適輸送の双対問題は制約なし最大化問題 より最終項は fi+ gj≦ Cijのソフト版ε → 0 で厳密制約になる正則化なしと同じ ソフト版双対制約嬉しい
  • 207.207 / 270 KYOTO UNIVERSITY双対問題の目的関数の勾配は f 内 g 内で絡みなし双対問題の目的関数を D をおくD の f と g についての勾配は以下の通り fiの勾配の中に fk(k ≠ i), gjの勾配の中に gk(k ≠ j) は出てこない嬉しい
  • 208.208 / 270 KYOTO UNIVERSITYf ごと、g ごとに最適値が厳密に求まるSinkhorn アルゴリズムの基本的な考えは座標向上法f を固定したときの g の最適値は勾配イコールゼロとおいてg を固定したときの f の最適値も同様にSinkhorn アルゴリズムは f 固定での g の厳密最適化 →g 固定での f の厳密最適化を交互に繰り返す
  • 209.209 / 270 KYOTO UNIVERSITYSinkhorn は f と g を交互に最適化する対数領域での Sinkhorn アルゴリズムステップ 1: f(1)を適当に初期化(例えばゼロベクトル), t = 1 にステップ 2:ステップ 3:ステップ 4: f と g が収束するまで t ← t + 1 でステップ 2 へ目的関数が微分可能で各ステップ唯一解なので大域最適に収束
  • 210.210 / 270 KYOTO UNIVERSITYSinkhorn はソフト版 C-transformf と g の一方を固定してもう一方を最適化するのは C-transform に似ている 一般に x1, ..., xn∈ R について log sum exp はSinkhorn のイテレーションはソフト版 C-transform と考えられる交互 C-transform は大域収束しなかったがSinkhorn は強凸 + 制約なしより大域収束fi- Cijが一番大きい= Cij- fiが一番小さい= 一番制約が厳しいほぼ max 関数ε → 0 で厳密にC-transform
  • 211.211 / 270 KYOTO UNIVERSITY指数関数を使って変数変換するとシンプルに書ける先程のイテレーションでは log や exp がたくさん出てくると変数変換するとシンプルに
  • 212.212 / 270 KYOTO UNIVERSITYギブスカーネルの定義さらに K ∈ Rn×mを以下で定めるK をギブス (Gibbs) カーネルというi と j の類似度を表している例えば C がユークリッド距離の自乗のときガウスカーネルになるコストに負号 → 類似度exp は単調Sinkhorn のココに登場
  • 213.213 / 270 KYOTO UNIVERSITYSinkhorn のイテレーションは行列積でかけるギブスカーネル行列を使うとさらにシンプルにただし KTは転置行列、割り算は要素ごと、分母は行列ベクトル積非常に単純に実装できる行列ベクトル積がメインなので GPU で高速計算可能ふつう Sinkhorn というとこの形の更新アルゴリズムを指す
  • 214.214 / 270 KYOTO UNIVERSITYSinkhorn 変数から元の変数への戻し方Sinkhorn により (u, v) が求まると、変数変換の式より元の双対変数は主問題の変数はラグランジュ関数から双対関数を求めた式よりf, g が完璧に収束しない限り、求めた Pijは厳密には実行可能とは限らないことに注意 この Pijから違反分をいい感じに分配して実行可能解を計算するアルゴリズムも提案されている [Altschuler+ 2017]Jason Altschuler, Jonathan Weed, Philippe Rigollet. Near-linear time approximation algorithms foroptimal transport via Sinkhorn iteration. NeurIPS 2017.
  • 215.215 / 270 KYOTO UNIVERSITYSinkhorn は正則化が小さいとき数値的に不安定注意:変数変換により計算を指数領域で行っている特に、ε が小さいとこれらの値は非常に大きくなり、オーバーフローを起こす可能性がある数値的に不安定な時は、log sum exp などの計算の分遅いが対数領域で計算を行う必要がある
  • 216.216 / 270 KYOTO UNIVERSITYSinkhorn アルゴリズム: 例C 1 2 3 41 30 80 40 902 20 50 90 803 80 70 30 404 70 50 10 60例: ハンガリアン法で使った同じ例を使う以下はハンガリアン法で求めた最適解
  • 217.217 / 270 KYOTO UNIVERSITYSinkhorn アルゴリズム: 例例: 入力を入れてもわずか 25 行メインロジックはわずか 3 行マッチングの可視化1 -- 12 -- 23 -- 44 -- 3となりほぼ正則化なしと同じ正則化のため他のマスも少し正の値をとる
  • 218.218 / 270 KYOTO UNIVERSITY微分の使いどころ: 配置問題微分の使いどころの例:あなたは工場会社の社長で m 個の工場を持っているj 番目の工場の位置は (xj, yj) で小麦粉を bj要求するn 個の倉庫を建設する。i 番目の倉庫は小麦粉を ai保存できる小麦粉を 1 グラム 1 メートル輸送するのに 1 円かかる倉庫をどこに建設すればよい?解き方:(1) 倉庫の位置変数をランダムに初期化(2) Cij= 倉庫 i と工場 j の距離として計算(3) Sinkhorn に (a, b, C) を入力して解いて総輸送コストを評価(4) 倉庫の位置変数の勾配を求めて倉庫の位置を改善 → (2) へ???どこに置く?
  • 219.219 / 270 KYOTO UNIVERSITY最新の手法でも配置問題に Sinkhorn が使われるこの問題はクラスタリングと見ることもできる [Cuturi+ ICML 2014]工場がサンプル点で、倉庫がクラスタ中心クラスタが含むサンプル数(倉庫に入る小麦粉)は決まっているこの発想から、クラスタリングの際に Sinkhorn 法を使う手法が最新の機械学習でも使われている [Caron+ NeurIPS 2020]Marco Cuturi, Arnaud Doucet. Fast Computation of Wasserstein Barycenters. ICML 2014.Mathilde Caron, Ishan Misra, Julien Mairal, Priya Goyal, Piotr Bojanowski, Armand Joulin. UnsupervisedLearning of Visual Features by Contrasting Cluster Assignments. NeurIPS 2020.クラスタ中心
  • 220.220 / 270 KYOTO UNIVERSITY最新の手法でも公平予測問題に Sinkhorn が使われる他にも、二つの集合の距離を近づけるための微分可ロスとして使われる例えば、公平性の担保のため、男性についての予測と女性についての予測分布が同じようにしたい予測誤差 + 赤と青の最適輸送距離を最小化 [Oneto+ NeurIPS 2020]Luca Oneto, Michele Donini, Giulia Luise, Carlo Ciliberto, Andreas Maurer, Massimiliano Pontil. ExploitingMMD and Sinkhorn Divergences for Fair and Transferable Representation Learning. NeurIPS 2020.ニューラルネットワーク入力d 次元ベクトルが出てくるRd予測器出力各丸は各サンプルの埋め込み赤: 女性サンプル青: 男性サンプル
  • 221.221 / 270 KYOTO UNIVERSITYこの章のゴールの確認エントロピー正則化最適輸送の定義と嬉しさを知る「ぼやけた」輸送プランを好むように負のエントロピーがペナルティとして加わるこれにより最適解が一意になり微分可能になるSinkhorn アルゴリズムの動作と嬉しさを知る双対問題の f と g を交互に最適化f と g を変数変換することでより簡単な式で書けるようにする実装が簡単かつ GPU で高速に計算できるようになる
  • 222.222 / 270 KYOTO UNIVERSITYアルゴリズムその4: ニューラルネットワークによる推定
  • 223.223 / 270 KYOTO UNIVERSITYニューラルネットワークによる推定は GAN の基本技術その4: ニューラルネットワークによる推定は双対問題の特殊形をニューラルネットワークの最適化に帰着するWasserstein GAN という名前で GAN(生成モデル)の生成分布とデータ分布の距離をはかるのに使われている長所 : コストについて微分可能分布からのサンプルをミニバッチで繰り返し解くのに向いている短所 : 単一の入力には向いていないコストが距離で定義されていないと使えないTero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen. Progressive Growing of GANs for Improved Quality, Stability, and Variation. ICLR 2018. GAN による顔写真の自動生成
  • 224.224 / 270 KYOTO UNIVERSITYこの章のゴール双対問題を関数の最適化に置き換える視点を知る関数の最適化問題は分類問題と見られることを理解する
  • 225.225 / 270 KYOTO UNIVERSITY三番目の定式化を考えるこの章で考えるのは 3 番目の双対の最適化 (f, g’) を変数にしたものこの章では主問題は考えないf: 回収価格(高くしたい)g’: 引取コスト (低くしたい)3 番目の定式化
  • 226.226 / 270 KYOTO UNIVERSITY倉庫と工場が座標に埋め込まれている場合を考える倉庫・工場が座標を持っていて、輸送コストがその間の距離で定義される場合を考える倉庫 の座標を , 工場 の座標を と表し倉庫 から工場 に 1 グラムの小麦粉を輸送するコストをとする問題の入力:C は x, y から陰に定まるので受け取らない
  • 227.227 / 270 KYOTO UNIVERSITY座標が決まれば双対値は決まる命題 と の関数性:最適解では ならば , ならば証明:が実行可能で だが だと仮定する任意の k に対してなので、 更新しても実行可能で、目的関数は良くなるよって最適解では ならば が成り立つについても同様
  • 228.228 / 270 KYOTO UNIVERSITY関数の最適化問題に置き換える倉庫や工場の座標について双対解の値は位置に定めてしまってよい各倉庫や工場について値を持つのではなく、各座標に値を持つように問題を変える流通企業が各倉庫個別に値段を決めるのではなく、全ての土地で連続的に値段を定めるイメージ位置 x での小麦粉の仕入れ価格・販売価格を定めるベクトルの最適化ではなく関数の最適化実際に取引が発生するのは各倉庫・工場の位置g’ は微分ではなく関数の名前なことに注意
  • 229.229 / 270 KYOTO UNIVERSITY最適解はリプシッツ連続補題 リプシッツ連続性:最適解では が成り立つ証明:が実行可能で とすると更新しても実行可能、なぜならこれにより目的関数は増加するので、最適値ではについても同様に
  • 230.230 / 270 KYOTO UNIVERSITY最適解はでは f と g’ が一致命題 と の一致性:が成り立つ最適解が存在する証明:は 以外の場所、 は以外の場所は値によらず目的値は変わらないので ではと仮定できるにおいて とする制約より よってと更新しても実行可能、なぜなら のリプシッツ性よりを減少させると目的関数は増加するので最適解は とできる
  • 231.231 / 270 KYOTO UNIVERSITY最適化変数を f のみにできるつまり、最適化変数から g’ を取り除くことができ直感的には最適解では小麦の仕入れ価格と販売価格は各地で一致また、制約条件は f がリプシッツであることにほかならないC-transform の説明の時に、実質 f だけを自由変数とできると説明したが、本質的にはそれと同じことを言っているC が距離公理を満たす場合は fCが簡単に表せるy 側でも f を使う
  • 232.232 / 270 KYOTO UNIVERSITY制約をリプシッツであると書く制約をリプシッツ関数と明示的に書き換える以前の制約では全点対についての評価が必要だったが、リプシッツ性は局所的な条件で書ける嬉しい
  • 233.233 / 270 KYOTO UNIVERSITY一般の距離空間でも最適化を f のみにできる発展的注意:今回は簡単のためコストをユークリッド距離としたが、一般に倉庫と工場がある空間 X に埋め込まれ、コストが X 上の距離関数で定義するという拡張が考えられる各点で同じ値を取る(関数性)・リプシッツ性・f と g’ の一致性の証明には距離公理の性質しか使っていないので、一般の距離空間の場合も f: X → R を X 上でのリプシッツ連続関数制約で最適化する問題に帰着できるX をグラフとし、グラフ上の最短経路距離コストを使うケースは頻出
  • 234.234 / 270 KYOTO UNIVERSITYf は滑らかな範囲で x 上で大きく y 上で小さくするあらためて f だけの最適化問題を眺めてみる f は X = {x1, ..., xn} 上で大きければ大きいほどY = {y1, ..., ym} 上で小さければ小さいほどよいただし、f は「滑らか」(リプシッツ連続)でなければならない正正小麦を購入する場所では安く販売する場所では高く設定する
  • 235.235 / 270 KYOTO UNIVERSITY関数最適化のイメージ例: 赤点は倉庫、青点は工場に対応 xiyi背景が赤いほどf の値が大きい背景が青いほどf の値が小さい関数の変化は滑らか
  • 236.236 / 270 KYOTO UNIVERSITY双対問題は 2 クラス分類問題と見ることができる このように見ると、X = {x1, ..., xn} を正例、Y = {y1, ..., ym} を負例としたときの 2 クラス分類問題と見ることができる ai, biはサンプルの重み激しく変化する分類器は制約違反「正則化」としてリプシッツ関数の条件
  • 237.237 / 270 KYOTO UNIVERSITY分類問題をニューラルネットワークに任せる「分類器」 f をニューラルネットワークでモデリングすることを考えるロス関数はシンプルにf が 1-リプシッツ連続であることを課すのは難しいここでは素朴な解決策を 2 つ紹介
  • 238.238 / 270 KYOTO UNIVERSITYパラメータの値を無理やり制限してリプシッツ性を課す解決策 1: weight clipping [Arjovsky+ 2017]訓練の際ニューラルネットワークの各パラメータの絶対値が定数 γ > 0 を越えるたびに絶対値 γ にクリップする(γ:ハイパラ)こうすると、ニューラルネットワーク f の表現できる関数は制限され急激な変化をする関数は表せなくなるγ の設定次第で、何らかの k > 0 について k-リプシッツであることが保証できるk-リプシッツな関数全てを表現できる訳ではないが、ニューラルネットワークの柔軟性よりそれなりに豊富な関数が表現できることが期待できるMartin Arjovsky, Soumith Chintala, Léon Bottou. Wasserstein GAN. ICML 2017
  • 239.239 / 270 KYOTO UNIVERSITY各点での勾配が 1 から離れるとペナルティ解決策 2: gradient penalty [Arjovsky+ 2017]f が微分可のとき各点での勾配のノルムが 1 以下 ↔ 1-リプシッツ色んな点で勾配を評価して 1 から離れていたらペナルティを課すをロスとして最適化Ishaan Gulrajani, Faruk Ahmed, Martín Arjovsky, Vincent Dumoulin, Aaron C. Courville.. ImprovedTraining of Wasserstein GANs. NeurIPS 2017ハイパラ正則化係数色んな訓練サンプル例えば X ∪ Y勾配を 1 に近づける
  • 240.240 / 270 KYOTO UNIVERSITYニューラルネットワークの定式化は GAN に用いられるf をニューラルネットワークで表すと f(x) は x について微分可能→ 最適輸送コストを下げるには x をどう動かせばよいかが分かるニューラルネットワークによる定式化は GAN(生成モデル)の訓練によく用いられる: Wasserstein GAN自然サンプルの集合を X ⊂ Rdとする。例えば画像の集合GAN により、X に似たサンプル集合を生成したいGAN により生成したサンプルの集合を Y ⊂ Rdとし、X と Y の距離を最適輸送コストで測るこれを最小化するように GAN を訓練する
  • 241.241 / 270 KYOTO UNIVERSITYニューラルネットワークの推定は大規模データと相性よし典型的な X は非常に大きい(数百万枚の画像など)生成モデルの生成結果 Y の候補は無限にあるハンガリアン法や Sinkhorn 法では全ての対を一度に解かなければならず、非常に大きいデータには適していない「分類器」 f を分類するという考え方に立てば、X と Y から一部のデータをミニバッチとして取り出し f を徐々に訓練していけばよい→ ニューラルネットワークによる推定は大規模(or 無限)のデータについて解くのと相性がよい
  • 242.242 / 270 KYOTO UNIVERSITYWasserstein GAN: 生成モデル と f の交互訓練1. 生成モデル G: Rr→ Rdをランダムに初期化これはノイズ z ∈ Rrを受け取り画像 G(z) ∈ Rdを返す最適輸送問題を解くニューラルネットワーク f をランダムに初期化 2. G を使って画像 Y = {G(z1), G(z2), ..., G(zm)} を生成3. f が X と Y を分類できるようにミニバッチで訓練してX と Y の(ミニバッチの)最適輸送コストを計算4. f を使った最適輸送コストが小さくなるように G をアップデート5. 2 へ戻る。このとき Y は変化するが f を一から訓練するのではなく、少し G が変わったくらいでは最適な f もほぼ同じなので以前のパラメータから訓練をスタートする(ホットスタート)
  • 243.243 / 270 KYOTO UNIVERSITY深層畳み込みネットワークを使うことでリアルな画像生成Wasserstein GAN の論文や後続の論文では G や f として深層畳み込みニューラルネットワークを使う上は X を顔写真集合として訓練したてできた生成画像非常にリアルな顔写真が生成できている上の画像は段階的学習など別のテクニックも駆使して訓練されているTero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen. Progressive Growing of GANs for ImprovedQuality, Stability, and Variation. ICLR 2018.
  • 244.244 / 270 KYOTO UNIVERSITYこの章のゴール双対問題を関数の最適化に置き換える視点を知る倉庫と工場に座標が付いていてコストが座標から決まる場合は個々の変数を決めるのではなく空間全体の値を関数として求める見方もできる関数の最適化問題は分類問題と見られることを理解する関数を決める問題だと思うと、倉庫点を正例、工場点を負例とする二クラス分類問題と見ることができるこのとき関数はリプシッツ性という滑らかさが正則化として要求される
  • 245.245 / 270 KYOTO UNIVERSITYその5: スライス法
  • 246.246 / 270 KYOTO UNIVERSITYスライス法は簡単かつ高速に計算ができるその5: スライス法は一次元上の最適輸送が簡単に解けることを利用する非常に簡単であることから、とりあえず最適輸送っぽいものを得たいときには有用長所 : 実装が簡単非常に高速短所 : 元の最適輸送問題の良い近似になっているとは限らないhttps://www.programmersought.com/article/67174999352/
  • 247.247 / 270 KYOTO UNIVERSITYこの章のゴール一次元と木の最適輸送問題が簡単に解けることを知る高次元の問題も一次元や木に帰着できることを知る
  • 248.248 / 270 KYOTO UNIVERSITY倉庫と工場が一次元に埋め込まれている場合を考えるこの章では、倉庫と工場が一次元上に埋め込まれている場合を考える主問題を考える 入力: a1, ..., an∈ R, b1, ..., bm∈ R,x1, ..., xn∈ R, y1, ..., ym∈ R輸送コストが座標の差の絶対値Rx1 x2x3y1y2y3
  • 249.249 / 270 KYOTO UNIVERSITY一次元の場合は簡単に解けるこのとき最適輸送問題は非常に簡単に解けるやり方:(1) まだ小麦粉が余っている倉庫のうち一番左にあるものを選ぶ(2) まだ小麦粉を要求している工場のうち一番左にあるものに 目一杯小麦粉を輸送する(3) 以上を全ての輸送が完了するまで行うつまり貪欲法
  • 250.250 / 270 KYOTO UNIVERSITY貪欲法で解ける理由貪欲法でよい理由:左側の赤丸の方が右側の赤丸よりも右の青丸に輸送していたとすると
  • 251.251 / 270 KYOTO UNIVERSITY左からマッチさせた方がコストが低い貪欲法でよい理由:輸送する組を入れ替えた方がコストが下がる
  • 252.252 / 270 KYOTO UNIVERSITY貪欲法で解ける理由貪欲法でよい理由:こういう場合でも
  • 253.253 / 270 KYOTO UNIVERSITY左からマッチさせた方がコストが低い貪欲法でよい理由:左からマッチさせると少なくとも悪くはならない赤が右にある場合など他の全場合も同様
  • 254.254 / 270 KYOTO UNIVERSITY実装も非常に簡単かつ高速実装も非常にシンプルかつ高速 (1) x1, ..., xn と y1, ..., ymをそれぞれソート(2) i = 1, j = 1 に初期化(3) 倉庫 i から工場 j に min(ai, bj) 輸送(4) ai= 0 なら i ← i + 1 として (3) へ(5) ai> 0 なら j ← j + 1 として (3) へソートがボトルネックなので O(n log n) 時間 n = m, ai= bj= 1(割当問題)のとき全て一対一でマッチするのでx1, ..., xn, y1, ..., ymをソートして で一発で求まる
  • 255.255 / 270 KYOTO UNIVERSITY高次元でも一次元に帰着して簡単にする一次元の場合非常に簡単なことを利用して、高次元の場合も一次元に帰着する方法が提案されているSliced Wasserstein distance [Rabin+ 2011]:x1, ..., xn∈ Rd, y1, ..., ym∈ Rdのとき、ランダムな方向 Θ ∈ Rdに x1, ..., xn, y1, ..., ymを射影し、一次元にして輸送距離を計算最終的な答えは何度か方向を変えた時の平均値k 個方向を使うと O(k n log n) 時間実装は一次元の場合と同等Julien Rabin, Gabriel Peyré, Julie Delon, Marc Bernot. Wasserstein Barycenter and its Application toTexture Mixing. 2011.https://www.programmersought.com/article/67174999352/ただしこの期待値が元の空間でのコストの近似になっている訳ではない
  • 256.256 / 270 KYOTO UNIVERSITY直線に限らず、どんな一次元に射影してもよいSliced Wasserstein distance [Rabin+ 2011] では直線に沿って射影したが、一次元に射影できたらどういう射影でもよい例えばデータが U 字型だったら U 字に沿った一次元、一般にはデータのサポートに沿った一次元が良さそうGeneralized sliced Wasserstein [Kolouri+ NeurIPS 2019]適当な射影関数 Θ: Rd→ R を使って射影して一次元で解くランダムな射影の平均だけでなく、一番青と赤が見分けられるような射影を学習により見つける方法も提案(判別分析のようなイメージ)Julien Rabin, Gabriel Peyré, Julie Delon, Marc Bernot. Wasserstein Barycenter and its Application toTexture Mixing. 2011.Soheil Kolouri, Kimia Nadjahi, Umut Simsekli, Roland Badeau, Gustavo K. Rohde. Generalized SlicedWasserstein Distances. NeurIPS 2019.
  • 257.257 / 270 KYOTO UNIVERSITY一次元から木への一般化貪欲法で解けるのは一次元の場合だけでない一般に、空間が木の場合でも貪欲法で厳密に解ける辺に長さの情報が付いている木があり、ノードには倉庫と工場がある倉庫 i から工場 j への輸送コストはその倉庫と工場があるノードを結ぶパスの長さの総和とするこれは一次元の場合の一般化一次元はパスグラフ(一直線の木)に対応している50601040 7020 3050のコストは20 + 30 + 50 = 100パスグラフ
  • 258.258 / 270 KYOTO UNIVERSITY木の場合も同様に貪欲法で解ける木の場合も貪欲法で解けるやり方:(1) DFS 帰りがけ順でノードを走査する(2) 現在のノードの子孫でまだ小麦粉が残っている倉庫と 小麦粉を要求している工場があれば輸送するそのような倉庫か工場のどちらかがなくなるまで繰り返しなくなれば次のノードへ線形時間で計算できる一次元の場合は、ソートするのが木を構築するところに相当ソートが終わればあとは線形時間なので、木の場合も一次元の場合も同じ計算量
  • 259.259 / 270 KYOTO UNIVERSITY高次元でも木に帰着して簡単にする一次元の場合と同様に、木に帰着する方法が提案されているTree-Sliced Wasserstein [Le+ NeurIPS 2019]:x1, ..., xn∈ Rd, y1, ..., ym∈ Rdのとき、ランダムな木(例えばクラスタリング木)のノードに x1, ..., xn, y1, ..., ymを射影し、木上で輸送距離を計算最終的な答えは何度か木を変えた時の平均値k 個木を使うと O(k n log n) 時間良い木を使うと元の輸送距離の近似にもなるTam Le, Makoto Yamada, Kenji Fukumizu, Marco Cuturi. Tree-Sliced Variants of Wasserstein Distances.NeurIPS 2019.http://www.sthda.com/english/articles/31-principal-component-methods-in-r-practical-guide/117-hcpc-hierarchical-clustering-on-principal-components-essentials/
  • 260.260 / 270 KYOTO UNIVERSITY一次元の場合そのものが重要な場合もある高次元を一次元や木に帰着する場合を主に扱ったが、一次元の最適輸送そのものが重要なこともある就活生の特徴量を受け取り自社の適正スコアを出す問題を考える男性の適正スコアと女性の適正スコアは偏ってはいけないので最適輸送コストを正則化に加えるデータの方を男性と女性の見分けが付かなくなるように最適輸送コストで補正するやり方が [Feldman+ KDD 2015] で提案されている適正スコアx1 x2x3y1y2y3Michael Feldman, Sorelle A. Friedler, John Moeller, Carlos Scheidegger, Suresh Venkatasubramanian.Certifying and Removing Disparate Impact. KDD 2015.
  • 261.261 / 270 KYOTO UNIVERSITYこの章のゴールの確認一次元と木の最適輸送問題が簡単に解けることを知るコストが一次元や木で定義される場合は貪欲法で厳密に解ける高次元の問題も一次元や木に帰着できることを知る空間が一次元や木と限らなくても、空間を「スライス」することで一次元の問題に帰着できる場合があるこれにより簡単・高速に問題が解ける
  • 262.262 / 270 KYOTO UNIVERSITYまとめ
  • 263.263 / 270 KYOTO UNIVERSITY今日は最適輸送の色んな解き方をみた今日は最適輸送のアルゴリズムについてみたその1: 線形計画の定式化とシンプレックス法その2: ハンガリアン法その3: Sinkhorn アルゴリズムその4: ニューラルネットワークによる推定その5: スライシングそれぞれ、長所・短所があった
  • 264.264 / 270 KYOTO UNIVERSITYおすすめ本紹介 1さらに勉強したい人におすすめの本:Gabriel Peyré and Macro Cuturi. ComputationalOptimal Transport with Applications to Data Science.arXiv で電子版が公開されています:https://arxiv.org/abs/1803.00567この講演のネットワークシンプレックス法と Sinkhorn アルゴリズムについてはこの本を参考にしたSinkhorn アルゴリズムについては特に収束の話や別の見方など詳しい動的な定式化・Gromov Wassersteingradient flow など発展的な話題も多く載っている
  • 265.265 / 270 KYOTO UNIVERSITYおすすめ本紹介 2組合せアルゴリズム的な視点を深堀したい人は以下もおすすめB.コルテ, J. フィーゲン (著) / 浅野 孝夫, 浅野 泰仁, 小野 孝男,平田 富夫 (訳) 「組合せ最適化」→ 第 9 章が最適輸送(最小費用フロー)について藤重 悟 「グラフ・ネットワーク・組合せ論」→ 第 2.3 章が最適輸送(最小費用フロー)について
  • 266.266 / 270 KYOTO UNIVERSITY全体のゴールの確認解きたい問題に合わせて適切なアルゴリズムを選べるようになる基本は線形計画とネットワークシンプレックス法割当問題はハンガリアン法でシンプルにコストについて微分したい・GPU を使いたいときは Sinkhorn 法空間に埋め込まれた分布を最適化するときはニューラルネットワークシンプルに答えを得たいときはスライス法最適輸送の主・双対問題を自由自在に使いこなせるようになる相補的な解を見つける視点双対問題の物理的イメージと C-transform双対問題が分類問題のようになっている視点
  • 267.267 / 270 KYOTO UNIVERSITY参考文献
  • 268.268 / 270 KYOTO UNIVERSITY参考文献Jason Altschuler, Jonathan Weed, Philippe Rigollet. Near-linear time approximationalgorithms for optimal transport via Sinkhorn iteration. NeurIPS 2017.Martin Arjovsky, Soumith Chintala, Léon Bottou. Wasserstein GAN. ICML 2017Mathilde Caron, Ishan Misra, Julien Mairal, Priya Goyal, Piotr Bojanowski, Armand Joulin.Unsupervised Learning of Visual Features by Contrasting Cluster Assignments. NeurIPS2020.Marco Cuturi. Sinkhorn Distances: Lightspeed Computation of Optimal Transport.NeurIPS 2013.Marco Cuturi, Arnaud Doucet. Fast Computation of Wasserstein Barycenters. ICML 2014.Michael Feldman, Sorelle A. Friedler, John Moeller, Carlos Scheidegger, SureshVenkatasubramanian. Certifying and Removing Disparate Impact. KDD 2015.Ishaan Gulrajani, Faruk Ahmed, Martín Arjovsky, Vincent Dumoulin, Aaron C. Courville.Improved Training of Wasserstein GANs. NeurIPS 2017.
  • 269.269 / 270 KYOTO UNIVERSITY参考文献Zhenyu Huang, Peng Hu, Joey Tianyi Zhou, Jiancheng Lv, Xi Peng. Partially View-alignedClustering. NeurIPS 2020.Tero Karras, Timo Aila, Samuli Laine, Jaakko Lehtinen. Progressive Growing of GANs forImproved Quality, Stability, and Variation. ICLR 2018.Soheil Kolouri, Kimia Nadjahi, Umut Simsekli, Roland Badeau, Gustavo K. Rohde.Generalized Sliced Wasserstein Distances. NeurIPS 2019.Tam Le, Makoto Yamada, Kenji Fukumizu, Marco Cuturi. Tree-Sliced Variants ofWasserstein Distances. NeurIPS 2019.Francesco Locatello, Dirk Weissenborn, Thomas Unterthiner, Aravindh Mahendran, GeorgHeigold, Jakob Uszkoreit, Alexey Dosovitskiy, Thomas Kipf. Object-Centric Learning withSlot Attention. NeurIPS 2020.Luca Oneto, Michele Donini, Giulia Luise, Carlo Ciliberto, Andreas Maurer, MassimilianoPontil. Exploiting MMD and Sinkhorn Divergences for Fair and TransferableRepresentation Learning. NeurIPS 2020.Gabriel Peyré, Marco Cuturi. Computational Optimal Transport. 2019.
  • 270.270 / 270 KYOTO UNIVERSITY参考文献Julien Rabin, Gabriel Peyré, Julie Delon, Marc Bernot. Wasserstein Barycenter and itsApplication to Texture Mixing. 2011.Ivan Stelmakh, Nihar B. Shah, Aarti Singh. On Testing for Biases in Peer Review. NeurIPS2019.B.コルテ, J. フィーゲン (著) / 浅野 孝夫, 浅野 泰仁, 小野 孝男, 平田 富夫 (訳) 「組合せ最適化」藤重 悟 「グラフ・ネットワーク・組合せ論」

[8]ページ先頭

©2009-2025 Movatter.jp