|
RAICA - How it works
In RAICA everything that happens is stored in a raw form, without pre-interpretation of the AI. These experiences are used
repeatedly in a learning process whose output is particularly the modification and subjoining of abstract states being recognised
by the AI.
If a movement sometimes leads to the desired result, and sometimes does not, the AI will try to define two new abstract states.
One of which shall catch all entry situations, where this movement seems to be successfully applicable. While the other new
abstract state shall cover all entry situations where this movement is to be discouraged from.
To achieve this, the AI records precisely, at which time each action (=part of a proposal) was executed, and if in this particular
run the desired state was reached or not. Based on this data the AI can provide a list of experiences with a good outcome
and a list of experiences with a bad outcome for each proposal. These lists are the input for a so-called supervised learning,
where for each proposal it will be evaluated, what it is, that divides the entry situations of the good experiences from the
entry situations of the bad experiences.
Such a new aggregation of situations is coded by a new state indicator (SIN) - as all other abstract situations are - and
is added to the state indicator net (SINNet). Additionally this new SIN will be registered as the new Entry-SIN in the respective
proposal.
If a proposal fails, it is not because the action was wrong, but because the situation where this proposal was chosen (the
entry SIN) was wrong.
|
Architecture overview:
Enlarge
Abbreviations and terminology:
SIN State Indicator
ESIN Entry State Indicator
TSIN Target State Indicator
CSIN Corridor State Indicator
Complex Action: List of subgoals (to be executed one by one)
Primitive Action: List of servo movements (to be executed all at once)
Wenn ein neuer Target-State als zu erreichendes Ziel vorgegeben wird, so wird
es sich dabei selten um eine Anweisung handeln, die direkt als Gelenk-Winkel
(also als Servo-Positionen) gesehen werden kann. Es muss also nach einem Proposal
gesucht werden, wie dieses Target-State erreicht werden kann. Das wird vor allem
auch von der aktuellen Situation abhängen, die sich durch eine Menge von zur Zeit
aktiven State-Indikatoren beschreibt.
Der Proposal-Chooser wählt also ein geeignet
erscheinendes Proposal aus, welches der Action-Executer ausführt. Dabei legt der
Action-Executer eine neue Experience für dieses Proposal an. Die in dem Proposal
genannte Action ist möglicherweise keine Primitive Action (= Gelenk-Winkel-Angabe
= Servo-Positionen), sondern eine Complex Action, also ein oder mehrere der
Reihe nach zu erreichende Target-States.
Um dieses zu erreichen muss der Action-Executer erneut den Proposal-Chooser befragen,
und die Suche nach einer geeigneten Aktion geht in die nächste Runde. Bis dann
wirklich eine Primitive Action, also eine direkte Anweisung an die Servos, gefunden ist,
wird es eine Vielzahl von begonnenen Experiences geben, für immer kleiner gefasste
Unteraufgaben.
Während die Ausführung von Complex Actions optimaler Weise in Null-Zeit erfolgt,
muss den Primitive Actions Zeit eingeräumt werden, denn der Roboter kann (und soll)
sich ja nicht unendlich schnell bewegen, und es braucht seine Zeit, bis eine Aktion
eine spürbare Reaktion der Umwelt hervorruft. Während nun also die Primitive Actions
ausgeführt werden, wird ständig (optimaler Weise mit jeder Verfügbarkeit neuer
Sensordaten) geprüft, ob die grundlegenden Rahmenbedingungen, für die die gerade
in Ausführung befindlichen Proposals gedacht waren, überhaupt noch vorliegen. Diese
sind in den Corridor-SINs beschrieben, welche zu jedem Proposal dazu gehören.
A real novum of this architecture is that the experiences do not refer to any
abstract states directly, but to points in time (timepoints) in the timelines. These timepoints
together with a surrounding snippet of the timeline, build a
"pseudo markovian" primitive state. With this primitive state the abstract states
can be reproduced.
|
=> |
You can imagine a timeline as an old-fashioned magnetic music tape, and the
primitive state as the audio head. Whenever a timeline is passed along the "audio head",
the happenings in the timeline are experienced again by the AI - like dreaming.
But as the SINNet may have changed in the meantime, the AI might see the happenings
in a different light now, maybe more mature.
|
So far for today, 12. April 2012, about the Roboshock/RAICA architecture. A follow up
will come in the next days, weeks or month. -- stay tuned! --
|
|
|