verticale

Apprendimento robotico

La robotica è,oggi, uno dei campi di ricerca di maggiore interesse ed è sempre in continua evoluzione. L'inserimento dei robot nella società moderna e, sicuramente, uno degli obbiettivi della robotica. Il raggiungimento di questo obbiettivo dipende fortemente dalle capacità che il robot presenta nell'interazione con l'ambiente. I metodi per affrontare questo problema possono essere raccolti sotto il nome di apprendimento robotico. Quest'ultimo può essere ulteriormente suddiviso in tre grandi paradigmi: la programmazione diretta, l'apprendimento per rinforzo e l'apprendimento per dimostrazione. Nei primi due capitoli sono stati presentati, in modo teorico e generale, due paradigmi: l'apprendimento per dimostrazione e l'apprendimento per rinforzo. Nel terzo capitolo l'attenzione si è concentrata sulle applicazioni e i problemi da affrontare quando si utilizzano le tecniche esposte.

Scarica il PDF Scarica il PDF
Aggiungi ai preferiti Aggiungi ai preferiti


Articoli tecnico scientifici o articoli contenenti case history
Tesi di Laurea in ingegneria Informatica, Elettronica e Telecomunicazioni, Cesena 2012/2013

Pubblicato
da Martina Gambini
VerticaleSegui aziendaSegui




Settori: 

Parole chiave: 


Estratto del testo
ALMA MATER STUDIORUM UNIVERSIT ` A DEGLI STUDI DI BOLOGNA Scuola di Ingegneria e Architettura Corso di Laurea in Ingegneria Informatica, Elettronica e Telecomunicazioni APPRENDIMENTO ROBOTICO Elaborata nel corso di: Fondamenti di Informatica B Tesi di Laurea di : NICOLA CASADEI Relatore : Prof. ANDREA ROLI ANNO ACCADEMICO 2012''2013 SESSIONE III PAROLE CHIAVE Apprendimento Automatico Apprendimento per rinforzo Apprendimento per dimostrazione Robotica Alla mia famiglia, per avermi sempre sostenuto. A mio fratello, da sempre motivo d''orgoglio ed esempio da seguire. Indice Introduzione ix 1 Apprendimento per rinforzo 1 1.1 Apprendimento Automatico . . . . . . . . . . . . . . . 1 1.2 Apprendimento per rinforzo . . . . . . . . . . . . . . . 4 1.2.1 Introduzione . . . . . . . . . . . . . . . . . . . . 4 1.2.2 Cenni storici . . . . . . . . . . . . . . . . . . . . 5 1.2.3 Analisi del problema . . . . . . . . . . . . . . . 8 1.2.4 Q-Learning . . . . . . . . . . . . . . . . . . . . 12 1.2.5 Limiti dell''apprendimento per rinforzo . . . . . 16 2 Apprendimento per dimostrazione 19 2.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . 19 2.1.1 Cenni storici . . . . . . . . . . . . . . . . . . . . 20 2.2 Definizione del problema . . . . . . . . . . . . . . . . . 22 2.2.1 Analisi del problema . . . . . . . . . . . . . . . 22 2.2.2 Definizione generale del problema . . . . . . . . 23 2.3 Soluzioni al problema . . . . . . . . . . . . . . . . . . . 24 2.3.1 Cosa imitare . . . . . . . . . . . . . . . . . . . . 24 2.3.2 Come imitare . . . . . . . . . . . . . . . . . . . 26 2.3.3 Apprendimento per dimostrazioni errate . . . . 29 2.4 Limiti dell''apprendimento per dimostrazione . . . . . . 30 3 Apprendimento Robotico 33 3.1 Panoramica sullo stato dell''arte . . . . . . . . . . . . . 33 3.2 Apprendimento per rinforzo nella robotica . . . . . . . 37 3.2.1 Caratteristiche fondamentali della policy . . . . 38 vii 3.3 L''apprendimento di nuove primitive motorie . . . . . . 40 3.3.1 Modello generale delle primitive motorie . . . . 40 3.3.2 Metodi di apprendimento per le primitive motorie 43 Conclusioni e possibili sviluppi 47 viii Introduzione La robotica ` e,oggi, uno dei campi di ricerca di maggiore interesse ed ` e sempre in continua evoluzione. L''inserimento dei robot nella societ` a moderna ` e, sicuramente, uno degli obbiettivi della robotica. Il raggiungimento di questo obbiettivo dipende fortemente dalle capacit` a che il robot presenta nell''interazione con l''ambiente. Quindi, dotare un robot di nuove capacit` a per aumentare la sua autonomia nell''ambiente esterno, ` e un problema fondamentale nella robotica. I metodi per affrontare questo problema possono essere raccol- ti sotto il nome di Apprendimento Robotico. Quest''ultimo pu` o es- sere ulteriormente suddiviso in tre grandi paradigmi: la program-
mazione diretta, l''apprendimento per rinforzo e l''apprendimento per
dimostrazione. Illustrare in modo completo ed esauriente tali tecniche e tutte le loro possibili implementazioni ` e un compito assai arduo per una singola tesi. Lo scopo di questo elaborato consiste principalmente in una pre- sentazione generale e teorica dei paradigmi pi` u interessanti dell''ap- prendimento robotico. In particolare,nel capitolo 1, dopo una breve introduzione sull''ap- prendimento automatico, si vogliono presentare le motivazioni e le basi
teoriche che stanno dietro all''apprendimento per rinforzo. Nel detta-
glio, vengono presentate le origini storiche del paradigma, l''algoritmo
Q-Learning e i limiti attuali del paradigma. Nel capitolo 2, invece, l''attenzione ricade su un altro paradigma di apprendimento, quello per dimostrazione. Similmente al capitolo
precedente si vuole presentare in modo generale le tecniche di dimo-
strazione pi` u utilizzate con i rispettivi pro e contro e si conclude, sempre, con i limiti del paradigma. ix Nel capitolo 3, l''obbiettivo ` e presentare i possibili vantaggi e svan- taggi dell''utilizzo di queste tecniche, insieme alla programmazione di-
retta, nel campo della robotica. In particolare, prendendo spunto dai lavori di Kober [25] e Kormushev [28] si vuole presentare co-
me l''utilizzo congiunto di questi paradigmi pu` o essere sfruttato per l''apprendimento di comportamenti molto complessi in un ambiente
dinamico. x Capitolo 1 Apprendimento per rinforzo 1.1 Apprendimento Automatico Attualmente la maggioranza dei calcolatori si basa su una elaborazio-
ne di tipo simbolico, ovvero il problema viene prima codificato in un
insieme di variabili e successivamente elaborato tramite un algoritmo
esplicito che, per ogni Input possibile del problema, offre un adeguato
output. Esistono per` o problemi in cui la risoluzione tramite un algo- ritmo esplicito risulta inefficiente o addirittura innaturale, per esem-
pio un riconoscitore vocale; affrontare questo genere di problema con
l''approccio classico risulta inefficiente per i motivi sotto menzionati.
Non ` e, infatti, sufficiente analizzare il segnale audio e successivamente eseguire su di esso un''elaborazione, quale il controllo del livello per
separare parole o distinguere sillabe. In questo genere di problemi
ci sono troppe variabili in gioco: velocit` a di pronuncia, prosodia e altre condizioni di rumore, tutte variabili impossibili da formalizzare
completamente, senza considerare la difficolt` a stessa del modellare un problema di questo genere per un programmatore. Questo e altri pro-
blemi simili, come la navigazione autonoma di un robot o la ricerca
di un pattern comune in un''insieme di dati, fanno parte di un''insieme
molto vario di problemi che non sono affrontabili direttamente tramite
soluzioni basate sull''elaborazione simbolica. L''Apprendimento Automatico [36], [3] offre un nuovo tipo di ap- proccio, che consiste nella costruzione e nello studio di sistemi capaci
di imparare dalle informazioni, queste possono essere un''insieme di 1 CAPITOLO 1. APPRENDIMENTO PER RINFORZO esempi osservati e dati raccolti, successivamente analizzati per trova-
re relazioni nella struttura dati o nelle variabili osservate. Soluzioni
basate su algoritmi di apprendimento automatico, tra cui anche il ri-
conoscimento vocale, danno risultati di gran lunga superiori rispetto
alle soluzioni con algoritmi a elaborazione simbolica. Definizione e paradigmi fondamentali Una prima interessante definizione di Apprendimento Automatico o
Machine Learning viene data da Arthur Samuel nel 1959 [49]: Field of study that gives computers the ability to learn without being explicitly programmed Questa definizione risulta piuttosto semplice e informale, ma da essa si capisce immediatamente la potenza di questo nuovo tipo di ap-
proccio. La possibilit` a di dotare una macchina di una limitata capacit` a di apprendimento permette a un programmatore di insegnare un nuo-
vo compito alla macchina senza dover esplicitamente programmare la
macchina per farlo. Una definizione pi` u formale viene fornita da T. Mitchell nel 1997 [36]: Un programma apprende da una certa esperienza E se: nel rispet- to di una classe di compiti T, con una misura di prestazione P, la
prestazione P misurata nello svolgere il compito T ` e migliorata dall''e- sperienza E Questa definizione ` e comune a tutte le tipologie di algoritmi di apprendimento, che hanno, infatti, quale caratterista comune pi` u im- portante,la presentazione in Input alla macchina di una serie di esempi
chiamata Training Pattern, che, per citare nuovamente Mitchell, non
sono altro che istanze definite dell''esperienza E. La soluzione al pro-
blema si ottiene quando, dopo un numero sufficiente di istanze E, la
macchina si comporta nel modo desiderato. Gli algoritmi di appren-
dimento automatico sono, quindi, classificati in base a due fattori: il 2 CAPITOLO 1. APPRENDIMENTO PER RINFORZO tipo di output emesso dall''algoritmo e quello delle modalit` a in cui vengono presentati gli esempi di apprendimento. Gli algoritmi di apprendimento possono essere suddivisi in tre grandi classi: ' Apprendimento non supervisionato: questi algoritmi rice- vono in input un vettore di dati o esempi, lo scopo dell''algoritmo
e il relativo apprendimento consistono nell''individuare nel Trai-
ning Pattern alcune caratteristiche distintive o comuni che per-
mettono di eseguire un''operazione di classificazione sugli esempi
di input. Il processo di apprendimento per` o non riceve alcun feedback dall''esterno, quindi l''utente non ha modo di prevede-
re a priori l''output dell''operazione di classificazione. In pratica
l''algoritmo realizza delle operazioni di tipo statistico per indivi-
duare una struttura ricorrente nel pattern di ingresso che, suc-
cessivamente, pu` o essere riutilizzata per riconoscere e classificare altre istanze di input che non facevano parte del vettore di esem-
pi. Questo genere di algoritmi trovano il loro massimo utilizzo
nella risoluzione di problemi di Clustering o Data Mining. ' Apprendimento supervisionato: gli algoritmi di apprendi- mento supervisionato, invece, ricevono in ingresso un vettore di
Input che rappresenta il Training Pattern, a cui, a differenza
dell''apprendimento non supervisionato, a ogni input ` e associato un output desiderato. L''obbiettivo finale di questi algoritmi ` e estrapolare dagli esempi dati in ingresso, la funzione che lega la
coppia di Input-Output e, dato un numero sufficiente di esempi,
la funzione estrapolata offrir` a una soluzione accettabile anche per nuovi Input che non facevano parte del training pattern. Ricapitolando con un linguaggio pi` u formale: alla macchina ven- gono forniti in ingresso una serie di esempi di solito rappresentati
come un vettore, a ogni input I viene associato l''output O de-
siderato. L''obbiettivo dell''algoritmo consiste nell''estrapolare e
migliorare, da ogni coppia (I, O) , data come esempio, una fun-
zione ha chiamata anche Ipotesi Induttiva, funzione che deve av-
vicinarsi il pi` u possibile alla ipotetica funzione hb chiamata fun- zione obbiettivo. Se gli esempi dati come Training Pattern erano
sufficienti sia in numero che in qualit` a, la funzione ha estrapolata 3 CAPITOLO 1. APPRENDIMENTO PER RINFORZO dall''algoritmo sar` a sufficientemente simile alla funzione obbiet- tivo ha, permettendo cos`ı di approssimare in modo accettabile
l''output fornito dall''algoritmo di fronte a un ingresso I non facen-
te parte del Training Pattern iniziale. Un parametro F , di solito
rappresentato come la differenza di output fra ha e hb, `e utilizza-
to come stima di efficienza dell''apprendimento. Questi algoritmi
generalmente sfruttano i principi della distribuzione matemati-
ca e della funzione di verosimiglianza. Una volta individuata la
funzione di distribuzione che lega l''input all''output, si generano
dei parametri tali che massimizzino la probabilit` a di generare la funzione di verosimiglianza appropriata. Anche questi tipi di
algoritmo sono utilizzati spesso in operazioni di Pattern Reco-
gnition, Speech recognition e Handwriting recognition,operazioni
in cui, sopratutto negli ultimi due casi, l''algoritmo deve essere
guidato a fornire un output accettabile, cosa che non ` e possibile per gli algoritmi non supervisionati. ' Apprendimento per rinforzo: La letteratura scientifica `e an- cora molto confusa sulla classificazione dell''apprendimento per
rinforzo come paradigma o meno. Inizialmente considerato come
caso particolare dell''apprendimento supervisionato, trova per` o applicazioni in contesti diversi nei quali l''apprendimento su-
pervisionato risulta inefficiente, i problemi di interazione con
l''ambiente ne sono un chiaro esempio. 1.2 Apprendimento per rinforzo 1.2.1 Introduzione L''apprendimento per rinforzo [52] fonda le sue basi su un''interessante
teoria di psicologia [55]: Applying a reward immediately after the occurrence of a response increases its probability of reoccurring, while providing punishment af-
ter the response will decrease the probability (Thorndike, 1911) 4 CAPITOLO 1. APPRENDIMENTO PER RINFORZO Se viene fornito un premio subito dopo l''esecuzione di un com- portamento considerato corretto, aumenta la probabilit` a che questo comportamento si ripeta. Mentre a fronte di un comportamento non
desiderato, l''applicazione di una punizione decrementa la probabilit` a di una ripetizione dell''errore. Pertanto, definito un obbiettivo da raggiungere, l''apprendimento per rinforzo cerca di massimizzare le ricompense ricevute per l''esecu-
zione dell''azione o dell''insieme di azioni che permettono di raggiungere
l''obbiettivo designato. Considerare l''apprendimento per rinforzo un caso particolare del- l''apprendimento supervisionato risulta, quindi, riduttivo: le due me-
todologie si differenziano non solo per il funzionamento dei rispettivi
algoritmi ma anche per diverse problematiche da affrontare in fase di
analisi e definizione del problema. Per questi motivi si pu` o considerare l''apprendimento per rinforzo un paradigma a parte di apprendimento automatico, che trova mag-
giore successo se applicato a problemi di interazione di un agente con
l''ambiente esterno. 1.2.2 Cenni storici La storia dell''apprendimento per rinforzo segue tre flussi di ricerca, di-
stinti e quasi paralleli, che, solo verso la fine degli anni ''80, confluirono
nella moderna concezione di apprendimento per rinforzo. Il primo di questi flussi cercava soluzioni al problema del control- lo ottimo, ovvero un algoritmo che stabilizzasse un sistema dinamico.
Uno degli approcci al problema fu sviluppato da Richard Bellman
verso la met` a degli anni ''50 e consisteva nell''utilizzare i concetti di stato dinamico del sistema e di funzione di valutazione per definire
un''equazione funzionale, oggi conosciuta come equazione di Bellman.
I metodi utilizzati per la soluzione dei problemi di controllo ottimo
vengono classificati come programmazione dinamica e introducono la
versione discreta e stocastica del problema di controllo ottimo cono-
sciuto anche come Markov Decision Processes (MDP), che pochi anni
dopo, nel 1960, Ron Howard defin`ı un processo di interazione per il
MDP [9] [10]. 5 CAPITOLO 1. APPRENDIMENTO PER RINFORZO Il secondo flusso basava le sue ricerche sulle possibili applicazioni pratiche del Trial-and-error Learning, inizialmente osservato in psi-
cologia, dove venivano gi` a studiate le teorie di apprendimento per rinforzo nel campo dell''apprendimento animale. Quegli stessi studi di psicologia che permisero al gi` a citato Thorn- dike di definire la sua Law of Effect [55], che gett` o le basi del trail- and-error Learnig, ovvero permise di definire i concetti di selezione e
associazione: il primo consiste nel poter scegliere tra un insieme di
possibili comportamenti sulla base delle conseguenze che implicano,
l''associazione ,invece, consiste nell''accoppiare una particolare scelta a
una determinata situazione. Risulta evidente che il concetto moderno di apprendimento per rinforzo ` e un esempio lampante di coesistenza di entrambi i concetti, mentre l''apprendimento con supervisione risulta associativo ma non
selettivo, ulteriore conferma della differenza sostanziale dei due metodi
di apprendimento. Le prime applicazioni di trial-and-error learning nel campo dell''in- telligenza artificiale furono studiate, nel 1954, da Minsky e da Farley
e Clark. Entrambe le ricerche portarono allo sviluppo di un modello
di calcolatore che utilizzava un processo di apprendimento ispirato al
trial-and-error [34]. A partire dalla met` a degli anni ''60, i termini rinforzo e apprendi- mento per rinforzo fecero le prime apparizioni nella letteratura inge-
gneristica e.g. Waltz and Fu (1965)[58], Mendel (1966), Fu (1969)[17],
Mendel and McClaren (1970) [31]. Particolarmente innovativo fu l''ar-
ticolo di Minsky Steps Towards Artificial Intelligence che introdusse
per la prima volta il problema di credit assignment, ovvero come pote-
vano essere distribuiti crediti a seguito di un comportamento corretto
per stimolare la sua rioccorenza [35]. Degno di nota risulta, anche, il lavoro di Donald Michie, il quale tra il 1961 e il 1963 [32] [33] descrisse un semplice sistema, chiamato
MENACE, che, con l''esperienza, migliorava la sua abilit1` a nel gioco del tris. L''apprendimento di MENACE si basava in pratica sul fornire
o meno una ricompensa a seguito di una particolare mossa. Nel 1973, i ricercatori Widrow, Gutpa e Matria modificarono l''al- goritmo Least Mean Square, sviluppato dallo stesso Widrow. La nuo-
va versione dell''algoritmo risolveva lo stesso problema grazie all''in- 6 CAPITOLO 1. APPRENDIMENTO PER RINFORZO vio di segnali di successo o di fallimento. Questo particolare approc-
cio fu battezzato apprendimento con un critico, sinonimo ancora oggi
dell''apprendimento per rinforzo [61] . I lavori di Widrow, come quelli di Farly e Clark [13], furono per` o isolati e il loro maggiore contributo andr` a, invece, all''apprendimento con supervisione, fatto che sicuramente ha influenzato l''attuale con-
fusione sulla classificazione degli algoritmi di apprendimento per rin-
forzo. Il terzo e ultimo flusso di ricerca cercava applicazioni nell''intelli- genza artificiale del temporal-difference learning. Questo metodo di
apprendimento si basava sulla stima, in instanti di tempo successivi,
di una stessa quantit` a, per maggiori informazioni si faccia riferimento a [54] [53]. Anche queste ricerche rimasero indipendenti fino al 1972, quando Klopf propose di applicare al trial-and-error learning alcuni concetti
del temporal-difference learning. Egli svilupp` o, infatti, il concetto di rinforzo generalizzato, in cui ogni sottocomponente di un sistema di
apprendimento poteva rinforzare un qualsiasi altro componente dello
stesso sistema. I segnali di input, in pratica, venivano trattati come
ricompense se erano segnali eccitatori o come punizioni se erano segnali
inibitori. Nel 1981, le idee di Klopf [23] [24], portarono allo sviluppo del pri- mo metodo che univa i concetti principali di temporl-difference e trail-
and-error learning, conosciuto meglio come actor-critic architecture
[8]. Questa architettura innovativa fu utilizzata da Sutton (1984)[51]
come nuova soluzione al problema di bilanciamento dell''asta ed estesa
da Anderson (1986)[4] per utilizzarla nell''algoritmo di backpropagation
nelle reti neurali. Fu solo nel 1989 che i risultati ottenuti indipendentemente da que- sti tre flussi di ricerca furono utilizzati da Chris Watkins nello sviluppo
dell''algoritmo cardine dell''apprendimento per rinforzo il Q-Learning
[60] [59]. Oggi le applicazioni di apprendimento per rinforzo sono innume- revoli, interessanti sono gli ultimi lavori di Kormushev e Billiard [26]
[11], i quali utilizzano tecniche di apprendimento per rinforzo per mi-
gliorare l''esecuzione di alcuni comportamenti appresi, da un robot, 7 CAPITOLO 1. APPRENDIMENTO PER RINFORZO tramite dimostrazione. 1.2.3 Analisi del problema L''interfaccia Agente-Ambiente Il problema dell''apprendimento per rinforzo pu` o essere visto come un caso particolare del problema di interazione per il raggiungimento di
un obbiettivo o goal. L''entit` a che deve raggiungere l''obbiettivo ` e chia- mata agente. L''entit` a con cui l''agente deve interagire viene denomina- ta ambiente, che corrisponde con tutto ci` o che ` e esterno all''agente stes- so. L''interazione agente-ambiente ` e continua, l''agente sceglie un'' azio- ne da intraprendere e in risposta l''ambiente cambia stato presentando
una nuova situazione da affrontare. Nel caso particolare dell''apprendimento per rinforzo, l''ambiente fornisce all''agente una ricompensa, ` e fondamentale che la sorgente del- la ricompensa sia l''ambiente onde evitare il formarsi, all''interno dell''a-
gente, di un meccanismo di rinforzo personale che comprometterebbe
l''apprendimento. Il valore della ricompensa ` e proporzionale all''influenza che ha l''a- zione nel raggiungimento dell''obbiettivo, quindi risulta positiva o ele-
vata nel caso si tratti di un''azione corretta oppure negativa o bassa
per un''azione scorretta. Infatti, caratteristica particolare del paradigma di apprendimento per rinforzo ` e il considerare il problema nella sua interezza; la pratica comune di suddividere il problema in sotto problemi ` e ancora applica- bile ma non strettamente necessaria al fine di trovare una soluzione. Secondo un linguaggio pi` u formale, l''agente e l''ambiente interagi- scono a intervalli discreti nel tempo, t = 0, 1, 2, , n. A ogni intervallo
l''agente riceve una rappresentazione dello stato st dell''ambiente. Ogni elemento st '' S, dove S `e l''insieme dei possibili stati, una volta riconosciuto lo stato l''agente deve intraprendere un''azione at ''
A(st), dove A(st) `e l''insieme delle azioni possibili nello stato st. La
scelta dell''azione da intraprendere dipende dall''obbiettivo da raggiun-
gere e viene mappata attraverso la politica o policy indicata con ',
la quale associa per ogni stato s l''azione a '' A(s). La formulazio-
ne 't(s, a) rappresenta la probabilit` a che l''azione a venga effettuata 8 CAPITOLO 1. APPRENDIMENTO PER RINFORZO Figura 1.1: interazione agente-ambiente nell''apprendimento per rin-
forzo, immagine tratta da Reinforcement Learning:An Introduction Ri-
chard S. Sutton and Andrew ,G. Barto, A Bradford - Book The MIT
Press Cambridge, Massachusetts London, England nello stato s. Durante il successivo intervallo temporale t + 1, come
parte della conseguenza dell''azione st+1, l''agente riceve una ricom-
pensa numerica rt+1 '' < corrispondente all''azione precedentemente
intrapresa at. La conseguenza dell''azione rappresenta, invece, il nuo-
vo stato st , a questo punto l''agente deve nuovamente codificare lo
stato ed eseguire la scelta dell''azione. Questa iterazione si ripete fino
al raggiungimento dell''obbiettivo da parte dell''agente. Nel caso ge-
nerale, la definizione dello stato st+1 dipende dalla successione degli
stati precedenti e dall''azione intrapresa, ovvero: st+1 = δ(st, st''1, ..., s1, s0, at) dove δ rappresenta la funzione di stato. Per ovvi problemi di carico e difficolt` a computazionali questa formula- zione non ` e applicabile. Per risolvere questo problema si deve assumere che l''ambiente goda della propriet` a di Markov, ovvero che lo stato st+1 dipenda esclusivamente dallo stato precedente st e dall''azione eseguita
at, in altre parole si presuppone che la scelta dell''azione possa essere
effettuata tramite l''applicazione del Markov Decision Process MDP
[30] . La nuova formulazione risulta pertanto: st+1 = δ(st, at) 9 CAPITOLO 1. APPRENDIMENTO PER RINFORZO L''ambiente pu` o essere, quindi, descritto tramite la logica one step, caratterista fondamentale per la risoluzione di un problema di appren-
dimento per rinforzo. Tecniche di rinforzo Una possibile soluzione al problema consiste nell''associare a ogni sin-
golo stato s l''azione che fornisce la ricompensa r maggiore , ovvero si
deve determinare una policy ottima tale che: max {Rt = i=T X i=0 rt+i = rt + rt+1 + ... + rT } dove rT rappresenta la ricompensa dell''azione che porta l''ambiente nello stato terminale sT , chiamato anche stato terminale. Questa, per` o, rappresenta solamente una soluzione particolare, ap- plicabile solo per i cosiddetti episodic tasks, quei problemi risolvibili
in un insieme finito di azioni. Per i problemi, chiamati continuing tasks, che non raggiungono l''obbiettivo o stato terminale in un numero finito di passaggi, la for-
mulazione prima esposta risulter` a: max {Rt = i='' X i=0 rt+i = rt + rt+1 + ... + rn + rn+1 + ...} da cui risulta evidente: Rt '' '' Questa formulazione non ` e applicabile, la somma delle ricompense che si vuole massimizzare diverge all''infinito, ` e necessario, perci` o, svi- luppare una tecnica di rinforzo alternativa; una possibile soluzione
consiste nella tecnica di rinforzo con premio medio: max {Rt = i='' X i=0 rt+i = rt + rt+1 + ... + rn + rn+1 + ...} con rt+i ' rt+i''1''i Quindi rt+i '' 0 con i '' ''. 10 CAPITOLO 1. APPRENDIMENTO PER RINFORZO La ricompensa diminuisce a ogni istante di tempo, le azioni com- piute per prime ricevono le ricompense maggiori, mentre le ultime
diminuiscono diventando trascurabili con il passare del tempo. Il rinforzo con premio medio risulta, per` o, ancora imperfetto: sin- tetizzare un problema di interazione, considerando importanti solo
le prime azioni intraprese, risulta troppo limitativo e in alcuni casi
profondamente errato. La tecnica che pi` u si adatta al paradigma risulta essere il rinforzo con premio scontato: max {Rt = i='' X i=0 γ ir t+i = rt + γrt+1 + ... + γ nr n + γ n+1r n+1 + ...} con 0 ' γ ' 1 il parametro γ viene chiamato fattore di sconto e rappresenta l''im- portanza per le future ricompense. Se γ < 1 la successione rt con-
verger` a a un valore finito, se γ = 0 l''agente non avr` a interesse nelle ricompense future, ma tenter` a di massimizzare la ricompensa solo per lo stato attuale. Infine, se γ = 1 l''agente cercher` a di aumentare le ricompense future anche a discapito di quelle immediate. Il fattore di
sconto pu` o essere modificato durante il processo di apprendimento per evidenziare o meno azioni o stati particolari. Esplorazione vs Sfruttamento Idealmente, l''agente deve associare a ogni azione at '' A(st) la ri-
spettiva ricompensa r per poter scegliere poi il comportamento pi` u ricompensato per il raggiungimento dell''obbiettivo. Questo approccio
risulta, per` o, impraticabile per problemi complessi in cui il numero di stati ` e particolarmente elevato e di conseguenza le associazioni possibi- li aumentano in modo esponenziale. Questo problema ` e riconducibile all''Exploration-Expoitation dilemma [43] . Idealmente, l''agente deve esplorare (exploration) tutte le possibili azioni per ogni stato, trovando quella effettivamente pi` u ricompensata per sfruttarla (exploitation) nel raggiungimento del suo obbiettivo.
In pratica, per` o, in problemi molto complessi, la convergenza a una strategia ottima sarebbe troppo lenta. 11 CAPITOLO 1. APPRENDIMENTO PER RINFORZO Una buona soluzione al problema risulta trovare un equilibrio tra esplorazione e sfruttamento: ' un agente che si limita a esplorare, agir` a sempre in modo casuale a ogni stato ed ` e evidente che la convergenza a una strategia ottima ` e impossibile; ' d''altro canto, se un agente esplora poco, utilizzer` a sempre le solite azioni che potrebbero non essere quelle ottimali. 1.2.4 Q-Learning La funzione di valutazione V Una soluzione generale al problema di apprendimento per rinforzo con-
siste nello stimare, grazie al processo di apprendimento, una funzione
di valutazione. Questa funzione deve poter valutare, tramite la somma
delle ricompense, la convenienza o meno di una particolare politica '. Ricordando che la politica ' associa alla coppia (s, a) la probabilit` a '(s, a) che venga effettuata l''azione a nello stato s. Si pu` o definire una prima funzione di valutazione V '(s) come il valore atteso del rinforzo
totale Rt seguendo la politica ' a partire dallo stato s: V ' (s) ' i='' X i=0 γ ir t+i dove la successione di rt viene generata seguendo la politica ' a partire
dallo stato s. In altre parole gli esempi del training pattern devono
guidare il processo di apprendimento verso la valutazione della politica
ottimale ''': ' '' ' arg max ' V ' (s) ''s Ricordando la funzione δ(s, a), la quale determina il nuovo sta- to generato dalla coppia (s, a), si pu` o operare una ricerca lookahead per scegliere l''azione migliore a partire dallo stato s poich´ e si pu` o esprimere: ' ''(s) = arg max a {r(s, a) + γV ''' (δ(s, a))} 12 CAPITOLO 1. APPRENDIMENTO PER RINFORZO dove r(s, a) rappresenta la ricompensa r ottenuta dall''esecuzione del-
l''azione a nello stato s. Questa soluzione per` o ` e accettabile solo nel caso siano note le funzioni: δ : S x A '' S r : S x A '' < questa condizione non ` e, per` o, sempre rispettata. La funzione di valutazione Q Quando questo non accade ` e necessario definire una nuova funzione simile a V ' '' : Q(s, a) ' r(s, a) + γV ''' δ(s, a) Se l''agente riesce a stimare la funzione Q risulta possibile scegliere
l''azione ottimale s anche senza conoscere la funzione δ: ' ''(s) = arg max a Q(s, a) La funzione Q viene di solito indicata come funzione di valore di azione o action-value function. Le funzioni di valutazione Q e V ' '' sono strettamente legate, infatti si pu` o scrivere: V ''' (s) = max a0 Q(s, a 0) da cui ` e possibile esprimere in modo ricorsivo Q: Q(st, at) = r(st, at) + γV ''' (δ(s t, at)) = r(st, at) + γ max a0 Q(st+1, a 0) L''apprendimento consiste nell''aggiornare, a ogni azione, la funzio- ne approssimata ' Q secondo la seguente regola di training: ' Q(s, a) ' r + γ max a0 ' Q(s 0, a0) dove s0 ` e lo stato risultante dall''esecuzione dell''azione a nello stato s. Questa regola di training risulta, per` o, applicabile solo per ambien- ti deterministici, ovvero quando l''agente riesce sempre a determina-
re come reagir` a l''ambiente di fronte all''esecuzione di una particolare azione. 13 CAPITOLO 1. APPRENDIMENTO PER RINFORZO Nel caso di ambienti non deterministici le funzioni V e Q pos- sono essere riformulate considerando i valori attesi, in particolare Q
risulter` a: Q(s, a) ' E{r(s, a) + γV ''(δ(s, a))} dove E{} rappresenta il valore atteso, stimato, della ricompensa Rt ottenuta eseguendo l''azione a nello stato s. La regola di training pu` o essere modificata per un''applicazione anche in casi non deterministici in questo modo: ' Qn(s, a) ' (1 '' αn) ' Qn''1(s, a) + αn[r + max a0 ' Qn''1(s 0, a0)] dove α ` e il parametro di learning rate, compreso tra i valori 0 ' α ' 1 e rappresenta l''importanza delle nuove informazioni acquisite
con l''apprendimento: α = 0 significa che l''agente smette di appren-
dere dall''esperienza con α = 1, invece, l''agente sovrascrive le vecchie
informazioni con quelle nuove acquisite, anche se peggiori. La prima parte: ' Qn(s, a) ' (1 '' αn) ' Qn''1(s, a) rappresenta il vecchio valore che, come suesposto, tramite il learning
rate, pu` o essere pi` u o meno modificato. La seconda parte: αn[r + max a0 ' Qn''1(s 0, a0)] rappresenta, invece, il nuovo valore appreso grazie alla n-esimo aggior-
namento. La regola di training sopra esposta ` e utilizzata nell''algoritmo base dell''apprendimento per rinforzo il Q-Learning, il quale ` e alla base di quasi tutte le varianti degli algoritmi di questo paradigma. La convergenza di ' Q '' Q viene idealmente assicurata dal seguente teorema di convergenza: Si consideri un ambiente modellato come un processo di decisione Markoviano, tale che ''s '' S, a '' A |r(s, a)| ' C. L''algoritmo del
Q-Learning converge a ' Q con probabilit` a = 1, sotto l''ipotesi che ogni 14 CAPITOLO 1. APPRENDIMENTO PER RINFORZO coppia (s, a) venga visitata infinite volte e il fattore di apprendimento
α tenda a zero adeguatamente. ` E evidente che la coppia (s, a) non pu` o essere visitata infinite volte, quindi il processo di apprendimento riesce a dare solo una stima della
soluzione, che ` e sempre pi` u precisa iterazione dopo iterazione. Il processo di apprendimento Uno degli esempi pi` u utilizzati per implementare l''algoritmo Q-Learning, prevede l''utilizzo di una tabella. Ogni cella della tabella rappresenta ' Q(s, a) ed ` e inizializzata a 0. L''agente pu` o eseguire una qualsiasi azione a '' A dove A ` e l''insieme totale delle azioni conosciute dall''agente. L''algoritmo segue questi
passi fondamentali: 1. si decodifica la stato s 2. si seleziona un''azione a '' A(s) '' A, dove A(s) ` e il gi` a definito insieme delle azioni eseguibili in s; 3. l''azione a viene eseguita e si riceve la ricompensa r 4. l''elemento della tabella ' Q(s, a) viene aggiornato con la regola di training: ' Qn(s, a) ' (1 '' αn) ' Qn''1(s, a) + αn[r + max a0 ' Qn''1(s 0, a0)] 5. l''esecuzione dell''azione a porta l''ambiente nello stato s0 6. s ' s0 7. ricominciare dal punto 1. In formulazioni pi` u complesse ed efficienti ` e possibile sostituire la tabella, la cui iterazione risulta comunque inefficiente per problemi
complessi, con una rete neurale dove il processo di apprendimento
andr` a a modificare i pesi delle connessioni sinaptiche, per maggiori informazioni si faccia riferimento a: [14], [50]. 15 CAPITOLO 1. APPRENDIMENTO PER RINFORZO 1.2.5 Limiti dell''apprendimento per rinforzo L''apprendimento per rinforzo risulta un paradigma molto solido per
quanto riguarda la risoluzione di problemi di interazione con l''ambien-
te, l''assunzione che questo ambiente rispetti la propriet` a Markoviana ` e sicuramente una limitazione, ma non delle peggiori, infatti, nella
maggior parte dei problemi di interazione, l''ambiente gode o pu` o esse- re ricondotto con una semplificazione accettabile a un ambiente mar-
koviano. I veri limiti che pesano sul futuro dell''apprendimento per
rinforzo sono i seguenti: ' Curse of dimensionality: l''applicazione in problemi reali `e di solito difficoltosa, il grande numero di stati possibili, unito ad
un sempre maggior numero di azioni richieste, aumenta in modo
esponenziale la difficolt` a di apprendere una politica ottima. ' (Temporal) Credit Assignment Problem: conseguenza della Cur- se of dimensionality, ` e spesso necessario assegnare una ricompen- sa a un insieme di azioni e non ad ogni singola azione eseguita.
Perci` o si tende a ricompensare un comportamento piuttosto che una singola azione. Ne risulta, quindi, che il processo di ap-
prendimento ` e tanto lento quante sono le azioni che formano il comportamento ricompensato. Ci` o ` e dovuto al fatto che gli effetti della ricompensa si devono propagare attraverso le varie
azioni che lo compongono. ' Partial Observability Problem: nei problemi reali la codifica esat- ta dello stato in cui si trova l''ambiente ` e spesso impossibile, ri- sulta, pertanto, necessario accontentarsi di un''approssimazione
della codifica dello stato tramite una percezione parziale di esso.
La codifica parziale dello stato determina solo un sottoinsieme
degli stati dell''ambiente reale, quindi, un qualsiasi agente non
sar` a mai autosufficiente in questo genere di ambienti. ' State-Action Space Tilling: la scelta della granularit` a dello spa- zio Stato-Azione determina direttamente l''influenza sul proble-
ma della Curse of Dimensionality e della Temporal Credit As-
signment. Infatti, una granularit` a troppo fine risentir` a mag- 16 CAPITOLO 1. APPRENDIMENTO PER RINFORZO giormente della Curse of Dimensionality, mentre una granularit` a troppo grossa della Temporal Credit Assignment. ' Non-Stationary Environments: la convergenza degli algoritmi di apprendimento per rinforzo ` e molto lenta, quindi efficace solo in ambienti stazionari o al limite dinamicamente molto lenti.
Un ambiente reale risulta, per` o, non stazionario e nella maggior parte dei casi molto dinamico. L''apprendimento per rinforzo
non riuscirebbe, perci` o, a convergere verso una politica ottima a causa dei continui cambiamenti dell''ambiente. ' Exploration-Exploitation Dilemma esposto gi` a in analisi del pro- blema, viene qui riportato per completezza. 17 CAPITOLO 1. APPRENDIMENTO PER RINFORZO 18 Capitolo 2 Apprendimento per
dimostrazione 2.1 Introduzione Il grande sviluppo che l''uomo ha raggiunto in ambito tecnologico, in
tempi relativamente brevi, ha permesso la diffusione della tecnologia
stessa in ogni aspetto della sua vita; basti pensare alla grande diffu-
sione del computer, nato come un costoso e ingombrante calcolatore
utilizzato da un ristretto numero di ricercatori come supporto al loro
lavoro. Ora, grazie al rapido sviluppo tecnologico, la dimensione e il costo di queste macchine ` e stato abbattuto rendendole un bene accessibile alla maggior parte della popolazione. La stessa potenza di calcolo ` e in continuo aumento permettendo un uso sempre maggiore di questi
calcolatori, ormai utilizzati dall''uomo in ogni sua attivit` a: dal lavoro, al tempo libero. Gli stessi avvenimenti si stanno ripetendo per quanto riguarda la diffusione dei robot, inizialmente presenti solo in un contesto di ricerca.
Le loro potenzialit` a stanno rapidamente aumentando e un futuro dove l''uomo ` e affiancato da un robot nell''esecuzione di una qualsiasi attivit` a non ` e poi cos`ı lontano. I robot, infatti, sono gi` a presenti nelle catene di montaggio di mol- te aziende piccole o grandi, i primi semplici robot domestici hanno
fatto la loro comparsa nelle abitazioni e hanno gi` a sostituito l''uomo 19 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE in compiti per lui troppo pericolosi o impossibili, basti pensare alla
missione NASA di esplorazione di Marte, possibile solamente grazie ai
due robot esploratori Spirit e Opportunity. L''interazione uomo-robot e la futura integrazione di quest''ultimo nella societ` a risulta pi` u che mai evidente; cos`ı, come lo sviluppo del- le prime interfacce grafiche ` e risultato un passo fondamentale nella diffusione dei computer, la ricerca in ambito robotico ` e quanto mai in- dirizzata nello sviluppo di nuove e flessibili interfacce per semplificare
l''interazione e l''integrazione dei robot nella societ` a moderna. Queste motivazioni hanno ispirato la nascita dei primi metodi di Apprendimento per dimostrazione [5] [11] [44] [45] , l''idea di insegnare
a un robot un nuovo compito, tramite una dimostrazione diretta di
esso nasce appunto nella speranza di minimizzare o eliminare la pro-
grammazione esplicita del robot da parte di un esperto, orientandosi
quindi un interfaccia meno formale e pi` u sociale con l''obbiettivo futuro di semplificare l''interazione con queste macchine, anche per persone
esterne a questo campo di studio. L''apprendimento per dimostrazione ricade nell''ambito dell''appren- dimento automatico, visto come un caso particolare del paradigma
di apprendimento supervisionato, risulta per` o un approccio unico nel suo genere, dove la presentazione in input di una serie di dimostra-
zioni, velocizza e guida passo passo il processo di apprendimento del
robot. Questo approccio ` e spesso affiancato da altri algoritmi di ap- prendimento, affiancamento necessario per sopperire agli attuali limiti
dell''apprendimento per dimostrazione. 2.1.1 Cenni storici L''apprendimento per dimostrazione ` e nato all''inizio degli anni ''80 nel- l''ambito della robotica industriale con l''obbiettivo di trovare un''alter-
nativa al complesso e lungo processo di programmazione necessario per
i robot utilizzati nelle industrie. Inizialmente, i principali progressi in
questo campo furono ispirati dai primi lavori di Intelligenza Artificiale
del tempo, basati, quindi, su un approccio simbolico. La dimostra-
zione veniva effettuata dall''esperto, di solito tramite teleoperazione
del robot e il compito era suddiviso in azioni primitive che veniva-
no registrate codificando le relazioni spaziali fra il robot e l''ambiente 20 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE e successivamente elaborate tramite processi computazionali Lozano-
Perez(1982) [12], Dufay e Latombe (1983)[29] , Segre e DeJong (1985)
[48]. Pertanto le prime soluzioni di apprendimento per dimostrazione si potrebbero formalizzare come una macchina a stati finiti basata su
un''insieme di blocchi if-then. Quando uno degli stati esplorati duran-
te la dimostrazione si ripresentava, il processo rieseguiva i movimenti
effettuati dall''esperto in modo autonomo. Risulta evidente il primo
limite a questo approccio: se l''ambiente esterno cambiava o si pre-
sentavano stati che non erano previsti durante la dimostrazione, il
robot non sapeva come reagire, costringendo quindi l''esperto a con-
siderare pi` u stati possibili durante la dimostrazione. La soluzione a questo problema avvenne a partire dagli anni ''90; si era, infatti, pen-
sato di affiancare all''apprendimento per dimostrazione anche tecniche
di apprendimento automatico per generalizzare le azioni apprese dal
robot e poterle applicare in contesti pi` u vasti e.g. Ikeuchi(1993) [21] e Dillmann, Kaiser e Ude (1995) [15]. Contemporaneamente a questi studi, furono effettuate le prime ri- cerche sull''imitazione di comportamenti e abilit` a umane esplorate ini- zialmente da Kawato, Gandolfo, Gomi e Wada (1994) [22] e due anni
dopo Miyamoto (1996) [37], insegn` o a un braccio meccanico antropo- morfo compiti complessi tramite l''apprendimento per dimostrazione. L''interesse per l''apprendimento per dimostrazione ` e aumentato no- tevolmente negli ultimi vent''anni, tanto da diventare un terreno di
studio interdisciplinare che interessa non solo la robotica, ma anche
la psicologia e le neuroscienze. Attualmente l''apprendimento per di-
mostrazione risulta l''approccio pi` u semplice e intuivo come interfaccia uomo-robot, poich´ e minimizza la programmazione esplicita da parte di un esperto e apre le porte alla diffusione dei robot come parte in-
tegrante della societ` a. Per questi e altri motivi, l''apprendimento per dimostrazione ` e tutt''ora argomento di discussione nelle maggiori con- ferenze di robotica. 21 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE 2.2 Definizione del problema 2.2.1 Analisi del problema L''apprendimento per dimostrazione pu` o essere visto come un caso par- ticolare di apprendimento supervisionato, l''insegnante o supervisore
fornisce sia l''input che il relativo output desiderato che ` e il concet- to fondamentale del paradigma di apprendimento supervisionato. La
differenza da un problema classico di apprendimento con supervisione
consiste, per` o, nel fatto che, tramite la dimostrazione, viene fornito al robot anche la strategia per la risoluzione del problema. In pratica
il robot imita il comportamento del supervisore, motivo per cui l''ap-
prendimento per dimostrazione ` e anche chiamato apprendimento per imitazione. Nel 2001 Nehavin e Dautenhahn formalizzarono i problemi da af- frontare nell''apprendimento per dimostrazione con una serie di do-
mande chiave [39] [40] : ' Cosa Imitare' ' Come Imitare' ' Quando Imitare' ' Chi imitare' Attualmente solo le prime due domande sono considerate fonda- mentali nell''apprendimento per imitazione, in quanto per le altre non
sono stati ancora definiti riscontri pratici interessanti. Cosa Imitare' Il primo problema dell''imitazione ` e sicuramente quello di analizzare quali aspetti della dimostrazione devono essere presi in considerazione,
questo problema ha connessioni con la psicologia e in particolare nei
metodi di apprendimento dei bambini (Gergely et al. 2002, Carpenter
et al. 2002), fatto che dimostra ancora una volta come l''apprendi-
mento per dimostrazione trova ispirazione in diversi e svariati campi
di studio. Determinare ci` o che ` e rilevante e cosa non lo ` e, dipende dal supervisore che, durante le dimostrazioni, deve evidenziare gli aspetti 22 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE importanti da imitare e tralasciare quelli secondari o non interessanti.
Una cattiva soluzione a questo problema, potrebbe causare tempi di
apprendimento molto lunghi o addirittura l''apprendimento di strate-
gie ambigue che potrebbero dare risultati indesiderati in particolari
situazioni o stati. Limitare invece il problema agli aspetti fondamen-
tali, permette una convergenza dell''apprendimento pi` u rapida e meno soggetta al rumore. Come Imitare' Una volta deciso cosa ` e importante e rilevante imitare, risulta fonda- mentale il modo in cui viene effettuata l''imitazione. Anche se l''ap-
prendimento per dimostrazione offre i maggiori vantaggi se applicato
a robot umanoidi, non ` e da escludere il suo utilizzo anche con altri robot. Risulta, quindi, necessario da parte del supervisore determi-
nare un comportamento equivalente che porti allo stesso risultato, ad
esempio: se la dimostrazione consiste nel colpire un pallone con un cal-
cio, un robot non umanoide potrebbe considerare equivalente colpire
il pallone con il corpo o con una ruota. Mentre il problema del Cosa imitare trova delle similitudini con la psicologia, il Come imitare trova una correlazione molto forte col pro-
blema delle corrispondenze (Nehavin 2007) [2], pertanto le differenze
fisiche e di percezione fra uomo e robot devono essere prese seriamen-
te in considerazione all''atto dell''imitazione. Sottovalutare questo pro-
blema, potrebbe portare all''apprendimento di comportamenti anomali
rispetto alla dimostrazione effettuata e all''output desiderato. 2.2.2 Definizione generale del problema Un problema generale di Apprendimento per Dimostrazione pu` o essere formalizzato come segue: sia S l''insieme degli stati, sia A l''insieme
delle azioni, sia Z l''insieme degli stati di interesse rispetto al totale S,
risulta essere quindi Z '' S Il problema fondamentale dell''apprendimento consiste nel deter- minare una strategia ', tale che: ' : Z '' A 23 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE Ovvero, la serie di dimostrazioni serve a insegnare al robot il com- portamento da replicare quando percepisce un particolare stato Zn.
Di solito la strategia ' ` e funzione di diversi parametri, ' = '(z(t), α) Dove: ' z(t) `e lo stato attuale in funzione del tempo ' α `e il vettore di parametri che devono essere impostati dall''ap- prendimento. La strategia viene appresa grazie alle dimostrazioni, per ogni di- mostrazione di '' D insieme delle dimostrazioni, viene definita come
la coppia di = (z j i , a j
i ) con j = (1, 2, ..., k). Ovvero ogni dimostrazio- ne o esempio determina, similmente al paradigma di apprendimento
supervisionato, una coppia Input:Stato Output:Azione. 2.3 Soluzioni al problema Una volta analizzato e formalizzato il problema generale, in partico-
lare dopo aver scelto attentamente quali sono gli aspetti principali
della dimostrazione ` e necessario, considerando il problema nella sua totalit` a, scegliere quale processo di imitazione risulta pi` u efficiente per la risoluzione del problema. Risulta efficace presentare queste tecniche riprendendo la suddivisione del problema nelle due domande
fondamentali presentate da Nehavin e Dautenhahn. 2.3.1 Cosa imitare Le possibili soluzioni al problema Cosa Imitare', possono essere sud-
divise in due grandi gruppi: ' metodi che sfruttano la riproduzione di micromovimenti. ' metodi che si focalizzano sull''apprendimento di comportamen- ti elementari. Questa scelta determina anche la futura codifica degli stati Z e delle
azioni A e di conseguenza gli algoritmi di apprendimento che possono
essere utilizzati successivamente. 24 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE Micromovimento L''approccio a micromovimenti fa riferimento a uno dei paradigmi
fondamentali dell''informatica: Divide et Impera. La dimostrazione, in pratica, viene suddivisa in micromovimenti o azioni, le quali possono essere dimostrate singolarmente e imparate dal
robot alunno. Risulta fondamentale con questo approccio un buona
codifica del singolo micromovimento, per esempio la maggior parte
dei lavori che utilizzano questo approccio, codificano le singole azioni
nello spazio dei giunti del dimostratore, ovvero vengono memorizzate
le traiettorie, la posizione e gli angoli formati dai giunti dell''utente che
effettua la dimostrazione. Questo metodo risulta assai conveniente quando i gradi di libert` a dei giunti del robot alunno corrispondono agli stessi gradi di libert` a dell''utente dimostratore, come ad esempio in un robot antropomorfo.
Esempi di applicazione di questo metodo possono essere trovati prima
nei lavori di Stefan Schaal [6] e poi in quelli di Ijspeer [47]. Questo approccio per` o introduce anche altre problematiche, che non sono da sottovalutare: ' la codifica del micromovimento `e di solito effettuata in uno spazio a cardinalit` a troppo elevata, quindi per ridurre il carico compu- tazionale dell''apprendimento, risulta spesso necessario l''applica-
zione di tecniche di riduzione della dimensionalit` a dello spazio, proiettando quindi la dimostrazione effettuata in uno spazio di
moto fittizio a cardinalit` a ridotta, per maggiori informazioni su queste strategie si fa riferimento a [56]; ' la riproduzione ripetuta dei micromovimenti, sopratutto da par- te di un utente umano, ` e soggetta a cambiamenti involontari da dimostrazione a dimostrazione, causando perci` o ambiguit` a e contrasti negli esempi di apprendimento. Una possibile soluzio-
ne a questo problema ` e l''utilizzo di tecniche di apprendimento statistico o di codifiche basate su equazioni differenziali [47]. Comportamenti elementari Questo approccio consiste nell''apprendere comportamenti complessi
formati da una serie di comportamenti elementari che possono essere 25 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE gi` a presenti e codificati nel sistema, oppure similmente all''approc- cio per micromovimenti, possono essere segmentati dal flusso di dati
principale durante la fase di dimostrazione, ovvero si suppone che la
dimostrazione dell''utente venga mappata in un insieme di primitive
motorie apprese in una fase preliminare, per poi essere riprodotte nel-
la sequenza desiderata a seguito di un particolare stato esterno. Un
altro utilizzo a questo approccio ` e l''apprendimento di comportamenti elementari tramite dimostrazione che poi vengono utilizzati per forma-
re azioni complesse come, per esempio, una semplice sequenza esatta
di queste azioni come nei lavori di Zhang and Weng [63] e Dominay
[16]. Queste soluzioni risultano per` o poco interessanti poich´ e si basano sull''apprendimento di comportamenti elementari che vengono ripetuti
in sequenza alla ricezione di particolari comandi, quali ad esempio
quelli vocali utilizzati nel lavoro di Dominay. Un approccio molto recente ` e invece offerto da Muelling (2013) [38], che, tramite algoritmi basati sull''apprendimento per rinforzo,
combina le azioni elementari apprese in comportamenti pi` u complessi. Questa soluzione risulta pi` u solida delle precedenti poich´ e , tramite l''apprendimento per rinforzo, il robot pu` o eseguire l''azione comples- sa anche in presenza di stati esterni simili ma non esplorati durante
l''apprendimento. 2.3.2 Come imitare Anche per quanto riguarda la scelta su come effettuare le dimostrazioni ` e impossibile determinare a priori un metodo che sia migliore degli
altri. Esistono sostanzialmente due grandi categorie, ognuna con i
suoi vantaggi o svantaggi in particolari problemi di apprendimento
per dimostrazione. Queste categorie sono: ' muovere direttamente il corpo del robot ' osservare il comportamento del supervisore Muovere il corpo del robot Questo metodo consiste nel muovere direttamente il corpo del robot
che deve essere in grado di memorizzare i movimenti effettuati durante 26 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE la dimostrazione per poterli ripetere successivamente, risulta per que-
sto motivo uno degli approcci naturali se affiancato alla suddivisione
della dimostrazione in micromovimenti. Il corpo del robot pu` o essere mosso in due modalit` a principali: ' Kinesthetic Teaching: una delle tecniche maggiormente uti- lizzate e tutt''ora di grande interesse ` e costituita dal Kinesthetic Teaching, la dimostrazione viene effettuata controllando passi-
vamente i giunti del robot muovendoli manualmente nelle confi-
gurazioni desiderate. L''apprendimento con questo metodo pu` o essere continuo, ovvero vengono registrate tutte le traiettorie
dei giunti dall''inizio alla fine della dimostrazione, oppure que-
st''ultima pu` o essere eseguita come una registrazione discreta nel tempo di una successione di pose fondamentali che il robot deve
imparare [1]. Il kinesthetic Teaching per` o non ` e perfetto: robot con troppi gra- di di libert` a potrebbero essere troppo complessi da manovrare correttamente. Le dimostrazioni possono offrire informazioni so-
lo sulle traiettorie dei movimenti, ma nessuna informazione vie-
ne data sulla forza da imprimere a essi, questo risulta un grande
svantaggio nel caso in cui il robot debba imparare a maneggiare
oggetti fragili. Inoltre questo non ` e assolutamente conveniente se applicato a robot molto grossi e pesanti, in questo caso in-
fatti il supervisore dovrebbe affrontare non pochi problemi nel
tentativo di muovere il corpo del robot. ' Teleoperation: La tecnica di teleoperazione `e stata una delle prime utilizzate nella storia dell''apprendimento per dimostrazio-
ne, risulta molto simile alla Kinesthetic Teaching, tranne per il
fatto che il robot viene comandato tramite un interfaccia che pu` o essere ad esempio un joystick o un''apposita tastiera. Rispetto
alla Kinesthetic Teaching questa tecnica offre diversi vantaggi,
tra cui: la possibilit` a di eseguire la dimostrazione a distanza, per cui la grandezza o la pesantezza del corpo del robot non ` e pi` u un problema se questo viene comandato da un''interfac- cia con la quale ` e inoltre possibile trasferire altre informazioni durante la dimostrazione come ad esempio la forza da impri-
mere durante l''esecuzione dell''operazione. Di grande interesse 27 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE ` e il lavoro sviluppato da Peternel e Babic (2013)[41] e Babic et
al.(2011) [7], i quali insegnarono a un robot umanoide alcune
tecniche di equilibrio tramite la dimostrazione da parte di un
supervisore umano. Il dimostratore indossava un interfaccia ap-
tica collegata al dorso che inviava al robot informazioni sulla
postura da tenere per mantenere l''equilibrio anche a seguito di
una perturbazione ricevuta. Soffre per` o dello stesso problema della Kinesthetic Teaching, poich´ e un robot con molti gradi di libert` a sar` a difficilmente manovrabile tramite un''interfaccia. Osservare il comportamento del dimostratore In questo caso la dimostrazione non ` e per forza eseguita da un super- visore umano, ma si pu` o osservare il comportamento di un altro robot. ` E molto importante risolvere anticipatamente il problema delle corri-
spondenze, ovvero effettuare una trasformazione tra lo spazio del su-
pervisore e quello dell''alunno, che permetta un corretto trasferimento
di informazioni. In pratica le soluzioni possibili sono due: ' viene collocata sul corpo del dimostratore una serie di sensori che raccolgono delle precise informazioni sul compito da imi-
tare, metodo che risulta particolarmente efficace per la qualit` a dell''informazione che viene trasferita durante la dimostrazione.
Risulta, inoltre, un approccio naturale se utilizzato per l''appren-
dimento di un robot umanoide. L''unico grande svantaggio ` e che l''equipaggiamento tecnologico necessario ` e spesso estremamen- te costoso, in quanto vengono utilizzati sensori specialistici e
strutture apposite; ' il robot pu` o osservare il comportamento dimostrato direttamente grazie all''ausilio di una telecamera, in questo caso i dati raccolti
sono spesso inaffidabili e potrebbero portare a un errato appren-
dimento da parte del robot. Rispetto all''utilizzo di sensori e
apparecchiature costose risulta, per` o, un approccio molto pi` u economico. 28 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE 2.3.3 Apprendimento per dimostrazioni errate L''approccio naturale e classico dell''apprendimento per dimostrazione
consiste nel fornire al robot alunno esempi corretti del compito da
imitare, ma ci` o non ` e sempre possibile, infatti: ' il tempo necessario per la raccolta di un numero sufficiente di dimostrazioni corrette non ` e trascurabile e dipende direttamente dalla difficolt` a del compito e dall''abilit` a del supervisore che ha effettuato la dimostrazione; ' il comportamento da imitare non `e semplice e per alcune dimo- strazioni occorre una conoscenza approfondita del compito d''ap-
prendere e potrebbe richiedere costi aggiuntivi per la definizione
del modello o per la consulenza di esperti del settore; ' alcuni comportamenti, seppure teoricamente semplici, potrebbe- ro non essere replicati facilmente da un utente umano, come ad
esempio nel caso di torsioni dei giunti impossibili all''uomo o il
sollevare carichi troppo pesanti. Inoltre durante l''esecuzione del-
la dimostrazione gli errori sono sempre possibili e con l''approc-
cio classico non solo rallentano l''apprendimento ma potrebbero
addirittura comprometterlo. Per` o una dimostrazione sbagliata contiene comunque delle informa- zioni che possono essere utilizzate per velocizzare l''apprendimento del
compito. L''apprendimento per dimostrazioni errate introdotto dalle
ricerche di Billard e Grollman [19] [18]. consente un approccio legger-
mente diverso da quello classico, perch´ e si tiene conto dell''inevitabile possibilit` a che un supervisore umano possa commettere degli errori in buona fede durante il processo di dimostrazione. Questi esempi errati,
che partono comunque da una base corretta, possono essere utilizzati
dal robot alunno per ampliare la propria esperienza: ' le dimostrazioni errate sono esempi di cosa non deve essere fatto, quindi comportamenti da evitare; ' le dimostrazioni errate contengono comunque indicazioni su co- me deve essere interpretato correttamente il compito; 29 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE ' un insieme di dimostrazioni errate serve a delimitare uno spazio di esplorazione in cui ricercare il corretto modello del comporta-
mento da imitare. I lavori prima citati di Billard e Grollman utilizzano un appropriato algoritmo di apprendimento automatico quale il DMM o il GMM che
permettono di sfruttare, durante il processo di apprendimento, anche
le dimostrazioni errate. 2.4 Limiti dell''apprendimento per dimo-
strazione I progetti di Billard e Grollman tentano, con un approccio diverso da
quello classico, di ridurre alcuni limiti dell''apprendimento per dimo-
strazione, che consiste proprio nell''esecuzione del compito di interesse. Infatti l''apprendimento ` e strettamente collegato alla qualit` a delle informazioni fornite durante la dimostrazione e quindi lo sviluppo di
una strategia efficace dipende direttamente dalla quantit` a e dalla qua- lit` a delle informazioni raccolte tramite la serie di dimostrazioni fornite, le quali a loro volta dipendono dall''abilit` a dell''insegnante che esegue la dimostrazione. Alcuni problemi non possono essere affrontati efficacemente dal- l''apprendimento per dimostrazione, come ad esempio i comportamenti
difficilmente ripetibili o quelli fisicamente non realizzabili da supervi-
sori umani. Le dimostrazioni fornite per lo stesso compito possono essere di- verse da esempio a esempio e quindi generare ambiguit` a durante l''ap- prendimento, oppure pu` o esistere pi` u di un comportamento corretto rispetto a un unico stato e anche questo pu` o generare ambiguit` a o rallentamento nel processo di apprendimento. Inoltre l''apprendimen-
to per dimostrazione soffre come tutte le tecniche di apprendimento
automatico del problema della generalizzazione, non ` e possibile: effet- tuare una dimostrazione per ogni stato e quindi, in presenza di stati
che non facevano parte dell''insieme degli esempi proposti, il robot
potrebbe non riconoscere nessuna azione corretta come risposta allo
stato. Risulta, pertanto, evidente che allo stato attuale dell''arte il solo 30 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE apprendimento per dimostrazione non ` e sempre sufficiente per ricavare i comportamenti desiderati, risulta necessario nella maggior parte dei
casi la suddivisione del problema in due parti fondamentali: 1. L''apprendimento preliminare di un comportamento da replicare tramite tecniche di apprendimento per dimostrazione; 2. Una volta terminato il punto precedente, generalizzare o mi- gliorare l''esecuzione del compito grazie ad algoritmi e tecni-
che di apprendimento automatico, in particolare ` e obbiettivo di questa tesi presentare le ricerche di Kormashev il quale utiliz-
za, con ottimi risultati, tecniche di apprendimento per rinforzo
per migliorare e generalizzare i comportamenti complessi appresi
precedentemente tramite apprendimento per dimostrazione [26]. 31 CAPITOLO 2. APPRENDIMENTO PER DIMOSTRAZIONE 32 Capitolo 3 Apprendimento Robotico 3.1 Panoramica sullo stato dell''arte L''apprendimento robotico rappresenta l''anello di congiunzione fra la
robotica e l''intelligenza artificiale; ` e il campo che studia e sviluppa nuove tecniche per fornire ad un robot delle nuove abilit` a. In particolare, dotare i robot di capacit` a di interazione simili al- l''uomo ` e uno degli obbiettivi principali della robotica.L''apprendimento robotico rappresenta, tutt''ora, uno dei metodi pi` u interessanti ed ef- ficaci per raggiungere questo obbiettivo. L''apprendimento robotico
affronta questo problema fornendo, per quanto possibile, al robot una
capacit` a di apprendimento simile all''uomo. L''obbiettivo finale di que- sto approccio consiste nel dotare i robot della capacit` a di: apprendere, migliorare, adattare e riprodurre abilit` a con vincoli che cambiano di- namicamente. I paradigmi presentati, nei primi due capitoli, insieme
alla programmazione diretta rimangono gli approcci e i metodi tutt''ora
pi` u utilizzati nell''apprendimento robotico. In particolare ` e interessan- te notare come sia impossibile definire, a priori, una tecnica migliore
delle altre. Ogni paradigma presenta caratteristiche uniche rendendo-
lo pi` u o meno efficacie nella risoluzione di un particolare problema. Di seguito si vogliono riassumere e schematizzare le caratteristiche principali di ogni particolare approccio [28] : 33 CAPITOLO 3. APPRENDIMENTO ROBOTICO Programmazione diretta Programmazione classica di un robot, viene creato un algoritmo che
dice al robot come deve comportarsi e muoversi. ' Difficolt` a per il supervisore: Anche se non esiste un vero e pro- prio supervisore, poich´ e, non ` e un vero e proprio metodo di apprendimento. Si identifica il supervisore con la figura del programmatore. ' Complessit` a computazionale: Semplice, muovere un robot con la programmazione diretta ` e semplice e preciso, per` o richiede una formalizzazione dell''ambiente complessa e spesso impossibile. ' Vantaggi : Si ha il completo controllo dei movimenti del robot grazie alla programmazione di basso livello; permette quindi una
grande precisione. ' Svantaggi : La programmazione diretta di un robot richiede tem- po per formulare e testare l''algoritmo. Le soluzione apprese,
inoltre, risultano non scalabili e non riusabili. ' Possibili utilizzi : Bench´e la programmazione diretta sia la tecni- ca meno conveniente, trova ancora utilizzo nella programmazione
di robot industriali dove ` e richiesta una grande precisione e l''am- biente stazionario e strutturato riduce al minimo gli svantaggi
di questo paradigma. Apprendimento per dimostrazione L''apprendimento per dimostrazione consiste nel presentare al robot il
comportamento da eseguire attraverso le tecniche di teleoperazione,
kinesthetic teaching e observational learning. Per informazioni pi` u dettagliate, sulle tecniche e i rispettivi vantaggi e svantaggi, si faccia
riferimento al capitolo precedente. ' Difficolt` a per il supervisore: Variabile, dipende esclusivamente dall''abilit` a da riprodurre. 34 CAPITOLO 3. APPRENDIMENTO ROBOTICO ' Complessit` a computazionale: Bassa, il processo di imitazione consiste nella maggior parte dei casi della registrazione del mo-
vimento e della sua esecuzione. ' Vantaggi : Per l''apprendimento della capacit` a non ` e necessaria la programmazione diretta di essa. L''apprendimento ` e affrontato in modo semplice e naturale, particolarmente adatto per i robot
umanoidi. ' Svantaggi : La qualit` a dell''apprendimento dipende direttamente dalla qualit` a delle dimostrazioni e dall''abilit` a del dimostratore di presentarle. ' Possibili utilizzi : L''apprendimento per dimostrazione risulta par- ticolarmente efficace nell''apprendimento di azioni complesse che
non richiedono grande adattabilit` a con l''ambiente esterno. Apprendimento per rinforzo Viene definita una funzione di ricompensa che fornisce al robot un
voto in base all''azione intrapresa, l''obbiettivo del robot consiste nel
massimizzare le ricompense ottenute. ' Difficolt` a per il supervisore: Minima, in fase di apprendimento il supervisore si limita a fornire una ricompensa per l''azione
eseguita. ' Complessit` a computazionale: Elevata, l''algoritmo di apprendi- mento deve stimare e approssimare: una serie di politiche di
comportamento e una funzione per poter valutare la politica
ottima. ' Vantaggi : Non `e necessario mostrare o conoscere nel dettaglio l''abilit` a che deve essere appresa; il robot stesso esplora l''ambien- te nella ricerca di una soluzione. Per questo motivo le abilit` a ap- prese con questa tecnica risultano le pi` u adattabili a situazioni nuove e sconosciute. ' Svantaggi : Processo di apprendimento piuttosto lungo, assenza di controllo diretto sulle azioni del robot infine la soluzione ` e 35 CAPITOLO 3. APPRENDIMENTO ROBOTICO basata su funzioni e parametri stimati, quindi soffre di un certo
grado di incertezza. ' Possibili utilizzi : L''apprendimento per rinforzo fornendo capa- cit` a molto adattabili ` e usato in molto applicazioni robotiche, sopratutto nei problemi di interazione con un ambiente dinami-
co. Goal-directed learning Il goal-directed learning [28] ` e un approccio ancora teorico, viene speci- ficato al robot solo l''obbiettivo da raggiungere senza valutare i processi
intermedi come, invece, accade nell''apprendimento per rinforzo. ' Difficolt` a per il supervisore: Minima, il supervisore deve conosce- re l''obbiettivo da raggiungere e formalizzarlo in modo efficiente. ' Complessit` a computazionale: Massima, l''apprendimento non vie- ne valutato da azioni intermedie, lasciando quasi la totale libert` a di azione al robot che conoscendo solo l''obbiettivo da raggiungere
deve estrapolare la politica pi` u efficiente. ' Vantaggi : Teoricamente `e la tecnica che fornisce i maggiori van- taggi in fatto di adattabilit` a e semplicit` a nella specifica del pro- blema. ' Svantaggi : Non si ha alcun controllo sui movimenti e sul processo di apprendimento del robot; l''obbiettivo da raggiungere deve
essere conosciuto e ben formalizzato. ' Possibili utilizzi : Come approccio teorico non `e ancora stato uti- lizzato in contesti pratici, anche se le similitudini con l''appren-
dimento per rinforzo fanno immaginare applicazioni in contesti
simili. Dal riassunto sopra esposto ` e chiaro come non sia possibile defini- re una tecnica migliore delle altre, in particolare ` e interessante notare come i punti deboli di una siano i punti forti dell''altra. Si pu` o sup- porre dunque, che per ottenere i risultati migliori, le varie tecniche 36 CAPITOLO 3. APPRENDIMENTO ROBOTICO di apprendimento robotico devono coesistere nel raggiungimento della
soluzione. In particolare ` e interessante notare come l''apprendimento per rin- forzo e l''apprendimento per dimostrazione possano cooperare per ot-
tenere una soluzione migliore. Per esempio: ' l''apprendimento per rinforzo pu` o essere utilizzato per adattare una capacit` a verso nuove situazioni; ' `e possibile partire da una dimostrazione abbastanza buona e gradualmente migliorarla. 3.2 Apprendimento per rinforzo nella ro-
botica Nel capitolo 1 di questo elaborato ` e stata presentata la teoria che sta dietro all''apprendimento per rinforzo e alla fine del capitolo sono stati
presentati i limiti di questa tecnica. In particolare la curse of dimensionality ovvero l''impossibilit` a di gestire efficacemente il problema all''aumento delle sue dimensioni. I
sistemi robotici sono, naturalmente, sistemi di una grande dimen-
sionalit` a e complessit` a: hanno diversi gradi di libert` a, presentano un interazione continua con l''ambiente e sono largamente soggetti al
rumore. Per questo motivo, i metodi classici detti anche temporal-
difference non hanno trovato grandi applicazioni nella robotica, dove
soffrirebbero troppo della enorme dimensione dei problemi. I primi successi dell''applicazione di algoritmi di rinforzo alla robo- tica ` e avvenuta con le prime tecniche di approssimazione di funzione, ma il vero rilancio ` e avvenuto con la nascita dei primi metodi di policy- search. Nei quali, invece che operare su un enorme spazio di stato-
azione, viene definito uno spazio pi` u piccolo, dove ogni singola politica pu` o essere rappresentata da una particolare policy parametrizzata. La dimensionalit` a dello spazio ` e cos`ı drasticamente ridotta, per- mettendo le prime efficaci applicazioni di questo paradigma nella ro-
botica, per esempi si faccia riferimento agli algortimi di punta eNAC
[42] e REINFORCE [62]. Sfortunatamente i metodi basati sul policy- 37 CAPITOLO 3. APPRENDIMENTO ROBOTICO search soffrono di una grande dipendenza del rateo di apprendimento
(learning rate) e dalle varianze nell''esplorazione. Un approccio alternativo ` e invece offerto dagli algoritmi di Expection- Maximization o EM, in particolare l''algoritmo PoWER (policy lear-
ning by weighting exploration with returns) [25]. Il quale ha dimostrato
performance superiori se utilizzato per migliorare l''efficacia di abilit` a precedentemente apprese, ad esempio con la dimostrazione. 3.2.1 Caratteristiche fondamentali della policy La rappresentazione o codifica della policy ` e un passo fondamentale per la risoluzione dei problemi di apprendimento per rinforzo. In particolare, nei metodi che sfruttano il policy-search, la para- metrizzazione dello spazio delle politiche influenzer` a direttamente il processo di apprendimento, determinando: la velocit` a di convergenza e la varianza delle politiche generabili. Risulta quindi che la codifica di una buona politica ` e fondamentale, nella robotica le seguenti caratteristiche sono fondamentali, definite da
Kormushev sempre in [28]: ' smoothness: l''abilit` a appresa deve poter essere appresa in mo- do scorrevole con traiettorie continue, ovvero senza accelerazioni
o decelerazioni repentine, sia per preservare il robot da guasti sia
per ridurre i consumi di energia; ' safety: la policy appresa deve essere sicura sia per il robot, in termini di sforzi sui giunti, sia per l''ambiente in cui agisce; ' gradual exploration: la politica deve evolversi e cambiare gra- dualmente seguendo una esplorazione dell''ambiente incrementa-
le; ' scalability: la politica deve essere scalabile ovvero adattarsi anche a problemi di dimensioni e complessit` a maggiori; ' compactness: seppure deve essere in grado di affrontare pro- blemi con pi` u di 50 gradi di libert` a, la politica deve avere una codifica compatta che ovviamente usi molti meno parametri; 38 CAPITOLO 3. APPRENDIMENTO ROBOTICO ' adaptability: la politica si deve adattare alla complessit` a o alle caratteristiche del compito; ' multi resolution: parti differenti della parametrizzazione della policy devono permettere soluzioni o precisione differente; ' unbiasedness: la politica deve funzionare anche senza una particolare conoscenza preliminare del compito, senza quindi
restringere l''esplorazione della soluzione; ' prior/bias: d''altro canto deve poter anche gestire l''utilizzo di conoscenze preliminari per guidare il processo di apprendimento; ' regularization: la politica deve permettere un meccanismo di regolarizzazione per guidare l''esplorazione verso il tipo di politica
desiderata; ' time indipendece: la politica non dovrebbe dipendere dal tem- po o dalla posizione dell''agente nell''ambiente, al fine di poter
affrontare anche situazioni impreviste; ' embodiment-agnostic: la politica deve essere indipendente dalle caratteristiche tecniche del robot, come ad esempio le tra-
iettorie dei giunti; ' invariance: la politica deve essere indipendente dal modello del compito da apprendere; ' correlations: la parametrizzazione della policy dovrebbe incap- sulare anche le variabili di controllo, come ad esempio i segnali
degli attuatori; ' globality: la rappresentazione della politica deve aiutare l''al- goritmo di rinforzo ad evitare i minimi locali, cooperando alla
convergenza verso la soluzione ottima; ' periodicity: deve permettere una semplice rappresentazione di movimenti ciclici o periodici, quest''ultima ` e una caratteristica ricorrente in molti applicazioni robotiche; 39 CAPITOLO 3. APPRENDIMENTO ROBOTICO ' analyzability: la parametrizzazione deve essere chiara e per- mettere un''analisi chiara della politica; ' multi-dimensionality: deve permettere un uso efficiente dei feedback multidimensionali senza la necessit` a di convertirli in valori scalari; ' convergence: deve aiutare il processo di apprendimento per una convergenza rapida ad una soluzione ottima. Codificare una politica in cui coesistono tutte le precedenti ca- ratteristiche ` e per ora impossibile; le attuali soluzioni prendono in considerazione, infatti, solo un ristretto sottogruppo del totale. Nella
maggior parte dei casi la codifica della politica e quindi le caratteri-
stiche implementate dipendono quasi esclusivamente dall''abilit` a che deve essere appresa. 3.3 L''apprendimento di nuove primitive
motorie Nella robotica l''apprendimento di nuovi movimenti o primitive moto-
rie ` e un problema fondamentale. Dotare un robot di sempre pi` u com- plessi movimenti permette ,infatti, un loro utilizzo in contesti nuovi o
aumenta la loro efficienza in vecchi contesti. L''apprendimento di questi movimenti ` e un tipico esempio di coo- perazione di tecniche di apprendimento diverse. In particolare: l''apprendimento per dimostrazione permette di re- plicare velocemente ed efficacemente un movimento; l''apprendimen-
to per rinforzo permette, invece, di migliorarlo e adattarlo a nuove
situazioni. 3.3.1 Modello generale delle primitive motorie Le primitive motorie possono essere rappresentate come: due sistemi
dinamici collegati in una sola direzione in modo tale che uno guidi
l''altro ma non viceversa [20]. 40 CAPITOLO 3. APPRENDIMENTO ROBOTICO Quindi un sistema dinamico per la rappresentazione di primitive motorie ` e suddiviso in: un sistema canonico h che comanda un sistema gk per ogni grado di libert` a k. In pratica il compito del sistema h con- siste nell''accoppiare e sincronizzare fra loro i diversi gradi di libert` a, i quali rappresentano i movimenti consentiti al robot. Per combinare diverse primitive motorie serve un sistema h indi- pendente per ogni primitiva, oppure un sistema congiunto se queste
primitive sono fra loro dipendenti. Come risultato abbiamo quindi un sistema di equazioni differen- ziali: 'z = h(z) 'x = g(x, z, w) dove : ' x `e la variabile da determinare e rappresenta lo stato del giunto: posizione, velocit` a, accelerazione; ' z determina lo stato del sistema h ' w `e il parametro interno per codificare l''output del sistema canonico h. Le informazioni codificate in x vengono utilizzate da un apposito controllore per inviare i comandi agli attuatori del movimento. L''implementazione dei sistemi h e g dipende da come vogliono essere rappresentate le primitive [20], [46]: Discrete Movement Primitives La rappresentazione discreta delle primitive consiste nel rappresentare
il movimento come il raggiungimento di una particolare posa finale a
partire da una data configurazione iniziale. Per cui il sistema generale prima esposto pu` o essere cos`ı formulato: 'z = h(z) = ''' αhz che rappresenta la fase del movimento, formata dalla costante di tempo ' , mentre α ` e un parametro scelto affinch´ e il sistema sia stabile. 41 CAPITOLO 3. APPRENDIMENTO ROBOTICO La posizione del k-esimo grado di libert` a data da: qk = x2k, dove x2k `e il 2k-esimo componente di x. Di conseguenza la velocit` a si ricava come: ' qk = ' x2k+1 = 'x2k, mentre l''accelerazione ¨ qk = ' 'x2k+1. Il sistema di trasformazione g pu` o essere quindi formulato: 'x2k+1 = ' αg(βg(tk '' x2k) '' x2k+1) + ' ((tk '' x 0
2k ) + ak )fk 'x2k = ' x2k+1 dove ' ` e la stessa costante di tempo del sistema canonico, αg e βg sono i parametri da impostare per la stabilit` a del sistema e ak `e un parametro di amplificazione; mentre x0 2k ` e la posizione iniziale della componente del giunto e tk rappresenta la sua posizione finale. Particolarmente importante risulta la funzione di trasformazione fk che permette di trasformare gli input di controllo inviati dal sistema
canonico h: fk(z) = N X i=1 'i(z)wiz con w il parametro di aggiustamento presente nella formulazione generale, '(z) ` e la funzione Gaussiana: 'i = exp(''hi(z '' ci) 2)) PN j=1 exp(''hj (z '' cj ) 2) La funzione '(z) determina i valori dei pesi che localizzano nello spazio
la fase del movimento. Rhythmic Movement Primitives La rappresentazione ritmica o ciclica delle primitive permettere di rap-
presentare un movimento ciclico o periodico. In generale, quindi, rag-
giunto lo stato finale del movimento deve essere possibile rieseguirlo
anche partendo dalla nuova configurazione. Il sistema canonico quindi ` e formulato: 'z = h(z) = ' ' 42 CAPITOLO 3. APPRENDIMENTO ROBOTICO con ' che rappresenta la variazione di fase e pu` o essere utilizzata per l''accoppiamento di diversi gradi di libert` a. Mentre funzione il sistema di trasformazione ottiene la seguente forma: 'x2k+1 = ' αg(βg(xm '' x2k) '' x2k+1) + akfk 'x2k = ' x2k+1 dove i parametri sono gli stessi della formulazione fatta per i mo- vimenti discreti. Il nuovo parametro xm rappresenta il punto iniziale
dell''oscillazione. Similmente al caso precedente la funzione di trasformazione fk `e cos`ı formulata: fk(z) = N X i=1 'i(z)wi con: 'i = exp(''hi(1 '' cos(z '' ci))) PN j=1 exp(''hj (1 '' cos(z '' cj )) . 3.3.2 Metodi di apprendimento per le primitive
motorie Apprendimento per dimostrazione Un preliminare apprendimento per dimostrazione permette di definire
approssimatamente una policy del movimento desiderato, grazie ad
una dimostrazione diretta da parte di un supervisore. La dimostrazione serve a dare una prima approssimazione della funzione di trasformazione fk. Questa stima prevede, quindi, un errore
 cos`ı definito: ε 2
m = n X i=1 ' m i (f ref i '' z T i w m)2 43 CAPITOLO 3. APPRENDIMENTO ROBOTICO questa funzione deve essere minimizzata per tutti i vettori di pa- rametri wm, con m '' {1, 2, ..., M }. Come espresso sopra: 'm i ` e la funzione dei pesi corrispondente. Infine, f ref i rappresenta la funzione di trasformazione desiderata e i '' 1, 2, ..., n indica l''i-esima ripetizione della dimostrazione. La funzione di errore quadratico prima esposta pu` o essere riscritta come: ε 2
m = (f ref '' Zwm) Ψ (fref '' Zwm) Da cui si pu` o quindi ricavare il valore wm: w m = (ZT ΨZ)''1ΨT Zfref dove: ' f ref prende il valore di fref i per ogni esempio i ' Ψ = diag('m i , ..., ' m n ) ' Z = zT i Quanti pi` u parametri w sono utilizzati e definiti, tanti pi` u sono i dettagli che descrivono la primitiva motoria. Per informazioni maggiori all''approccio generale si faccia riferimen- to sempre a [20]. Apprendimento per rinforzo Lo scopo dell''apprendimento per rinforzo in questo genere di problema ` e il miglioramento della primitiva, partendo da una base accettabile
stimata attraverso la fase di dimostrazione. Viene in questa sezione presentato uno degli ultimi algoritmi svi- luppati per l''apprendimento di primitive motorie, l''algoritmo PoWER
[25]. L''azione a = f(z) + '  ` e l''output della primitiva mentre la variabile  rappresenta il fattore esplorazione durante l''apprendimento. In particolare, l''obbiettivo dell''apprendimento per rinforzo consiste nell''imparare un politica deterministica: 44 CAPITOLO 3. APPRENDIMENTO ROBOTICO ¯ a = θ T µ(s) = f(z) dove θ = [wi '' < N ] Si pu` o definire la politica di esplorazione come: a = θ T µ(s, t) + (µ(s, t)) l''esplorazione pu` o essere espressa come: (µ(s, t)) = ε T
t con [εt]ij '' N (0, ρ 2
ij ), con ρ 2
ij meta-parametro di esplorazione che deve essere ottimizzato durante il processo di apprendimento. La regola di apprendimento per PoWER risulta quindi: θ 0 = θ + E{ PT t=1 εtQ ' (s t, at, t)} E{ PT t=1 Q ' (st, at, t)} dove Q ' (s, a, t) = E{ T X ' t=t r(s't, a't, s't+1, 't)|st = s, at = a} che rappresenta la funzione state-action value.
I meta-parametri di esplorazione ρ2 ij determinano il comportamen- to esplorativo dell''agente. Valori elevati coincidono con un comporta-
mento molto esplorativo che causa continui e veloci cambiamenti nella
policy. Il valore dei meta-parametri decresce durante il processo di appren- dimento, permettendo cos`ı la convergenza verso la politica ottima. La cooperazione del recente algoritmo PoWER insieme a tecniche di apprendimento per dimostrazione pu` o essere visto nei lavori di [25], [27]. 45 CAPITOLO 3. APPRENDIMENTO ROBOTICO 46 Conclusioni e possibili
sviluppi Nei primi due capitoli sono stati presentati, in modo teorico e genera-
le, due particolari paradigmi di apprendimento: l''apprendimento per
dimostrazione e l''apprendimento per rinforzo. Nel terzo capitolo, in-
vece, l''attenzione si ` e concentrata sulle applicazioni e i problemi da affrontare quando si utilizzano, in campo robotico, le tecniche esposte
precedentemente. In particolare ` e interessante notare come i paradigmi presenta- ti abbiano caratteristiche complementari: l''apprendimento per dimo-
strazione si rivela molto efficiente e veloce nell''apprendimento preli-
minare di movimenti che richiedono grande coordinazione fra i giunti
del robot. Il comportamento appreso risulta per` o poco generalizza- bile, perci` o poco adattabile a nuove situazioni; inoltre, la qualit` a del comportamento appreso ` e estremamente dipendente dalla qualit` a della dimostrazione. L''apprendimento per rinforzo, invece, si rivela il pi` u adatto per l''apprendimento di specifiche interazioni con l''ambiente esterno. In
particolare, il processo di apprendimento permette di generalizzare il
comportamento e, di conseguenza,reagire a situazioni sconosciute, se
queste presentano somiglianze con quelle gi` a affrontate. L''apprendi- mento per rinforzo risulta per` o molto lento nel processo di appren- dimento e non particolarmente adatto all''apprendimento di primitive
motorie complesse. Infine, la programmazione diretta risulta il metodo di apprendi- mento meno utilizzato; la grande precisione offerta da questo metodo,
infatti, non compensa la lunga lista di limitazioni che non possono es-
sere trascurate, fra le quali la scarsa o nulla generalizzazione del com- 47 CAPITOLO 3. CONCLUSIONI E POSSIBILI SVILUPPI pito che richiede una programmazione diretta da parte di un''utente
umano. Analizzando i pro e i contro dei paradigmi presentati, si nota come le qualit` a dell''uno siano i difetti dell''altro e viceversa. Risulta, quindi, evidente che una loro applicazione congiunta ` e assai performante per l''apprendimento di nuove capacit` a, in particolare di primitive motorie. L''apprendimento per dimostrazione viene utilizzato, in una fase preli-
minare, per l''apprendimento della primitiva, mentre, l''apprendimento
per rinforzo ` e utilizzato per generalizzare e migliorare l''esecuzione della stessa. Questo processo di apprendimento ` e molto simile al processo di apprendimento dell''essere umano: l''alunno osserva il comportamen-
to del maestro e ne impara le basi (apprendimento per dimostrazio-
ne) e continua a provarlo finch´ e non riesce a replicarlo efficacemente (apprendimento per rinforzo). La creazione di robot sempre pi` u simili all''uomo, sia nei metodi di apprendimento che nel comportamento, ` e, ancora oggi, la vetta da raggiungere prima della loro diffusione nella societ` a. I paradigmi presentati sono sulla buona strada per il raggiungimen- to di questo obbiettivo' ` E difficile dirlo: la robotica e, in particolare, l''apprendimento robotico sono dei campi di ricerca giovani e in conti-
nua evoluzione. Definire con chiarezza il loro futuro ` e un''impresa non facile; l''apprendimento per dimostrazione non offre solo una tecnica
per l''apprendimento di nuovi movimenti, ma attualmente offre an-
che un''interfaccia di interazione uomo-macchina innovativa che sar` a, molto probabilmente, alla base delle future interfacce uomo-robot. Il futuro dell''apprendimento per rinforzo, invece, ` e strettamente legato alla rappresentazione della policy, in particolare le caratteri-
stiche di: correlations, adaptability, multi-resolution, globality, multi-
dimensionality e convergence sono difficilmente implementabili, ma
una loro implementazione efficiente aprirebbe alla robotica nuove e
numerose possibilit` a. In particolare, implementare una policy trasferibile, espandibile e indipendente dalle caratteristiche tecniche del robot, aprirebbe le por-
te all''apprendimento comunitario da parte di un gruppo di robot che
potrebbero,perci` o, scambiarsi politiche e informazioni per apprendere nuove capacit` a o migliorare quelle gi` a esistenti. Un progetto da poco 48 CAPITOLO 3. CONCLUSIONI E POSSIBILI SVILUPPI inaugurato presenta la stessa idea: RoboEarth [57], in cui i robot pos-
sono scambiarsi informazioni tramite la rete e migliorare cos`ı la loro
interazione con l''ambiente. Concludendo, non ` e ancora possibile definire limiti precisi alla ro- botica e all''apprendimento robotico; le tecniche, presentate in questo
elaborato, risultano efficaci, ma non sono perfette: se non saranno, co-
munque,direttamente protagoniste nel futuro della robotica, saranno
sicuramente alla base delle future applicazioni. 49 CAPITOLO 3. CONCLUSIONI E POSSIBILI SVILUPPI 50 Bibliografia [1] B. Akgun, M. Cakmak, K. Jiang, and A. Thomaz. Keyframe- based learning from demonstration. International Journal of Social Robotics, 4(4):343''355, 2012. [2] A. Alissandrakis, C. Nehaniv, and K. Dautenhahn. Correspon- dence mapping induced state and action metrics for robotic imita-
tion. Systems, Man, and Cybernetics, Part B: Cybernetics, IEEE
Transactions on, 37(2):299''307, April 2007. [3] E. Alpaydin. Introduction to Machine Learning. The MIT Press, 2nd edition, 2010. [4] C. W. Anderson. Strategy learning with multilayer connectio- nist representations. In In Proceedings of the Fourth Interna-
tional Workshop on Machine Learning, pages 103''114. Morgan
Kaufmann, 1987. [5] B. D. Argall, S. Chernova, M. Veloso, and B. Browning. A sur- vey of robot learning from demonstration. Robot. Auton. Syst.,
57(5):469''483, May 2009. [6] C. G. Atkeson and S. Schaal. Robot learning from demonstra- tion. In Proceedings of the Fourteenth International Conference
on Machine Learning, ICML ''97, pages 12''20, San Francisco, CA,
USA, 1997. Morgan Kaufmann Publishers Inc. [7] J. Babi' c, J. G. Hale, and E. Oztop. Human sensorimotor learning for humanoid robot skill synthesis. Adaptive Behavior - Animals,
Animats, Software Agents, Robots, Adaptive Systems, 19(4):250''
263, Aug. 2011. 51 BIBLIOGRAFIA [8] A. G. Barto, R. S. Sutton, and C. W. Anderson. Artificial neural networks. chapter Neuronlike Adaptive Elements That Can Solve
Difficult Learning Control Problems, pages 81''93. IEEE Press,
Piscataway, NJ, USA, 1990. [9] R. Bellman. Dynamic programming. Princeton University Press, Princeton, NY, 1957. [10] R. Bellman. Dynamic Programming. Dover Publications, 1957. [11] A. Billiard, S. Callion, R. Dillman, and S. Schaal. Robot programming by demostration, chapter 59. MIT Press, 2007. [12] M. Brady. Robot Motion: Planning and Control. Artificial Intelligence Series. MIT Press, 1982. [13] W. A. Clark and B. G. Farley. Generalization of pattern re- cognition in a self-organizing system. In Proceedings of the March 1-3, 1955, Western Joint Computer Conference, AFIPS
''55 (Western), pages 86''91, New York, NY, USA, 1955. ACM. [14] R. Coulom. Reinforcement Learning Using Neural Networks, with Applications to Motor Control. PhD thesis, Institut National Polytechnique de Grenoble, 2002. [15] R. Dillmann, M. Kaiser, and A. Ude. Acquisition of elemen- tary robot skills from human demonstration. In In International
Symposium on Intelligent Robotics Systems, pages 185''192, 1995. [16] P. F. Dominey, A. Mallet, and E. Yoshida. Real-time spoken- language programming for cooperative interaction with a hu-
manoid apprentice. I. J. Humanoid Robotics, 6(2):147''171, 2009. [17] K. Fu. Learning Control Systems: Review and Outlook. School of Electrical Engineering, Purdue University, 1969. [18] D. Grollman and A. Billard. Robot learning from failed demon- strations. International Journal of Social Robotics, 4(4):331''342,
2012. 52 BIBLIOGRAFIA [19] D. H. Grollman and A. Billard. Donut as i do: Learning from failed demonstrations. In ICRA, pages 3804''3809. IEEE, 2011. [20] A. J. Ijspeert, J. Nakanishi, and S. Schaal. Learning attractor landscapes for learning motor primitives. In in Advances in Neu-
ral Information Processing Systems, pages 1523''1530. MIT Press,
2003. [21] K. Ikeuchi, M. Kawade, and T. Suehiro. Toward assembly plan from observation - task recognition with planar, curved and
mechanical contacts. In IROS, pages 2294''2301. IEEE, 1993. [22] M. Kawato, F. Gandolfo, H. Gomi, and Y. Wada. Teaching by showing in kendama based on optimization principle. In M. Mari-
naro and P. Morasso, editors, ICANN 94, pages 601''606. Springer
London, 1994. [23] A. H. Klopf. Brain function and adaptive systems - a heterostatic theory. Technical Report AFCRL-72-0164, Air Force Cambridge
Research Laboratories, L. G. Hanscom Field, Bedford, MA, 1972. [24] A. H. Klopf. A comparison of natural and artificial intelligence. SIGART Bull., (52):11''13, June 1975. [25] J. Kober and J. Peters. Learning motor primitives for robotics. In Robotics and Automation, 2009. ICRA ''09. IEEE International
Conference on, pages 2112''2118, May 2009. [26] P. Kormushev, S. Calinon, D. Caldwell, and B. Ugurlu. Chal- lenges for the policy representation when applying reinforcement
learning in robotics. In Neural Networks (IJCNN), The 2012 International Joint Conference on, pages 1''8, June 2012. [27] P. Kormushev, S. Calinon, and D. G. Caldwell. Robot motor skill coordination with EM-based Reinforcement Learning. pages
3232''3237, Oct. 2010. [28] P. Kormushev, S. Calinon, and D. G. Caldwell. Reinforce- ment learning in robotics: Applications and real-world challenges.
Robotics, 2(3):122''148, 2013. 53 BIBLIOGRAFIA [29] J.-C. Latombe. Robot Motion Planning. Kluwer Academic Publishers, Norwell, MA, USA, 1991. [30] A. Markov and N. Nagorny. The Theory of Algorithms. Mathematics and its Applications. Springer, 2010. [31] J. M. Mendel and R. W. McLaren. A prelude to neural networks. chapter Reinforcement-learning Control and Pattern Recognition
Systems, pages 287''318. Prentice Hall Press, Upper Saddle River,
NJ, USA, 1994. [32] D. Michie. Trial and Error. In S. A. Barrett and A. McLaren, editors, Penguin Science Survey 1961, pages 129''145. Penguin
Books Ltd., London, UK, June 1961. [33] D. Michie. Experiments on the mechanization of game-learning Part I. Characterization of the model and its parameters.
6(3):232''236, Oct. 1963. [34] M. Minsky. Theory of Neural-analog Reinforcement Systems and Its Application to the Brain Model Problem. Princeton University., 1954. [35] M. Minsky. Steps toward artificial intelligence. In Computers and Thought, pages 406''450. McGraw-Hill, 1961. [36] T. Mitchell. Machine Learning (Mcgraw-Hill International Edit). McGraw-Hill Education (ISE Editions), 1st edition, Oct. 1997. [37] H. Miyamoto, S. Schaal, F. Gandolfo, H. Gomi, Y. Koike, R. Osu, E. Nakano, Y. Wada, and M. Kawato. A kendama learning robot
based on bi-directional theory. Neural Networks, 9(8):1281 '' 1302,
1996. Four Major Hypotheses in Neuroscience. [38] K. Muelling, J. Kober, O. Kroemer, and J. Peters. Learning to select and generalize striking movements in robot table tennis.
(3):263''279, 2013. [39] C. L. Nehaniv and K. Dautenhahn. Like me' '' measures of correspondence and imitation, 2001. 54 BIBLIOGRAFIA [40] C. L. Nehaniv and K. Dautenhahn. Imitation in animals and artifacts. chapter The Correspondence Problem, pages 41''61.
MIT Press, Cambridge, MA, USA, 2002. [41] L. Peternel and J. Babic. Humanoid robot posture-control lear- ning in real-time based on human sensorimotor learning ability.
In Robotics and Automation (ICRA), 2013 IEEE International
Conference on, pages 5329''5334, May 2013. [42] J. Peters and S. Schaal. Natural actor critic. (7-9):1180''1190, 2008. [43] L. Rejeb, Z. Guessoum, and R. M''Hallah. An adaptive approach for the exploration-exploitation dilemma for learning agents. In
M. Pechoucek, P. Petta, and L. Z. Varga, editors, CEEMAS,
volume 3690 of Lecture Notes in Computer Science, pages 316''
325. Springer, 2005. [44] S. Schaal. Is imitation learning the route to humanoid robots' Trends Cogn Sci, 3(6):233''242, June 1999. [45] S. Schaal, A. Ijspeert, and A. Billard. Computational approaches to motor learning by imitation. Philos Trans R Soc Lond B Biol
Sci, 358(1431):537''547, March 2003. [46] S. Schaal, P. Mohajerian, and A. Ijspeert. Dynamics systems vs. optimal control a unifying view. In T. D. Paul Cisek and
J. F. Kalaska, editors, Computational Neuroscience: Theoretical
Insights into Brain Function, volume 165 of Progress in Brain
Research, pages 425 '' 445. Elsevier, 2007. [47] S. Schaal, J. Peters, J. Nakanishi, and A. Ijspeert. Learning movement primitives. In International Symposium on Robotics
Research (ISRR2003. Springer, 2004. [48] A. Segre and G. DeJong. Explanation-based manipulator lear- ning: Acquisition of planning ability through observation. In Robotics and Automation. Proceedings. 1985 IEEE International
Conference on, volume 2, pages 555''560, Mar 1985. 55 BIBLIOGRAFIA [49] P. Simon. Too Big to Ignore: The Business Case for Big Data, page 89. Wiley, 2013. [50] K. O. Stanley and R. Miikkulainen. Efficient reinforcement lear- ning through evolving neural network topologies. In Proceedings
of the Genetic and Evolutionary Computation Conference, GEC-
CO ''02, pages 569''577, San Francisco, CA, USA, 2002. Morgan
Kaufmann Publishers Inc. [51] R. S. Sutton. Temporal Credit Assignment in Reinforcement Learning. PhD thesis, 1984. AAI8410337. [52] R. S. Sutton and A. G. Barto. Introduction to Reinforcement Learning. MIT Press, Cambridge, MA, USA, 1st edition, 1998. [53] G. Tesauro. Practical issues in temporal difference learning. Machine Learning, 8:257''277, 1992. [54] G. Tesauro. Temporal difference learning and td-gammon. Commun. ACM, 38(3):58''68, Mar. 1995. [55] E. L. Thorndike. Animal intelligence : an experi- mental study of the associative processes in animals / by Edward L. Thorndike. New York :Macmillan,. http://www.biodiversitylibrary.org/bibliography/25848. [56] S. Vijayakumar and S. Schaal. Locally weighted projection re- gression: An o(n) algorithm for incremental real time learning in
high dimensional space. In in Proceedings of the Seventeenth In-
ternational Conference on Machine Learning (ICML 2000, pages
1079''1086. [57] M. Waibel, M. Beetz, R. D''Andrea, R. Janssen, M. Tenorth, J. Ci- vera, J. Elfring, D. G´ alvez-L´ opez, K. H¨ aussermann, J. Montiel, A. Perzylo, B. Schie'le, O. Zweigle, and R. van de Molengraft. Ro-
boEarth - A World Wide Web for Robots. Robotics & Automation
Magazine, 18(2):69''82, 2011. [58] M. Waltz and K. Fu. A heuristic approach to reinforcement lear- ning control systems. Automatic Control, IEEE Transactions on,
10(4):390''398, Oct 1965. 56 BIBLIOGRAFIA [59] C. Watkins and P. Dayan. Technical note: Q-learning. Machine Learning, 8(3-4):279''292, 1992. [60] C. J. C. H. Watkins. Learning from Delayed Rewards. PhD thesis, King''s College, Cambridge, UK, May 1989. [61] B. Widrow, N. K. Gupta, and S. Maitra. Punish/reward: Lear- ning with a critic in adaptive threshold systems. Systems, Man
and Cybernetics, IEEE Transactions on, SMC-3(5):455''465, Sept
1973. [62] R. J. Williams. Simple statistical gradient-following algori- thms for connectionist reinforcement learning. Mach. Learn., 8(3-4):229''256, May 1992. [63] Y. Zhang and J. Weng. Task transfer by a developmen- tal robot. Evolutionary Computation, IEEE Transactions on, 11(2):226''248, April 2007. 57


© Eiom - All rights Reserved     P.IVA 00850640186