Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Proof summit 2017 for slideshare

2,249 views

Published on

Proof Summit 2017での資料を公開
定理証明に機械学習を用いた論文の紹介

Published in: Science
  • Hello! Get Your Professional Job-Winning Resume Here - Check our website! https://vk.cc/818RFv
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here

Proof summit 2017 for slideshare

  1. 1. 定理証明における機械学習の応用 定理証明 + 機械学習 = ? Preferred Networks 八幡 啓祐 @skyrunner_01 酒井 政裕 @masahiro_sakai 片岡 俊基 @toslunar Proof Summit 2017 2017/7/23(Sun) 東京都中央区築地1丁目13−1 ADK松竹スクエア
  2. 2. 八幡 啓祐 Twitter : @skyrunner_01 数学科出身(修士卒) 6年間 数学科 コンピュータサイエンス、 数理論理学に関してはまだまだ勉強中 2
  3. 3. 本日の発表内容 ① 機械学習の応用例 ② AlphaGoの紹介 3 ③ 自動証明と囲碁AIの違い ④ 既存研究の紹介 ⑤ 考察・課題
  4. 4. • 画像認識 (深層学習) • 自動運転 (強化学習+深層学習) • 画像の自動生成(深層学習) • 囲碁、将棋、チェスのAI (強化学習+深層学習) • 自動証明?(強化学習+深層学習??) 機械学習の応用例 4
  5. 5. 5 • 2016年スタート • AI + ATPの 国際会議
  6. 6. 囲碁AI AlphaGoの紹介 6
  7. 7. について • 2015年10月 人間プロ相手に(ハンデなしで)初勝利した 囲碁AI • Google DeepMind社 によって開発 • 人間が理解できない 手を選択し続けた V.S 4勝1敗 7 Deep Learning (深層学習) 人類最強クラス
  8. 8. 囲碁AI は難しい! 8
  9. 9. 囲碁AI の難しさ(その1) 19 19 19 ×19 = 361通り 360!通り 9
  10. 10. 10 将棋 ⇒ 1069 くらい 囲碁 ⇒ 10172 もある! 状態数(考えられる盤面の総数)
  11. 11. 探索空間がとにかく広い! 11
  12. 12. 囲碁AI の難しさ(その2) ≧ > ?? 石は石。 12 なんとなくわかる
  13. 13. 13 どっちが良い??
  14. 14. 14 人力での 各盤面の評価が難しい! 機械学習を使いましょう
  15. 15. かるく まとめ 15
  16. 16. 1. 全探索は ムリ! → ある程度 選択肢 幅を絞る必要がある 2. ある程度人間を模倣させた上で 探索したい! → 畳み込みニューラルネットワーク(深層学習) 3.(探索手法には)モンテカルロ探索 → アマチュアレベルには これだけでも勝てる 4. 模倣させたAI同士で対決させて洗練! → 強化学習 16
  17. 17. のレシピ = 教師あり学習 + 強化学習 + モンテカルロ木探索 Deep Learning (CNN) 人間の行った3000万の棋譜データを用いる → 人間の手を模倣 → 人間が指さない悪手は探索しない! 探索幅を賢く減らす 出来たAI同士で対決 17
  18. 18. 定理証明も、 同じようなアイディアでできるのでは? 18
  19. 19. ①深層学習で人間の証明テクニックを模倣 ②正しい証明図となるような木探索 (①で探索の選択肢を絞る) ③できあがった人間模倣のモデルを強化学習させる 19
  20. 20. ※そんな単純じゃない 20
  21. 21. • 教師データはどうやってあつめるの? →MMLとか?Metamathの公式ライブラリset.mmとか? →フォーマットの統一はどうやって? • ボードゲームと違って、モンテカルロ木探索が単純じゃない! ボードゲームの場合 → 一定数以内に勝敗が決まる 定理証明の場合 → そういう保証はない (というより主張が真か偽かすらわからない) • そもそも探索空間の大きさが囲碁以上に広い →適用可能な公理図式やタクティックは有限であっても、 パラメータを含めて考えると無限 21
  22. 22. ※工夫が必要! 22
  23. 23. 既存研究の紹介 23
  24. 24. 定理証明に機械学習を応用するアプローチ • アプローチ – 探索の効率化 – より直接的な証明の生成 • 構成要素例 – 論理式の表現学習 (c.f word2vec) – 用いられる公理の予測 – 適用すべき公理・タクティックの予測/ランキング • 探索順の制御 (c.f. AlphaGo, Ponanza Chainer) – 強化学習的な探索 – …… 24
  25. 25. 自動定理証明器をガイドして効率化 • 自動定理証明器: • 自動定理証明器のつらさ…… すぐに組合せ爆発! • → うまくガイドすることで爆発を避けたい 自動定理証明の紹介 〜Proof Summit〜 2011-09-25 酒井 政裕 対話的定理証明 vs 自動定理証明 対話的定理証明 自動定理証明 ツール Coq, Agda, … E, SPASS, Otter, … 自動化 人間が証明を書 き、それをツー ルが検査。 ツールが証明を 探索。人間はそ れをガイド 古典論理? 直観主義論理 古典論理 ⾼階/一階 ⾼階 一階 25
  26. 26. 自動定理証明器をガイドして効率化 • 公理の選択 (Premise Selection) – 証明に必要な公理を予測、 不要な公理を捨てて問題サイズを縮小 – 例: Miz𝔸ℝ 40, Deep Math • 中間ゴールの予測、次に処理すべき節の選択 – 例: Deep Network Guided Proof Search, HolStep 26
  27. 27. Premise Selection • 主に 対話的定理証明支援系 に 自動定理証明器 を組み合 わせるために研究されてきていた Γ ⊢もとの論理 φ (背景知識沢山), Γ’ ⊢FOL φ’ ? ? FOLでの証明 自動定理 証明器 証明 実際に証明に使われるのは一部のみ → 使われなさそうものを削除 27
  28. 28. MizAR 40 for Mizar 40 • [Cezary Kaliszyk and Josef Urban, 2015] • Mizar で MML 4.181.1147に含まれる 57897 の定理などを対 象に、 • ナイーブベイズやk-NNといった古典的なモデル(+ TF-IDFや LSI、アンサンブルやブースティング)でそれぞれの公理が必 要かを予測 • 予測スコアの⾼い公理 n 個に限定して自動定理証明器 (Vampire, E, Z3) を呼び出す • 単一手法(モデル+証明器)で最⾼27.3%、複数手法で40%以上 証明できたなど 28
  29. 29. DeepMath • DeepMath - Deep Sequence Models for Premise Selection [arXiv:1606.04442] • 同じくMizarとMMLを対象に、モデルを深層学習っぽい モデルにすることを試みた論文 • 自動定理証明器には E を使用 • 複数のモデルを試しており、テスト用の 2,742 個の定理 中、単一モデルで最⾼62.95%、複数モデルで77%ほど 証明できた! 29
  30. 30. DeepMath のアーキテクチャ 1. conjectureとaxiomを NN(CNNもしくはRNN)で 固定長のベクトル (embedding)に変換 2. それらを連結 3. 使われるかどうかを予測 https://arxiv.org/abs/1606.04442 より引用 30
  31. 31. DeepMath のアーキテクチャ • 論理式の embeddingへの 変換に、2層の CNNを用いる場 合のイメージ https://arxiv.org/abs/1606.04442 より引用 31
  32. 32. DeepMath の再現の試み: データセット C fof(l100_finseq_1, axiom, r2_hidden(7, k2_finseq_1(7))). + fof(cc8_ordinal1, axiom, (! [A] : (m1_subset_1(A, k4_ordinal1) => v7_or + fof(redefinition_k5_numbers, axiom, k5_numbers=k4_ordinal1). + fof(rqLessOrEqual__r1_xxreal_0__r1_r7, axiom, r1_xxreal_0(1, 7)). + fof(rqLessOrEqual__r1_xxreal_0__r7_r7, axiom, r1_xxreal_0(7, 7)). + fof(spc7_numerals, axiom, ( (v2_xxreal_0(7) & m2_subset_1(7, k1_num + fof(t1_finseq_1, axiom, (! [A] : (v7_ordinal1(A) => (! [B] : (v7_ordinal1(B) - fof(l98_finseq_1, axiom, (r2_hidden(3, k2_finseq_1(7)) & r2_hidden(4, k - fof(l99_finseq_1, axiom, (r2_hidden(5, k2_finseq_1(7)) & r2_hidden(6, k - fof(l97_finseq_1, axiom, (r2_hidden(1, k2_finseq_1(7)) & r2_hidden(2, k - fof(t5_finseq_1, axiom, (! [A] : (v7_ordinal1(A) => (! [B] : (v7_ordinal1(B) データセット https://github.com/JUrban/deepmath 例: nndata/l100_finseq_1 必要 だった 公理 不要な 公理 証明した い命題 32
  33. 33. DeepMath の再現の試み • 幾つかのモデルをChainerで実装 (200行ほど) • 残念ながら過剰適合してるっぽい…… 分析や改良はまだ 33
  34. 34. 次に処理すべき節の選択への適用: Deep Network Guided Proof Search • [arXiv:1701.06972] • DeepMathがEに与える前提を絞るの にNNを使っていたのに対し、 • 自動定理証明器(E Prover)中に次に処 理すべき節の選択のために、ある節が 証明中で使われるか否かを予測する NNを学習し、そのスコアの⾼い節か ら処理。 • 探索手のランキングにNNを使う AlphaGo, Ponanza Chainer とも類似 • 対象は同じくMizarとMML • アーキテクチャはDeepMathと同様 34 https://arxiv.org/abs/1701.06972より引用
  35. 35. 中間ゴールの予測: HolStep • HolStep: A Machine Learning Dataset for Higher-Order Logic Theorem Proving • [arXiv:1703.00426] • (前提の集合、証明したい定理の主張) → 使えそうな中間ステップを予測する問題 35
  36. 36. HolStep データの例 train/00010: N REAL_IMP_CNJ C |- (!z. ((real z) ==> ((cnj z) = z))) T c==> creal f0 c= ccnj f0 f0 D TRUTH A |- T T cT D REAL_CNJ A |- (!z. ((real z) = ((cnj z) = z))) T c= creal f0 c= ccnj f0 f0 + |- ((t ==> t) = T) T c= c==> f0 f0 cT - |- (((x = x) ==> p) = p) T c= c==> c= f0 f0 f1 f1 + |- ((!z. t) = t) T c= ! f0 f0 - |- ((x = x) = T) T c= c= f0 f0 cT 証 明 し た い 前 提 ① 前 提 ② ( 実 際 に ) 使 わ れ た も の 使 わ れ な か っ た も の 36
  37. 37. 既存研究例:Holophrasm • [arXiv:1608.02644] • 完全な証明を書きだすところまでやる • payoff network: 探索の優先順を決める • relevance network: 適用する定理の選択 • generative network: 代入の生成 37
  38. 38. 既存研究例:Holophrasm • α, α⇒β, β⇒γ ├ γ の証明の例 適用する定理を選ぶ さらに代入も決める formulaの生成が必要 38 https://arxiv.org/abs/1608.02644より引用
  39. 39. 既存研究例:Holophrasm • 証明探索時は, 定理適用のノードを 生成していく • 示すべき補題のノードが 仮定したものになれば 証明成功 39 https://arxiv.org/abs/1608.02644より引用
  40. 40. 既存研究例:Holophrasm • 証明探索時は, 定理適用のノードを 生成していく • 示すべき補題のノードが 仮定したものになれば 証明成功 φ, ψ ├ χ の証明 χ ψ φ φ ψ 40
  41. 41. 既存研究例:Holophrasm • どのノードの探索を進めるか: 基本的にモンテカルロ木探索 • 青ノードの探索順は relevance network を利用 • least promising child についての値を payoff とする φ, ψ ├ χ の証明 χ ψ φ φ ψ 41
  42. 42. 既存研究例:Holophrasm • どのノードの探索を進めるか: 基本的にモンテカルロ木探索 • 赤ノードの initial payoff の 生成を学習する • その補題を 「証明できそうか」 φ, ψ ├ χ の証明 χ ψ φ φ ψ 42
  43. 43. 既存研究の比較 論理 タスク DeepMath Mizar を FOL (一階述語論理) に変換 Premise Selection Deep Network Guided Proof Search 探索のガイド HolStep HOL 探索のガイド Holophrasm FOL 証明の生成、探索のガイド、代入生成 DeepProlog Tim Rocktäschel et al. ‘17 FOL - 関数記号 帰納論理プログラミング [arxiv.1706.06462] Sekiyama et al. ‘17 命題論理 証明の生成 43
  44. 44. 我々の考える課題 • より適切な表現学習 • 正しい盤面評価の方法 • 取り得るアクションの数の多さ 44
  45. 45. 課題: より適切な表現の学習 • 画像はピクセルの配列、自然言語は文字やトークンの列、 と比較的単純な構造を扱っていた。 • 一方で、論理式や証明はより複雑な構造を持つ • CNN / RNN で論理式や証明の複雑な構造を捉えられる のか? • → Recursive NN や Tree LSTM などで、文字列・トーク ン列ではなく、構文木を直接扱う? 45
  46. 46. 課題: 非常に疎な報酬 • 探索問題として考えて強化学習的なアプローチで扱おうとすると、 探索途上ではまったく報酬がなく、最後に証明成功したときにだけ 報酬が発生する • 碁や将棋では、先読みやMCTS(モンテカルロ木探索)による勝率な どでノードの価値を評価できるが、証明ではそれができない – そもそも先読みや play out で正の報酬にたどり着けていれば、 それで証明終了 – 深さに全く制限がないので、終局まで play out しようがない 46
  47. 47. 課題: 取り得るアクションの数の多さ • 適用可能な公理図式やタクティックは有限であっても、 パラメータを含めて考えると無限 – 数学的帰納法を使うときの 述語 P の候補は無数 P(0) ∧ (∀x. P(x) → P(x+1)) → ∀x. P(x) – ゴール α に対して Modus Ponens を適用して β→α と β に変形 するとき、論理式 β を推測する必要。しかし候補は無数 • 候補をランキングするのでは不十分 – Holophrasm の generative network のようにそれらを生成する ネットワークが必要 – しかし、複雑な構造を直接生成するのは、より難しい 47
  48. 48. 論文紹介は以上です 48
  49. 49. References • C. Kaliszyk and J. Urban, "MizAR 40 for Mizar 40," In Journal of Automated Reasoning, vol. 55, no. 3, pp. 245-256, 2015. http://link.springer.com/article/10.1007/s10817-015-9330-8 • A. A. Alemi, F. Chollet, G. Irving, C. Szegedy, and J. Urban, "DeepMath - deep sequence models for premise selection," Jun. 2016. http://arxiv.org/abs/1606.04442 • S. Loos, G. Irving, C. Szegedy, and C. Kaliszyk, "Deep network guided proof search," Jan. 2017. [Online]. Available: http://arxiv.org/abs/1701.06972 • C. Kaliszyk, F. Chollet, and C. Szegedy, "HolStep: A machine learning dataset for higher-order logic theorem proving," Mar. 2017. http://arxiv.org/abs/1703.00426 • D. Whalen, "Holophrasm: a neural automated theorem prover for higher-order logic," Aug. 2016. http://arxiv.org/abs/1608.02644 • T. Rocktäschel and S. Riedel, "End-to-end differentiable proving," May 2017. http://arxiv.org/abs/1705.11040 • T. Sekiyama, A. Imanishi, and K. Suenaga, "Towards proof synthesis guided by neural machine translation for intuitionistic propositional logic," Jun. 2017. http://arxiv.org/abs/1706.06462 49
  50. 50. References • D. Silver, A. Huang, C. J. Maddison, A. Guez, L. Sifre, G. van den Driessche, J. Schrittwieser, I. Antonoglou, V. Panneershelvam, M. Lanctot, S. Dieleman, D. Grewe, J. Nham, N. Kalchbrenner, I. Sutskever, T. Lillicrap, M. Leach, K. Kavukcuoglu, T. Graepel, and D. Hassabis, “Mastering the game of go with deep neural networks and tree search,” Nature, vol. 529, no. 7587, pp. 484-489, Jan. 2016 https://www.nature.com/nature/journal/v529/n7587/abs/nature16961.html?lang=en • 山本一成, 下山晃, 齋藤真樹, 藤田康博, 秋葉拓哉, 土井裕介, 菊池悠太, 奥田遼介, 須藤武文 and 大川和仁, “第27回世界コン ピュータ将棋選手権 Ponanza Chainer アピール文章,” 2017. http://www2.computer-shogi.org/wcsc27/appeal/Ponanza_Chainer/Ponanza_Chainer.pdf 50
  51. 51. Links • AITPの公式サイト http://aitp-conference.org/2017/ • 酒井 政裕, “自動定理証明の紹介,” Proof Summit 2011, Sep. 2011. http://www.slideshare.net/sakai/ss-9413447 51
  52. 52. 定理証明などに関して 取り組むと面白そうな チャレンジ求む! 52
  53. 53. 53
  54. 54. ご清聴 ありがとうございました。 54

×