Upgrade to Pro — share decks privately, control downloads, hide ads and more …

グラフ畳み込みネットワークを用いたNP困難問題に対する強化学習アプローチ / Training Graph Convolutional Networks by Reinforcement Learning for Solving NP-hard Problems

knshnb
February 13, 2019

グラフ畳み込みネットワークを用いたNP困難問題に対する強化学習アプローチ / Training Graph Convolutional Networks by Reinforcement Learning for Solving NP-hard Problems

卒業論文の発表スライド

knshnb

February 13, 2019
Tweet

More Decks by knshnb

Other Decks in Science

Transcript

  1. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ άϥϑ৞ΈࠐΈωοτϫʔΫΛ༻͍ͨ NP ࠔ೉໰୊ʹର͢Δ ڧԽֶशΞϓϩʔν ࠤ౻ݚڀࣨ 4 ೥ Ѩ෦݈৴ 2019/02/13 1 / 20
  2. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ എܠ ઌߦݚڀ ఏҊख๏ ·ͱΊ ༧උεϥΠυ 2 / 20
  3. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ എܠ: NP ࠔ೉໰୊ ▶ ݱ࣮తͳ࣌ؒͰ࠷దղΛٻ ΊΒΕͳ͍ͱ৴͡ΒΕͯ ͍Δ ▶ ex. φοϓαοΫ໰୊, ࠷େΫϦʔΫ໰୊ ▶ NP ׬શ໰୊ΛશͯؼணͰ͖ ΔͨΊɺ1 ͭͷ໰୊͕ղ͚Δ ͜ͱʹ͸ඇৗʹՁ஋͕͋Δ ▶ ܭࢉෳࡶੑཧ࿦͚ͩͰͳ͘ɺ ͞·͟·ͳ෼໺Ͱग़ݱ 0-1 φοϓαοΫ໰୊   ֤ wi , hi ͕༩͑ΒΕͨ G = {1, 2, ..., N} ʹ͍ͭ ͯɺ max ∑ i∈G′ wi s.t. ∑ i∈G′ hi ≤ H ͱͳΔ G′ ⊂ G   3 / 20
  4. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ NP ࠔ೉໰୊΁ͷΞϓϩʔν ▶ ਖ਼֬ͳΞϧΰϦζϜ ▶ FPTɺࢦ਺ͷఈΛ཈͑Δ etc. ▶ Ұൠʹ͸ࢦ਺࣌ؒ ▶ ਫ਼౓อূ෇͖ۙࣅΞϧΰϦζϜ ▶ ࣮༻తʹΑ͍ΞϧΰϦζϜ͕ݟ͔͍ͭͬͯͳ͍໰୊͕ ଟ͍ ▶ ώϡʔϦεςΟΫε ▶ ૣ͘ಈ࡞͠ɺൺֱతΑ͍ղ͕ٻΊΒΕΔ ▶ ໰୊ݻ༗ͷ஌ࣝɺߴ౓ͳνϡʔχϯά͕ඞཁ ▶ ػցֶश ▶ ۙ೥ݚڀ͕ਐΜͰ͍Δ ▶ ໰୊ݻ༗ͷ஌ࣝɺߴ౓ͳνϡʔχϯά͕ඞཁͳ͍ 4 / 20
  5. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ NP ࠔ೉໰୊΁ͷΞϓϩʔν ▶ ਖ਼֬ͳΞϧΰϦζϜ ▶ FPTɺࢦ਺ͷఈΛ཈͑Δ etc. ▶ Ұൠʹ͸ࢦ਺࣌ؒ ▶ ਫ਼౓อূ෇͖ۙࣅΞϧΰϦζϜ ▶ ࣮༻తʹΑ͍ΞϧΰϦζϜ͕ݟ͔͍ͭͬͯͳ͍໰୊͕ ଟ͍ ▶ ώϡʔϦεςΟΫε ▶ ૣ͘ಈ࡞͠ɺൺֱతΑ͍ղ͕ٻΊΒΕΔ ▶ ໰୊ݻ༗ͷ஌ࣝɺߴ౓ͳνϡʔχϯά͕ඞཁ ▶ ػցֶश ▶ ۙ೥ݚڀ͕ਐΜͰ͍Δ ▶ ໰୊ݻ༗ͷ஌ࣝɺߴ౓ͳνϡʔχϯά͕ඞཁͳ͍ 5 / 20
  6. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ എܠ ઌߦݚڀ ఏҊख๏ ·ͱΊ ༧උεϥΠυ 6 / 20
  7. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ઌߦݚڀ [Dai+ 2017] άϥϑ্ͷ NP ࠔ೉໰୊ΛڧԽֶशʹΑͬͯղ͘ϑϨʔϜ ϫʔΫ S2V-DQN ΛఏҊɻ ▶ ঢ়ଶͱͯ͠ɺάϥϑٴͼطʹબ୒ͨ͠௖఺ू߹Λ࣋ͬͯ ͓͘ ▶ structure2vec[Dai+ 2016] ͱ͍͏ख๏Ͱ֤௖఺ͷಛ௃ ྔΛϕΫτϧԽ ▶ ͦΕͧΕͷ௖఺ΛબΜͩࡍʹಘΒΕΔߦಈՁ஋ؔ਺Λɺ Q ֶशΛ༻͍ͯ܇࿅ ▶ ܇࿅ͨ͠ߦಈՁ஋ؔ਺ΛݩʹɺᩦཉʹղΛٻΊΔ 7 / 20
  8. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ઌߦݚڀ [Zhuwen+ 2018] ࠷େ҆ఆू߹໰୊Λڭࢣ͋ΓֶशʹΑͬͯղ͘ख๏ΛఏҊɻ ▶ ֤௖఺͕࠷దղʹؚ·ΕΔ֬཰Λग़ྗ͢Δؔ਺ f (G; θ) Λɺάϥϑ৞ΈࠐΈωοτϫʔΫͰϞσϧԽ ▶ (άϥϑ, ࠷దղ) ͱ͍͏܇࿅σʔλΛ༻͍ͨڭࢣ͋Γ ֶश ▶ ܇࿅σʔλ͸ɺSATLIB ͔Βؼணͤͨ͞໿ 1200 ௖఺ͷά ϥϑΛ 40,000 ݸ࢖༻ ▶ ܇࿅ͨ͠ωοτϫʔΫΛݩʹɺᩦཉ๏ͱ Guided Tree Search ͱ͍͏ಠࣗͷ୳ࡧΞϧΰϦζϜͰղΛٻΊΔ 8 / 20
  9. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ άϥϑ৞ΈࠐΈωοτϫʔΫ [Kipf et al. 2016] ▶ άϥϑ্ͷ৞ࠐΈωοτϫʔΫͷ͏ͪͷ 1 ͭ ▶ ۙ๣ͷ௖఺ͷಛ௃ྔΛ৞ΈࠐΜͰ࣍ͷ૚ʹ఻ൖ͍ͯ͘͠ Figure: https://tkipf.github.io/graph-convolutional-networks/ ▶ ೖྗͱͯ͠αΠζͷҟͳΔ೚ҙͷάϥϑΛड͚औΕΔ 9 / 20
  10. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ઌߦݚڀ·ͱΊ S2V-DQN [Dai+ 2017] o ܇࿅σʔλͷੜ੒͕ ෆཁ o ϑϨʔϜϫʔΫͷҰൠ ੑ͕ߴ͍ x [Zhuwen+] ʹൺ΂ͯੑ ೳ͕Α͘ͳ͍ [Zhuwen+ 2018] o ಛघͳ܇࿅σʔλͰͷ ֶश͕༷ʑͳάϥϑʹ ରͯ͠ҰൠԽ o ੑೳ͕Α͍ x ܇࿅σʔλͷੜ੒͕ߴ ίετ ▶ NP ࠔ೉໰୊ͷ܇࿅ σʔλͷ༻ҙ͸Ұൠ తʹ؆୯Ͱ͸ͳ͍ =⇒ ੑೳͷྑ͍ڧԽֶशͷख๏ΛఏҊ 10 / 20
  11. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ എܠ ઌߦݚڀ ఏҊख๏ ·ͱΊ ༧උεϥΠυ 11 / 20
  12. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ࠷େ҆ఆू߹໰୊ ڧԽֶशͷઃఆΛߟ͑΍͍͢ NP ࠔ೉໰୊ͱͯ͠ɺ࠷େ҆ఆ ू߹໰୊ʹ஫໨ɻ Definition ҆ఆू߹: ೚ҙͷ 2 ௖఺͕ޓ͍ʹྡ઀͍ͯ͠ͳ͍௖఺ू߹ ▶ ҎԼɺݟ͔ͭͬͨ҆ఆू߹ͷαΠζ͕େ͖͍΄Ͳྑ͍ͱ ධՁ͢Δ 12 / 20
  13. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ఏҊख๏ ▶ ղΛ 1 ͭ֬ఆͤ͞ɺࣗ਎ٴͼͦͷۙ๣ΛऔΓআ͍ͨ༠ಋ ෦෼άϥϑʹ͍ͭͯಉ͡໰୊Λ࠶ؼతʹߟ͑Δ ▶ άϥϑ৞ΈࠐΈωοτϫʔΫ͸ɺαΠζ͕ಈతʹมΘΔ άϥϑΛೖྗՄೳ =⇒ ֤εςοϓͰͦΕͧΕͷ௖఺ΛબͿ֬཰ f (G; θ) ͸ɺάϥϑ৞ΈࠐΈωοτϫʔΫͰϞσϧԽͰ͖Δ ▶ ֶशख๏: REINFORCE 13 / 20
  14. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ࣮ݧ ҎԼͷ 2 छྨͷֶशख๏ͰɺCitation Networks (Cora, Citeseer, Pumbed) ʹର͢ΔղΛٻΊͨɻ ▶ Cora ͷΈΛ༻ֶ͍ͯश ▶ n = 100, m = 200 ͷͨ͘͞ΜͷछྨͷϥϯμϜάϥϑΛ ༻ֶ͍ͯश Table: Citation Networks ͷαΠζ Name ௖఺ ล Cora 2708 5429 Citeseer 3327 4732 Pumbed 19717 44335 14 / 20
  15. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ݁Ռ ▶ ϥϯμϜάϥϑΛ༻͍ͯ܇࿅ͨ͠Ϟσϧ͕ɺCora Λ࢖ͬ ͯ܇࿅ͨ͠Ϟσϧͱಉ͡ύϑΥʔϚϯεΛݟͤͨ ▶ ڧԽֶशΛ༻͍ͨطଘख๏Λେ্͖͘ճΓɺڭࢣ͋Γֶ शΛ༻͍ͨ Zhuwen et al. ͷख๏ʹ͍ۙ݁Ռ͕ಘΒΕͨ Table: ൃݟ͞Εͨ҆ఆू߹ͷαΠζ طଘख๏ ఏҊख๏ άϥϑ S2V-DQN Zhuwen et al. ϥϯμϜ Cora Cora 1381 1451 1440 1440 Citeseer 1705 1867 1864 1864 Pubmed 15709 15912 15912 15912 15 / 20
  16. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ എܠ ઌߦݚڀ ఏҊख๏ ·ͱΊ ༧උεϥΠυ 16 / 20
  17. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ·ͱΊ ▶ ࠷େ҆ఆू߹໰୊Λάϥϑ৞ΈࠐΈωοτϫʔΫͱڧԽ ֶशʹΑͬͯղ͘ख๏ΛఏҊͨ͠ ▶ ڭࢣ͋ΓֶशΛ༻͍ͨ࠷৽ͷख๏ʹഭΔ݁Ռ͕ಘΒΕͨ ▶ ༷ʑͳϥϯμϜάϥϑ্Ͱ܇࿅͢Δ͜ͱͰɺ࣮ੈքͷά ϥϑʹద༻Ͱ͖ΔϞσϧ͕ಘΒΕͨ ▶ ఏҊख๏͸ɺಉ͡Α͏ͳߏ଄Λ࣋ͭଞͷάϥϑ্ͷ NP ࠔ೉໰୊ʹ΋Ԡ༻Ͱ͖Δɻͦͷࡍɺڭࢣ͋ΓֶशΛ༻͍ ͨطଘख๏ͱൺ΂Δͱ܇࿅σʔλΛ༻ҙ͢Δඞཁ͕ͳ͍ 17 / 20
  18. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ എܠ ઌߦݚڀ ఏҊख๏ ·ͱΊ ༧උεϥΠυ 18 / 20
  19. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ֶशख๏ ▶ ༷ʑͳάϥϑ্ͰࢼߦΛ܁Γฦͯ͠ڧԽֶश ▶ ํࡦޯ഑ΞϧΰϦζϜͷ 1 ͭɺREINFORCE [Williams 1992] Λ༻͍ͯํࡦͷύϥϝʔλ θ Λ௚઀࠷దԽ ∇θ J(θ) = 1 N N ∑ n=1 T ∑ t=1 ∇θ log p(an t |sn t , θ)R(hn) ▶ ใु R(h) ͸ɺಘΒΕͨ҆ఆू߹ͷαΠζΛਖ਼نԽͨ͠΋ ͷΛ༻͍Δ 19 / 20
  20. ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌

    ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ‌ ࠓޙͷ՝୊ ▶ branch-and-reduce ͱݺ͹ΕΔਖ਼֬ͳղΛٻΊΔΞϧΰϦ ζϜ [Akiba+ 2014] ͕ɺݱ࣮తͳάϥϑʹରͯ͠͸੒Ռ Λ࢒͍ͯ͠Δ ▶ ্ͷख๏Ͱ͸೉͍͠άϥϑʹର࣮ͯ͠ݧ 20 / 20