New SVS Implementation Joseph Xu Soar Workshop 31 June 2011.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Knowledge Engineering for Planning Domain Design Ron Simpson University of Huddersfield.
ECE 495: Integrated System Design I
Soar and StarCraft By Alex Turner. What is StarCraft: Brood War? A Real-Time Strategy (RTS) computer game released in A sci-fi war simulation Continually.
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Cognitive Systems, ICANN panel, Q1 What is machine intelligence, as beyond pattern matching, classification and prediction. What is machine intelligence,
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
Data Compression CS 147 Minh Nguyen.
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Spatial Visual System Joseph Xu Soar Workshop
Yiannis Demiris and Anthony Dearden By James Gilbert.
Quantifying Generalization from Trial-by-Trial Behavior in Reaching Movement Dan Liu Natural Computation Group Cognitive Science Department, UCSD March,
The City College of New York 1 Prepared by Dr. Salah Talha Mobot: Mobile Robot Introduction to ROBOTICS.
Brent Dingle Marco A. Morales Texas A&M University, Spring 2002
1 Learning from Behavior Performances vs Abstract Behavior Descriptions Tolga Konik University of Michigan.
Information Extraction from HTML: General Machine Learning Approach Using SRV.
Dr. Andrew Wallace PhD BEng(hons) EurIng
Soar-RL: Reinforcement Learning and Soar Shelley Nason.
Cognitive Processes PSY 334 Chapter 5 – Meaning-Based Knowledge Representation.
Chapter 10: Architectural Design
L-3 PROPRIETARY 1 Real-time IO-oriented Soar Agent for Base Station-Mobile Control David Daniel, Scott Hastings L-3 Communications.
Behavioral Patterns  Behavioral patterns are patterns whose purpose is to facilitate the work of algorithmic calculations and communication between classes.
System/Software Testing
Database Systems Group Department for Mathematics and Computer Science Lars Hamann, Martin Gogolla, Mirco Kuhlmann OCL-based Runtime Monitoring of JVM.
QUALITATIVE MODELING IN EDUCATION Bert Bredweg and Ken Forbus Yeşim İmamoğlu.
Learning Prepositions for Spatial Relationships in BOLT Soar Workshop 2012 James Kirk, John Laird 6/21/
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
An Architecture for Empathic Agents. Abstract Architecture Planning + Coping Deliberated Actions Agent in the World Body Speech Facial expressions Effectors.
1. Introduction Motion Segmentation The Affine Motion Model Contour Extraction & Shape Estimation Recursive Shape Estimation & Motion Estimation Occlusion.
A Multi-Domain Evaluation of Scaling in Soar’s Episodic Memory Nate Derbinsky, Justin Li, John E. Laird University of Michigan.
Interpreted Declarative Representations of Task Knowledge June 21, 2012 Randolph M. Jones, PhD.
Architecture styles Pipes and filters Object-oriented design Implicit invocation Layering Repositories.
Plan-Directed Architectural Change for Autonomous Systems Daniel Sykes, William Heaven, Jeff Magee, Jeff Kramer Imperial College London.
How to Use SVS Joseph Xu Soar Workshop History Soar Visual Interface (SVI) – Scott Lathrop Spatial Reasoning System (SRS) – Sam Wintermute Soar.
Knowledge Technologies March 2001 DataChannel, Inc Preserving Process Hyperlink-Based Workflow Representation W. Eliot Kimber, DataChannel, Inc.
Bob Marinier Advisor: John Laird Functional Contributions of Emotion to Artificial Intelligence.
Mobile Robot Navigation Using Fuzzy logic Controller
Architectural Point Mapping for Design Traceability Naoyasu Ubayashi and Yasutaka Kamei Kyushu University, Japan March 26, 2012 FOAL 2012 (AOSD Workshop)
1 Research Question  Can a vision-based mobile robot  with limited computation and memory,  and rapidly varying camera positions,  operate autonomously.
Application of dependency graph to security protocol analysis Ilja Tšahhirov (joint work with Peeter Laud) Theory Days at Jõulumäe 5 Oct 2008.
Joseph Xu Soar Workshop Learning Modal Continuous Models.
Behavior-based Multirobot Architectures. Why Behavior Based Control for Multi-Robot Teams? Multi-Robot control naturally grew out of single robot control.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Rational Agency CSMC Introduction to Artificial Intelligence January 8, 2004.
Learning Integrated Symbolic and Continuous Action Models Joseph Xu & John Laird May 29, 2013.
TRIALS AND TRIBULATIONS Architectural Constraints on Modeling a Visuomotor Task within the Reinforcement Learning Paradigm.
1 Learning through Interactive Behavior Specifications Tolga Konik CSLI, Stanford University Douglas Pearson Three Penny Software John Laird University.
FUNCTIONAL PROGRAMING AT WORK - HASKELL AND DOMAIN SPECIFIC LANGUAGES Dr. John Peterson Western State Colorado University.
Competence-Preserving Retention of Learned Knowledge in Soar’s Working and Procedural Memories Nate Derbinsky, John E. Laird University of Michigan.
Learning A Better Compiler Predicting Unroll Factors using Supervised Classification And Integrating CPU and L2 Cache Voltage Scaling using Machine Learning.
NTT-MIT Collaboration Meeting, 2001Leslie Pack Kaelbling 1 Learning in Worlds with Objects Leslie Pack Kaelbling MIT Artificial Intelligence Laboratory.
Action Modeling with Graph-Based Version Spaces in Soar
Modeling Primitive Skill Elements in Soar
Cognitive Language Processing for Rosie
Learning Fast and Slow John E. Laird
Data Compression.
Data Mining, Neural Network and Genetic Programming
AFP - Lecture 2 Domain Specific Embedded Languages
Lecture 2 Domain Specific Embedded Languages
Soar 9.6.0’s Instance-Based Model of Semantic Memory
Chapter 10: Process Implementation with Executable Models
Achieving parsimony between NGS and the Michigan approach
Modeling Cyberspace Operations
Joseph Xu Soar Workshop 31 June 2011
What to do when you don’t know anything know nothing
Symbolic cognitive architectures
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Learning in Worlds with Objects
Presentation transcript:

New SVS Implementation Joseph Xu Soar Workshop 31 June 2011

Outline Functionality in old SVS Addition of continuous control New implementation Conclusions 2

The Gist of SVS Past Hypothesis: Important properties of continuous environments cannot be completely captured with purely symbolic representations Use continuous representation to supplement symbolic reasoning – Continuous spatial scene graph – Symbolic Soar extracts information by asking questions in the form of spatial predicates – Symbolic Soar modifies scene graph using imagery commands 3

Spatial Scene Graph Set of discrete objects Hierarchy of “part-of” relationships Each object is transformed relative to parent in terms of position, rotation, and scaling Each leaf object has a concrete geometric form B C B C A World P [ 0.1, 3.4, -12 ] R [ 0.0, 0.0, 1.7 ] S [ 1.0, 1.0, 1.0 ] P [... ] R [... ] S [... ] P [... ] R [... ] S [... ] 4

SVS Commands world ( ^svs ) ( ^command ) ( ^extract ) ( ^predicate intersect ^a A ^b B ^result false) Commands predicates Working Memory Spatial Scene Graph Predicate extraction – Ask a question about the current state Is car A intersecting box B? Imagery – Imagine a change to the state for the purpose of reasoning about it If A is to the right of B, is it to the left of C? SVS is only a mechanism, it’s not smart – Needs knowledge about which predicates to extract and imagery operations to perform 5 Environment A B B A x : 0.2 A y : 1.2 B x : 3.4 B y : 3.9 A

Applications Applied to domains where spatial properties of state are important Controlled with given discrete sets of actions One step predictions using ad-hoc model learning methods 6 SoarEnv SVS Continuous state predicates Discrete actions imagery

Continuous Control Many real world environments expect continuous control signals from agent – Example: robot domain expects left and right motor voltages Traditional approach is to hand-code middleware to translate set of discrete actions into continuous output – Action discretization is a priori, leading to non- adaptive and non-optimal behavior – Not part of the cognitive architecture theory – Need new middleware for every new environment 7

My Motivation 8 EnvSVS predicates Relational actions imagery Symbolic Soar Env SVS Continuous state predicates Discrete actions imagery Continuous state Continuous actions Augment SVS to allow agents to automatically learn continuous control Agent autonomously derives a set of relational actions that it can plan over symbolically SVS learns how to translate relational actions to continuous output Symbolic Soar

Environment Assumptions Input to the agent is a scene graph Output is fixed-length vector of continuous numbers – Agent doesn’t know a priori what numbers represent Agent runs in lock-step with environment Fully observable Some noise tolerable 9 Input Output Environment Agent A.x A.y B.x B.y A B B A x : 0.2 A y : 1.2 B x : 3.4 B y : 3.9 A

Relational Actions The value of an extracted predicate is the smallest unit of change that’s distinguishable to symbolic Soar Each potential predicate value change is a relational action – Combinations of predicates? +intersect(A, B) 10 ( ^svs ) ( ^command ) ( ^extract ) ( ^predicate intersect ^a A ^b B ^result false) A B ( ^svs ) ( ^command ) ( ^extract ) ( ^predicate intersect ^a A ^b B ^result false) A B ( ^svs ) ( ^command ) ( ^extract ) ( ^predicate intersect ^a A ^b B ^result true) B A

Continuous Controller 11 Env SVS predicates Discrete actions imagery Continuous state Continuous actions Symbolic Soar Continuous Controller

Continuous Planning Find the trajectory that will lead to the predicate change the fastest 12 GreedySearch(s, objective): for u in sample(outputs): y = continuous-model(s, u) o = objective(y) if o < best: best = o best-output = u return best-output B Euclidean Distance intersect(A, B)=true A Learned (subject of next talk) or hand-coded Given a priori for each predicate Fixed in architecture Downhill Simplex Vector of transform values in flattened scene graph

Imagery with Control Agent can perform relational prediction by simulating a trajectory using continuous model on the internal scene graph, instead of sending it out to the environment Modified scene graph updates predicates as usual 13 Env SVS predicates Discrete actions imagery Continuous state Continuous actions Symbolic Soar Continuous Controller Scene Graph Continuous Model Continuous state

Summary Sam focused on theory of translating continuous environment state into relational symbolic representations I’ve added theory about where relational actions come from and how to ground them into continuous trajectories in the environment Ultimate goal: agents that can learn relational abstractions and plan over them in continuous environments 14

Relational State Continuous State ¬intersect (robot, red_wp) ¬intersect (robot, green_wp) Available Actions +intersect(robot, red_wp) +intersect(robot, green_wp) Relational Abstraction (Predicate Extraction) Relational Model Relational Planner Controller Continuous Model Pre out Post Objective Function intersect (robot, red_wp) ¬intersect (robot, green_wp) Environment Relational Action State Update Continuous State Motor Signals Relational State communication learning usage Relational Abstraction (Predicate Extraction)

New Implementation Integrated into kernel rather than communicate on IO link Removes dependencies on external libraries (WildMagic, CGAL) to ease installation Structured code to be extensible – Easy to add new predicates, commands, models Main idea: keep it clean enough that future students won’t throw it away and start over (happened twice already) 16

Nuggets & Coal Nuggets Adds a task independent mechanism for continuous control Usable implementation, soon to be released Coal Dropped some functionality from previous implementations Not optimized, haven’t measured performance in non-trivial domains 17

Extract Rule sp {cursor-target-intersect (state ^superstate nil ^svs ( ^command ^spatial-scene ( ^child.id splinter ^child.id target))) --> ( ^extract ) ( ^type bbox_intersect ^a ^b ) ( ^type bbox ^x ) ( ^type node ^name splinter) ( ^type bbox ^x ) ( ^type node ^name target)} 18 bbox bbox_intersect result a b Working Memory node(splinter) node(target) x x

Generate Rule sp {gen-target (state ^superstate nil ^svs.command ) --> ( ^generate ) ( ^parent world ^node ) ( ^type gen ^name target ^points.type singleton ^pos ) ( ^type vec3 ^x 5.0 ^y -5.0 ^z 0.0)} 19 generate(world) vec3(5.0, -5.0, 0.0) points pos Working Memory result scene graph modification singleton(0.0, 0.0, 0.0) gen(target) node

Control Rule sp {seek-target (state ^superstate nil ^svs ( ^command ^spatial-scene ( ^child.id splinter ^child.id target))) --> ( ^control ) ( ^type simplex ^depth 20 ^outputs ^objective ^model model1) ( ^left ^right ) ( ^min -1.0 ^max 1.0 ^inc 1.0) ( ^name euclidean ^a splinter ^b target)} 20