deepire first experiments with neural guidance in vampire
play

Deepire: First Experiments with Neural Guidance in Vampire Martin - PowerPoint PPT Presentation

Deepire: First Experiments with Neural Guidance in Vampire Martin Suda Czech Technical University in Prague, Czech Republic AITP, September 2020 1/18 Powering ATPs using Neural Networks Vampire Automatic Theorem Prover (ATP) for First-order


  1. Deepire: First Experiments with Neural Guidance in Vampire Martin Suda Czech Technical University in Prague, Czech Republic AITP, September 2020 1/18

  2. Powering ATPs using Neural Networks Vampire Automatic Theorem Prover (ATP) for First-order Logic (FOL) with equality and theories state-of-the-art saturation-based prover 1/18

  3. Powering ATPs using Neural Networks Vampire Automatic Theorem Prover (ATP) for First-order Logic (FOL) with equality and theories state-of-the-art saturation-based prover Neural (internal) guidance targeting the clause selection decision point supervised learning from successful runs 1/18

  4. Outline Introduction 1 Clause Selection in Saturation-based Proving 2 The Past and the Future of Neural Guidance 3 Architecture 4 Experiments 5 Conclusion 6 2/18

  5. Outline Introduction 1 Clause Selection in Saturation-based Proving 2 The Past and the Future of Neural Guidance 3 Architecture 4 Experiments 5 Conclusion 6 3/18

  6. Saturation-based theorem proving Resolution Factoring ¬ A 0 _ C 2 A _ A 0 _ C A _ C 1 , , ( C 1 _ C 2 ) θ ( A _ C ) θ where, for both inferences, θ = mgu( A , A 0 ) and A is not an equality literal Superposition t [ s ] p ⊗ t 0 _ C 2 Parsing l ' r _ C 1 L [ s ] p _ C 2 l ' r _ C 1 , or ( t [ r ] p ⊗ t 0 _ C 1 _ C 2 ) θ ( L [ r ] p _ C 1 _ C 2 ) θ where θ = mgu( l , s ) and r θ 6� l θ and, for the left rule L [ s ] is not an equality literal, and for the right rule ⊗ stands either for ' or 6' and t 0 θ 6� t [ s ] θ Unprocessed Passive Preprocessing Ac#ve Clause Selec*on 4/18

  7. Saturation-based theorem proving Resolution Factoring ¬ A 0 _ C 2 A _ A 0 _ C A _ C 1 , , ( C 1 _ C 2 ) θ ( A _ C ) θ where, for both inferences, θ = mgu( A , A 0 ) and A is not an equality literal Superposition t [ s ] p ⊗ t 0 _ C 2 Parsing l ' r _ C 1 L [ s ] p _ C 2 l ' r _ C 1 , or ( t [ r ] p ⊗ t 0 _ C 1 _ C 2 ) θ ( L [ r ] p _ C 1 _ C 2 ) θ where θ = mgu( l , s ) and r θ 6� l θ and, for the left rule L [ s ] is not an equality literal, and for the right rule ⊗ stands either for ' or 6' and t 0 θ 6� t [ s ] θ Unprocessed Passive Preprocessing Ac#ve Clause Selec*on At a typical successful end: | Passive | ≫ | Active | ≫ | Proof | 4/18

  8. How is clause selection traditionally done? Take simple clause evaluation criteria: weight: prefer clauses with fewer symbols age: prefer clauses that were generated long time ago . . . 5/18

  9. How is clause selection ✭✭✭✭✭✭✭ traditionally done? ✭ Take simple clause evaluation criteria: weight: prefer clauses with fewer symbols age: prefer clauses that were generated long time ago . . . neural estimate of clause’s usefulness 5/18

  10. How is clause selection traditionally done? Take simple clause evaluation criteria: weight: prefer clauses with fewer symbols age: prefer clauses that were generated long time ago . . . neural estimate of clause’s usefulness Combine these into a single scheme: for each criterion ξ maintain a priority queue which orders Passive by ξ alternate between selecting from the queues using a fixed ratio; e.g. pick 5 times the smallest, 1 time the oldest, repeat 5/18

  11. Outline Introduction 1 Clause Selection in Saturation-based Proving 2 The Past and the Future of Neural Guidance 3 Architecture 4 Experiments 5 Conclusion 6 6/18

  12. Stepping up on the Shoulders of the Giants Mostly inspired by ENIGMA: ENIGMA: Efficient Learning-Based Inference Guiding Machine [Jakubův&Urban,2017] ENIGMA-NG: Efficient Neural and Gradient-Boosted Inference Guidance for E [Chvalovský et al.,2019] ENIGMA Anonymous: Symbol-Independent Inference Guiding Machine [Jakubův et al.,2020] See also: Deep Network Guided Proof Search [Loos et al.,2017] Property Invariant Embedding for Automated Reasoning [Olšák et al.,2020] 7/18

  13. Stepping up on the Shoulders of the Giants Mostly inspired by ENIGMA: ENIGMA: Efficient Learning-Based Inference Guiding Machine [Jakubův&Urban,2017] ENIGMA-NG: Efficient Neural and Gradient-Boosted Inference Guidance for E [Chvalovský et al.,2019] ENIGMA Anonymous: Symbol-Independent Inference Guiding Machine [Jakubův et al.,2020] See also: Deep Network Guided Proof Search [Loos et al.,2017] Property Invariant Embedding for Automated Reasoning [Olšák et al.,2020] Things to consider: Evaluation speed Aligned signatures across problems? Can the choices depend on proof state? How exactly is the new advice integrated into the ATP? 7/18

  14. My current “doctrine” for clause selection research Keep it at simple as possible! start with small models feed them with abstractions only 8/18

  15. My current “doctrine” for clause selection research Keep it at simple as possible! start with small models feed them with abstractions only Why? As a form of regularisation (Followed by “overfitting without shame”) Explainability (Could we glean new “heuristics in the old-fashioned sense”?) 8/18

  16. My current “doctrine” for clause selection research Keep it at simple as possible! start with small models feed them with abstractions only Why? As a form of regularisation (Followed by “overfitting without shame”) Explainability (Could we glean new “heuristics in the old-fashioned sense”?) Idea explored here: Learn from clause derivation history! 8/18

  17. Outline Introduction 1 Clause Selection in Saturation-based Proving 2 The Past and the Future of Neural Guidance 3 Architecture 4 Experiments 5 Conclusion 6 9/18

  18. Basic architecture Simple TreeNN over derivation trees of clauses leaf: user axiom, conjecture, theory axiom id: int_plus_commut, int_mult_assoc, ... node: inference rule id: superposition, demodulation, resolution, ... 10/18

  19. Basic architecture Simple TreeNN over derivation trees of clauses leaf: user axiom, conjecture, theory axiom id: int_plus_commut, int_mult_assoc, ... node: inference rule id: superposition, demodulation, resolution, ... ➥ Finite enums: learnable embeddings + small MLPs 10/18

  20. Basic architecture Simple TreeNN over derivation trees of clauses leaf: user axiom, conjecture, theory axiom id: int_plus_commut, int_mult_assoc, ... node: inference rule id: superposition, demodulation, resolution, ... ➥ Finite enums: learnable embeddings + small MLPs Properties: constant work per clause! signature agnostic intentionally no explicit proof state possible intuition: generalizes age 10/18

  21. Obtaining the advice What do we learn from? a complete list of selected clauses from a successful run mark as positive those that ended up in the found proof ➥ Common to all previous approaches. 11/18

  22. Obtaining the advice What do we learn from? a complete list of selected clauses from a successful run mark as positive those that ended up in the found proof ➥ Common to all previous approaches. What do we learn? a binary classifier heavily biased to err on the negative side i.e. try to classify 100% of positive clause as positive and see how much can be thrown away on the negative side ➥ This is new stuff! 11/18

  23. Integrating the advice What has been tried: neural estimate (i.e., the “logits”) orders clauses on a new separate clause queue ENIMGA: just classify (put all good before any bad) and break ties by age within the positive and negative groups 12/18

  24. Integrating the advice What has been tried: neural estimate (i.e., the “logits”) orders clauses on a new separate clause queue ENIMGA: just classify (put all good before any bad) and break ties by age within the positive and negative groups Here: layered clause selection [Tammet19,Gleiss&Suda20] layer one: age-weight selection as described earlier layer two: group clauses into good and bad have a layer-two ratio to always pick a group 1 do layer-one selection in that group as before 2 12/18

  25. Integrating the advice What has been tried: neural estimate (i.e., the “logits”) orders clauses on a new separate clause queue ENIMGA: just classify (put all good before any bad) and break ties by age within the positive and negative groups Here: layered clause selection [Tammet19,Gleiss&Suda20] layer one: age-weight selection as described earlier layer two: group clauses into good and bad have a layer-two ratio to always pick a group 1 do layer-one selection in that group as before 2 ➥ Delayed evaluation trick: time spent evaluating dropped from around 90% to 30% 12/18

  26. Outline Introduction 1 Clause Selection in Saturation-based Proving 2 The Past and the Future of Neural Guidance 3 Architecture 4 Experiments 5 Conclusion 6 13/18

  27. Experiments Learning: Tanh for all non-linearities, various embedding sizes overfit to the dataset; ATP eval as the final judge positive examples weigh 10 time more than negative 14/18

  28. Experiments Learning: Tanh for all non-linearities, various embedding sizes overfit to the dataset; ATP eval as the final judge positive examples weigh 10 time more than negative Evaluation: TPTP version 7.3 (CNF, FOF, TF0): 18 294 problems a subset of SMTLIB (quantified; without BV, FP): 20 795 problems ➥ Neither has aligned signatures (besides the theory part) 14/18

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend