+ All Categories
Home > Documents > © 2005 SRI International Iteration Learning by Demonstration Thomas J. Lee Steven Eker, Melinda...

© 2005 SRI International Iteration Learning by Demonstration Thomas J. Lee Steven Eker, Melinda...

Date post: 01-Jan-2016
Category:
Upload: alexandrina-copeland
View: 223 times
Download: 2 times
Share this document with a friend
18
© 2005 SRI International Iteration Learning by Demonstration Thomas J. Lee Steven Eker, Melinda Gervasio SRI International
Transcript

© 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


Recommended