論文読み会の資料です.
(A slide for the paper-reading activity at my company, written in Japanese.)
MIP-GNN: A Data-Driven Framework forGuiding Combinatorial Solvers著者: Elias B. Khalil, Christopher Morris, Andrea Lodi(Univ. of Toronto, McGill University, Cornell Tech)学会: AAAI2022@cocomoff1/20
View Slide
概要やりたいこと組合せ最適化ソルバーをデータ駆動型でサポートする分枝限定法でどのノードを次に選択するか (node selection)どの変数を分枝するか (branching variable selection)やったことの概要0-1整数計画問題(Binary Linear Programming; BLP) を考える表現力の高い問題クラス具体的にはGISP (Generalized Independent Set Prolbem) /FCMNF (Fixed-Charge Multi-Commodity Flow problem) で実験ソルバーを使ってそこそこの解を計算し、学習に使う最適化問題の変数バイアス(Variable bias、後で説明)をGNNで推定変数バイアスの予測値を使ってスコアリング手法を提案ついでに解のwarm-startとかもできる2/20
結果GISPのベンチマークデータについて、MIP-GNNでサポートする分枝限定法とデフォルトの分枝限定法でどのようなパフォーマンス差が観測されたかPrimal integral: 最適解と比べてある段階で見つかった解がどれぐらいのものか、を解が見つかった時間で積分した評価値(?)、小さいと最適に近いGap: ギャップ、小さいと最適に近い3/20
目次イントロ・結果準備分枝限定法変数バイアス (Variable Bias)LP、BLP (0-1 ILP)学習問題の設定手法 (MIP-GNN)実験4/20
補足: 分枝限定法Qiita: 「図で見る分枝限定法」より図を引用ナップサック問題(あるアイテムについて、0 (入れない)・1 (入れる) を決める)node selection: 次にどの部分木を調べるか決めるbranching variable selection: まだ展開して決定していない二値変数のうち、どれを次に展開するかを決める5/20
補足: 変数バイアスCNF-SAT に対して定義された概念 [1]例題: 3つの節、 変数の式SATインスタンス変数割当 が を充足する が真補足: 変数バイアス(Bias)充足可能な について、変数 の(推定された)バイアス分布 とは、 の充足可能な割当について変数 が真 (または偽) で現れる割合を表すpositive/negative bias ( )全ての変数についてのバイアスをベクトルに格納したものを Survey/Profile と呼ぶ余談: 名前が一般的過ぎてググっても情報が出てこない…要するに「どれぐらい真 (または偽)を取り得るか」の情報[1] E.I. Hsu et al., Probabilistically Estimating Backbones and Variable Bias: Experimental Overview,Proceedings of CP2008, pp.613-617, 2008 / 同著者のAAAI2008 Workshopの論文もある。 6/20
補足: LP、BLP (0-1 ILP)線形計画問題 (LP) は 3つ組 で定義されるぐらいの範囲を考えるfeasible setLPの目的:Simplex法や内点法で解ける整数線形計画問題 (ILP) は 3つ組 で定義されるただし feasible setに制限する場合、BLP (0-1 ILP) と呼ぶあるBLPのインスタンス から整数性を落とした問題 を緩和問題と呼ぶ分枝限定法分枝操作と限定操作を用いた一般解法で全てのソルバーで使われている分枝操作: 変数の場合分け限定操作: 見積もった最適値による枝刈り内部で切除平面法と合わせた場合に分枝切除法と呼ばれることも7/20
目次イントロ・結果補足分枝限定法変数バイアス (Variable Bias)LP、BLP (0-1 ILP)学習問題の設定手法 (MIP-GNN)実験8/20
学習問題の設定 | BLPの場合の変数バイアス実世界の何らかの分布から作られたインスタンスの集合 を考えるあるインスタンス について、near-optimal solutions の集合 (tolerance) を定義する変数バイアスベクトル を以下で定義する-near optimal solutionの中で、各決定変数が だった割合のベクトルCNF-SATの変数バイアスのベクトル (Survey/Profile) と同じ凄い強そうな情報だが、計算がヤバそうこれを教師あり学習で近似する (MIP-GNN) のが提案アプローチ9/20
学習問題の設定 | 教師あり学習普通の教師あり学習を考える。記号:: インスタンス集合 の上の分布: 有限の学習集合インスタンスの集合 (分布 でサンプル)予測モデルはインスタンス の決定変数の集合パラメータロス関数教師あり学習直感的には が面倒そうだけど、GNNに任せたらいけそうポイント: 変数と制約に注目して、二部グラフを作った上でGNNを動かす10/20
目次イントロ・結果補足分枝限定法変数バイアス (Variable Bias)LP、BLP (0-1 ILP)学習問題の設定手法 (MIP-GNN)実験11/20
MIP-GNN: 概要変数と制約に注目した、二部グラフ上のGNNによるスコア計算決定変数と制約に対応した特徴ベクトルを作る制約に使われている決定変数と結んで二部グラフを作るいい感じにGNN (周辺の特徴のaggregation、特徴ベクトルのmerge) する12/20
MIP-GNN: アーキテクチャ二部グラフ (制約cと変数vのパート)v cの伝搬(左)、c v の伝搬(右)これを交互に繰り返す (iterate)特徴ベクトル ( 層目):目的関数の (紛らわしい) の情報もここに入れるv → cはベクトルの連結、普通のGNNc → v各変数 に対して を求め、ベクトル を得る制約 の違反量をsoftmaxで測定する:誤差ベクトルは次段のvariable embedding更新に使う13/20
MIP-GNN: 学習と評価学習-near optimal solutionを既存のソルバーで探して学習する正確な値 を予測しなくても、 に近いかどうか?が知れたら十分に嬉しいしきい値 で加工した二値分類問題として学習させるもし であれば を、そうでなければ を当てるMIP-GNNで最後にMLPを通して推定したスコアは、以降の活用フェーズ(右側)ではで表す評価 | 確信スコアMLPを通して出力されたベクトル に対して、変数 の確信度を定義:は の近い方に丸める操作どれぐらい予測が整数に近いかを表す14/20
MIP-GNN: 分枝限定法への活用数値の確信度を使って、分枝限定法のノード選択スコアを定義するBnBで既に確定している変数と予測値が一致していればその確信度を、そうでなければ乖離している具合を使ってスコアに入れるもう少し真面目な定義は論文へ15/20
MIP-GNN: 解のwarm-startスコアを見て、直接近似解を求められそう: しきい値 を用いて適当に丸めているだけなのでfeasibleではない解になる、CPLEXには壊れた解をfeasibleに直す機能(repair)があるので、それに突っ込めばOKよく知りません…(これはただのメモ)node-selection、branching variable selection、warm-startの3要素branching variable selectionはサポートしてない(説明なし?)?ついでに、ソルバーを使って -near optimal solutionの準備は必要なので、それはそれで大変な気がする(60分と書いてあった、詳細は知らない)16/20
目次イントロ・結果補足分枝限定法変数バイアス (Variable Bias)LP、BLP (0-1 ILP)学習問題の設定手法 (MIP-GNN)実験17/20
実験結果 | GISPの性能 (再掲)そこそこ良い (node-selectionのサポートあり vs なし)18/20
実験結果 | パラメータとGNNアーキテクチャ途中で出てきたしきい値 の影響GNNの具体的なアーキテクチャ: GIN、GraphSage、EC (EdgeConvolution)大きく差はない19/20
実験結果 | 転移学習問題集合間の転移: 効果的だったり、そうでもなかったりしたGISPとFCMNFがあると書いてあったけど、FCMNFは載ってなかった(どこかのAppendixにあるらしい) 20/20