Metron seas collaboration

  • Upload
    ikekala

  • View
    347

  • Download
    0

Embed Size (px)

Citation preview

PowerPoint Presentation

SDSU Foundation

CES302 July 14, 2011 10:15am

Dr. Joseph Lewis

Collaboration
Possibilities:
Metron and the SEAS Lab

Introduction

Science of Evolving Adaptive Systems (SEAS) LabA semi-virtual space comprised of university hardware, a software repository, people and the collection of their individual computational platforms, the Starcat framework and other novel computational architectures (e.g. population-based algorithms, artificial immune systems, etc.) and a commitment to the investigate the tools and empirical results of experiments in the sciences of complexity (emergence, spatiotemporal and multidimensional self-organization, stigmergy, autopoiesis)

Introduction

SEAS Director (myself): Dr. Joseph Lewis BS Honors Physics and Mathematics; Computer Science minor. Purdue University 1990Spent four years developing computational models of physical systems (microwave device simulations) for the Navy

MS Computer Science. National University (Navy) 1994Spent two years developing enterprise software systems for commerce in Chicago

PhD Computer Science. University of New Mexico 2001Developed Madcat, an autopoietic navigation and mapping engine for mobile robots

Spent the last ten years in teaching and research, particularly on the development of the Starcat framework, here at SDSU

Continuing this while also experiencing research migration

Research Migration

...is driven by changing technology and thus publication patterns,as well as by the needs and inspirations of (particularly graduate) education

For me there were three primary paths toward parallelization and distributed computing approaches.

Computational geometry and GIS applications often benefit from from parallelization

Population-based techniques (some more than others, e.g. genetic algorithms) map nicely into such an approach

My longstanding commitment to certain cognitive models for emergent and adaptive computation are inherently both distributed and parallel

The Road to Metron

John Crockett from the SDSU Foundation contacted me indicating that my research may be a fit for collaboration with Metron.

Mike Atamian and I had a galvanizing conversation about three primary possibilities*:Recent involvement in parallel geometric algorithms in my own teaching curriculum motivate an interest in collaborating on work closer to Metron's established capabilities and the SPEEDES product, as relevant to current BAAs, SBIRs and STTRs.

Mike also responded with interest to my suggestion that my own recent move into the world of research with GPGPU hardware could result in a joint effort to produce a similar kind of framework to SPEEDES for that rapidly growing technique

*(caveat): I was unable to follow up with Mike very quickly due to administrative obligations of our new certificate program; John stepped in to facilitate, so that here we are today (thanks!)

The Road to Metron (contd.)

Finally, Jim Brutocao indicated in an email to John that the research presented on my starcat.org website, the internet presence for the SEAS lab, was of significant interest to him...

...which generated unexpected excitement for me as I have been ruminating on both distributed and parallel possibilities for that architectureindeed have been developing a more close-to-the-silicon version of Starcat in support of mult-agent simulations leveraging the hundreds of parallel cores in the Nvidia Tesla board (GPU)

...but which may have as much or more chance of success in a CPU based mature framework such as SPEEDES.

The ultimate goal would be to produce self-organizing behavior in a computational system that adapts to a changing environment and learns new behavior in a manner more cognitively plausible than much of the body of work in traditional machine learning (Hawkins for exp.)

Manifesting this Research:
Parts One and Two

With regard to my participating as an academic partner in announcements and initiatives (the first possibility) I would join as you call me to, dictated presumably by the timelines for the various calls for research Metron has in its scopes. (Depending on who spoke first) this has either been or will be broached presumably today.

Developing an analog of SPEEDES for leveraging GPGPU hardware is a completely independent line of research we could begin as soon as feasible; likely there are sources of support for something of this natureor at least a clear need (and thus client base) for that framework (I resisted the urge to invent a cute cousin acronym for it)

A subsequent slide will present some very preliminary thoughts regarding the feasibility of such a port of the SPEEDES product to this different hardware configuration

Manifesting this Research:
Part Three

In the interest of moving from too many words to some engaging technical discussion, let me just sum up my thoughts on the intrigue of a collaboration between the ideas behind adaptive computation and and institution with such mature products supporting parallel computation in this succinct way:

It is FULL of possibilities of interest to everyone from the DOD to, for example, the Neurosciences Institute here in SD

I've been wanting to bring the two ideas together for a couple of years now

I'd love to get involved in such a collaboration! Publications guaranteed. Follow-on funding and applications too...

Again, following a bit later are some slides to motivate some technical discussion about adaptive computation and the Starcat framework

Evocative Image of Similarity Between SPEEDES and GPGPUs

Shared Memory

Shared Memory

Shared Memory

Compute Node

Compute Node

Compute Node

High-Speed Communications

CPUs

Compare to GPGPUs*

Inter-cluster communication (local bus), third fastest

Cluster Shared Memory(second fastest)

Core Cluster

Core Cluster

Core Cluster

Local core pipeline memory (fastest)

Cluster Shared Memory(second fastest)

Cluster Shared Memory(second fastest)

GPU cores

CPU MotherboardControlling bus (slowest)

(abrupt transition alert)
Autopoiesis (Stigmergy)

The term comes from ant colony behavior: a system changes its environment so that later the system will respond differently, thereby guiding its behavior

String on finger, book by door, pheromones.

Internal stigmergy occurs in a complex system when changes in internal dynamics persist and have influence on future action.

When that persistence is closely coupled with particular interactions with the environment, the changes can be called emergent representations of the phenomona from the environment.

Nothing to add here

Emergent Representation

Representation has been the traditional Achilles heel of AI: choosing the best one for a problem and avoiding brittleness is tough.

Some have gone so far as to eschew it completely (Brooks, 1991).

But a representation that emerges as a side-effect of the interaction of very many agents with the environment and each other, guided by long-trained system dynamics, is another matter.

Partial sufficient representationno more need to maintain fidelity of a model.

Such a representation might also be leveraged externally, as a usable product of the systems processes

Nothing to add here

Adaptive Behavior

As internal emergent representations evolve, they can have varying impacts on the functioning of the systems components.

So the systems own trail of behavior plays a role in guiding the systems future actions.

Coupled with the fact that global behavior arises from the interaction of very many locally acting agents, we have the possibility of adaptation of behavior.

It only calls for us to define the microbehaviors that are possible and the concepts which motivate them.

Nothing to add here

The Starcat Project

Starcat (*-cat) is an adaptive computational framework that generalizes the Copycat architecture (Mitchell 1993, Hofstadter 1995)

facilitating the development of open-ended systems

that autonomously adapt behavior to continuously changing environments

Emergent representation is a key feature of its functioning

Adaptive behavior is the desired result that it supports

We consider here the details of the framework and some of the applications developed as part of the effort to advance it

Caveat that this definition of Starcat is the ultimate goal; it takes development of applications along the way to discover just how these long-term goals can be realized.Presented here are some of those intermediate application efforts

Starcat Project Assumptions

This architecture makes the assumptions that adaptive behavior is supported by:

Top-down pressures from conceptual organization

Bottom-up pressures from perceptual input and context

Fluid concepts that shift under these pressures

Flexible representations, situated through behavior, that emerge from the interactions of very many simple agents

Anything here?...

Starcat Architecture Design

Coderack

biased probabilistic priority queue

codelets

Activation levels Spreading activation Activation decay Probabilistic jumps Codelet production

Links: Category / Instance Property Labeled / Slip Lateral

Slipnet

codelets

codelets

Workspace

Structures: Descriptors Bonds Groups Correspondences

Partial, competitive constructionCoherence-measure

Comment on ordering of components (doesnt have to be in this cycleswimming in seabut no applications so far that require other, even though we can imagine them)

Starcat Design Characteristics

Asynchronous components, event driven design

Arbitrary connectivity among and choice of components

Data structure / Metabolism model for components

Success-based and failure-based slipnet activation

Genericity of workspace structures

Broader spectrum of codelet release

Original biological metaphor for codelets amplified

Elaborated modulation of workspace access patterns

XML configuration of slipnet and component parameters

Type constrained access?Experiments in workspace access methods?What else from grads?

Starcat: Antcat (Ant Colony Simulation)

Degenerate configuration with no slipnet

Workspace as spatial array captures physical constraints

Ants, pheromones, food are basic objects

Codelets (MoveAnt, EvaporatePheromone,) imbue workspace structures with dynamics

Stigmergic behavior provides optimization solution to familiar asymmetric bridge experiment and in general finding paths from nest to food

Explores notion of stigmergy as learning

Preceded current framework but helped to develop the ideas in it

How does autopoeisis figure in here?

Starcat: Starcopy (Copycat Revisited)

Based on previous work in the Copycat project

Copycat was one of the first systems to realize the idea of emergent representation and was a predecessor to Starcat

Want to show the new system has similar capabilities

Problem domain is analogies between letter-string pairs

Initial results here; a complete redevelopment using a refined Starcat architecture and extending the Copycat capabilities is underway

Remember here and everywhere to narrate what the slipnet looks like and what the codelets are and what the structures areThat is the set of features that occurs across applications and which helps speak to the primary question of:

HOW DOES THE STARCAT FRAMEWORK REALIZE THE POSSIBILITY OF A SOFTWARE SYSTEM BUILT ON PRINCIPLES OF COMPLEX SYSTEMS!!

Starcat: Agentcat (ALife Simulation)

We want to explore different component configurations

We want to explore the interactions between multiple instantiations of the framework

We have an ALife application where each individual agent has a slipnet and a coderack for regulating its behavior and they all interact in a shared workspace

Patterns of interaction change depending on the internal states of the many slipnets

Fear, hunger and contentedness nodes rise and fall in activation in response to environment, driving individual agents behaviors (exploring, fleeing, attacking, eating)

Hunter and prey agents (both lazy and active varieties) have slipnets with different biases and generated codelets

Experiments conducted with various combinations of these agents

Hunter agents outlived prey agents by about 15% on average over all experiments

Lazy prey agents had the peak lifespan in a single experiment

Lazy hunters moved dramatically less than any other agent (scavenging)

Active prey agents were attacked more than lazy ones (increased interaction)

Lazy prey moved more than any agent type on average, across all experiments (fear, hunger and longer lifespans)

Scavenging in general (more eating than movement/attacking)

Changing the slipnets affects these tendencies

Tuning space huge and true emergent effects not clearly seenan issue to consider

One point: we can talk about the resulting predator-prey interactions, but what are the larger lessons here?: Can we build multi-instance systems, yes. What changes in design are required (thread cycling/synchronizing) ?

Starcat: Madstar (Madcat Revisited)

Based on previous work in the Madcat project

Madcat was the first system to embody the emergent representation and fluid concept network of Copycat in ongoing interaction with a problem domain

Madcats development motivated Starcat and its premises

Madcat highlighted the possibility of autopoiesis in a computational system and the use of partial, sufficient representation

Want to show the new system has similar capabilities and explore additional features

Problem domain is mapping and navigation for a sonar-driven mobile robot

data

Sensor

Coherence

Workspace

Snapshots

Mapnet

Slipnet

Persistent

SnapshotPeriodic

Map CellPeriodic

Behavior

Coderack

A Sd ea lp et ci tv ie o n

Movement Codelets

Model-building Codelets

Would we want to talk about structural coupling? See Crossing the barrier

Madcat Results

E

E

E

coherence-measure: 31

coherence-measure: 54

coherence-measure: 76

First the spatial patterns are built by codelets Then temporal patterns in those structures are tended toThese give rise to structures in the mapnet indicating both whats there and how much is known (coherence)

Starcat: Coolcat (Musical Improvisation)

Intended as a model of creative activity in a musical domain

Performs analysis of musical concepts at multiple levels of abstraction (notes, phrases, etc.)

Provides ability to seed the system with different types of musical styles

Workspace is time-driven (similar to Madcat) with a window of analysis

It can be influenced by past structures but only build new structures from present and beyond

Workspace has subdivisions for melody track and chord progressions

Has the potential for real-time interaction with performing musician

Rather dense slipnet with core of basic musical concepts and smaller set of style-specific concepts

Phrasing and melodic shaping are emergent properties of the system

One of the more successful Starcat implementations

One point: we can talk about the resulting predator-prey interactions, but what are the larger lessons here?: Can we build multi-instance systems, yes. What changes in design are required (thread cycling/synchronizing) ?

Starcat: Botcat (A Robocode Agent)

Uses the Starcat framework to create instances of Robocode agents that can move around in a space and interact with other agents (targeting and killing them for a gain in personal energy).

Integrates a genetic algorithm into the framework.

The slipnet links and link lengths are determined by this GA.

Populations of 50-100 Botcat agents, initially randomly configured, are evolved over 1500 generations.

This ability to train the network with a GA has been a goal of the project since the beginning.

We also want to provide an evolutionary process over the development of codelets.

Together these might bring about something like learning, provided the GA is always running, similar to the classifier system.

Botcat experimented with different configurations of the framework and with new types of codelets (fuzzy and composite).

Demonstrated two interesting truly emergent phenomena: ramming and raking, to cope with the underlying Robocode frameworks evaluator patterns

One point: we can talk about the resulting predator-prey interactions, but what are the larger lessons here?: Can we build multi-instance systems, yes. What changes in design are required (thread cycling/synchronizing) ?

Starcat: SONUS (Intro)

A dynamic network of sensors monitoring anomalies without any central control

We want this network to self-organize its configuration (who is talking to who, who is monitoring the signal, how to collaborate for increased confidence, etc.)

Subject to various constraints (orientations, available power, etc.)

Use Starcat as a fine-grained implementation of an artificial immune system model

Two layers: network layer (AIS model) and node layer (Starcat model)

A

B

C

D

E

F

One-way message

Two-way messages

Sensor node

a Acoustic sensorv EM (visible) sensorav Dual capability sensor

A

B

C

D

E

F

a

v

a

av

av

v

GPS

Removed bullet: Leads to next-level problem of data fusion; also expect to address this using Starcat

Mention LM

Use language about events like, bright flash of light accompanied by a ground-carried acoustic signal

Distributed Event Perception

PotentialEvent: 24

PotentialEvent: 75

PotentialEvent: 83

Perceptual Workspace

self-comparesmem-compares

PossibleEvent: 89

PossibleEvent: 87

Perceptual Workspace (later, partial)

self-comparesmem-comparesexternal compares

promotion by confidence and accumulated comparisons

competition

external event message: possible event

external event message: determined event

other nodesin network

external event message: possible event

DeterminedEvent: 89

Perceptual Workspace (still later, partial)

promotion by confidence and accumulated comparisons

external event message: determined event

thissensor node

What Weve Learned

Tuning matters

Growing/evolving rather than programming

Slipnet is core (and hardest and exploratory)

Genericity is difficult because ofNature of architecture itself and

the principles of complex systems at play

New issues arise with each effort

But it is at least partially possible

Memory is a function of persistence of internal structures and the behaviors coupled to them

Autonomy arises because the system simply produces ongoing behavior in response to a changing environment without external intervention

Genericity classifier systems has some of it, but then there are many different versions

Principles---many interacting agents

New issues: think SONUS

Mention GUI with partially possible

starcat.org

[email protected]