Joeの精進記録

旧:競プロ練習記録

Learning Combinatorial Optimization Algorithms over Graphs

https://papers.nips.cc/paper/7214-learning-combinatorial-optimization-algorithms-over-graphs.pdf

NeurIPS 2019でもしゃべていたのでついにちゃんと読んだ

はじめに

界隈はこの論文を最強だと思っているらしい。多分グラフ機械学習で離散最適化やっている界隈は全員これを知っている。これを倒せば知名度上がりそう

先行研究との差分

この論文が先行研究としているのはこれ。

arxiv.org

まだ詳しく読んでいないが、policy gradientをtrainingに使っているらしく、それよりもDQNがいいよという流れで出てきたっぽい。 DQNはoff-policyで、experience replyができるため、policy gradientよりもsample efficientだと言っている。

レーニング時にグラフのembeddingを更新していくのはこの研究の、先行研究に対する強みっぽい?(先行研究では最適解をembedしているらしい)

自分たちの手法との共通点・差分

共通点

action

actionは頂点のselection

reward

normalizeしていないのでまあ差分でもあるがMCTSしないので別にnormalizeしなくていい

差分

state, transition

stateの定義をグラフ、ではなく、actionで選んだ頂点の(ordered) sequenceとしている。グラフ自体は学習の中で不変。自分たちの手法だと、(少なくともMISについては)グラフをだんだん小さくしていたが、この手法だと最後に選んだ頂点に新しくラベルをつけていく遷移をするだけ。

Q-Learning

そんなに異常Q-Learningをしていなかった。

f:id:xuzijian629:20191222091348p:plain

アルゴリズム中のBatchサイズや nは解く問題によってかなり調整しているっぽい。

embedding

GNNよりも一般的なフレームワークに見える。4-hopしか見ていないのでかなり浅い。パラメータはたくさんある。自分たちのGNNだと1-dimensionalなembeddingをしていたような気がするが、とくにweightedグラフに弱すぎるし次元を増やした方がいい気がする。こちらの論文では64次元

グラフも前処理としてkNNをとっている。

感想

自分で実装し直したほうがいい気がする。仮に精度出なかったら工夫したであろうところにきづけるだろうし