90 likes | 212 Views
Scalable Synthesis. Brandon Lucia and Todd Mytkowicz Microsoft Research. Synthesizing Circuits. There exists some parameters, w, such that all inputs x implement a specification. Inference proble m is undecidable in general – hard problems to solve!
E N D
Scalable Synthesis Brandon Lucia and Todd Mytkowicz Microsoft Research
Synthesizing Circuits There exists some parameters, w, such that all inputs x implement a specification Inference problem is undecidable in general – hard problems to solve! Can we leverage existing work to make this scale?
Neural Networks Find such that T F or… T F
Neural Networks Find such that T or… F T F 2 layer neural network can approximate any continuous function!
Learning Abstractions with ML Each subsequent layer learns higher level features First layer learns low level features Unsupervised training, layer by layer
Duality of Synthesis and ML Machine Learning Synthesis Over Reals where is +, is , andis Sigmoid Over Booleans where is Or, is And, andis Not Specification is implicit in input/output pairs Specification is vector of logical formula
Synthesizing Sudoku Recognizer If A0 is 0 then no other cell in A0’s column 0 no other cell in A0’s row is 0 no other cell in A0’s unit is 0 If A0 is not 0 then one cell in A0’s column must be 0 one cell in A0’s row must be 0 one cell in A0’s unit must be 0
Learning Abstractions in Sudoku Each subsequent level combines prior levels. Learns “factorization” of potentially exponential specification! First layer learns local implications Unsupervised training, layer by layer
Future directions & Questions • Flesh out duality into formal details • Duality goes both ways: can we help ML methods with our understanding of synthesis / formal verification? • CEGIS: • Program = Data Structure + Algorithm • Learn structure (depth) and algorithm (connectivity) • Approximation / Probabilistic need not mean incorrect • But it may help scale inference