SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
L’APPROCCIO ANTICIPATORIO IN ROBOTICA: UNA ANALISI COMPARATIVA

               Gianguglielmo Calvi*, Alessandro Tutino°, Giovanni Pezzulo$
                                                          °
                                        *NOZE s.r.l.
                             °Università degli Studi di Palermo
                                        $
                                          ISTC-CNR
                  gianguglielmo.calvi@noze.it, giovanni.pezzulo@istc.cnr.it

Introduzione

Recentemente molte evidenze convergenti in psicologia e neurobiologia indicano un ruolo
cruciale dei meccanismi anticipatori per un ampio settore di funzionalità cognitive, come ad
esempio il controllo dell’attenzione [Balkenius e Hulth, 1999] ed il controllo motorio
[Wolpert e Kawato, 1988]. Inoltre molti studi nel versante neurobiologico, psicologico e
filosofico confortano decisamente l’idea che le rappresentazioni siano principalmente
influenzate dalle azioni da eseguire, e profondamente correlate all’apparato motorio
[Barsalou, 1999; Castelfranchi, 2005; Grush, 2004; Rizzolatti et al. 1996].
Presentiamo un'analisi comparativa di natura qualitativa di 4 differenti sistemi basati su
forward ed inverse model (modelli diretti e inversi) e orientati all'anticipazione senso-motoria
in differenti ambienti. Pur avendo parecchie analogie, ognuna delle architetture illustrate offre
la possibilità di mettere in risalto tematiche diverse. Dallo studio dei quattro lavori emerge
con chiarezza come l’approccio anticipatorio costituisca una tendenza sempre più diffusa
nelle applicazioni robotiche. Ma è possibile anche notare la ricchezza e la diversificazione
delle soluzioni implementative che possono essere adottate in base all’impostazione teorica di
fondo e alla natura del task richiesto all’agente. Un ulteriore motivo di interesse nasce dal
fatto che ciascuno dei sistemi dà l’opportunità di focalizzare l’attenzione su diverse
problematiche specifiche di partenza. In particolare, il sistema (1) [Tani e Nolfi, 1999] pone
principalmente la questione della segmentazione temporale: l’obiettivo è la realizzazione di
un task di alto livello come risultato di una corretta successione cronologica di task parziali,
eseguiti da moduli addestrati in tempo reale. Viene proposta una metodologia che conduce
all’emergenza di un repertorio di moduli specializzati a più livelli di complessità; occorre
allora commutare correttamente dall’uno all’altro per comporre il task iniziale desiderato. Il
sistema (2) [Pezzulo et al., 2005] enfatizza i vantaggi dell’approccio anticipatorio
nell’orientamento dell’attenzione, mettendo a confronto due agenti impegnati in uno stesso
task di visual search: il primo implementato mediante un’architettura di tipo puramente
reattivo, il secondo basato su capacità predittive derivanti dall’uso di modelli interni.
Quest’ultimo mostra prestazioni migliori. Il sistema (3) [Johnson e Demiris, 2005] si
concentra sul tentativo di dotare un robot di capacità di imitazione. Avvalendosi di
un’architettura con modelli diretti e inversi combinati, mira all’obiettivo di rendere il robot
capace di riconoscere e poi di eseguire una sequenza di operazioni manuali compiute da un
dimostratore umano. Il sistema (4) [Dearden e Demiris, 2005] consente di illustrare tecniche
utili all’apprendimento di modelli diretti per un robot. In questo caso si tratta di un modello
diretto realizzato mediante una rete bayesiana, di cui vanno appresi struttura e parametri.

Il paradigma anticipatorio.

Le applicazioni robotiche, nel corso degli anni, hanno visto affermarsi con sempre maggiore
diffusione il paradigma anticipatorio. Esso si basa sul principio che dotare i sistemi robotici
della capacità di formulare aspettative sulle conseguenze sensoriali dei propri atti costituisca
un vantaggio al momento della selezione dell’azione più opportuna nel corso dell’esecuzione
di un task più o meno complesso. E’ ormai comunemente accettato il dato di fatto che,
dovendo scegliere quale azione compiere all’interno di un novero di possibilità, conviene
“premiare” quella (o quelle) che mostrano di condurre a esiti sensoriali vicini a quelli previsti.
Ciò è coerente con l’evidenza, proveniente da studi psicologici e neurologici [Wolpert e
Kawato, 1988] che un comportamento è adeguato quando in virtù di esso accade esattamente
ciò che ci si aspettava (il che, spesso, vuol dire ciò che ci si prefiggeva), evitando imprevisti
che potrebbero configurarsi come situazioni fuori controllo, cioè, essenzialmente,
indesiderate. Si pone allora l’esigenza di uno strumento utile a rendere un sistema in grado di
formulare previsioni. Uno strumento simile è offerto dai modelli interni diretti. I modelli
diretti, adoperati usualmente sia nella teoria del controllo sia nelle neuroscienze, sono
pensabili, in astratto, come sistemi che ricevono in ingresso dati riguardanti lo stato interno
corrente dell’agente e i comandi motori ricevuti, e forniscono in uscita lo stato sensoriale
futuro, quindi, appunto, un’aspettativa. I modelli diretti sono sovente utilizzati in
combinazione con i modelli interni inversi. I modelli inversi sono sistemi in grado di calcolare
i comandi motori opportuni affinché siano ottenuti certi obiettivi, rappresentati dallo stato
sensoriale voluto, noto che sia lo stato sensoriale di partenza. L’uso di modelli interni e
inversi abbinati è frequente e rappresenta un tentativo di integrazione, all’interno di uno stesso
sistema di controllo, di meccanismi reattivi e meccanismi deliberativi, e può agevolare
l’interazione tra meccanismi di tipo top-down e meccanismi di tipo bottom-up.

Quattro Sistemi A Confronto

I quattro lavori che sono qui analizzati costituiscono degli esempi particolarmente significativi
di applicazioni robotiche ad approccio anticipatorio, e tra di essi è possibile riscontrare più di
una variante di utilizzo di modelli interni diretti e inversi.

Sistema (1): Learning To Perceive the World as Articulated: An Approach for
Hierarchical Learning in Sensory-Motor Systems1 [Tani e Nolfi 1988]

La nozione di “modularità” è da molti anni di uso comune sia in informatica sia nelle scienze
cognitive, e, prescindendo da contesti applicativi particolari, si riferisce alla possibilità di
interpretare un sistema complesso come composto da più sotto-sistemi tra loro indipendenti
(moduli), a ciascuno dei quali è affidato un compito specifico. La sinergia tra i diversi moduli
(che singolarmente sono in grado di eseguire operazioni elementari) rende il sistema globale
capace di comportamenti di alto livello. Si intuisce come, anche nel campo della robotica, sia
estremamente conveniente, di fronte a task di elevata complessità, operare una
modularizzazione del problema che consenta di risolvere il compito richiesto al robot
spezzettandolo in sotto-compiti più semplici. In questo modo basterebbe associare ogni
modulo a un comportamento elementare, e ricavare il task complessivo dalla opportuna
combinazione di tali moduli comportamentali, con modalità dipendenti dal tipo di architettura
del sistema. Uno dei problemi fondamentali delle applicazioni robotiche risulta essere quello
della segmentazione temporale, che consiste nel trovare il modo migliore per ottenere
comportamenti complessi come successione cronologica di azioni più semplici, compiute per
mezzo dei moduli comportamentali. Il principio è che combinando opportunamente i moduli
si ottengono sequenze diverse che danno luogo a un ampio spettro di possibili compiti di alto
livello. E’ allora necessario trovare un meccanismo che consenta di effettuare una adeguata
segmentazione del flusso continuo di informazioni senso-motorie provenienti dall’ambiente
operativo in cui il robot è immerso. La difficoltà sta nel saper ricondurre un evento unico (il

1
    Di questo lavoro esiste una revisione piuttosto recente [Tani 2004].
comportamento complessivo) a una cronologia di sotto-eventi discreti, distinguibili fra loro in
maniera non ambigua. Ma quanto dura un sotto-evento? Quando finisce il precedente, e
quando inizia il successivo? E’ una questione non banale, che evoca riflessioni di natura
fenomenologica sul concetto di tempo. Una soluzione adottata di frequente è quella dei “punti
di riferimento” (landmarks): il cammino del robot viene “scandito” dalla presenza di vari
landmark, come svolta a un angolo, fine corsa di giunzioni, avanzamento in linea retta tra due
corridoi, ecc. L’inconveniente di questo approccio è che i tipi di landmark sono definiti dal
progettista, e non necessariamente risultano intrinseci alla percezione del robot. Sarebbe
invece desiderabile che concetti come angoli, giunzioni o corridoi, se necessari per la corretta
esecuzione del pilotaggio, venissero appresi empiricamente dal robot.
Nel loro approccio Tani e Nolfi propongono uno schema di apprendimento con struttura
gerarchica a due livelli (per quanto sia possibile un numero di livelli superiore), in cui si ha
una auto-organizzazione dei moduli. Tale schema sfrutta le Reti Neurali Ricorrenti2
(Recurrent Neural Networks, RNN). Si basa sul principio di competizione tra moduli: ogni
modulo RNN del livello inferiore riceve in ingresso dati che ragguagliano sullo stato senso-
motorio del sistema all’istante attuale, e fornisce come uscita la previsione sui valori di tali
dati all’istante di tempo successivo. In sostanza ogni modulo compete con gli altri nella
capacità di predizione del flusso senso-motorio, in diverse fasi dell’esecuzione di un’azione.
Ogni fase vede “vincente” un modulo, che sarà quindi prescelto per rappresentare il
comportamento del robot in quel frangente: per esempio, un modulo RNN potrebbe vincere
nel prevedere il flusso senso-motorio mentre il robot gira intorno a un angolo, un altro
potrebbe prevalere durante una fase di cammino in linea retta lungo una parete, e così via.
Questo verrà fatto reiteratamente nel corso di tutta l’azione, commutando da un modulo
vincente a un altro dipendentemente dall’esito delle competizioni, e ottenendo infine una
successione temporale di moduli, rappresentativi ognuno di un’operazione elementare: in
pratica, è il susseguirsi delle commutazioni a realizzare la segmentazione dell’azione
complessiva. Il metodo adottato per realizzare una corretta segmentazione consiste nella
rilevazione di variazioni brusche all’interno dei dati del flusso senso-motorio: tali variazioni,
infatti, possono in prima approssimazione essere spiegate proprio dall’alternarsi di diverse
operazioni elementari (ad esempio cammino lungo un profilo rettilineo, svolta ad un angolo,
ripresa del cammino in linea retta); tuttavia si presenta la difficoltà che alcune fasi dell’azione
(una rotazione, una svolta) possono dare luogo a cambiamenti rapidi del flusso senso-motorio
per tutta la durata dell’operazione, col risultato di possibili sotto-segmentazioni ripetute di
un’operazione che invece si vorrebbe associare a un singolo modulo. Perciò, per considerare
opportunamente l’intervallo di tempo del processo comportamentale da riconoscere come
evento unico, è necessario individuare cambiamenti di notevole entità all’interno della
struttura dinamica del flusso senso-motorio, e non si può semplicemente ricorrere al calcolo di
differenze rilevate in istanti di tempo successivi.
Entrando un po’ più nel dettaglio, è importante osservare come si sfrutti l’idea che
l’addestramento in tempo reale, nel caso di sistemi a più reti (in questo caso neurali) separate,
possa essere condotto in modo tale da rendere ognuna delle reti capace di specializzarsi
nell’esecuzione di uno specifico task parziale, tra tutti quelli in cui può pensarsi
modularizzato il task globale.




2
  Una RNN è essenzialmente una rete neurale in cui alcuni nodi, al contrario di quanto accade nelle reti neurali
“ordinarie”, ricevono in ingresso l’uscita proveniente da nodi appartenenti a strati successivi, introducendo così
la possibilità di rilevare dinamiche dipendenti dal tempo: dunque una rete neurale in cui è presente una qualche
forma di feedback.
.
Figura 1. Architettura del sistema. (a) schema della gerarchia dell’apprendimento, (b) dettaglio del generico
modulo RNN per l’apprendimento del flusso senso-motorio nel livello inferiore, (c) dettaglio del generico
modulo RNN’ del livello superiore per l’apprendimento delle dinamiche di apertura delle porte

Ogni modulo RNN diventa un “esperto” nel prevedere il flusso senso-motorio relativo a un
ben determinato task parziale. Il processo di addestramento, dunque, si traduce nel progredire
della facoltà di divenire esperti del proprio compito specifico che i moduli RNN vanno
acquisendo, realizzando così l’apprendimento su base empirica prima auspicato.
L’architettura, mostrata in Figura 1, presenta, in ognuno dei due (o più) strati della gerarchia,
un sistema di “porte” (identificate dalla lettera “g” di “gate”) che impone un peso numerico a
fattore dell’uscita di ogni modulo: l’uscita complessiva dello strato sarà la media pesata dalle
g delle uscite dei singoli moduli, e istante per istante il contributo dell’i-mo modulo RNN
sull’uscita complessiva è inibito o esaltato a seconda della maggiore o minore apertura della
rispettiva porta, ossia a seconda del maggiore o minore valore del peso i-mo. Al livello
inferiore della gerarchia un valore più alto di gi t è il premio che l’i-mo modulo RNN ottiene
per aver commesso un errore di previsione del flusso senso-motorio più basso rispetto agli
altri moduli. Il livello superiore della gerarchia ha una struttura del tutto analoga, ma i suoi
moduli RNN (indicati con RNN’), invece di avere in ingresso il flusso senso-motorio, hanno
in ingresso il vettore GT = (g1T, g2T, …, gnT) ed elaborano una previsione sul vettore GT+1, dove
T è il periodo di campionamento con cui vengono prelevati i valori delle gi del livello
inferiore. I moduli RNN’ competono a loro volta per alti valori dei pesi g’iT, che ancora
possono ricorsivamente essere inviati a un eventuale terzo livello, e così via. Si realizza in tal
modo una progressiva astrazione di natura bottom-up del segnale, che al livello di astrazione
più basso corrisponde al flusso senso-motorio, in ingresso allo strato inferiore della gerarchia.
Il modello teorico a due strati è stato poi testato mediante simulazione di pilotaggio di un
robot attraverso due stanze di topologia differente collegate da una porta. Il robot percepisce i
dati relativi all’ambiente circostante mediante l’uso di sensori di range3 laser. L’architettura
adoperata comprende cinque moduli RNN tanto per il livello inferiore quanto per quello
superiore. Viene descritta nei particolari la fase di apprendimento e viene fatto notare come
essa abbia portato lo strato inferiore del sistema a generare 4 tipi di concetti elementari
significativi (svoltare a sinistra e a destra ad un angolo, superare un incrocio a “T”, seguire
una parete dritta), sfruttando 4 dei 5 moduli RNN disponibili, e lo strato superiore a creare nel
robot il concetto più complesso di stanza. I risultati della simulazione sono infine corredati di
immagini che mostrano, fase per fase, quale modulo vince la competizione in ciascuno dei
due livelli, con relativa commutazione tra un modulo e l’altro ogni volta che ciò si rende
necessario.

Sistema (2): Fuzzy-based Schema Mechanisms in AKIRA. [Pezzulo et al., 2005]

Questo lavoro offre una sperimentazione comparativa nel dominio della ricerca visiva [Wolfe,
1996]: viene sottoposto uno stesso compito (task) di riconoscimento a due sistemi diversi, e
vengono confrontati i risultati. Il task consiste nella individuazione di una “T” rossa
all’interno di un’immagine in cui siano presenti, col ruolo di elementi “distrattori”, anche
diverse “T” verdi e “L” rosse. Nel fare ciò sono messe a confronto due architetture: la prima
basata su meccanismi di selezione dell’azione di tipo reattivo4, la seconda su meccanismi a
schema di tipo anticipatorio5. Entrambe sono implementate il framework AKIRA
3
  Un sensore di range è un dispositivo capace di generare immagini di range. Un’immagine di range differisce da
una convenzionale immagine a gradazioni di grigio per il fatto che a ogni pixel dell’immagine di range non è
associato un livello di intensità luminosa, bensì una misura della distanza tra il sensore e un punto della
superficie di un oggetto presente nella scena osservata. Di tali sensori esistono molti tipi diversi, che si trovano
sovente utilizzati in combinazione.
4
  Il problema dell’Action Selection può essere definito in termini alquanto generici: dati certi obiettivi e un
insieme di azioni possibili, l’agente deve stabilire la prossima azione da compiere. Tuttavia a tale problema si
sono spesso date risposte implementative basate su soluzioni ad approccio essenzialmente reattivo.
5
  Sebbene i principi della teoria degli schemi siano di per sé compatibili con diverse possibili architetture,
particolarmente efficace ne risulta l’utilizzo in associazione a strategie anticipative. Avvalendosi delle capacità
predittive discendenti dall’uso di modelli interni, infatti, i meccanismi a schema possono essere interpretati come
(http://www.akira-project.org/). Dei due metodi sono prima di tutto discusse le differenze
concettuali: nei meccanismi reattivi la scelta del modulo comportamentale da attivare in un
certo momento dipende unicamente dal verificarsi di certe pre-condizioni (sensoriali) cui sono
associati, come conseguenze, certi comportamenti; nel caso di schema anticipatorio, invece, le
pre-condizioni determinano solo la scelta iniziale, mentre è il successo della previsione che
determina se uno schema (ovvero, un modulo comportamentale che include due modelli
interni, un modello diretto ed un modello inverso) continua a essere usato o viene sostituito. I
modelli interni degli schemi sono infatti in grado di generare previsioni che vengono messe a
confronto con i dati percettivi correnti: viene “premiato” lo schema che denota una migliore
attitudine predittiva, in maniera simile a come accade in [Wolpert e Kawato, 1998] ma con un
sistema di assegnazione delle priorità parallelo ed asincrono. Se, nel corso della simulazione,
viene rilevato uno scarto significativo tra le previsioni dello schema attualmente in azione e i
dati sensoriali, lo schema viene abbandonato, e ne viene attivato uno nuovo, capace di
generare previsioni più precise (piu’ precisamente, il controllo motorio dipende dalla somma
dei comandi di diversi schemi; quello che viene modulato dunque e’ il peso dei vari comandi).
La ratio che sottende tale procedimento si fonda sulla constatazione che se un modulo viene
scelto sulla base di un errato stimolo sensoriale (ad esempio visivo), la previsione elaborata da
tale modulo si discosterà dalle effettive conseguenze del comportamento che esso prescrive,
rivelando così l’inadeguatezza dello schema attualmente in azione rispetto alle reali
condizioni in cui l’agente si trova a operare (si supponga di essere nel caso di un braccio robot
che deve manipolare un oggetto tra diversi oggetti visibili: se un’informazione visiva erronea
induce a scegliere il modulo “afferra bottiglia piena” e invece viene afferrata una bottiglia
vuota, le previsioni generate dal modello interno diretto dello schema scelto non saranno
rispondenti alle percezioni reali, per esempio perché ci si aspetterebbe sul braccio un peso
maggiore di quello effettivo. In tale situazione si manifesterebbe la necessità di cedere il
“controllo dell’azione” a un modulo adatto a gestire la manipolazione di oggetti più leggeri,
come appunto una forchetta). Un meccanismo di questo tipo dota il sistema di una sorta di
duplice abilità: preventiva e correttiva. Preventiva, perché il modello diretto di uno schema,
con le sue computazioni, fornisce una versione virtuale del comportamento che indica.
Pertanto le valutazioni su quale sia il modulo da premiare, al quale cioè affidare il controllo
dell’azione, possono essere fatte confrontando i comportamenti simulati proposti dai vari
moduli, e scegliendo quello idoneo prima di dare concreta esecuzione a qualsiasi azione.
Correttiva, perché se un modulo viene scelto per errore, come nell’esempio della racchetta e
della forchetta, al passo successivo, grazie allo scarto tra dati osservati e dati previsti, l’errore
può essere “scovato”, e vi si può porre rimedio cedendo il controllo a uno schema più
appropriato. Questa capacità di recupero da una situazione di errore costituisce un vantaggio
dell’approccio anticipatorio rispetto ai meccanismi reattivi. Inoltre il sistema nell’operare il
controllo motorio parallelamente categorizza l’oggetto; in questo senso, la
concettualizzazione di un oggetto o di un evento dipende dalle interazioni (attuali o possibili)
che si hanno con esso. Come precedentemente osservato, il sistema in esame (sia nel caso
reattivo che nel caso anticipatorio) non delega il controllo dell’azione ad un solo modulo, ma
a più moduli in parallelo, responsabili di comandi che andranno poi fusi in maniera pesata, ad
esempio tramite tecniche fuzzy.
La prima architettura testata sul task di riconoscimento della “T” rossa è quella basata
sull’approccio reattivo. Dell’intera immagine, contenente obiettivo e distrattori, si assume che
istante per istante sia visibile solo una porzione: quella illuminata da una fovea mobile. Tale
porzione consta di tre settori circolari concentrici, aventi, dall’interno all’esterno,
rispettivamente buona, media e bassa risoluzione, in analogia con la fovea umana. Per

sistemi di regole a tre componenti: stimolo-risposta-aspettativa (laddove i meccanismi reattivi contemplano
l’attuazione di regole semplicemente di tipo stimolo-risposta).
eseguire il compito di ricerca richiesto ci si avvale di una struttura a cinque strati, dove ogni
strato è dedicato a un sotto-problema del task complessivo, ciascuno di diversa complessità,
ed è perciò popolato da moduli specializzati: il primo strato contiene moduli preposti alla
discriminazione tra punti pieni e vuoti nell’immagine, con una concentrazione di moduli
decrescente via via che si procede verso l’esterno della veduta (porzione illuminata dalla
fovea in quel momento); il secondo strato contiene moduli capaci di distinguere il colore
(verde o rosso) dei punti pieni segnalati dai moduli del primo strato; il terzo strato contiene
moduli in grado di individuare linee, vale a dire sequenze di punti allineati aventi lo stesso
colore; il quarto strato contiene moduli adibiti al riconoscimento di lettere, che svolgono
quindi la funzione di più alto livello di discernere tra assemblaggi di linee che formano una
“L” e quelli che formano una “T”, qualunque sia l’orientamento di tali lettere (quindi anche
ruotate o capovolte); il quinto strato è costituito da un singolo modulo, rappresentante la fovea
mobile, responsabile quindi della sequenza dei movimenti che spostano la veduta all’interno
dell’immagine. In aggiunta, al di fuori della gerarchia degli strati, è presente un modulo-goal,
che rappresenta il task da eseguire, come ad esempio trovare la “T” rossa.




Figura 2. I moduli nei 5 strati nell’architettura per il visual search. Nella figura sono evidenziati i legami
energetici che sono alla base dell’architettura di AKIRA (linee scure) e permettono di scambiare attivazione.
Sono inoltre evidenziate le relazioni fra moduli dei differenti strati (linee tratteggiate): solo i moduli dello strato1
hanno accesso all’informazione visiva, mentre gli altri sfruttano come informazione il livello di attivazione dei
moduli dei livelli inferiori. Ad esempio, un modulo di livello 3 “riconosci_linea” impara a riconoscere (ed a
prevedere) che durante il movimento in linea retta una serie di moduli di livello 2 “riconosci_rosso” mantengono
un alto livello di attivazione: cio’ significa che c’e’ una linea nel campo visivo.

La simulazione sfrutta una caratteristica di AKIRA che e’ quella di assegnare risorse
computazionali (energia) variabili ai moduli, in modo che i moduli piu’ attivi possano operare
piu’ spesso e con maggiore priorita’. In questo senso i moduli possono essere visti come nodi
in una rete connessionista; a differenza della maggior parte dei sistemi connessionisti, pero’, i
moduli possono incorporare procedure piu’ o meno complesse (e non sono semplici unita’
numeriche come le reti neurali) ed agiscono in maniera asincrona. La simulazione dunque
inizia attivando il modulo-goal, che diffonde la sua attivazione, sotto forma di risorse
computazionali (energia), ai moduli in grado di riconoscere una “T” e a quelli in grado di
riconoscere il rosso. A questo punto, grazie alla rete di link fra i moduli dei diversi strati, si
innesca un processo di attivazione reciproca che si traduce in istruzioni in tempo reale alla
fovea mobile, la quale percorrerà un cammino che si fermerà nel momento del
raggiungimento e del riconoscimento della “T” rossa. Un aspetto interessante da mettere in
luce è che la traiettoria descritta dal riflettore in cerca della “T” rossa, passo dopo passo, è il
frutto di una successione di movimenti ciascuno dei quali non è il risultato di un singolo
comando proveniente da un unico modulo, bensì di una computazione che tiene conto di più
contributi concorrenti. Infatti, nel corso della simulazione, al variare dello scenario, i comandi
inviati al modulo del quinto strato avranno origine in generale da più moduli degli strati
inferiori. Ogni modulo, in un certo istante, non ha un valore di attivazione crisp
(attivo/inattivo), ma fuzzy (può essere più o meno attivo). Questo ha come conseguenza che
ogni modulo cerca di indurre la fovea, con un’energia dipendente dal grado di attivazione
corrente, a compiere un certo spostamento. Allora la fovea si troverà a dover rispondere a più
indicazioni di movimento contemporanee, alcune delle quali magari contrapposte. Ognuna di
queste prescrizioni avrà un peso diverso, a seconda dell’energia con cui il suo modulo la
inoltra. Un sistema di regole fuzzy dovrà allora conciliare in tempo reale i diversi input per
generare di volta in volta lo spostamento risultante. Tale sistema di regole implementa le
modalità di selezione dell’azione secondo un’impostazione essenzialmente reattiva. Infatti,
malgrado il meccanismo con cui sia la fovea sia i moduli degli strati più bassi stabiliscono
cosa fare al passo successivo sia debolmente connesso all’idea di previsione (vengono
formulate congetture sui punti in cui è presumibile che sia conveniente spostarsi),
l’architettura è costruita in definitiva su regole di tipo IF-THEN, senza alcuna esplicita
rappresentazione anticipatoria. Per testare invece la simulazione adottando una strategia
anticipatoria in senso stretto, si sfruttano schemi dotati di semplici modelli diretti, realizzati
tramite una Fuzzy Cognitive Map [Kosko, 1992]. Ciò che ne deriva, come ci si aspetta dalla
precedente esposizione teorica, è un sistema che produce esplicite aspettative circa le
percezioni sensoriali future, tale da premiare gli schemi che hanno successo nella previsione,
piuttosto che nell’azione, secondo il principio che uno schema che prevede meglio è più
appropriato ad assumere il controllo delle operazioni. Per rendersi conto più chiaramente di
come funzioni, a grandi linee, tale criterio, si può osservare la Figura 3.




Figura 3. Se uno schema “Riconoscitore_di_T” e uno “Riconoscitore_di_L” trovano ora il riflettore, che
proviene dal punto (3,1), nel punto (0,1), riconoscono una linea e cercano entrambi di guidare il riflettore al
prossimo passo. Supponendo che il Riconoscitore_di_T sia più attivo, il suo comando sarà quello selezionato, e
il riflettore si muoverà nel punto (0,0). A questo punto, se il criterio fosse quello del successo nell’azione, si
dovrebbe concludere che falliscono entrambi i riconoscitori di lettera, perché il punto (0,0) vuoto esclude, è vero,
la “T”, ma non individua una “L”. Se il criterio è invece quello del successo nella previsione, il
Riconoscitore_di_L sarà premiato e otterrà il controllo dell’azione, perché il suo modello diretto prevede che,
affinché la lettera sia una “L”, il punto (0,0) debba essere vuoto.

Come si vede, se la competizione tra il Riconoscitore_di_L e il Riconoscitore_di_T avviene
valutando l’esito di ciò che accade spostando (virtualmente o concretamente) il riflettore nel
punto vuoto (0,0), il controllo dell’azione passa al Riconoscitore_di_L, poiché il suo modello
diretto ha formulato appunto un’aspettativa di pixel vuoto in (0,0). Ciò è corretto, in quanto la
lettera è in effetti una “L” capovolta. Le considerazioni finali del documento mettono in
rilievo come l’approccio anticipatorio renda la simulazione più veloce e più accurata rispetto a
quello reattivo, sottolineando dunque l’utilità di rappresentazioni munite di proprietà
anticipatorie, in contrapposizione allo slogan reattivista “intelligenza senza rappresentazione”
[Brooks, 1991].

Sistema (3): Hierarchies of Coupled Inverse and Forward Models for Abstraction in
Robot Action Planning, Recognition and Imitation [Johnson e Demiris, 2005]

Questo lavoro si propone di mettere alla prova un robot in grado di manipolare oggetti in
compiti di riconoscimento e imitazione di azioni eseguite da un dimostratore umano.
L’architettura presentata utilizza un sistema di modelli interni (diretti e inversi) abbinati
multipli. Attraverso una struttura gerarchica a più livelli il robot viene dotato di capacità di
astrazione motoria.
Negli ultimi anni numerose ricerche nel campo delle neuroscienze hanno mostrato come il
sistema motorio umano sia coinvolto anche nel processo di codifica delle azioni osservate.
Sono emersi e si sono affermati concetti come “neuroni a specchio” (mirror neurons),
risonanza motoria ecc., che hanno validato la teoria secondo cui, in un processo di imitazione,
è possibile individuare l’attivazione dei medesimi “circuiti cerebrali” sia al momento
dell’osservazione di un’azione da parte altrui, sia al momento successivo in cui quella stessa
azione viene eseguita. Ciò ha portato al tentativo di creare modelli artificiali che riescano a
riprodurre in robotica, mutuandoli in qualche modo dalla biologia, dei meccanismi che
consentano il riconoscimento e l’imitazione di un’azione osservata. Gli esperimenti condotti
con questo intento hanno evidenziato come, affinché un robot possa riconoscere le azioni
eseguite da un umano, sia necessario che il robot possieda la capacità di interpretare
astrattamente i movimenti osservati. In mancanza di questa facoltà il riconoscimento diventa
impossibile per via delle differenze morfologiche tra modello umano e robot (sebbene sia
possibile ridurre l’incidenza di tale problema tramite l’uso di robot umanoidi), e della
notevole disparità tra le dimensioni dello spazio di azione umano e quelle dello spazio di
azione del robot. Risulta allora chiara la natura di alto livello cognitivo della facoltà di
imitazione: imparare a riprodurre azioni tramite l’osservazione della loro esecuzione da parte
di altri, nel momento in cui ciò richiede la capacità di mettersi nei panni dell’esecutore,
riuscendo a leggerne le intenzioni e a capirne gli obiettivi, significa appunto saper interpretare
in termini astratti le azioni che egli compie. Tale prerogativa è perciò sintomo di elevata
intelligenza, tanto che in ambito biologico difficilmente è possibile riscontrarla in specie
diverse da quella umana (ma il dibattito sulla reale natura del concetto di “imitazione” in
quanto forma di apprendimento basata su osservazioni è ben vivo nelle scienze cognitive).
In questo documento le capacità di astrazione sono conferite al robot implementandone il
sistema motorio per mezzo di una gerarchia a più livelli di complessità, dove in ogni livello è
presente un sistema di modelli interni abbinati. La figura 4 dà un’idea di come sia costruita
tale gerarchia nel caso di K livelli.
Figura. 4. Una gerarchia a K livelli di modelli inversi e diretti abbinati. La stessa architettura è usata sia per il
riconoscimento sia per l’esecuzione di azioni. Il livello più basso contiene un insieme di modelli inversi primitivi
indicati come I p . Il modello diretto chiamato ad elaborarne i comandi motori sta nel blocco Fkinematics . S t,r è lo
                                      $
stato del robot all’istante t, mentre S t è lo stato previsto all’istante t. Il blocco D in ogni livello rappresenta un
ritardo di tempo, usato per sincronizzare la previsione con lo stato corrente, in modo da rendere il confronto
consistente.

Il livello inferiore della gerarchia contiene un insieme di modelli inversi primitivi I p , che
generano comandi motori M t a ogni istante di tempo. I comandi motori attivano direttamente
le unità motorie del robot. Il modello diretto di questo livello rappresenta il comportamento
cinematico del robot, e fornisce pertanto previsioni sulla traiettoria che risulta dall’esecuzione
dei comandi motori. I modelli inversi dei livelli superiori, sulla base dello stato attuale del
robot e dello stato desiderato, generano azioni, che sono mandate ai livelli più bassi della
gerarchia per essere sottoposte a ulteriori interpretazioni ed elaborazioni. Le azioni associate
ai modelli inversi dei livelli superiori sono in pratica una rappresentazione più astratta del
comportamento motorio effettivo del robot. Infatti, mentre al livello più basso della gerarchia
i modelli inversi primitivi generano azioni immediatamente traducibili in comandi motori, ai
livelli più alti i modelli inversi generano azioni rappresentabili in forma simbolica da grafi di
azione e parametri obiettivo. Tali azioni non possono comandare direttamente le unità
motorie del robot, in quanto costituiscono una codifica a più elevato grado di complessità dei
movimenti che il robot dovrà compiere. Perciò è necessaria una loro traduzione in azioni più
elementari associate a modelli inversi del livello inferiore, che a loro volta genereranno grafi
di azione e parametri obiettivo da inviare al livello più in basso e così via, scendendo sempre
di complessità, per abilitare infine, al livello dei modelli primitivi, l’esecuzione vera e propria
dei movimenti. Per esempio, due modelli inversi di un livello superiore potrebbero essere
associati alle azioni “afferrare oggetto” e “posare oggetto”, mentre al livello inferiore
potrebbero esserci modelli inversi associati ad azioni come “aprire pinza”, “chiudere pinza”, o
“muoversi in avanti”. Il grafo di azione schematizza il modo in cui l’azione del livello
superiore debba essere interpretata come opportuna combinazione di azioni del livello
inferiore. Ogni nodo del grafo rappresenta un modello inverso, e il modo in cui i rami
collegano i nodi, ossia il modo in cui il grafo viene attraversato (sfruttando due nodi ausiliari
di inizio e fine dell’azione, unici a non corrispondere a modelli inversi) indica la successione
con cui le azioni del livello inferiore coinvolte devono essere eseguite per dar luogo all’azione
più complessa imposta dal livello superiore. Matematicamente il grafo è gestito mediante una
matrice di adiacenza indicata con y. Tale matrice y costituisce parte del segnale efferente dal
modello inverso di un livello, segnale che è inviato in ingresso al livello inferiore: è ai modelli
inversi di questo livello sottostante che si riferiscono i nodi del grafo, ovvero, in modo
equivalente, le righe e le colonne di y. Pertanto la matrice ha dimensioni (N+2) × (N+2), dove
N è il numero di modelli inversi del livello inferiore (le due righe e le due colonne in più sono
dovute ai nodi ausiliari), e i suoi elementi hanno valore binario: l’elemento y i, j vale 1 se nel
grafo è presente un ramo che parte dal nodo j-mo ed entra nel nodo i-mo, vale zero se tale
ramo è assente. Un esempio di possibile grafo di azione con relativa matrice di adiacenza è
mostrato in figura 5.




Figura. 5. (A) Un esempio di grafo di azione. ‘S’ (start) ed ‘E’ (end) sono rispettivamente i nodi ausiliari di
inizio e fine. (B) Corrispondenza tra i nodi del grafo e i modelli inversi cui sono associati, identificati dalle
azioni che essi generano. (C) Matrice di adiacenza y . Le azioni incarnate dai modelli inversi di questo livello,
da eseguire secondo le indicazioni del grafo (ossia della matrice) sono una traduzione di un segnale efferente dal
livello superiore, che potrebbe essere per esempio associato al modello inverso “afferrare oggetto”, azione di
complessità maggiore. Il grafo va percorso secondo una priorità che prevede l’attraversamento prima in verticale
e poi in orizzontale, il che significa che, in questo caso, i nodi 1, 2 e 3 sono eseguiti in parallelo, tutti prima di 4.

Il segnale efferente che dai livelli superiori viene inviato ai modelli inversi dei modelli
inferiori contiene anche un vettore, chiamato λ , di parametri che specificano gli obiettivi che
ciascuno degli N modelli inversi del livello sottostante è chiamato a soddisfare. E’ perciò
questo vettore che codifica lo stato desiderato che i modelli inversi devono raggiungere
tramite le loro azioni. Il segnale efferente dal modello inverso di un certo livello, espresso
mediante la coppia { y , λ }, va in ingresso anche al modello diretto dello stesso livello che
dovrà calcolare le conseguenze dell’azione indicata dal segnale. La combinazione di un
modello diretto con un modello inverso può, in generale, essere pensata come un sistema di
controllo in cui il modello inverso gioca il ruolo di controllore, e al modello diretto spetta il
compito di elaborare una previsione sullo stato futuro del sistema. Nell’architettura in esame
il modello diretto di ogni livello fornisce in uscita le sue previsioni sotto forma di uno stato
        $
stimato S t . Più nel particolare: tenendo conto delle azioni indicate dal modello inverso dello
stesso livello e di ulteriori ingressi, costituiti dallo stato attuale del robot S t,r e dagli stati
interni S t,i dei modelli inversi del livello inferiore6, il modello diretto produce in uscita la
        $
stima S t , che rappresenta in forma simbolica, livello per livello, il modo in cui lo stato del
sistema cambierebbe se le azioni imposte dal modello inverso, una volta interpretate, come si
è detto, al livello inferiore, divenissero operative. In tal modo può avere luogo la simulazione.
I processi di simulazione si avvalgono di due cicli di retroazione: uno interno e uno esterno.
Il ciclo interno è adoperato per individuare il modo migliore per codificare le azioni in corso
in ciascun livello della gerarchia. Ogni modello inverso genera diverse ipotesi di azione che
possono soddisfare i parametri obiettivo per esso specificati. Le ipotesi di azione vengono
testate sul modello diretto, che ne ricava stati previsti, rispediti indietro al modello inverso. Il
modello inverso può a questo punto usare gli stati previsti in sostituzione dello stato attuale,
creando un processo di simulazione, durante il quale, tramite il confronto con i parametri
obiettivo, il modello inverso può convergere a una o più soluzioni. A ogni livello della
gerarchia il modello o i modelli che trovano soluzioni diventano esecutivi, in parallelo. Nel
caso di più soluzioni per un modello inverso, viene scelta la codifica che prevale in una
competizione di tipo winner-takes-all, basata sul criterio della minima profondità del grafo di
azione associato a tale codifica.
Il ciclo esterno viene usato per controllare il comportamento del sistema mediante la quantità
                                                                        $
Pe , errore di predizione: il modello diretto produce lo stato previsto S t , che, previo passaggio
attraverso il blocco ritardatore D, viene confrontato con lo stato effettivo del sistema,
calcolando l’errore di previsione Pe , che è un indice scalare di quanto siano distanti, istante
per istante, i vettori “stato stimato” e “stato effettivo”. A seconda delle situazioni, lo stato
corrente effettivo su cui è basato il calcolo di Pe può essere quello dell’agente stesso oppure
quello dell’attore osservato. La quantità Pe , infatti, riportata in ingresso al blocco dei modelli
inversi, può essere usata sia in fase di esecuzione di un task, per orientare le correzioni ai
comandi in corso di svolgimento, sia in fase di riconoscimento di un’operazione effettuata da
un dimostratore umano. In entrambi i casi si sfruttano la medesima architettura, già illustrata
in Figura 4.3, e la stessa definizione matematica per l’errore di predizione:

           n
                        $
Pe =     ∑j=1
                S t,j − S t,j .

Si effettua cioè la somma delle differenze, in valore assoluto, tra le componenti dei due
vettori, assumendo di aver codificato le conoscenze disponibili sugli stati del sistema tramite
n informazioni discrete, espresse ognuna dal valore della componente j-ma dei vettori.
Durante la procedura di riconoscimento l’hardware motorio del robot è disabilitato, e lo stato
del sistema, fornito come input a tutti i livelli della gerarchia in ogni istante di tempo, non è
6
  Tra i parametri che ragguagliano, istante per istante, sulla situazione operativa di un modello inverso, figurano
quattro stati binari, ciascuno associato a una condizione di generazione o meno di uscita da parte del modello
inverso. Questi quattro stati sono: esecutivo, se il modello inverso sta producendo un’azione tuttora in corso;
completo, se il modello inverso valuta che gli obiettivi per esso specificati siano sufficientemente vicini, così da
non rendersi necessaria alcuna azione; inadatto, se il modello inverso è inutilizzabile per compiere l’azione
richiesta, a causa di una incompatibilità con il contesto attuale in cui opera (per esempio, l’azione “posare
oggetto sul tavolo” non può essere eseguita se non c’è alcun oggetto); non applicabile, quando l’impedimento
che non permette al robot di eseguire l’azione non ha origine dal contesto, bensì dalla impossibilità di soddisfare
i parametri obiettivo (per esempio, “posare oggetto sul tavolo” quando la locazione dove va posato l’oggetto è
ostruita).
più quello del robot stesso, bensì quello percepito dall’osservazione del dimostratore. Tra i
vari modelli inversi di uno stesso livello avviene una competizione: basandosi sul valore di Pe
relativo a ciascun modello, istante per istante viene aggiornata la “confidenza” Ct, quantità
che misura il grado di fiducia che l’azione associata a quel modello possa effettivamente
collimare con quella osservata. A ogni istante di tempo i modelli inversi con Pe più alto
vengono puniti con una Ct più bassa, mentre quelli con Pe più basso vengono premiati con un
aumento della loro Ct. In ogni istante l’azione con la confidenza più alta è scelta (anche qui
vige un meccanismo winner-takes-all) come azione riconosciuta.
Il sistema svolge dunque un task di “imitazione” nel momento in cui è in grado di portare a
termine in modo adeguato la procedura di riconoscimento e, successivamente, di esecuzione
delle azioni percepite osservando il dimostratore.
In sintesi, l’esperimento analizzato è incentrato sul riconoscimento e l’imitazione di un task di
manipolazione di un oggetto (nello specifico una tinozza) da parte di un robot-pinza. Per lo
scenario in questione l’architettura è implementata tramite una gerarchia a due livelli, in cui i
modelli inversi del livello inferiore (primitivi) sono sei, associati alle azioni “aprire pinza”,
“chiudere pinza”, “avvicinarsi all’oggetto”, “allontanarsi dall’oggetto”, “avvicinare l’oggetto
al tavolo” e “allontanare l’oggetto dal tavolo”. Il livello superiore contiene invece due modelli
inversi, associati alle azioni più astratte “afferrare oggetto” e “posare oggetto”. Vengono
infine illustrati i risultati: l’imitazione è effettuata correttamente, e due grafici, relativi al
variare nel tempo della confidenza Ct per i modelli inversi di entrambi i livelli, indicano la
successione temporale del riconoscimento delle azioni osservate durante la dimostrazione.
Viene tuttavia segnalato il problema, sempre con riferimento alla fase di riconoscimento, di
possibili errori dovuti a una esecuzione delle azioni troppo rapida o troppo lenta da parte del
dimostratore umano.

Sistema (4): Learning Forward Models for Robots 7 [Dearden e Demiris, 2005]

Questo lavoro focalizza la sua attenzione sull’aspetto dell’apprendimento, illustrando tecniche
che consentono a un robot di costruire autonomamente modelli diretti del proprio sistema
motorio, rappresentati in forma di reti bayesiane.
La capacità di apprendimento è di importanza fondamentale per consentire ad un robot di
adattare il proprio comportamento a diverse situazioni operative e a diversi task. Praticamente
la totalità degli ambienti in cui viene immerso un robot hanno caratteristiche mutevoli o che
comunque non possono essere modellizzate preliminarmente. Anche nei casi in cui si
assumesse l’ambiente completamente noto, fornire al robot tutte le informazioni occorrenti
per agire al suo interno potrebbe essere al di là delle possibilità o dei desideri del
programmatore. Un robot basato sull’elaborazione mediante modelli diretti dei comandi
motori, perciò, per esibire comportamenti realmente autonomi, deve essere in grado di
apprendere i propri modelli diretti dinamicamente, in base al contesto operativo. Tali modelli
diretti potranno poi essere adoperati per formulare previsioni su come le azioni eseguite
inducano cambiamenti sullo stato del robot.

7
  Degli stessi autori esiste uno studio analogo, altrettanto recente: “From motor babbling to hierarchical learning
by imitation: a robot developmental pathway”. In esso il tema dell’apprendimento viene affrontato
confrontandone due possibili forme: l’apprendimento “asociale”, ossia quello realizzato dal robot tramite
esplorazione dell’ambiente ed elaborazione dei dati che ne riesce a trarre (come nel presente lavoro), e
l’apprendimento “sociale”, ottenuto sfruttando le tecniche di imitazione. Architetture di tipo gerarchico basate su
modelli inversi e diretti abbinati, denominate HAMMER (Hierarchical, Attentive, Multiple Models for
Execution and Recognition) sono proposte come soluzioni per tentare di combinare i vantaggi di entrambe le
risorse di apprendimento.
Questo documento esamina il problema dell’apprendimento di modelli diretti in condizioni di
assenza di conoscenza tanto delle caratteristiche dell’ambiente quanto della struttura del
sistema motorio del robot. Viene presentato un sistema che, tramite un procedimento di
clusterizzazione di immagini a basso livello, individua gli elementi mobili dello scenario. Il
robot invia al suo sistema motorio comandi a successione casuale, e riceve in risposta dal suo
sistema visivo informazioni sulle conseguenze delle azioni effettuate. Attraverso questa sorta
di ciclo di retroazione in cui è inserito il flusso di dati è possibile imparare la struttura e i
parametri di una rete bayesiana, che costituisce il modello diretto del robot. Infatti, per
rappresentare la relazione di causa-effetto tra i comandi motori e lo stato del robot che ne
deriva, che un modello diretto è chiamato a esprimere, una struttura che si presta bene è quella
offerta da una rete bayesiana a tre strati, in cui i nodi sono associati ai comandi motori (primo
strato, nodi “radice”, indicati con M), allo stato del robot (strato intermedio, indicati con S) e
alle osservazioni di tale stato (terzo strato, nodi “foglia”, indicati con O). I nodi del primo e
del terzo strato sono raffigurati con un quadrato, a indicare che si tratta di variabili casuali il
cui valore è direttamente osservabile in ogni momento. Viceversa, i nodi dello strato
intermedio sono raffigurati con un cerchio, a indicare che si tratta di variabili “nascoste”,
poiché la conoscenza che il robot possiede del valore di tali variabili gli proviene, in ogni
istante di tempo, unicamente dalle informazioni affette da rumore contenute nelle
osservazioni O[t]. I rami rappresentano ovviamente le dipendenze tra nodi figli e nodi
genitori. In figura 6 è rappresentato lo schema della rete bayesiana da apprendere. Il
parametro “d”, che compare nelle M[t-d], rappresenta il ritardo tra l’invio di un comando
motorio e il conseguente cambiamento che esso induce nello stato del robot. La ragnatela di
rami contrassegnati con il punto interrogativo sta a indicare la struttura, ancora da apprendere,
delle dipendenze effettivamente esistenti tra le variabili in gioco.




Figura 6: lo schema della rete bayesiana che dovrà rappresentare il modello diretto del robot. La procedura di
apprendimento dovrà determinare struttura e parametri di tale rete.

Per prima cosa è necessario determinare il numero delle variabili di stato e stabilire cosa esse
rappresentino di preciso. Questo viene fatto utilizzando le informazioni fornite al robot dal
suo sistema visivo, che è in grado di “tracciare” gli oggetti in movimento senza alcuna
informazione iniziale circa il numero o le proprietà di tali oggetti. Le informazioni provenienti
dal sistema visivo sono però sotto forma di pixel mobili. Occorre quindi un processo di
elaborazione che raggruppi opportunamente regioni dell’immagine che abbiano analoghe
caratteristiche di posizione e di movimento (clusterizzazione), attribuendo poi a ciascuna di
tali regioni il significato, a più alto livello semantico, di “oggetto”. Per tracciare i pixel viene
adoperato l’algoritmo di Lucas-Kanade, per la clusterizzazione vera e propria si fa ricorso
all’algoritmo k-means. Esso presenta, però, lo svantaggio di richiedere la conoscenza
anticipata del numero k di clusters: si pone rimedio al problema inserendo l’algoritmo k-
means all’interno di più sofisticate tecniche basate sulla clusterizzazione fuzzy, che
permettono di svincolarsi dalla necessità di conoscere a priori il valore di k. I clusters così
individuati costituiscono gli oggetti in movimento dello scenario, mentre le loro posizioni,
dimensioni e velocità possono essere usate come osservazioni. La figura 7 mostra come il
robot, attraverso la sua telecamera, visualizzi le pinze in movimento, clusterizzate come
oggetti.




Figura 7: il sistema visivo del robot ha individuato correttamente due oggetti in movimento, che sono
identificati raggruppando i sotto-clusters dello stesso colore.

Si giunge così alla determinazione di due oggetti corrispondenti alle due pinze del robot,
ciascuno associato a un nodo dello strato intermedio della rete bayesiana: a formare lo stato
del sistema saranno pertanto le due variabili S1[t] e S 2 [t] . Le osservazioni costituiranno
invece le variabili O[t] del terzo strato delle rete. Sia le S sia le O vengono considerate
variabili casuali con distribuzione gaussiana. Completata questa fase, la rete bayesiana viene
sottoposta a una procedura di addestramento che ne definisca tutti gli elementi ancora non
precisati, in modo da rendere tale rete adeguata al ruolo di modello diretto per il movimento
delle pinze del robot. Vanno ancora apprese, infatti, parti fondamentali della struttura. In
particolare, non è ancora noto il ritardo “d” tra l’invio del comando motorio e il cambiamento
di stato delle pinze. Inoltre va stabilito quale delle possibili osservazioni (velocità, dimensioni,
posizione) estratte dal sistema visivo sia preferibile inserire nel modello diretto come nodo O
figlio di un nodo S, ossia da quale informazione misurabile sia più corretto dedurre lo stato
degli oggetti. Per far funzionare la procedura di addestramento è necessario disporre di una
collezione di dati relativi ai valori osservati dei nodi M e O (variabili osservabili della rete).
Bisognerà dunque generare una sequenza di comandi motori e rilevare, considerati i rispettivi
ritardi, i valori delle osservazioni. Si tratta, in sostanza, di effettuare un esperimento attraverso
il quale il robot acquisisca e utilizzi opportunamente le informazioni necessarie per mettere a
punto l’apprendimento del modello diretto. Nell’esempio in esame l’esperimento condotto si
limita al caso di un solo grado di libertà. C’è quindi un solo tipo di comando motorio, relativo
a tre possibili operazioni sulle pinze del robot: aprirle, chiuderle, fermarle. Date tutte queste
premesse, lo schema di partenza della rete bayesiana visto in figura 5 si può ora ricondurre a
quello di figura 8, in cui il numero di nodi S è ben definito e pari a due, mentre i nodi M sono
privi di pedice (esiste un solo tipo di comando motorio) ma in numero indefinito per via del
ritardo “d”, ancora non noto.
Figura 8. Schema della rete bayesiana sottoposta effettivamente alla procedura di addestramento. Il sistema
visivo del robot ha individuato due oggetti, ossia le proprie pinze, che sono associati ai nodi di stato S1[t] e
S2 [t] . Per definire la struttura devono essere ancora appresi il ritardo “d” che intercorre tra azione ed effetto e
quale osservazione (tra velocità, posizione e dimensione) debba essere attribuita al cambiamento di stato di
ciascun oggetto. Inoltre vanno anche appresi i parametri che specificano la rete bayesiana, ossia valori medi e
varianze delle distribuzioni, supposte gaussiane, dei nodi relativi a stato e osservazioni.

L’esperimento si basa sulla reiterazione di alcuni passi procedurali: viene scelto il valore del
comando motorio, viene inviato tale comando al sistema motorio del robot (che agisce sulle
pinze), vengono rilevate le osservazioni dal sistema visivo, viene adoperato l’insieme dei dati
raccolti all’interno dell’algoritmo di apprendimento, si ricomincia daccapo con un nuovo
comando motorio. Per l’esecuzione dell’esperimento ci vuole dunque un criterio che decida, a
ogni iterazione, quale valore del comando motorio debba essere scelto. In realtà ciò che si fa è
lasciare che il robot scelga i comandi secondo una successione casuale, regolata, per le
transizioni da un valore a un altro fra i tre possibili, da una catena di Markov. Ciò equivale a
riprodurre nel robot meccanismi di apprendimento empirici analoghi a quelli di un infante. Si
parla in tal caso di “motor babbling”, balbettio motorio: in pratica, il robot procede a tentoni, e
così facendo, pur privo di informazioni iniziali sulla natura dei comandi motori o sull’aspetto
delle pinze, impara. Tra i vari passi dell’esperimento (che si ripetono ciclicamente), uno è
quello del vero e proprio algoritmo di apprendimento. Per apprendere la struttura e i parametri
che occorrono per rendere la rete bayesiana definita in tutti i suoi aspetti e idonea a
rappresentare il modello diretto del movimento delle pinze, è necessario eseguire una ricerca
sullo spazio delle possibili strutture, al variare del ritardo e delle osservazioni, con lo scopo di
trovare quella che, per i dati disponibili, massimizza la funzione di log-verosimiglianza del
modello, log (P(M, O | G)), dove M e O sono i dati forniti dall’esperimento e G rappresenta il
grafo della struttura del modello. Contestualmente vengono appresi i parametri della rete
bayesiana per ogni modello candidato, mediante un algoritmo di tipo EM (expectation
maximization). L’esito di tutto il procedimento è mostrato in figura 9: il ritardo appreso è pari
a 11 intervalli di tempo, e la migliore osservazione risulta essere la velocità delle pinze.
Figura 9: la rete bayesiana del modello diretto per il movimento delle pinze del robot, ad apprendimento
ultimato.

Una volta che la rete bayesiana è stata finalmente appresa, può essere usata come modello
diretto per formulare una previsione sulle conseguenze dei comandi motori. Si inferisce cioè il
modello per calcolare la probabilità condizionata della velocità delle pinze in movimento,
dato un certo valore “m” per il comando motorio. Ciò equivale a interrogare la rete bayesiana,
sottoponendole una query del tipo P(VEL[t]|M[t-11]=m). Le capacità predittive di tale
modello vengono infine saggiate sperimentalmente, confrontando gli andamenti delle velocità
previste con quelli delle velocità effettive osservate. La previsione risulta essere molto
accurata.
Inoltre, poiché è possibile interrogare la rete bayesiana anche con query, per esempio, del tipo
P(M[t-11]|VEL[t]=v), la stessa rete bayesiana può essere adoperata anche come modello
inverso, consentendo stavolta di calcolare la probabilità condizionata relativa ai comandi
motori, data una certa osservazione. Questa opportunità viene sfruttata sottoponendo al
modello inverso del robot un task di imitazione: sostituendo le osservazioni dei propri
movimenti con le osservazioni dei movimenti delle mani di un dimostratore umano, il robot è
in grado di riprodurre i comandi motori che con maggiore probabilità possano ricreare sulle
sue pinze il movimento umano osservato.

Analisi Comparativa

Buona parte delle soluzioni teoriche e tecniche incontrate finora è comune ai quattro lavori
descritti (ai quali ci si riferirà mediante gli indici (1), (2), (3) e (4) cui sono stati associati). E’
perciò interessante osservare le peculiarità di ciascuno di essi, mettendone in rilievo le
analogie e le differenze più significative.

L’unità operativa fondamentale che spesso fornisce una risposta al problema della
modularizzazione è lo schema. L’uso di modelli diretti, poi, dota gli schemi di facoltà
predittive, e questa abilità è stata sfruttata nella seconda simulazione di (2), che era basata su
una esplicita rappresentazione dell’aspettativa mediante schemi S-R-E (stimolo-risposta-
aspettativa). Gli schemi di questo tipo possono essere considerati una sorta di estensione dei
moduli comportamentali a due componenti (stimolo-risposta), che codificano un approccio
essenzialmente reattivo. In (1) e nella prima simulazione di (2) si ha proprio a che fare con
situazioni di questo genere: malgrado in quei casi la funzione previsionale sia contemplata (in
(1) è anzi decisiva), non c’è una rappresentazione in senso stretto delle aspettative, che è
invece possibile ottenere mediante schemi S-R-E.
In forma più o meno esplicita è possibile osservare il frequente ricorso a una organizzazione
gerarchica del sistema: in (1) i moduli elementari formano azioni via via più complesse,
dando luogo così a una composizione di tipo bottom-up; in (3) le azioni stabilite dai modelli
inversi di ogni livello vanno tradotte in successioni di sotto-azioni più semplici di livello
inferiore, fino ad azioni primitive direttamente eseguibili cinematicamente, seguendo dunque
un approccio top-down.

L’approccio anticipatorio può essere considerato un aspetto comune a tutte le strutture
analizzate: si può ritrovare, sia pure con notevoli differenze applicative, in (1), (2), (3) e (4):
le caratteristiche anticipatorie della prima simulazione di (2) sono meno accentuate rispetto
agli altri casi, essendo assente l’idea di rappresentazione dell’aspettativa; in (4) lo scopo della
previsione è pervenire a una soddisfacente capacità di controllo dei propri comandi motori,
laddove nel secondo modello di (2), e in (3) l’aspettativa è parte integrante del processo
decisionale di selezione dell’azione da compiere. Quella di dotare i modelli di facoltà
predittive è una tendenza che nel corso degli anni si va consolidando.

L’uso modelli interni è fortemente collegato proprio alla diffusione del paradigma
anticipatorio. I modelli diretti, abbinati o meno ai modelli inversi, sono gli strumenti
tipicamente adottati per attrezzare un sistema di capacità predittive, mediante le quali si
possono valutare le conseguenze virtuali di un’azione e pilotare in base a esse le scelte reali.
Nel secondo esperimento di (2) ciò è realizzato esplicitamente; ma anche in ogni livello del
modello (3), per quanto la cosa non sia altrettanto palese, la tecnica è analoga. In (4), poi, c’è
l’interessante particolarità dell’addestramento di un modello diretto che, grazie alle proprietà
delle reti bayesiane, può essere impiegato anche nel ruolo di modello inverso.

L’apprendimento rimane una delle questioni più complesse. Si è visto come anche modelli
con struttura e scopi operativi molto diversi possano presentare evidenti analogie. Tuttavia la
specificità di ogni sistema si traduce molto spesso in strategie di apprendimento mirate e non
facilmente replicabili in altri contesti. Per rendersi conto di ciò è sufficiente dare un’occhiata
alla varietà delle modalità e degli obiettivi di alcune delle procedure di addestramento
incontrate in questa sezione: per esempio, in (1) si utilizza un addestramento volto a
specializzare in tempo reale i vari moduli, in modo da abilitarli alla rappresentazione di un
certo task parziale, ottenendo così l’emersione di un repertorio di azioni non
“preconfezionate”; in (4) si adopera una sequenza di passi procedurali molto particolare, in
cui l’algoritmo di addestramento, guidato mediante la tecnica empirica del motor babbling,
consente di calcolare la struttura di grafo che meglio spiega (massimizzando la funzione di
verosimiglianza del modello) un determinato set di dati sperimentali: in tal modo si
determinano struttura e parametri della BN che dovrà interpretare il ruolo di modello diretto
(o, volendo, inverso). Un problema fortemente correlato riguarda l’astrazione, ovvero la
capacità del sistema di costruire gerarchie di rappresentazione sempre piu’ complesse. Si può
in conclusione affermare che le metodologie di apprendimento e di astrazione, non di rado,
costituiscono uno dei tratti maggiormente distintivi degli studi di Robotica Cognitiva.

Lo strumento di modellizzazione ed elaborazione principale adoperato per gli agenti è invece
un elemento in cui si trova grande varietà di scelte, che consentono di valutare le potenzialità
e le limitazioni dei diversi strumenti a disposizione. A questo proposito si può notare come le
FCM, ormai diffuse da tempo in altri settori applicativi, abbiano trovato finora poche
opportunità di utilizzo in Robotica. A tal proposito un’eccezione è costituita dal modello ad
approccio anticipatorio di (2). In (1) lo strumento cardine è la RNN, in (4) la BN.
Conclusioni

L’approccio anticipatorio, motivato fortemente da evidenze neurobiologiche e psicologiche
[Barsalou, 1999; Castelfranchi, 2005; Grush, 2004; Rizzolatti et al. 1996], rappresenta una
frontiera di grande interesse nella robotica cognitiva. Dopo un periodo dominato dalle critiche
all’uso delle rappresentazioni interne [Brooks, 1991] in robotica, infatti, concepire le
rappresentazioni come eminentemente anticipatorie ed orientate all’azione permette sia di
evitare una serie di problemi “classici” come quello del symbol grounding [Harnad, 1990], sia
di svolgere in maniera efficace e con un unico paradigma una serie di compiti legati al
controllo dell’azione e dell’attenzione che vanno dal controllo “fine” dei movimenti (compito
tipico in teoria del controllo, dove sistemi anticipatori come i filtri di Kalman sono molto
utilizzati) fino a compiti cognitivamente piu’ complessi come la pianificazione o l’imitazione.
Nei sistemi che abbiamo qui analizzato sono mostrati una serie di usi dell’anticipazione; il
panorama non e’ ad ogni modo esaustivo, in quanto l’anticipazione sembra essere alla base di
un gran numero di funzionalita’ cognitive, le quali in molti casi si innestano le une sulle altre.

Riferimenti bibliografici
Balkenius, C., Hulth N. (1999) Attention as Selection-for-Action: a Scheme for Active
   Perception Proceedinsg of EuRobot-1999. Zurich.
Barsalou, L. W. (1999) Perceptual symbol systems. Behavioral and Brain Sciences 22 (4):
   577-660
Brooks, R.A. (1991) Intelligence without representation. Artificial Intelligence, 139-159
Castelfranchi, C. (2005) Mind as an Anticipatory Device: For a Theory of Expectations.
   Proceedings of BVAI 2005, 258-276
Dearden, A. & Demiris, Y. (2005) Learning Forward Models for Robotics. Proceedings of
   IJCAI-2005, 1440-1445
Grush, R. (2004) The emulation theory of representation: Motor control, imagery, and
   perception. Behavioral and Brain Sciences, 27 (3): 377-396.
Harnad, S. (1990) The Symbol Grounding Problem Physica D: Nonlinear Phenomena, 42,
   335-346
Johnson, M. & Demiris, Y. (2005) Hierarchies of Coupled Inverse and Forward Models for
   Abstraction in Robot Action Planning, Recognition and Imitation Proceedings of the AISB
   2005 Symposium on Imitation in Animals and Artifacts, pag. 69-76
Kosko, B. (1992) Neural Networks and Fuzzy System Prentice Hall International
Pezzulo, G., Calvi, G., Lalia, D. & Ognibene, D. (2005) Fuzzy-based Schema Mechanisms in
   AKIRA. in Mohammadian, M. (ed.) Proceedings of CIMCA'2005
Rizzolatti, G., Fadiga, L., Gallese, V. & Fogassi, L. (1996) Premotor cortex and the
   recognition of motor actions. Cognitive Brain Research, 3
Tani J. (2004) The dynamical systems accounts for phenomenology of immanent time: An
   interpretation from a robotics synthetic study. Journal of Consciousness Studies, 11.
Tani, J. & Nolfi, S. (1998). Learning to Perceive the World as Articulated: An Approach for
   Hierarchical Learning in Sensory-Motor Systems. Proceedings of the Fifth International
   Conference on Simulation of Adaptive Behavior. Cambridge, MA: MIT Press.
Wolfe, J.M. (1996) Visual search. In Pashler, H. (ed.) Attention, London, UK: University
   College London Press.
Wolpert, D. M., Kawato, M. (1998) Multiple paired forward and inverse models for motor
   control. Neural Networks 11(7-8):1317-1329

Más contenido relacionado

Destacado

Intelligenza artificiale in medicina
Intelligenza artificiale in medicinaIntelligenza artificiale in medicina
Intelligenza artificiale in medicinaFausto Intilla
 
AI (Sellitto Guglielmo)
AI (Sellitto Guglielmo)AI (Sellitto Guglielmo)
AI (Sellitto Guglielmo)Fausto Intilla
 
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANERETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANEFausto Intilla
 
Our Fate and its Secrets: A strange law of the Universe (WWW.OLOSCIENCE.COM)
Our Fate and its Secrets: A strange law of the Universe (WWW.OLOSCIENCE.COM)Our Fate and its Secrets: A strange law of the Universe (WWW.OLOSCIENCE.COM)
Our Fate and its Secrets: A strange law of the Universe (WWW.OLOSCIENCE.COM)Fausto Intilla
 
Introduzione Alle Reti Neurali (Marco Botta)
Introduzione Alle Reti Neurali (Marco Botta)Introduzione Alle Reti Neurali (Marco Botta)
Introduzione Alle Reti Neurali (Marco Botta)Fausto Intilla
 
The Omega Point of the Human Race - WWW.OLOSCIENCE.COM
The Omega Point of the Human Race - WWW.OLOSCIENCE.COMThe Omega Point of the Human Race - WWW.OLOSCIENCE.COM
The Omega Point of the Human Race - WWW.OLOSCIENCE.COMFausto Intilla
 
INTERIM SUMMARY REPORT ON THE ANALYSIS OF THE 19 SEPTEMBER 2008 INCIDENT AT T...
INTERIM SUMMARY REPORT ON THE ANALYSIS OF THE 19 SEPTEMBER 2008 INCIDENT AT T...INTERIM SUMMARY REPORT ON THE ANALYSIS OF THE 19 SEPTEMBER 2008 INCIDENT AT T...
INTERIM SUMMARY REPORT ON THE ANALYSIS OF THE 19 SEPTEMBER 2008 INCIDENT AT T...Fausto Intilla
 

Destacado (7)

Intelligenza artificiale in medicina
Intelligenza artificiale in medicinaIntelligenza artificiale in medicina
Intelligenza artificiale in medicina
 
AI (Sellitto Guglielmo)
AI (Sellitto Guglielmo)AI (Sellitto Guglielmo)
AI (Sellitto Guglielmo)
 
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANERETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
RETI NEURALI ARTIFICIALI E RETI NEURALI BAYESIANE
 
Our Fate and its Secrets: A strange law of the Universe (WWW.OLOSCIENCE.COM)
Our Fate and its Secrets: A strange law of the Universe (WWW.OLOSCIENCE.COM)Our Fate and its Secrets: A strange law of the Universe (WWW.OLOSCIENCE.COM)
Our Fate and its Secrets: A strange law of the Universe (WWW.OLOSCIENCE.COM)
 
Introduzione Alle Reti Neurali (Marco Botta)
Introduzione Alle Reti Neurali (Marco Botta)Introduzione Alle Reti Neurali (Marco Botta)
Introduzione Alle Reti Neurali (Marco Botta)
 
The Omega Point of the Human Race - WWW.OLOSCIENCE.COM
The Omega Point of the Human Race - WWW.OLOSCIENCE.COMThe Omega Point of the Human Race - WWW.OLOSCIENCE.COM
The Omega Point of the Human Race - WWW.OLOSCIENCE.COM
 
INTERIM SUMMARY REPORT ON THE ANALYSIS OF THE 19 SEPTEMBER 2008 INCIDENT AT T...
INTERIM SUMMARY REPORT ON THE ANALYSIS OF THE 19 SEPTEMBER 2008 INCIDENT AT T...INTERIM SUMMARY REPORT ON THE ANALYSIS OF THE 19 SEPTEMBER 2008 INCIDENT AT T...
INTERIM SUMMARY REPORT ON THE ANALYSIS OF THE 19 SEPTEMBER 2008 INCIDENT AT T...
 

Similar a L’Approccio Anticipatorio In Robotica: Un' Analisi Comparativa

Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...
Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...
Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...NicolettaGiurgevich
 
Xii 050508
Xii 050508Xii 050508
Xii 050508imartini
 
Robotica educativa la robotica da strumento di fantasia a strumento per la fa...
Robotica educativa la robotica da strumento di fantasia a strumento per la fa...Robotica educativa la robotica da strumento di fantasia a strumento per la fa...
Robotica educativa la robotica da strumento di fantasia a strumento per la fa...Alessandri Giuseppe
 
Progettazione e intelligenza artificiale
Progettazione e intelligenza artificialeProgettazione e intelligenza artificiale
Progettazione e intelligenza artificialeAlessandri Giuseppe
 
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...SergioMilo1
 
Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Valerio Eletti
 
Summary of "AI-GAs: AI-generating algorithms, an alternate paradigm for produ...
Summary of "AI-GAs: AI-generating algorithms, an alternate paradigm for produ...Summary of "AI-GAs: AI-generating algorithms, an alternate paradigm for produ...
Summary of "AI-GAs: AI-generating algorithms, an alternate paradigm for produ...DavideBasso5
 
Tesi De Franceschi Daniel
Tesi De Franceschi DanielTesi De Franceschi Daniel
Tesi De Franceschi Danielguest8d17469
 
Tesi laurea Cristian Randieri: TECNICHE DI SOFT COMPUTING PER LA MODELLISTICA...
Tesi laurea Cristian Randieri: TECNICHE DI SOFT COMPUTING PER LA MODELLISTICA...Tesi laurea Cristian Randieri: TECNICHE DI SOFT COMPUTING PER LA MODELLISTICA...
Tesi laurea Cristian Randieri: TECNICHE DI SOFT COMPUTING PER LA MODELLISTICA...Cristian Randieri PhD
 
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​DANIELCOSTANTINO6
 
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...Mikel Txopitea Elorriaga
 
Studio sull'ergonomia del touchscreen dell' iphone
Studio sull'ergonomia del touchscreen dell' iphoneStudio sull'ergonomia del touchscreen dell' iphone
Studio sull'ergonomia del touchscreen dell' iphoneRiccardo Venturato
 
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...Fausto Intilla
 
Semplice Complicato Complesso
Semplice Complicato ComplessoSemplice Complicato Complesso
Semplice Complicato ComplessoValerio Eletti
 
Automi probabilistici temporali e loro verifica formale
Automi probabilistici temporali e loro verifica formaleAutomi probabilistici temporali e loro verifica formale
Automi probabilistici temporali e loro verifica formaleOrlando Selenu
 

Similar a L’Approccio Anticipatorio In Robotica: Un' Analisi Comparativa (20)

Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...
Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...
Extended Summary of " A Conceptual Bio-Inspired Framework for the Evolution o...
 
Xii 050508
Xii 050508Xii 050508
Xii 050508
 
Robotica educativa la robotica da strumento di fantasia a strumento per la fa...
Robotica educativa la robotica da strumento di fantasia a strumento per la fa...Robotica educativa la robotica da strumento di fantasia a strumento per la fa...
Robotica educativa la robotica da strumento di fantasia a strumento per la fa...
 
Progettazione e intelligenza artificiale
Progettazione e intelligenza artificialeProgettazione e intelligenza artificiale
Progettazione e intelligenza artificiale
 
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...
Extended Summary of "Engineered Self-Organization for Resilient Robot Self-As...
 
Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)Complexity education by Valerio Eletti (3/4)
Complexity education by Valerio Eletti (3/4)
 
Summary of "AI-GAs: AI-generating algorithms, an alternate paradigm for produ...
Summary of "AI-GAs: AI-generating algorithms, an alternate paradigm for produ...Summary of "AI-GAs: AI-generating algorithms, an alternate paradigm for produ...
Summary of "AI-GAs: AI-generating algorithms, an alternate paradigm for produ...
 
Tesi De Franceschi Daniel
Tesi De Franceschi DanielTesi De Franceschi Daniel
Tesi De Franceschi Daniel
 
Tesi laurea Cristian Randieri: TECNICHE DI SOFT COMPUTING PER LA MODELLISTICA...
Tesi laurea Cristian Randieri: TECNICHE DI SOFT COMPUTING PER LA MODELLISTICA...Tesi laurea Cristian Randieri: TECNICHE DI SOFT COMPUTING PER LA MODELLISTICA...
Tesi laurea Cristian Randieri: TECNICHE DI SOFT COMPUTING PER LA MODELLISTICA...
 
Tesi Laurea Cristian Randieri
Tesi Laurea  Cristian RandieriTesi Laurea  Cristian Randieri
Tesi Laurea Cristian Randieri
 
Lezione 3
Lezione 3Lezione 3
Lezione 3
 
Lezione 3
Lezione 3Lezione 3
Lezione 3
 
Lezione 3
Lezione 3Lezione 3
Lezione 3
 
Lezione 3
Lezione 3Lezione 3
Lezione 3
 
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​
Riassunto di "Real World Robot Evolution Why Would it (not) Work?" ​
 
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...
Introduzione sulla system biology nel contesto delle biotecnologie moderne Ti...
 
Studio sull'ergonomia del touchscreen dell' iphone
Studio sull'ergonomia del touchscreen dell' iphoneStudio sull'ergonomia del touchscreen dell' iphone
Studio sull'ergonomia del touchscreen dell' iphone
 
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...
IA: Princìpi e parametri alternativi, per una fisica alternativa – Intervista...
 
Semplice Complicato Complesso
Semplice Complicato ComplessoSemplice Complicato Complesso
Semplice Complicato Complesso
 
Automi probabilistici temporali e loro verifica formale
Automi probabilistici temporali e loro verifica formaleAutomi probabilistici temporali e loro verifica formale
Automi probabilistici temporali e loro verifica formale
 

Más de Fausto Intilla

Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.
Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.
Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.Fausto Intilla
 
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...Fausto Intilla
 
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...Fausto Intilla
 
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...Fausto Intilla
 
Teorema di Noether: limiti e applicabilità – Intervista a Fausto Intilla
Teorema di Noether: limiti e applicabilità – Intervista a Fausto IntillaTeorema di Noether: limiti e applicabilità – Intervista a Fausto Intilla
Teorema di Noether: limiti e applicabilità – Intervista a Fausto IntillaFausto Intilla
 
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.Attrattori, campi morfogenetici e meccanica quantistica: il nesso.
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.Fausto Intilla
 
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.Fausto Intilla
 
Umano, poco umano ...fatto di virus e batteri!
Umano, poco umano ...fatto di virus e batteri!Umano, poco umano ...fatto di virus e batteri!
Umano, poco umano ...fatto di virus e batteri!Fausto Intilla
 
Altre realtà. Quando la visione del mondo, non è in funzione della mente umana
Altre realtà. Quando la visione del mondo, non è in funzione della mente umanaAltre realtà. Quando la visione del mondo, non è in funzione della mente umana
Altre realtà. Quando la visione del mondo, non è in funzione della mente umanaFausto Intilla
 
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.Fausto Intilla
 
Alla ricerca del reale ...dove nulla, è come appare.
Alla ricerca del reale ...dove nulla, è come appare.Alla ricerca del reale ...dove nulla, è come appare.
Alla ricerca del reale ...dove nulla, è come appare.Fausto Intilla
 
Supremazia quantistica di Google: Mito o realtà?
Supremazia quantistica di Google: Mito o realtà?Supremazia quantistica di Google: Mito o realtà?
Supremazia quantistica di Google: Mito o realtà?Fausto Intilla
 
Gravità quantistica: A che punto siamo?
Gravità quantistica: A che punto siamo?Gravità quantistica: A che punto siamo?
Gravità quantistica: A che punto siamo?Fausto Intilla
 
Una quinta forza fondamentale della natura ...per ora solo ipotetica.
Una quinta forza fondamentale della natura ...per ora solo ipotetica.Una quinta forza fondamentale della natura ...per ora solo ipotetica.
Una quinta forza fondamentale della natura ...per ora solo ipotetica.Fausto Intilla
 
Riscaldamento globale: un'analisi obiettiva.
Riscaldamento globale: un'analisi obiettiva.Riscaldamento globale: un'analisi obiettiva.
Riscaldamento globale: un'analisi obiettiva.Fausto Intilla
 
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...Fausto Intilla
 
Aforismario 3 - Aforismi sulla saggezza del vivere
Aforismario 3 - Aforismi sulla saggezza del vivereAforismario 3 - Aforismi sulla saggezza del vivere
Aforismario 3 - Aforismi sulla saggezza del vivereFausto Intilla
 
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...Fausto Intilla
 
Dal fermione di majorana al computer quantistico.
Dal fermione di majorana al computer quantistico.Dal fermione di majorana al computer quantistico.
Dal fermione di majorana al computer quantistico.Fausto Intilla
 
Fundamental principle of information to-energy conversion.
Fundamental principle of information to-energy conversion.Fundamental principle of information to-energy conversion.
Fundamental principle of information to-energy conversion.Fausto Intilla
 

Más de Fausto Intilla (20)

Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.
Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.
Fausto Intilla - Pensieri sparsi. Raccolta di riflessioni e aforismi scelti.
 
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...
Dal metalinguaggio quantistico alle teorie quantistiche di confine - Fausto I...
 
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...
QFT, gravità, entropia di entanglement e spaziotempo emergente: il nesso - In...
 
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...
La mente a più dimensioni: Dagli spazi topologici alla Dissipative Quantum Br...
 
Teorema di Noether: limiti e applicabilità – Intervista a Fausto Intilla
Teorema di Noether: limiti e applicabilità – Intervista a Fausto IntillaTeorema di Noether: limiti e applicabilità – Intervista a Fausto Intilla
Teorema di Noether: limiti e applicabilità – Intervista a Fausto Intilla
 
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.Attrattori, campi morfogenetici e meccanica quantistica: il nesso.
Attrattori, campi morfogenetici e meccanica quantistica: il nesso.
 
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.
Fausto Intilla: Dalla teoria dell'informazione al concetto di anima.
 
Umano, poco umano ...fatto di virus e batteri!
Umano, poco umano ...fatto di virus e batteri!Umano, poco umano ...fatto di virus e batteri!
Umano, poco umano ...fatto di virus e batteri!
 
Altre realtà. Quando la visione del mondo, non è in funzione della mente umana
Altre realtà. Quando la visione del mondo, non è in funzione della mente umanaAltre realtà. Quando la visione del mondo, non è in funzione della mente umana
Altre realtà. Quando la visione del mondo, non è in funzione della mente umana
 
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.
Quando l'Universo ...calcola sé stesso! L'altra faccia dei buchi neri.
 
Alla ricerca del reale ...dove nulla, è come appare.
Alla ricerca del reale ...dove nulla, è come appare.Alla ricerca del reale ...dove nulla, è come appare.
Alla ricerca del reale ...dove nulla, è come appare.
 
Supremazia quantistica di Google: Mito o realtà?
Supremazia quantistica di Google: Mito o realtà?Supremazia quantistica di Google: Mito o realtà?
Supremazia quantistica di Google: Mito o realtà?
 
Gravità quantistica: A che punto siamo?
Gravità quantistica: A che punto siamo?Gravità quantistica: A che punto siamo?
Gravità quantistica: A che punto siamo?
 
Una quinta forza fondamentale della natura ...per ora solo ipotetica.
Una quinta forza fondamentale della natura ...per ora solo ipotetica.Una quinta forza fondamentale della natura ...per ora solo ipotetica.
Una quinta forza fondamentale della natura ...per ora solo ipotetica.
 
Riscaldamento globale: un'analisi obiettiva.
Riscaldamento globale: un'analisi obiettiva.Riscaldamento globale: un'analisi obiettiva.
Riscaldamento globale: un'analisi obiettiva.
 
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...
Quantum computing: stato dell'arte e potenziali sviluppi - Intervista a Faust...
 
Aforismario 3 - Aforismi sulla saggezza del vivere
Aforismario 3 - Aforismi sulla saggezza del vivereAforismario 3 - Aforismi sulla saggezza del vivere
Aforismario 3 - Aforismi sulla saggezza del vivere
 
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...
Esperimenti sulle disuguaglianze di Bell - Dalle origini al crollo del realis...
 
Dal fermione di majorana al computer quantistico.
Dal fermione di majorana al computer quantistico.Dal fermione di majorana al computer quantistico.
Dal fermione di majorana al computer quantistico.
 
Fundamental principle of information to-energy conversion.
Fundamental principle of information to-energy conversion.Fundamental principle of information to-energy conversion.
Fundamental principle of information to-energy conversion.
 

L’Approccio Anticipatorio In Robotica: Un' Analisi Comparativa

  • 1. L’APPROCCIO ANTICIPATORIO IN ROBOTICA: UNA ANALISI COMPARATIVA Gianguglielmo Calvi*, Alessandro Tutino°, Giovanni Pezzulo$ ° *NOZE s.r.l. °Università degli Studi di Palermo $ ISTC-CNR gianguglielmo.calvi@noze.it, giovanni.pezzulo@istc.cnr.it Introduzione Recentemente molte evidenze convergenti in psicologia e neurobiologia indicano un ruolo cruciale dei meccanismi anticipatori per un ampio settore di funzionalità cognitive, come ad esempio il controllo dell’attenzione [Balkenius e Hulth, 1999] ed il controllo motorio [Wolpert e Kawato, 1988]. Inoltre molti studi nel versante neurobiologico, psicologico e filosofico confortano decisamente l’idea che le rappresentazioni siano principalmente influenzate dalle azioni da eseguire, e profondamente correlate all’apparato motorio [Barsalou, 1999; Castelfranchi, 2005; Grush, 2004; Rizzolatti et al. 1996]. Presentiamo un'analisi comparativa di natura qualitativa di 4 differenti sistemi basati su forward ed inverse model (modelli diretti e inversi) e orientati all'anticipazione senso-motoria in differenti ambienti. Pur avendo parecchie analogie, ognuna delle architetture illustrate offre la possibilità di mettere in risalto tematiche diverse. Dallo studio dei quattro lavori emerge con chiarezza come l’approccio anticipatorio costituisca una tendenza sempre più diffusa nelle applicazioni robotiche. Ma è possibile anche notare la ricchezza e la diversificazione delle soluzioni implementative che possono essere adottate in base all’impostazione teorica di fondo e alla natura del task richiesto all’agente. Un ulteriore motivo di interesse nasce dal fatto che ciascuno dei sistemi dà l’opportunità di focalizzare l’attenzione su diverse problematiche specifiche di partenza. In particolare, il sistema (1) [Tani e Nolfi, 1999] pone principalmente la questione della segmentazione temporale: l’obiettivo è la realizzazione di un task di alto livello come risultato di una corretta successione cronologica di task parziali, eseguiti da moduli addestrati in tempo reale. Viene proposta una metodologia che conduce all’emergenza di un repertorio di moduli specializzati a più livelli di complessità; occorre allora commutare correttamente dall’uno all’altro per comporre il task iniziale desiderato. Il sistema (2) [Pezzulo et al., 2005] enfatizza i vantaggi dell’approccio anticipatorio nell’orientamento dell’attenzione, mettendo a confronto due agenti impegnati in uno stesso task di visual search: il primo implementato mediante un’architettura di tipo puramente reattivo, il secondo basato su capacità predittive derivanti dall’uso di modelli interni. Quest’ultimo mostra prestazioni migliori. Il sistema (3) [Johnson e Demiris, 2005] si concentra sul tentativo di dotare un robot di capacità di imitazione. Avvalendosi di un’architettura con modelli diretti e inversi combinati, mira all’obiettivo di rendere il robot capace di riconoscere e poi di eseguire una sequenza di operazioni manuali compiute da un dimostratore umano. Il sistema (4) [Dearden e Demiris, 2005] consente di illustrare tecniche utili all’apprendimento di modelli diretti per un robot. In questo caso si tratta di un modello diretto realizzato mediante una rete bayesiana, di cui vanno appresi struttura e parametri. Il paradigma anticipatorio. Le applicazioni robotiche, nel corso degli anni, hanno visto affermarsi con sempre maggiore diffusione il paradigma anticipatorio. Esso si basa sul principio che dotare i sistemi robotici della capacità di formulare aspettative sulle conseguenze sensoriali dei propri atti costituisca un vantaggio al momento della selezione dell’azione più opportuna nel corso dell’esecuzione
  • 2. di un task più o meno complesso. E’ ormai comunemente accettato il dato di fatto che, dovendo scegliere quale azione compiere all’interno di un novero di possibilità, conviene “premiare” quella (o quelle) che mostrano di condurre a esiti sensoriali vicini a quelli previsti. Ciò è coerente con l’evidenza, proveniente da studi psicologici e neurologici [Wolpert e Kawato, 1988] che un comportamento è adeguato quando in virtù di esso accade esattamente ciò che ci si aspettava (il che, spesso, vuol dire ciò che ci si prefiggeva), evitando imprevisti che potrebbero configurarsi come situazioni fuori controllo, cioè, essenzialmente, indesiderate. Si pone allora l’esigenza di uno strumento utile a rendere un sistema in grado di formulare previsioni. Uno strumento simile è offerto dai modelli interni diretti. I modelli diretti, adoperati usualmente sia nella teoria del controllo sia nelle neuroscienze, sono pensabili, in astratto, come sistemi che ricevono in ingresso dati riguardanti lo stato interno corrente dell’agente e i comandi motori ricevuti, e forniscono in uscita lo stato sensoriale futuro, quindi, appunto, un’aspettativa. I modelli diretti sono sovente utilizzati in combinazione con i modelli interni inversi. I modelli inversi sono sistemi in grado di calcolare i comandi motori opportuni affinché siano ottenuti certi obiettivi, rappresentati dallo stato sensoriale voluto, noto che sia lo stato sensoriale di partenza. L’uso di modelli interni e inversi abbinati è frequente e rappresenta un tentativo di integrazione, all’interno di uno stesso sistema di controllo, di meccanismi reattivi e meccanismi deliberativi, e può agevolare l’interazione tra meccanismi di tipo top-down e meccanismi di tipo bottom-up. Quattro Sistemi A Confronto I quattro lavori che sono qui analizzati costituiscono degli esempi particolarmente significativi di applicazioni robotiche ad approccio anticipatorio, e tra di essi è possibile riscontrare più di una variante di utilizzo di modelli interni diretti e inversi. Sistema (1): Learning To Perceive the World as Articulated: An Approach for Hierarchical Learning in Sensory-Motor Systems1 [Tani e Nolfi 1988] La nozione di “modularità” è da molti anni di uso comune sia in informatica sia nelle scienze cognitive, e, prescindendo da contesti applicativi particolari, si riferisce alla possibilità di interpretare un sistema complesso come composto da più sotto-sistemi tra loro indipendenti (moduli), a ciascuno dei quali è affidato un compito specifico. La sinergia tra i diversi moduli (che singolarmente sono in grado di eseguire operazioni elementari) rende il sistema globale capace di comportamenti di alto livello. Si intuisce come, anche nel campo della robotica, sia estremamente conveniente, di fronte a task di elevata complessità, operare una modularizzazione del problema che consenta di risolvere il compito richiesto al robot spezzettandolo in sotto-compiti più semplici. In questo modo basterebbe associare ogni modulo a un comportamento elementare, e ricavare il task complessivo dalla opportuna combinazione di tali moduli comportamentali, con modalità dipendenti dal tipo di architettura del sistema. Uno dei problemi fondamentali delle applicazioni robotiche risulta essere quello della segmentazione temporale, che consiste nel trovare il modo migliore per ottenere comportamenti complessi come successione cronologica di azioni più semplici, compiute per mezzo dei moduli comportamentali. Il principio è che combinando opportunamente i moduli si ottengono sequenze diverse che danno luogo a un ampio spettro di possibili compiti di alto livello. E’ allora necessario trovare un meccanismo che consenta di effettuare una adeguata segmentazione del flusso continuo di informazioni senso-motorie provenienti dall’ambiente operativo in cui il robot è immerso. La difficoltà sta nel saper ricondurre un evento unico (il 1 Di questo lavoro esiste una revisione piuttosto recente [Tani 2004].
  • 3. comportamento complessivo) a una cronologia di sotto-eventi discreti, distinguibili fra loro in maniera non ambigua. Ma quanto dura un sotto-evento? Quando finisce il precedente, e quando inizia il successivo? E’ una questione non banale, che evoca riflessioni di natura fenomenologica sul concetto di tempo. Una soluzione adottata di frequente è quella dei “punti di riferimento” (landmarks): il cammino del robot viene “scandito” dalla presenza di vari landmark, come svolta a un angolo, fine corsa di giunzioni, avanzamento in linea retta tra due corridoi, ecc. L’inconveniente di questo approccio è che i tipi di landmark sono definiti dal progettista, e non necessariamente risultano intrinseci alla percezione del robot. Sarebbe invece desiderabile che concetti come angoli, giunzioni o corridoi, se necessari per la corretta esecuzione del pilotaggio, venissero appresi empiricamente dal robot. Nel loro approccio Tani e Nolfi propongono uno schema di apprendimento con struttura gerarchica a due livelli (per quanto sia possibile un numero di livelli superiore), in cui si ha una auto-organizzazione dei moduli. Tale schema sfrutta le Reti Neurali Ricorrenti2 (Recurrent Neural Networks, RNN). Si basa sul principio di competizione tra moduli: ogni modulo RNN del livello inferiore riceve in ingresso dati che ragguagliano sullo stato senso- motorio del sistema all’istante attuale, e fornisce come uscita la previsione sui valori di tali dati all’istante di tempo successivo. In sostanza ogni modulo compete con gli altri nella capacità di predizione del flusso senso-motorio, in diverse fasi dell’esecuzione di un’azione. Ogni fase vede “vincente” un modulo, che sarà quindi prescelto per rappresentare il comportamento del robot in quel frangente: per esempio, un modulo RNN potrebbe vincere nel prevedere il flusso senso-motorio mentre il robot gira intorno a un angolo, un altro potrebbe prevalere durante una fase di cammino in linea retta lungo una parete, e così via. Questo verrà fatto reiteratamente nel corso di tutta l’azione, commutando da un modulo vincente a un altro dipendentemente dall’esito delle competizioni, e ottenendo infine una successione temporale di moduli, rappresentativi ognuno di un’operazione elementare: in pratica, è il susseguirsi delle commutazioni a realizzare la segmentazione dell’azione complessiva. Il metodo adottato per realizzare una corretta segmentazione consiste nella rilevazione di variazioni brusche all’interno dei dati del flusso senso-motorio: tali variazioni, infatti, possono in prima approssimazione essere spiegate proprio dall’alternarsi di diverse operazioni elementari (ad esempio cammino lungo un profilo rettilineo, svolta ad un angolo, ripresa del cammino in linea retta); tuttavia si presenta la difficoltà che alcune fasi dell’azione (una rotazione, una svolta) possono dare luogo a cambiamenti rapidi del flusso senso-motorio per tutta la durata dell’operazione, col risultato di possibili sotto-segmentazioni ripetute di un’operazione che invece si vorrebbe associare a un singolo modulo. Perciò, per considerare opportunamente l’intervallo di tempo del processo comportamentale da riconoscere come evento unico, è necessario individuare cambiamenti di notevole entità all’interno della struttura dinamica del flusso senso-motorio, e non si può semplicemente ricorrere al calcolo di differenze rilevate in istanti di tempo successivi. Entrando un po’ più nel dettaglio, è importante osservare come si sfrutti l’idea che l’addestramento in tempo reale, nel caso di sistemi a più reti (in questo caso neurali) separate, possa essere condotto in modo tale da rendere ognuna delle reti capace di specializzarsi nell’esecuzione di uno specifico task parziale, tra tutti quelli in cui può pensarsi modularizzato il task globale. 2 Una RNN è essenzialmente una rete neurale in cui alcuni nodi, al contrario di quanto accade nelle reti neurali “ordinarie”, ricevono in ingresso l’uscita proveniente da nodi appartenenti a strati successivi, introducendo così la possibilità di rilevare dinamiche dipendenti dal tempo: dunque una rete neurale in cui è presente una qualche forma di feedback.
  • 4. . Figura 1. Architettura del sistema. (a) schema della gerarchia dell’apprendimento, (b) dettaglio del generico modulo RNN per l’apprendimento del flusso senso-motorio nel livello inferiore, (c) dettaglio del generico modulo RNN’ del livello superiore per l’apprendimento delle dinamiche di apertura delle porte Ogni modulo RNN diventa un “esperto” nel prevedere il flusso senso-motorio relativo a un ben determinato task parziale. Il processo di addestramento, dunque, si traduce nel progredire
  • 5. della facoltà di divenire esperti del proprio compito specifico che i moduli RNN vanno acquisendo, realizzando così l’apprendimento su base empirica prima auspicato. L’architettura, mostrata in Figura 1, presenta, in ognuno dei due (o più) strati della gerarchia, un sistema di “porte” (identificate dalla lettera “g” di “gate”) che impone un peso numerico a fattore dell’uscita di ogni modulo: l’uscita complessiva dello strato sarà la media pesata dalle g delle uscite dei singoli moduli, e istante per istante il contributo dell’i-mo modulo RNN sull’uscita complessiva è inibito o esaltato a seconda della maggiore o minore apertura della rispettiva porta, ossia a seconda del maggiore o minore valore del peso i-mo. Al livello inferiore della gerarchia un valore più alto di gi t è il premio che l’i-mo modulo RNN ottiene per aver commesso un errore di previsione del flusso senso-motorio più basso rispetto agli altri moduli. Il livello superiore della gerarchia ha una struttura del tutto analoga, ma i suoi moduli RNN (indicati con RNN’), invece di avere in ingresso il flusso senso-motorio, hanno in ingresso il vettore GT = (g1T, g2T, …, gnT) ed elaborano una previsione sul vettore GT+1, dove T è il periodo di campionamento con cui vengono prelevati i valori delle gi del livello inferiore. I moduli RNN’ competono a loro volta per alti valori dei pesi g’iT, che ancora possono ricorsivamente essere inviati a un eventuale terzo livello, e così via. Si realizza in tal modo una progressiva astrazione di natura bottom-up del segnale, che al livello di astrazione più basso corrisponde al flusso senso-motorio, in ingresso allo strato inferiore della gerarchia. Il modello teorico a due strati è stato poi testato mediante simulazione di pilotaggio di un robot attraverso due stanze di topologia differente collegate da una porta. Il robot percepisce i dati relativi all’ambiente circostante mediante l’uso di sensori di range3 laser. L’architettura adoperata comprende cinque moduli RNN tanto per il livello inferiore quanto per quello superiore. Viene descritta nei particolari la fase di apprendimento e viene fatto notare come essa abbia portato lo strato inferiore del sistema a generare 4 tipi di concetti elementari significativi (svoltare a sinistra e a destra ad un angolo, superare un incrocio a “T”, seguire una parete dritta), sfruttando 4 dei 5 moduli RNN disponibili, e lo strato superiore a creare nel robot il concetto più complesso di stanza. I risultati della simulazione sono infine corredati di immagini che mostrano, fase per fase, quale modulo vince la competizione in ciascuno dei due livelli, con relativa commutazione tra un modulo e l’altro ogni volta che ciò si rende necessario. Sistema (2): Fuzzy-based Schema Mechanisms in AKIRA. [Pezzulo et al., 2005] Questo lavoro offre una sperimentazione comparativa nel dominio della ricerca visiva [Wolfe, 1996]: viene sottoposto uno stesso compito (task) di riconoscimento a due sistemi diversi, e vengono confrontati i risultati. Il task consiste nella individuazione di una “T” rossa all’interno di un’immagine in cui siano presenti, col ruolo di elementi “distrattori”, anche diverse “T” verdi e “L” rosse. Nel fare ciò sono messe a confronto due architetture: la prima basata su meccanismi di selezione dell’azione di tipo reattivo4, la seconda su meccanismi a schema di tipo anticipatorio5. Entrambe sono implementate il framework AKIRA 3 Un sensore di range è un dispositivo capace di generare immagini di range. Un’immagine di range differisce da una convenzionale immagine a gradazioni di grigio per il fatto che a ogni pixel dell’immagine di range non è associato un livello di intensità luminosa, bensì una misura della distanza tra il sensore e un punto della superficie di un oggetto presente nella scena osservata. Di tali sensori esistono molti tipi diversi, che si trovano sovente utilizzati in combinazione. 4 Il problema dell’Action Selection può essere definito in termini alquanto generici: dati certi obiettivi e un insieme di azioni possibili, l’agente deve stabilire la prossima azione da compiere. Tuttavia a tale problema si sono spesso date risposte implementative basate su soluzioni ad approccio essenzialmente reattivo. 5 Sebbene i principi della teoria degli schemi siano di per sé compatibili con diverse possibili architetture, particolarmente efficace ne risulta l’utilizzo in associazione a strategie anticipative. Avvalendosi delle capacità predittive discendenti dall’uso di modelli interni, infatti, i meccanismi a schema possono essere interpretati come
  • 6. (http://www.akira-project.org/). Dei due metodi sono prima di tutto discusse le differenze concettuali: nei meccanismi reattivi la scelta del modulo comportamentale da attivare in un certo momento dipende unicamente dal verificarsi di certe pre-condizioni (sensoriali) cui sono associati, come conseguenze, certi comportamenti; nel caso di schema anticipatorio, invece, le pre-condizioni determinano solo la scelta iniziale, mentre è il successo della previsione che determina se uno schema (ovvero, un modulo comportamentale che include due modelli interni, un modello diretto ed un modello inverso) continua a essere usato o viene sostituito. I modelli interni degli schemi sono infatti in grado di generare previsioni che vengono messe a confronto con i dati percettivi correnti: viene “premiato” lo schema che denota una migliore attitudine predittiva, in maniera simile a come accade in [Wolpert e Kawato, 1998] ma con un sistema di assegnazione delle priorità parallelo ed asincrono. Se, nel corso della simulazione, viene rilevato uno scarto significativo tra le previsioni dello schema attualmente in azione e i dati sensoriali, lo schema viene abbandonato, e ne viene attivato uno nuovo, capace di generare previsioni più precise (piu’ precisamente, il controllo motorio dipende dalla somma dei comandi di diversi schemi; quello che viene modulato dunque e’ il peso dei vari comandi). La ratio che sottende tale procedimento si fonda sulla constatazione che se un modulo viene scelto sulla base di un errato stimolo sensoriale (ad esempio visivo), la previsione elaborata da tale modulo si discosterà dalle effettive conseguenze del comportamento che esso prescrive, rivelando così l’inadeguatezza dello schema attualmente in azione rispetto alle reali condizioni in cui l’agente si trova a operare (si supponga di essere nel caso di un braccio robot che deve manipolare un oggetto tra diversi oggetti visibili: se un’informazione visiva erronea induce a scegliere il modulo “afferra bottiglia piena” e invece viene afferrata una bottiglia vuota, le previsioni generate dal modello interno diretto dello schema scelto non saranno rispondenti alle percezioni reali, per esempio perché ci si aspetterebbe sul braccio un peso maggiore di quello effettivo. In tale situazione si manifesterebbe la necessità di cedere il “controllo dell’azione” a un modulo adatto a gestire la manipolazione di oggetti più leggeri, come appunto una forchetta). Un meccanismo di questo tipo dota il sistema di una sorta di duplice abilità: preventiva e correttiva. Preventiva, perché il modello diretto di uno schema, con le sue computazioni, fornisce una versione virtuale del comportamento che indica. Pertanto le valutazioni su quale sia il modulo da premiare, al quale cioè affidare il controllo dell’azione, possono essere fatte confrontando i comportamenti simulati proposti dai vari moduli, e scegliendo quello idoneo prima di dare concreta esecuzione a qualsiasi azione. Correttiva, perché se un modulo viene scelto per errore, come nell’esempio della racchetta e della forchetta, al passo successivo, grazie allo scarto tra dati osservati e dati previsti, l’errore può essere “scovato”, e vi si può porre rimedio cedendo il controllo a uno schema più appropriato. Questa capacità di recupero da una situazione di errore costituisce un vantaggio dell’approccio anticipatorio rispetto ai meccanismi reattivi. Inoltre il sistema nell’operare il controllo motorio parallelamente categorizza l’oggetto; in questo senso, la concettualizzazione di un oggetto o di un evento dipende dalle interazioni (attuali o possibili) che si hanno con esso. Come precedentemente osservato, il sistema in esame (sia nel caso reattivo che nel caso anticipatorio) non delega il controllo dell’azione ad un solo modulo, ma a più moduli in parallelo, responsabili di comandi che andranno poi fusi in maniera pesata, ad esempio tramite tecniche fuzzy. La prima architettura testata sul task di riconoscimento della “T” rossa è quella basata sull’approccio reattivo. Dell’intera immagine, contenente obiettivo e distrattori, si assume che istante per istante sia visibile solo una porzione: quella illuminata da una fovea mobile. Tale porzione consta di tre settori circolari concentrici, aventi, dall’interno all’esterno, rispettivamente buona, media e bassa risoluzione, in analogia con la fovea umana. Per sistemi di regole a tre componenti: stimolo-risposta-aspettativa (laddove i meccanismi reattivi contemplano l’attuazione di regole semplicemente di tipo stimolo-risposta).
  • 7. eseguire il compito di ricerca richiesto ci si avvale di una struttura a cinque strati, dove ogni strato è dedicato a un sotto-problema del task complessivo, ciascuno di diversa complessità, ed è perciò popolato da moduli specializzati: il primo strato contiene moduli preposti alla discriminazione tra punti pieni e vuoti nell’immagine, con una concentrazione di moduli decrescente via via che si procede verso l’esterno della veduta (porzione illuminata dalla fovea in quel momento); il secondo strato contiene moduli capaci di distinguere il colore (verde o rosso) dei punti pieni segnalati dai moduli del primo strato; il terzo strato contiene moduli in grado di individuare linee, vale a dire sequenze di punti allineati aventi lo stesso colore; il quarto strato contiene moduli adibiti al riconoscimento di lettere, che svolgono quindi la funzione di più alto livello di discernere tra assemblaggi di linee che formano una “L” e quelli che formano una “T”, qualunque sia l’orientamento di tali lettere (quindi anche ruotate o capovolte); il quinto strato è costituito da un singolo modulo, rappresentante la fovea mobile, responsabile quindi della sequenza dei movimenti che spostano la veduta all’interno dell’immagine. In aggiunta, al di fuori della gerarchia degli strati, è presente un modulo-goal, che rappresenta il task da eseguire, come ad esempio trovare la “T” rossa. Figura 2. I moduli nei 5 strati nell’architettura per il visual search. Nella figura sono evidenziati i legami energetici che sono alla base dell’architettura di AKIRA (linee scure) e permettono di scambiare attivazione. Sono inoltre evidenziate le relazioni fra moduli dei differenti strati (linee tratteggiate): solo i moduli dello strato1 hanno accesso all’informazione visiva, mentre gli altri sfruttano come informazione il livello di attivazione dei moduli dei livelli inferiori. Ad esempio, un modulo di livello 3 “riconosci_linea” impara a riconoscere (ed a prevedere) che durante il movimento in linea retta una serie di moduli di livello 2 “riconosci_rosso” mantengono un alto livello di attivazione: cio’ significa che c’e’ una linea nel campo visivo. La simulazione sfrutta una caratteristica di AKIRA che e’ quella di assegnare risorse computazionali (energia) variabili ai moduli, in modo che i moduli piu’ attivi possano operare piu’ spesso e con maggiore priorita’. In questo senso i moduli possono essere visti come nodi in una rete connessionista; a differenza della maggior parte dei sistemi connessionisti, pero’, i moduli possono incorporare procedure piu’ o meno complesse (e non sono semplici unita’ numeriche come le reti neurali) ed agiscono in maniera asincrona. La simulazione dunque inizia attivando il modulo-goal, che diffonde la sua attivazione, sotto forma di risorse computazionali (energia), ai moduli in grado di riconoscere una “T” e a quelli in grado di riconoscere il rosso. A questo punto, grazie alla rete di link fra i moduli dei diversi strati, si innesca un processo di attivazione reciproca che si traduce in istruzioni in tempo reale alla fovea mobile, la quale percorrerà un cammino che si fermerà nel momento del raggiungimento e del riconoscimento della “T” rossa. Un aspetto interessante da mettere in luce è che la traiettoria descritta dal riflettore in cerca della “T” rossa, passo dopo passo, è il frutto di una successione di movimenti ciascuno dei quali non è il risultato di un singolo comando proveniente da un unico modulo, bensì di una computazione che tiene conto di più contributi concorrenti. Infatti, nel corso della simulazione, al variare dello scenario, i comandi inviati al modulo del quinto strato avranno origine in generale da più moduli degli strati inferiori. Ogni modulo, in un certo istante, non ha un valore di attivazione crisp
  • 8. (attivo/inattivo), ma fuzzy (può essere più o meno attivo). Questo ha come conseguenza che ogni modulo cerca di indurre la fovea, con un’energia dipendente dal grado di attivazione corrente, a compiere un certo spostamento. Allora la fovea si troverà a dover rispondere a più indicazioni di movimento contemporanee, alcune delle quali magari contrapposte. Ognuna di queste prescrizioni avrà un peso diverso, a seconda dell’energia con cui il suo modulo la inoltra. Un sistema di regole fuzzy dovrà allora conciliare in tempo reale i diversi input per generare di volta in volta lo spostamento risultante. Tale sistema di regole implementa le modalità di selezione dell’azione secondo un’impostazione essenzialmente reattiva. Infatti, malgrado il meccanismo con cui sia la fovea sia i moduli degli strati più bassi stabiliscono cosa fare al passo successivo sia debolmente connesso all’idea di previsione (vengono formulate congetture sui punti in cui è presumibile che sia conveniente spostarsi), l’architettura è costruita in definitiva su regole di tipo IF-THEN, senza alcuna esplicita rappresentazione anticipatoria. Per testare invece la simulazione adottando una strategia anticipatoria in senso stretto, si sfruttano schemi dotati di semplici modelli diretti, realizzati tramite una Fuzzy Cognitive Map [Kosko, 1992]. Ciò che ne deriva, come ci si aspetta dalla precedente esposizione teorica, è un sistema che produce esplicite aspettative circa le percezioni sensoriali future, tale da premiare gli schemi che hanno successo nella previsione, piuttosto che nell’azione, secondo il principio che uno schema che prevede meglio è più appropriato ad assumere il controllo delle operazioni. Per rendersi conto più chiaramente di come funzioni, a grandi linee, tale criterio, si può osservare la Figura 3. Figura 3. Se uno schema “Riconoscitore_di_T” e uno “Riconoscitore_di_L” trovano ora il riflettore, che proviene dal punto (3,1), nel punto (0,1), riconoscono una linea e cercano entrambi di guidare il riflettore al prossimo passo. Supponendo che il Riconoscitore_di_T sia più attivo, il suo comando sarà quello selezionato, e il riflettore si muoverà nel punto (0,0). A questo punto, se il criterio fosse quello del successo nell’azione, si dovrebbe concludere che falliscono entrambi i riconoscitori di lettera, perché il punto (0,0) vuoto esclude, è vero, la “T”, ma non individua una “L”. Se il criterio è invece quello del successo nella previsione, il Riconoscitore_di_L sarà premiato e otterrà il controllo dell’azione, perché il suo modello diretto prevede che, affinché la lettera sia una “L”, il punto (0,0) debba essere vuoto. Come si vede, se la competizione tra il Riconoscitore_di_L e il Riconoscitore_di_T avviene valutando l’esito di ciò che accade spostando (virtualmente o concretamente) il riflettore nel punto vuoto (0,0), il controllo dell’azione passa al Riconoscitore_di_L, poiché il suo modello diretto ha formulato appunto un’aspettativa di pixel vuoto in (0,0). Ciò è corretto, in quanto la lettera è in effetti una “L” capovolta. Le considerazioni finali del documento mettono in rilievo come l’approccio anticipatorio renda la simulazione più veloce e più accurata rispetto a quello reattivo, sottolineando dunque l’utilità di rappresentazioni munite di proprietà
  • 9. anticipatorie, in contrapposizione allo slogan reattivista “intelligenza senza rappresentazione” [Brooks, 1991]. Sistema (3): Hierarchies of Coupled Inverse and Forward Models for Abstraction in Robot Action Planning, Recognition and Imitation [Johnson e Demiris, 2005] Questo lavoro si propone di mettere alla prova un robot in grado di manipolare oggetti in compiti di riconoscimento e imitazione di azioni eseguite da un dimostratore umano. L’architettura presentata utilizza un sistema di modelli interni (diretti e inversi) abbinati multipli. Attraverso una struttura gerarchica a più livelli il robot viene dotato di capacità di astrazione motoria. Negli ultimi anni numerose ricerche nel campo delle neuroscienze hanno mostrato come il sistema motorio umano sia coinvolto anche nel processo di codifica delle azioni osservate. Sono emersi e si sono affermati concetti come “neuroni a specchio” (mirror neurons), risonanza motoria ecc., che hanno validato la teoria secondo cui, in un processo di imitazione, è possibile individuare l’attivazione dei medesimi “circuiti cerebrali” sia al momento dell’osservazione di un’azione da parte altrui, sia al momento successivo in cui quella stessa azione viene eseguita. Ciò ha portato al tentativo di creare modelli artificiali che riescano a riprodurre in robotica, mutuandoli in qualche modo dalla biologia, dei meccanismi che consentano il riconoscimento e l’imitazione di un’azione osservata. Gli esperimenti condotti con questo intento hanno evidenziato come, affinché un robot possa riconoscere le azioni eseguite da un umano, sia necessario che il robot possieda la capacità di interpretare astrattamente i movimenti osservati. In mancanza di questa facoltà il riconoscimento diventa impossibile per via delle differenze morfologiche tra modello umano e robot (sebbene sia possibile ridurre l’incidenza di tale problema tramite l’uso di robot umanoidi), e della notevole disparità tra le dimensioni dello spazio di azione umano e quelle dello spazio di azione del robot. Risulta allora chiara la natura di alto livello cognitivo della facoltà di imitazione: imparare a riprodurre azioni tramite l’osservazione della loro esecuzione da parte di altri, nel momento in cui ciò richiede la capacità di mettersi nei panni dell’esecutore, riuscendo a leggerne le intenzioni e a capirne gli obiettivi, significa appunto saper interpretare in termini astratti le azioni che egli compie. Tale prerogativa è perciò sintomo di elevata intelligenza, tanto che in ambito biologico difficilmente è possibile riscontrarla in specie diverse da quella umana (ma il dibattito sulla reale natura del concetto di “imitazione” in quanto forma di apprendimento basata su osservazioni è ben vivo nelle scienze cognitive). In questo documento le capacità di astrazione sono conferite al robot implementandone il sistema motorio per mezzo di una gerarchia a più livelli di complessità, dove in ogni livello è presente un sistema di modelli interni abbinati. La figura 4 dà un’idea di come sia costruita tale gerarchia nel caso di K livelli.
  • 10. Figura. 4. Una gerarchia a K livelli di modelli inversi e diretti abbinati. La stessa architettura è usata sia per il riconoscimento sia per l’esecuzione di azioni. Il livello più basso contiene un insieme di modelli inversi primitivi indicati come I p . Il modello diretto chiamato ad elaborarne i comandi motori sta nel blocco Fkinematics . S t,r è lo $ stato del robot all’istante t, mentre S t è lo stato previsto all’istante t. Il blocco D in ogni livello rappresenta un ritardo di tempo, usato per sincronizzare la previsione con lo stato corrente, in modo da rendere il confronto consistente. Il livello inferiore della gerarchia contiene un insieme di modelli inversi primitivi I p , che generano comandi motori M t a ogni istante di tempo. I comandi motori attivano direttamente le unità motorie del robot. Il modello diretto di questo livello rappresenta il comportamento cinematico del robot, e fornisce pertanto previsioni sulla traiettoria che risulta dall’esecuzione dei comandi motori. I modelli inversi dei livelli superiori, sulla base dello stato attuale del robot e dello stato desiderato, generano azioni, che sono mandate ai livelli più bassi della gerarchia per essere sottoposte a ulteriori interpretazioni ed elaborazioni. Le azioni associate ai modelli inversi dei livelli superiori sono in pratica una rappresentazione più astratta del comportamento motorio effettivo del robot. Infatti, mentre al livello più basso della gerarchia i modelli inversi primitivi generano azioni immediatamente traducibili in comandi motori, ai livelli più alti i modelli inversi generano azioni rappresentabili in forma simbolica da grafi di azione e parametri obiettivo. Tali azioni non possono comandare direttamente le unità motorie del robot, in quanto costituiscono una codifica a più elevato grado di complessità dei movimenti che il robot dovrà compiere. Perciò è necessaria una loro traduzione in azioni più elementari associate a modelli inversi del livello inferiore, che a loro volta genereranno grafi di azione e parametri obiettivo da inviare al livello più in basso e così via, scendendo sempre di complessità, per abilitare infine, al livello dei modelli primitivi, l’esecuzione vera e propria dei movimenti. Per esempio, due modelli inversi di un livello superiore potrebbero essere associati alle azioni “afferrare oggetto” e “posare oggetto”, mentre al livello inferiore
  • 11. potrebbero esserci modelli inversi associati ad azioni come “aprire pinza”, “chiudere pinza”, o “muoversi in avanti”. Il grafo di azione schematizza il modo in cui l’azione del livello superiore debba essere interpretata come opportuna combinazione di azioni del livello inferiore. Ogni nodo del grafo rappresenta un modello inverso, e il modo in cui i rami collegano i nodi, ossia il modo in cui il grafo viene attraversato (sfruttando due nodi ausiliari di inizio e fine dell’azione, unici a non corrispondere a modelli inversi) indica la successione con cui le azioni del livello inferiore coinvolte devono essere eseguite per dar luogo all’azione più complessa imposta dal livello superiore. Matematicamente il grafo è gestito mediante una matrice di adiacenza indicata con y. Tale matrice y costituisce parte del segnale efferente dal modello inverso di un livello, segnale che è inviato in ingresso al livello inferiore: è ai modelli inversi di questo livello sottostante che si riferiscono i nodi del grafo, ovvero, in modo equivalente, le righe e le colonne di y. Pertanto la matrice ha dimensioni (N+2) × (N+2), dove N è il numero di modelli inversi del livello inferiore (le due righe e le due colonne in più sono dovute ai nodi ausiliari), e i suoi elementi hanno valore binario: l’elemento y i, j vale 1 se nel grafo è presente un ramo che parte dal nodo j-mo ed entra nel nodo i-mo, vale zero se tale ramo è assente. Un esempio di possibile grafo di azione con relativa matrice di adiacenza è mostrato in figura 5. Figura. 5. (A) Un esempio di grafo di azione. ‘S’ (start) ed ‘E’ (end) sono rispettivamente i nodi ausiliari di inizio e fine. (B) Corrispondenza tra i nodi del grafo e i modelli inversi cui sono associati, identificati dalle azioni che essi generano. (C) Matrice di adiacenza y . Le azioni incarnate dai modelli inversi di questo livello, da eseguire secondo le indicazioni del grafo (ossia della matrice) sono una traduzione di un segnale efferente dal livello superiore, che potrebbe essere per esempio associato al modello inverso “afferrare oggetto”, azione di complessità maggiore. Il grafo va percorso secondo una priorità che prevede l’attraversamento prima in verticale e poi in orizzontale, il che significa che, in questo caso, i nodi 1, 2 e 3 sono eseguiti in parallelo, tutti prima di 4. Il segnale efferente che dai livelli superiori viene inviato ai modelli inversi dei modelli inferiori contiene anche un vettore, chiamato λ , di parametri che specificano gli obiettivi che ciascuno degli N modelli inversi del livello sottostante è chiamato a soddisfare. E’ perciò questo vettore che codifica lo stato desiderato che i modelli inversi devono raggiungere tramite le loro azioni. Il segnale efferente dal modello inverso di un certo livello, espresso mediante la coppia { y , λ }, va in ingresso anche al modello diretto dello stesso livello che dovrà calcolare le conseguenze dell’azione indicata dal segnale. La combinazione di un modello diretto con un modello inverso può, in generale, essere pensata come un sistema di controllo in cui il modello inverso gioca il ruolo di controllore, e al modello diretto spetta il compito di elaborare una previsione sullo stato futuro del sistema. Nell’architettura in esame il modello diretto di ogni livello fornisce in uscita le sue previsioni sotto forma di uno stato $ stimato S t . Più nel particolare: tenendo conto delle azioni indicate dal modello inverso dello
  • 12. stesso livello e di ulteriori ingressi, costituiti dallo stato attuale del robot S t,r e dagli stati interni S t,i dei modelli inversi del livello inferiore6, il modello diretto produce in uscita la $ stima S t , che rappresenta in forma simbolica, livello per livello, il modo in cui lo stato del sistema cambierebbe se le azioni imposte dal modello inverso, una volta interpretate, come si è detto, al livello inferiore, divenissero operative. In tal modo può avere luogo la simulazione. I processi di simulazione si avvalgono di due cicli di retroazione: uno interno e uno esterno. Il ciclo interno è adoperato per individuare il modo migliore per codificare le azioni in corso in ciascun livello della gerarchia. Ogni modello inverso genera diverse ipotesi di azione che possono soddisfare i parametri obiettivo per esso specificati. Le ipotesi di azione vengono testate sul modello diretto, che ne ricava stati previsti, rispediti indietro al modello inverso. Il modello inverso può a questo punto usare gli stati previsti in sostituzione dello stato attuale, creando un processo di simulazione, durante il quale, tramite il confronto con i parametri obiettivo, il modello inverso può convergere a una o più soluzioni. A ogni livello della gerarchia il modello o i modelli che trovano soluzioni diventano esecutivi, in parallelo. Nel caso di più soluzioni per un modello inverso, viene scelta la codifica che prevale in una competizione di tipo winner-takes-all, basata sul criterio della minima profondità del grafo di azione associato a tale codifica. Il ciclo esterno viene usato per controllare il comportamento del sistema mediante la quantità $ Pe , errore di predizione: il modello diretto produce lo stato previsto S t , che, previo passaggio attraverso il blocco ritardatore D, viene confrontato con lo stato effettivo del sistema, calcolando l’errore di previsione Pe , che è un indice scalare di quanto siano distanti, istante per istante, i vettori “stato stimato” e “stato effettivo”. A seconda delle situazioni, lo stato corrente effettivo su cui è basato il calcolo di Pe può essere quello dell’agente stesso oppure quello dell’attore osservato. La quantità Pe , infatti, riportata in ingresso al blocco dei modelli inversi, può essere usata sia in fase di esecuzione di un task, per orientare le correzioni ai comandi in corso di svolgimento, sia in fase di riconoscimento di un’operazione effettuata da un dimostratore umano. In entrambi i casi si sfruttano la medesima architettura, già illustrata in Figura 4.3, e la stessa definizione matematica per l’errore di predizione: n $ Pe = ∑j=1 S t,j − S t,j . Si effettua cioè la somma delle differenze, in valore assoluto, tra le componenti dei due vettori, assumendo di aver codificato le conoscenze disponibili sugli stati del sistema tramite n informazioni discrete, espresse ognuna dal valore della componente j-ma dei vettori. Durante la procedura di riconoscimento l’hardware motorio del robot è disabilitato, e lo stato del sistema, fornito come input a tutti i livelli della gerarchia in ogni istante di tempo, non è 6 Tra i parametri che ragguagliano, istante per istante, sulla situazione operativa di un modello inverso, figurano quattro stati binari, ciascuno associato a una condizione di generazione o meno di uscita da parte del modello inverso. Questi quattro stati sono: esecutivo, se il modello inverso sta producendo un’azione tuttora in corso; completo, se il modello inverso valuta che gli obiettivi per esso specificati siano sufficientemente vicini, così da non rendersi necessaria alcuna azione; inadatto, se il modello inverso è inutilizzabile per compiere l’azione richiesta, a causa di una incompatibilità con il contesto attuale in cui opera (per esempio, l’azione “posare oggetto sul tavolo” non può essere eseguita se non c’è alcun oggetto); non applicabile, quando l’impedimento che non permette al robot di eseguire l’azione non ha origine dal contesto, bensì dalla impossibilità di soddisfare i parametri obiettivo (per esempio, “posare oggetto sul tavolo” quando la locazione dove va posato l’oggetto è ostruita).
  • 13. più quello del robot stesso, bensì quello percepito dall’osservazione del dimostratore. Tra i vari modelli inversi di uno stesso livello avviene una competizione: basandosi sul valore di Pe relativo a ciascun modello, istante per istante viene aggiornata la “confidenza” Ct, quantità che misura il grado di fiducia che l’azione associata a quel modello possa effettivamente collimare con quella osservata. A ogni istante di tempo i modelli inversi con Pe più alto vengono puniti con una Ct più bassa, mentre quelli con Pe più basso vengono premiati con un aumento della loro Ct. In ogni istante l’azione con la confidenza più alta è scelta (anche qui vige un meccanismo winner-takes-all) come azione riconosciuta. Il sistema svolge dunque un task di “imitazione” nel momento in cui è in grado di portare a termine in modo adeguato la procedura di riconoscimento e, successivamente, di esecuzione delle azioni percepite osservando il dimostratore. In sintesi, l’esperimento analizzato è incentrato sul riconoscimento e l’imitazione di un task di manipolazione di un oggetto (nello specifico una tinozza) da parte di un robot-pinza. Per lo scenario in questione l’architettura è implementata tramite una gerarchia a due livelli, in cui i modelli inversi del livello inferiore (primitivi) sono sei, associati alle azioni “aprire pinza”, “chiudere pinza”, “avvicinarsi all’oggetto”, “allontanarsi dall’oggetto”, “avvicinare l’oggetto al tavolo” e “allontanare l’oggetto dal tavolo”. Il livello superiore contiene invece due modelli inversi, associati alle azioni più astratte “afferrare oggetto” e “posare oggetto”. Vengono infine illustrati i risultati: l’imitazione è effettuata correttamente, e due grafici, relativi al variare nel tempo della confidenza Ct per i modelli inversi di entrambi i livelli, indicano la successione temporale del riconoscimento delle azioni osservate durante la dimostrazione. Viene tuttavia segnalato il problema, sempre con riferimento alla fase di riconoscimento, di possibili errori dovuti a una esecuzione delle azioni troppo rapida o troppo lenta da parte del dimostratore umano. Sistema (4): Learning Forward Models for Robots 7 [Dearden e Demiris, 2005] Questo lavoro focalizza la sua attenzione sull’aspetto dell’apprendimento, illustrando tecniche che consentono a un robot di costruire autonomamente modelli diretti del proprio sistema motorio, rappresentati in forma di reti bayesiane. La capacità di apprendimento è di importanza fondamentale per consentire ad un robot di adattare il proprio comportamento a diverse situazioni operative e a diversi task. Praticamente la totalità degli ambienti in cui viene immerso un robot hanno caratteristiche mutevoli o che comunque non possono essere modellizzate preliminarmente. Anche nei casi in cui si assumesse l’ambiente completamente noto, fornire al robot tutte le informazioni occorrenti per agire al suo interno potrebbe essere al di là delle possibilità o dei desideri del programmatore. Un robot basato sull’elaborazione mediante modelli diretti dei comandi motori, perciò, per esibire comportamenti realmente autonomi, deve essere in grado di apprendere i propri modelli diretti dinamicamente, in base al contesto operativo. Tali modelli diretti potranno poi essere adoperati per formulare previsioni su come le azioni eseguite inducano cambiamenti sullo stato del robot. 7 Degli stessi autori esiste uno studio analogo, altrettanto recente: “From motor babbling to hierarchical learning by imitation: a robot developmental pathway”. In esso il tema dell’apprendimento viene affrontato confrontandone due possibili forme: l’apprendimento “asociale”, ossia quello realizzato dal robot tramite esplorazione dell’ambiente ed elaborazione dei dati che ne riesce a trarre (come nel presente lavoro), e l’apprendimento “sociale”, ottenuto sfruttando le tecniche di imitazione. Architetture di tipo gerarchico basate su modelli inversi e diretti abbinati, denominate HAMMER (Hierarchical, Attentive, Multiple Models for Execution and Recognition) sono proposte come soluzioni per tentare di combinare i vantaggi di entrambe le risorse di apprendimento.
  • 14. Questo documento esamina il problema dell’apprendimento di modelli diretti in condizioni di assenza di conoscenza tanto delle caratteristiche dell’ambiente quanto della struttura del sistema motorio del robot. Viene presentato un sistema che, tramite un procedimento di clusterizzazione di immagini a basso livello, individua gli elementi mobili dello scenario. Il robot invia al suo sistema motorio comandi a successione casuale, e riceve in risposta dal suo sistema visivo informazioni sulle conseguenze delle azioni effettuate. Attraverso questa sorta di ciclo di retroazione in cui è inserito il flusso di dati è possibile imparare la struttura e i parametri di una rete bayesiana, che costituisce il modello diretto del robot. Infatti, per rappresentare la relazione di causa-effetto tra i comandi motori e lo stato del robot che ne deriva, che un modello diretto è chiamato a esprimere, una struttura che si presta bene è quella offerta da una rete bayesiana a tre strati, in cui i nodi sono associati ai comandi motori (primo strato, nodi “radice”, indicati con M), allo stato del robot (strato intermedio, indicati con S) e alle osservazioni di tale stato (terzo strato, nodi “foglia”, indicati con O). I nodi del primo e del terzo strato sono raffigurati con un quadrato, a indicare che si tratta di variabili casuali il cui valore è direttamente osservabile in ogni momento. Viceversa, i nodi dello strato intermedio sono raffigurati con un cerchio, a indicare che si tratta di variabili “nascoste”, poiché la conoscenza che il robot possiede del valore di tali variabili gli proviene, in ogni istante di tempo, unicamente dalle informazioni affette da rumore contenute nelle osservazioni O[t]. I rami rappresentano ovviamente le dipendenze tra nodi figli e nodi genitori. In figura 6 è rappresentato lo schema della rete bayesiana da apprendere. Il parametro “d”, che compare nelle M[t-d], rappresenta il ritardo tra l’invio di un comando motorio e il conseguente cambiamento che esso induce nello stato del robot. La ragnatela di rami contrassegnati con il punto interrogativo sta a indicare la struttura, ancora da apprendere, delle dipendenze effettivamente esistenti tra le variabili in gioco. Figura 6: lo schema della rete bayesiana che dovrà rappresentare il modello diretto del robot. La procedura di apprendimento dovrà determinare struttura e parametri di tale rete. Per prima cosa è necessario determinare il numero delle variabili di stato e stabilire cosa esse rappresentino di preciso. Questo viene fatto utilizzando le informazioni fornite al robot dal suo sistema visivo, che è in grado di “tracciare” gli oggetti in movimento senza alcuna informazione iniziale circa il numero o le proprietà di tali oggetti. Le informazioni provenienti dal sistema visivo sono però sotto forma di pixel mobili. Occorre quindi un processo di elaborazione che raggruppi opportunamente regioni dell’immagine che abbiano analoghe caratteristiche di posizione e di movimento (clusterizzazione), attribuendo poi a ciascuna di tali regioni il significato, a più alto livello semantico, di “oggetto”. Per tracciare i pixel viene adoperato l’algoritmo di Lucas-Kanade, per la clusterizzazione vera e propria si fa ricorso all’algoritmo k-means. Esso presenta, però, lo svantaggio di richiedere la conoscenza anticipata del numero k di clusters: si pone rimedio al problema inserendo l’algoritmo k- means all’interno di più sofisticate tecniche basate sulla clusterizzazione fuzzy, che
  • 15. permettono di svincolarsi dalla necessità di conoscere a priori il valore di k. I clusters così individuati costituiscono gli oggetti in movimento dello scenario, mentre le loro posizioni, dimensioni e velocità possono essere usate come osservazioni. La figura 7 mostra come il robot, attraverso la sua telecamera, visualizzi le pinze in movimento, clusterizzate come oggetti. Figura 7: il sistema visivo del robot ha individuato correttamente due oggetti in movimento, che sono identificati raggruppando i sotto-clusters dello stesso colore. Si giunge così alla determinazione di due oggetti corrispondenti alle due pinze del robot, ciascuno associato a un nodo dello strato intermedio della rete bayesiana: a formare lo stato del sistema saranno pertanto le due variabili S1[t] e S 2 [t] . Le osservazioni costituiranno invece le variabili O[t] del terzo strato delle rete. Sia le S sia le O vengono considerate variabili casuali con distribuzione gaussiana. Completata questa fase, la rete bayesiana viene sottoposta a una procedura di addestramento che ne definisca tutti gli elementi ancora non precisati, in modo da rendere tale rete adeguata al ruolo di modello diretto per il movimento delle pinze del robot. Vanno ancora apprese, infatti, parti fondamentali della struttura. In particolare, non è ancora noto il ritardo “d” tra l’invio del comando motorio e il cambiamento di stato delle pinze. Inoltre va stabilito quale delle possibili osservazioni (velocità, dimensioni, posizione) estratte dal sistema visivo sia preferibile inserire nel modello diretto come nodo O figlio di un nodo S, ossia da quale informazione misurabile sia più corretto dedurre lo stato degli oggetti. Per far funzionare la procedura di addestramento è necessario disporre di una collezione di dati relativi ai valori osservati dei nodi M e O (variabili osservabili della rete). Bisognerà dunque generare una sequenza di comandi motori e rilevare, considerati i rispettivi ritardi, i valori delle osservazioni. Si tratta, in sostanza, di effettuare un esperimento attraverso il quale il robot acquisisca e utilizzi opportunamente le informazioni necessarie per mettere a punto l’apprendimento del modello diretto. Nell’esempio in esame l’esperimento condotto si limita al caso di un solo grado di libertà. C’è quindi un solo tipo di comando motorio, relativo a tre possibili operazioni sulle pinze del robot: aprirle, chiuderle, fermarle. Date tutte queste premesse, lo schema di partenza della rete bayesiana visto in figura 5 si può ora ricondurre a quello di figura 8, in cui il numero di nodi S è ben definito e pari a due, mentre i nodi M sono privi di pedice (esiste un solo tipo di comando motorio) ma in numero indefinito per via del ritardo “d”, ancora non noto.
  • 16. Figura 8. Schema della rete bayesiana sottoposta effettivamente alla procedura di addestramento. Il sistema visivo del robot ha individuato due oggetti, ossia le proprie pinze, che sono associati ai nodi di stato S1[t] e S2 [t] . Per definire la struttura devono essere ancora appresi il ritardo “d” che intercorre tra azione ed effetto e quale osservazione (tra velocità, posizione e dimensione) debba essere attribuita al cambiamento di stato di ciascun oggetto. Inoltre vanno anche appresi i parametri che specificano la rete bayesiana, ossia valori medi e varianze delle distribuzioni, supposte gaussiane, dei nodi relativi a stato e osservazioni. L’esperimento si basa sulla reiterazione di alcuni passi procedurali: viene scelto il valore del comando motorio, viene inviato tale comando al sistema motorio del robot (che agisce sulle pinze), vengono rilevate le osservazioni dal sistema visivo, viene adoperato l’insieme dei dati raccolti all’interno dell’algoritmo di apprendimento, si ricomincia daccapo con un nuovo comando motorio. Per l’esecuzione dell’esperimento ci vuole dunque un criterio che decida, a ogni iterazione, quale valore del comando motorio debba essere scelto. In realtà ciò che si fa è lasciare che il robot scelga i comandi secondo una successione casuale, regolata, per le transizioni da un valore a un altro fra i tre possibili, da una catena di Markov. Ciò equivale a riprodurre nel robot meccanismi di apprendimento empirici analoghi a quelli di un infante. Si parla in tal caso di “motor babbling”, balbettio motorio: in pratica, il robot procede a tentoni, e così facendo, pur privo di informazioni iniziali sulla natura dei comandi motori o sull’aspetto delle pinze, impara. Tra i vari passi dell’esperimento (che si ripetono ciclicamente), uno è quello del vero e proprio algoritmo di apprendimento. Per apprendere la struttura e i parametri che occorrono per rendere la rete bayesiana definita in tutti i suoi aspetti e idonea a rappresentare il modello diretto del movimento delle pinze, è necessario eseguire una ricerca sullo spazio delle possibili strutture, al variare del ritardo e delle osservazioni, con lo scopo di trovare quella che, per i dati disponibili, massimizza la funzione di log-verosimiglianza del modello, log (P(M, O | G)), dove M e O sono i dati forniti dall’esperimento e G rappresenta il grafo della struttura del modello. Contestualmente vengono appresi i parametri della rete bayesiana per ogni modello candidato, mediante un algoritmo di tipo EM (expectation maximization). L’esito di tutto il procedimento è mostrato in figura 9: il ritardo appreso è pari a 11 intervalli di tempo, e la migliore osservazione risulta essere la velocità delle pinze.
  • 17. Figura 9: la rete bayesiana del modello diretto per il movimento delle pinze del robot, ad apprendimento ultimato. Una volta che la rete bayesiana è stata finalmente appresa, può essere usata come modello diretto per formulare una previsione sulle conseguenze dei comandi motori. Si inferisce cioè il modello per calcolare la probabilità condizionata della velocità delle pinze in movimento, dato un certo valore “m” per il comando motorio. Ciò equivale a interrogare la rete bayesiana, sottoponendole una query del tipo P(VEL[t]|M[t-11]=m). Le capacità predittive di tale modello vengono infine saggiate sperimentalmente, confrontando gli andamenti delle velocità previste con quelli delle velocità effettive osservate. La previsione risulta essere molto accurata. Inoltre, poiché è possibile interrogare la rete bayesiana anche con query, per esempio, del tipo P(M[t-11]|VEL[t]=v), la stessa rete bayesiana può essere adoperata anche come modello inverso, consentendo stavolta di calcolare la probabilità condizionata relativa ai comandi motori, data una certa osservazione. Questa opportunità viene sfruttata sottoponendo al modello inverso del robot un task di imitazione: sostituendo le osservazioni dei propri movimenti con le osservazioni dei movimenti delle mani di un dimostratore umano, il robot è in grado di riprodurre i comandi motori che con maggiore probabilità possano ricreare sulle sue pinze il movimento umano osservato. Analisi Comparativa Buona parte delle soluzioni teoriche e tecniche incontrate finora è comune ai quattro lavori descritti (ai quali ci si riferirà mediante gli indici (1), (2), (3) e (4) cui sono stati associati). E’ perciò interessante osservare le peculiarità di ciascuno di essi, mettendone in rilievo le analogie e le differenze più significative. L’unità operativa fondamentale che spesso fornisce una risposta al problema della modularizzazione è lo schema. L’uso di modelli diretti, poi, dota gli schemi di facoltà predittive, e questa abilità è stata sfruttata nella seconda simulazione di (2), che era basata su una esplicita rappresentazione dell’aspettativa mediante schemi S-R-E (stimolo-risposta- aspettativa). Gli schemi di questo tipo possono essere considerati una sorta di estensione dei moduli comportamentali a due componenti (stimolo-risposta), che codificano un approccio essenzialmente reattivo. In (1) e nella prima simulazione di (2) si ha proprio a che fare con situazioni di questo genere: malgrado in quei casi la funzione previsionale sia contemplata (in (1) è anzi decisiva), non c’è una rappresentazione in senso stretto delle aspettative, che è invece possibile ottenere mediante schemi S-R-E.
  • 18. In forma più o meno esplicita è possibile osservare il frequente ricorso a una organizzazione gerarchica del sistema: in (1) i moduli elementari formano azioni via via più complesse, dando luogo così a una composizione di tipo bottom-up; in (3) le azioni stabilite dai modelli inversi di ogni livello vanno tradotte in successioni di sotto-azioni più semplici di livello inferiore, fino ad azioni primitive direttamente eseguibili cinematicamente, seguendo dunque un approccio top-down. L’approccio anticipatorio può essere considerato un aspetto comune a tutte le strutture analizzate: si può ritrovare, sia pure con notevoli differenze applicative, in (1), (2), (3) e (4): le caratteristiche anticipatorie della prima simulazione di (2) sono meno accentuate rispetto agli altri casi, essendo assente l’idea di rappresentazione dell’aspettativa; in (4) lo scopo della previsione è pervenire a una soddisfacente capacità di controllo dei propri comandi motori, laddove nel secondo modello di (2), e in (3) l’aspettativa è parte integrante del processo decisionale di selezione dell’azione da compiere. Quella di dotare i modelli di facoltà predittive è una tendenza che nel corso degli anni si va consolidando. L’uso modelli interni è fortemente collegato proprio alla diffusione del paradigma anticipatorio. I modelli diretti, abbinati o meno ai modelli inversi, sono gli strumenti tipicamente adottati per attrezzare un sistema di capacità predittive, mediante le quali si possono valutare le conseguenze virtuali di un’azione e pilotare in base a esse le scelte reali. Nel secondo esperimento di (2) ciò è realizzato esplicitamente; ma anche in ogni livello del modello (3), per quanto la cosa non sia altrettanto palese, la tecnica è analoga. In (4), poi, c’è l’interessante particolarità dell’addestramento di un modello diretto che, grazie alle proprietà delle reti bayesiane, può essere impiegato anche nel ruolo di modello inverso. L’apprendimento rimane una delle questioni più complesse. Si è visto come anche modelli con struttura e scopi operativi molto diversi possano presentare evidenti analogie. Tuttavia la specificità di ogni sistema si traduce molto spesso in strategie di apprendimento mirate e non facilmente replicabili in altri contesti. Per rendersi conto di ciò è sufficiente dare un’occhiata alla varietà delle modalità e degli obiettivi di alcune delle procedure di addestramento incontrate in questa sezione: per esempio, in (1) si utilizza un addestramento volto a specializzare in tempo reale i vari moduli, in modo da abilitarli alla rappresentazione di un certo task parziale, ottenendo così l’emersione di un repertorio di azioni non “preconfezionate”; in (4) si adopera una sequenza di passi procedurali molto particolare, in cui l’algoritmo di addestramento, guidato mediante la tecnica empirica del motor babbling, consente di calcolare la struttura di grafo che meglio spiega (massimizzando la funzione di verosimiglianza del modello) un determinato set di dati sperimentali: in tal modo si determinano struttura e parametri della BN che dovrà interpretare il ruolo di modello diretto (o, volendo, inverso). Un problema fortemente correlato riguarda l’astrazione, ovvero la capacità del sistema di costruire gerarchie di rappresentazione sempre piu’ complesse. Si può in conclusione affermare che le metodologie di apprendimento e di astrazione, non di rado, costituiscono uno dei tratti maggiormente distintivi degli studi di Robotica Cognitiva. Lo strumento di modellizzazione ed elaborazione principale adoperato per gli agenti è invece un elemento in cui si trova grande varietà di scelte, che consentono di valutare le potenzialità e le limitazioni dei diversi strumenti a disposizione. A questo proposito si può notare come le FCM, ormai diffuse da tempo in altri settori applicativi, abbiano trovato finora poche opportunità di utilizzo in Robotica. A tal proposito un’eccezione è costituita dal modello ad approccio anticipatorio di (2). In (1) lo strumento cardine è la RNN, in (4) la BN.
  • 19. Conclusioni L’approccio anticipatorio, motivato fortemente da evidenze neurobiologiche e psicologiche [Barsalou, 1999; Castelfranchi, 2005; Grush, 2004; Rizzolatti et al. 1996], rappresenta una frontiera di grande interesse nella robotica cognitiva. Dopo un periodo dominato dalle critiche all’uso delle rappresentazioni interne [Brooks, 1991] in robotica, infatti, concepire le rappresentazioni come eminentemente anticipatorie ed orientate all’azione permette sia di evitare una serie di problemi “classici” come quello del symbol grounding [Harnad, 1990], sia di svolgere in maniera efficace e con un unico paradigma una serie di compiti legati al controllo dell’azione e dell’attenzione che vanno dal controllo “fine” dei movimenti (compito tipico in teoria del controllo, dove sistemi anticipatori come i filtri di Kalman sono molto utilizzati) fino a compiti cognitivamente piu’ complessi come la pianificazione o l’imitazione. Nei sistemi che abbiamo qui analizzato sono mostrati una serie di usi dell’anticipazione; il panorama non e’ ad ogni modo esaustivo, in quanto l’anticipazione sembra essere alla base di un gran numero di funzionalita’ cognitive, le quali in molti casi si innestano le une sulle altre. Riferimenti bibliografici Balkenius, C., Hulth N. (1999) Attention as Selection-for-Action: a Scheme for Active Perception Proceedinsg of EuRobot-1999. Zurich. Barsalou, L. W. (1999) Perceptual symbol systems. Behavioral and Brain Sciences 22 (4): 577-660 Brooks, R.A. (1991) Intelligence without representation. Artificial Intelligence, 139-159 Castelfranchi, C. (2005) Mind as an Anticipatory Device: For a Theory of Expectations. Proceedings of BVAI 2005, 258-276 Dearden, A. & Demiris, Y. (2005) Learning Forward Models for Robotics. Proceedings of IJCAI-2005, 1440-1445 Grush, R. (2004) The emulation theory of representation: Motor control, imagery, and perception. Behavioral and Brain Sciences, 27 (3): 377-396. Harnad, S. (1990) The Symbol Grounding Problem Physica D: Nonlinear Phenomena, 42, 335-346 Johnson, M. & Demiris, Y. (2005) Hierarchies of Coupled Inverse and Forward Models for Abstraction in Robot Action Planning, Recognition and Imitation Proceedings of the AISB 2005 Symposium on Imitation in Animals and Artifacts, pag. 69-76 Kosko, B. (1992) Neural Networks and Fuzzy System Prentice Hall International Pezzulo, G., Calvi, G., Lalia, D. & Ognibene, D. (2005) Fuzzy-based Schema Mechanisms in AKIRA. in Mohammadian, M. (ed.) Proceedings of CIMCA'2005 Rizzolatti, G., Fadiga, L., Gallese, V. & Fogassi, L. (1996) Premotor cortex and the recognition of motor actions. Cognitive Brain Research, 3 Tani J. (2004) The dynamical systems accounts for phenomenology of immanent time: An interpretation from a robotics synthetic study. Journal of Consciousness Studies, 11. Tani, J. & Nolfi, S. (1998). Learning to Perceive the World as Articulated: An Approach for Hierarchical Learning in Sensory-Motor Systems. Proceedings of the Fifth International Conference on Simulation of Adaptive Behavior. Cambridge, MA: MIT Press. Wolfe, J.M. (1996) Visual search. In Pashler, H. (ed.) Attention, London, UK: University College London Press. Wolpert, D. M., Kawato, M. (1998) Multiple paired forward and inverse models for motor control. Neural Networks 11(7-8):1317-1329