© 2005 SRI International Iteration Learning by Demonstration Thomas J. Lee Steven Eker, Melinda...
-
Upload
alexandrina-copeland -
Category
Documents
-
view
225 -
download
2
Transcript of © 2005 SRI International Iteration Learning by Demonstration Thomas J. Lee Steven Eker, Melinda...
© 2005 SRI International
Iteration Learning by Demonstration
Thomas J. LeeSteven Eker, Melinda Gervasio
SRI International
2© 2005 SRI International
LAPDOG Overview
learning from demonstration• "Watch me…"
Inst
rum
en
ted A
pp(s
)
USER
TaskRegistry
actions
demonstration(s)
generalized program
TaskManage
r
program execution
results
generalization dataflow completion execution
program
primitive execution
results
3© 2005 SRI International
WebTASCPOF• GOTS suite of data analysis, data
mining, and visualization tools• Installed on over 2000
workstations in theater (Iraq, Afghanistan)
Purpose: improve response time; capture experience/expertise
Use Cases: • Route analysis: 8 mins → 8 secs• Continuous IPB• Web data integration
• Command Post of the Future: a collaborative system for sharing and visualizing data
• 1500+ systems online and growing
Purpose: automate routine tasks; share best practices
Use Cases: • Workspace Configuration and
Monitoring• Emergency Response Procedures• Mission Rehearsal and Briefing
4© 2005 SRI International
Learned Procedure
A(-a)B(-m)C(+a +m –[b c d])D(+b -j)E(+d -k)F(–l)G(+[j k l])
A(-$X)B(-$Y)C(+$X +$Y –$Z)D(+first($Z) -$U)E(+last($Z) -$V)F(-$W)G(+list($U $V $W))
dataflow completion parameter generalization
structure generalization
heuristic selection
heuristic filtering Hypothesis
Space
alternative completion paths
find all unifications/variablizations across values and functional expressions over values
ABCDBCDBCDBCDE A(BCD)*E
induce all possible loops:• over sets or lists• over multiple lists in parallel• over functional expns over lists• generating lists
perform dynamic programming search in space of information-producing actions; search over KB relations
prefer fewer targets, common paths; remove redundant paths, longcuts, repeated subpaths
prefer shorter procedures, direct supports, existing supports, closest support
A2A1
Ak
Aj
A2A1
unsupported inputinserted actions
Demonstration
5© 2005 SRI International
Parameter Generalization
Convert(+Infile, +Format, -Outfile)Delete(+File)GetCreationDate(+File, -Date)List(+Directory,-FileList)
Action Model
6© 2005 SRI International
Parameter Generalization
Convert(+Infile, +Format, -Outfile)Delete(+File)GetCreationDate(+File, -Date)List(+Directory,-FileList)
Convert(+“manual.pdf”, +“HTML”, -“manual.html”)GetCreationDate(+”manual.html” , -“2009-03-23”)
Action Model
Demonstration
7© 2005 SRI International
Parameter Generalization
Convert(+Infile, +Format, -Outfile)Delete(+File)GetCreationDate(+File, -Date)List(+Directory,-FileList)
Convert(+“manual.pdf”, +“HTML”, -“manual.html”)GetCreationDate(+”manual.html” , -“2009-03-23”)
Action Model
Demonstration
8© 2005 SRI International
Parameter Generalization
Convert(+Infile, +Format, -Outfile)Delete(+File)GetCreationDate(+File, -Date)List(+Directory,-FileList)
Convert(+“manual.pdf”, +“HTML”, -“manual.html”)GetCreationDate(+”manual.html” , -“2009-03-23”)
Convert(Infile, “HTML”, File)GetCreationDate(File, Date)
Action Model
Demonstration Generalization
9© 2005 SRI International
Parameter Generalization
Convert(+Infile, +Format, -Outfile)Delete(+File)GetCreationDate(+File, -Date)List(+Directory,-FileList)
Convert(+“manual.pdf”, +“HTML”, -“manual.html”)GetCreationDate(+”manual.html” , -“2009-03-23”)
Convert(Infile, “HTML”, File)GetCreationDate(File, Date)
Action Model
Demonstration Generalization
List(+“doc”, -[“manual.pdf”,”other.pdf”])Convert(+“manual.pdf”, +“HTML”, -“manual.html”)GetCreationDate(+”manual.html” , -“2009-03-23”)
List(+”doc”,-List)Convert(first(List),“HTML”,File)GetCreationDate(File, Date)
10© 2005 SRI International
Structure Generalization
demonstration:
A(-[1 2 3])B(-[a b c])C(+a, +1, -”a1”) C(+b, +2, -”b2”)C(+c, +3, -”c3”)D(+[“a1” “b2” “c3”])
generalization:
A(-X)B(-Y)for U in X, V in Y building Z do C(+U,+V,-W) W accumulate ZodD(+Z)
• Learn iterations over (only) collections (lists or sets)• Learn multiple sequential and/or parallel (but not nested) iterations
11© 2005 SRI International
Support Ambiguity
Simple example:A(-k)B(-k)C(+k)
With expression:
A(-[l m n], -k) B(+k, -l) C(+l, +l) C(+l, +m) C(+l, +n)
Generalization:A(-U)B(-V)C(+{U,V})
Generalization:A(-W, -X)B(+X, -Y)for Z in W do C(+Y,first(W)},+Z)od
12© 2005 SRI International
Example (1)
A(-[a,e],-g)B(-[a,b,c,d])C(+g)D(+a,-h)...
use of an element of a collection → anchor for potential iteration
Idea: Leverage known collections to find loop
13© 2005 SRI International
Example (2)
A(-[a,e],-g)B(-[a,b,c,d])C(+g)D(+a,-h)E(+h)C(+g)D(+b,-i)...
use of another element of the collection → potential iteration boundaries identified
Idea: Leverage known collections to find loop
remove invalidated support hypothesis
14© 2005 SRI International
Example (3)
A(-[a,e],-g)B(-[a,b,c,d])C(+g)D(+a,-h)E(+h)C(+g)D(+b,-i)E(+i)C(+g)...
adjacent second sequence with matching actions and inputs → potential loop
Idea: Leverage known collections to find loop
15© 2005 SRI International
Example (4)
A(-[a,e],-g)B(-[a,b,c,d])C(+g)D(+a,-h)E(+h)C(+g)D(+b,-i)E(+i)C(+g)D(+c,-j)E(+j)C(+g)D(+d,-k)E(+k)F(+[h,i,j,k])
matching iterations for remaining elements → loop
A(-L1,-W)B(-L2)for X in L2 building L3 do C(+W) D(+X,-Y) E(+Y) Y accumulate L3 odF(+L3)
Idea: Leverage known collections to find loop
remove invalidated iteration hypothesis
16© 2005 SRI International
Alternatives for Iteration Learning
Container identification1. Infer implicit C by seeing
1. all of its elements2. some of its elements
2. Require user to specify C3. Relax requirement of explicit container
Reduce number of demonstrations of body1. Use surrogate (smaller) container C’: |C’| < |C|2. Proactive iteration completion (Eager 1991)
Encapsulate body into a subprogram1. Demonstrate |C| simple bodies (|B’| = 1)2. Specify the loop manually
No loop learning – wrap program in loop at runtime
17© 2005 SRI International
Demonstration vs. SpecificationLAPDOG uses pure PBD approach
•Advantages:• Intuitive to wide range of users• User performs normal workflow using familiar application• No knowledge of programming required• Programmers needn’t switch to “programmer mentality”
•Disadvantages:• Long and/or multiple demonstrations required• Specification can be concise• Intent may be known only to the user
Many opportunities exist for eliciting guidance from the user
18© 2005 SRI International
Summary of Loop Learning Capabilities
LAPDOG can learn• loops (not nested) over sets or lists• multiple sequential or parallel loops over lists• multiple sequential loops over sets• to generate list outputs, usable by subsequent loops• from a single or multiple examples
Simultaneous parameter and structure generalization → LAPDOG can further learn• loops with expressions over arbitrarily structured data• to support subsequent inputs with loop outputs• loop and non-loop alternatives for an action sequence