SLIDE 1
Forgetting to learn logic programs Andrew Cropper University of - - PowerPoint PPT Presentation
Forgetting to learn logic programs Andrew Cropper University of - - PowerPoint PPT Presentation
Forgetting to learn logic programs Andrew Cropper University of Oxford Program induction/synthesis Examples Learner Background knowledge Program induction/synthesis Examples Learner Computer program Background knowledge Examples
SLIDE 2
SLIDE 3
Examples Background knowledge Learner Computer program Program induction/synthesis
SLIDE 4
Examples input
- utput
dog g sheep p chicken ?
SLIDE 5
Examples Background knowledge head tail empty input
- utput
dog g sheep p chicken ?
SLIDE 6
Examples input
- utput
dog g sheep p chicken ? def f(a): t = tail(a) if empty(t): return head(a) return f(t) Background knowledge head tail empty
SLIDE 7
Examples input
- utput
dog g sheep p chicken n def f(a): t = tail(a) if empty(t): return head(a) return f(t) Background knowledge head tail empty
SLIDE 8
Examples
f(A,B):-tail(A,C),empty(C),head(A,B). f(A,B):-tail(A,C),f(C,B).
input
- utput
dog g sheep p chicken n Background knowledge head tail empty
SLIDE 9
Background knowledge defines the hypothesis space
SLIDE 10
Where does background knowledge come from?
SLIDE 11
Hand-crafted rules [almost every approach]
SLIDE 12
Unsupervised learning ALPS [Dumančić et al. IJCAI 2019] Playgol [Cropper. IJCAI 2019]
SLIDE 13
Supervised multi-task learning Use knowledge gained from solving one problem to help solve a different problem Metabias [Lin et al. ECAI 2014] Dreamcoder [Ellis et al. NIPS 2018]
SLIDE 14
Why does it work? We increase branching but reduce depth
SLIDE 15
SLIDE 16
Problem: big branching factor
SLIDE 17
Idea Forget things
SLIDE 18
SLIDE 19
SLIDE 20
ILP problem Given:
- background knowledge B
- positive examples E+
- negative examples E-
SLIDE 21
ILP problem Return: A hypothesis H that with B entails E+ and not E+
SLIDE 22
Forgetting problem Given background knowledge B Return B’ ⊂ B from which you can still learn the target hypothesis
SLIDE 23
Why? Reduce branching and sample complexity
SLIDE 24
SLIDE 25
SLIDE 26
SLIDE 27
How? Forgetgol, a multi-task ILP system based on Metagol, which takes a forgetting function as input
SLIDE 28
Forgetgol Continually expands and shrinks its hypothesis space
SLIDE 29
Syntactical forgetting (lossless)
- 1. Unfold each induced clause to remove invented
predicate symbols
- 2. Check whether a syntactically duplicate clause
already exists
SLIDE 30
Statistical forgetting Assigns a cost to each clause based on:
- 1. How difficult it was to learn
- 2. How likely it is to be reused
SLIDE 31
Does it work?
- Q. Can forgetting improve learning performance?
SLIDE 32
We compare: Metabias: remember everything Metagol: remember nothing Forgetgolsyn: syntactical forgetting Forgetgolstat: statistical forgetting
SLIDE 33
Robot planning
SLIDE 34
SLIDE 35
SLIDE 36
SLIDE 37
SLIDE 38
SLIDE 39
SLIDE 40
What happened? Metabias rarely induces a program with more than two clauses because of program reuse
SLIDE 41
Lego building
SLIDE 42
SLIDE 43
SLIDE 44
What happened? Less reuse (and greater search depth) so forgetting has more effect
SLIDE 45
Conclusions Forgetting can improve learning performance when given >10,000 tasks, but, surprisingly, not by much
SLIDE 46