apprendimento di movimenti della testa tramite hidden markov model
DESCRIPTION
Apprendimento di movimenti della testa tramite Hidden Markov Model (Anna Belardinelli)TRANSCRIPT
UNIVERSITA DEGLI STUDI DI ROMA “LA SAPIENZA”
Facolta di Ingegneria
Corso di Laurea in Ingegneria Informatica
Apprendimento di movimenti della testa
tramite Hidden Markov Model
Relatore: Candidato:
Prof.ssa Fiora Pirri Anna Belardinelli
matricola 786894
Anno Accademico 2004-2005
Indice
Introduzione 7
1 L’apprendimento automatico 10
1.1 Introduzione . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
1.2 Tipi di approccio e di apprendimento . . . . . . . . . . . . . . 12
1.3 Apprendimento supervisionato . . . . . . . . . . . . . . . . . . 14
1.4 Apprendimento non supervisionato . . . . . . . . . . . . . . . 18
1.5 Apprendimento con rinforzo . . . . . . . . . . . . . . . . . . . 20
1.6 Apprendimento Bayesiano . . . . . . . . . . . . . . . . . . . . 24
2 L’apprendimento per imitazione 27
2.1 Introduzione: problemi e questioni dell’apprendimento per i-
mitazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.2 L’imitazione: la prospettiva delle scienze cognitive . . . . . . . 29
2.3 L’apprendimento per imitazione nei sistemi artificiali . . . . . 34
2.4 Tecniche ed applicazioni . . . . . . . . . . . . . . . . . . . . . 38
2.5 Un approccio innovativo: un modello probabilistico dell’imi-
tazione . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
2.6 Prospettive future . . . . . . . . . . . . . . . . . . . . . . . . . 42
3 Strumenti teorici e metodologici 43
3.1 Markov Chain Monte Carlo per l’apprendimento automatico . 43
3.1.1 Il principio di Monte Carlo . . . . . . . . . . . . . . . . 47
3.2 L’algoritmo di Metropolis-Hastings . . . . . . . . . . . . . . . 48
2
3.3 Hidden Markov Model . . . . . . . . . . . . . . . . . . . . . . 50
3.3.1 Processi di Markov discreti . . . . . . . . . . . . . . . . 51
3.3.2 Elementi di un HMM . . . . . . . . . . . . . . . . . . . 52
3.3.3 La procedura Forward-Backward . . . . . . . . . . . . 55
3.3.4 L’algoritmo di Viterbi . . . . . . . . . . . . . . . . . . 58
3.3.5 Le formule di Baum-Welch . . . . . . . . . . . . . . . . 59
4 Stato dell’arte e genesi del modello 64
4.1 Le architetture cognitive . . . . . . . . . . . . . . . . . . . . . 64
4.2 Perche apprendere per imitazione a spostare il fuoco attentivo 69
4.3 Decomposizione del compito di attenzione condivisa . . . . . . 71
4.4 Apprendere i movimenti della testa: un confronto con la let-
teratura . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
4.5 Costruzione del modello e dell’architettura cognitiva per l’e-
sperimento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5 Contributo sperimentale 80
5.1 Obiettivi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.2 L’apparato sperimentale . . . . . . . . . . . . . . . . . . . . . 81
5.3 La segmentazione . . . . . . . . . . . . . . . . . . . . . . . . . 81
5.4 La metrica per i movimenti . . . . . . . . . . . . . . . . . . . 82
5.5 Produzione dei dati per l’addestramento . . . . . . . . . . . . 84
5.6 Modellazione con HMM . . . . . . . . . . . . . . . . . . . . . 86
5.7 L’addestramento . . . . . . . . . . . . . . . . . . . . . . . . . 89
5.8 Risultati di riconoscimento e imitazione . . . . . . . . . . . . . 90
Conclusioni e sviluppi futuri 94
A L’algoritmo K-mean per il clustering 96
B Codice Matlab 98
B.1 calcolo deltac.m . . . . . . . . . . . . . . . . . . . . . . . . . . 98
B.2 segm imm.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
3
B.3 face crop.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
B.4 metropolis.m . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
B.5 campionidelta.m . . . . . . . . . . . . . . . . . . . . . . . . . . 103
B.6 trovaframe.m . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
B.7 elaborastati.m . . . . . . . . . . . . . . . . . . . . . . . . . . . 104
B.8 calcolacentro.m . . . . . . . . . . . . . . . . . . . . . . . . . . 105
B.9 elaboraemissioni.m . . . . . . . . . . . . . . . . . . . . . . . . 106
B.10 hmmstima.m . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
B.11 hmmstima2.m . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
B.12 hmmtraining.m . . . . . . . . . . . . . . . . . . . . . . . . . . 108
B.13 hmmtraining2.m . . . . . . . . . . . . . . . . . . . . . . . . . 109
B.14 viterbi.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
B.15 mostraris.m . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
Bibliografia 112
4
Elenco delle figure
1.1 Albero di decisione per una funzione booleana . . . . . . . . . 15
1.2 Rete neurale multistrato . . . . . . . . . . . . . . . . . . . . . 16
1.3 Struttura dell’apprendimento con rinforzo . . . . . . . . . . . 22
3.1 Grafo di transizione per una catena di Markov a tre stati . . . 45
3.2 Sequenza di operazioni necessarie per il calcolo della variabile
forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.3 Sequenza di operazioni necessarie per il calcolo di ξt (i, j) . . . 61
4.1 Decomposizione dell’abilita di attenzione congiunta in quattro
sotto-compiti . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
4.2 Schema di apprendimento implementato . . . . . . . . . . . . 77
4.3 L’architettura cognitiva del sistema implementato : sono pre-
senti cinque aree e le relazioni intercorrenti . . . . . . . . . . . 78
5.1 Segmentazione del frame in 3 classi . . . . . . . . . . . . . . . 83
5.2 Sequenza di frame segmentati . . . . . . . . . . . . . . . . . . 85
5.3 Posizione del viso nel frame attuale e possibili movimenti nel
frame successivo . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.4 Visualizzazione degli stati imitati (frame 1-36) . . . . . . . . . 92
5.5 Visualizzazione degli stati imitati (frame 41-76) . . . . . . . . 93
A.1 Schema dei passi che compongono l’algoritmo K-mean per il
clustering . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
5
Elenco delle tabelle
5.1 Matrice delle transizioni di stato . . . . . . . . . . . . . . . . . 88
5.2 Matrice delle emissioni . . . . . . . . . . . . . . . . . . . . . . 88
5.3 Matrice delle transizioni dopo l’addestramento . . . . . . . . . 89
5.4 Matrice delle emissioni dopo l’addestramento . . . . . . . . . . 90
5.5 Confronto tra stati effettivi e stati ricostruiti . . . . . . . . . . 90
6
Introduzione
What is a system? As any poet knows, a system is a way of looking
at the world.
-Gerald M.Weinberg, An Introduction to General Systems Thinking
L’intelligenza artificiale e una delle branche della scienza che ha fatto piu
progressi negli ultimi anni, offrendo possibilita e scenari prima ascrivibili al
solo campo della fantascienza.
Le prospettive di un mondo in cui esseri umani e sistemi artificiali siano
pienamente integrati e possano collaborare in modo efficiente e naturale
sono visibili per ora solo proiettando lo sguardo verso l’orizzonte, ma le
fondamenta di questa visione vengono gettate oggi e inevitabilmente pog-
giano sui contributi di diversi campi scientifici, tecnologie e approcci inter- e
multidisciplinari.
Una delle esigenze emergenti della ricerca nel campo delle scienze cogni-
tive e dell’intelligenza artificiale e’ l’integrazione e cooperazione fra diverse
aree di ricerca per capire approfonditamente i meccanismi e i principi del-
l’apprendimento animale ed essere cosi’ in grado di riprodurli nei sistemi
artificiali.
Un ambito che si e fortemente giovato di stimoli ed idee provenienti dalle
scienze cognitive, biologiche e neurofisiologiche e sicuramente quello dell’ap-
prendimento automatico. Affrontando la descrizione, la formalizzazione e la
7
8
riproduzione di un’attivita peculiarmente umana, per quanto, spesso, con
scopi e modalita che esulano dalla prospettiva prettamente antropocentri-
ca, l’apprendimento automatico e, all’interno dell’intelligenza artificiale, uno
dei campi di ricerca in maggiore fermento e, tra quelli in grado, non solo
di mutuare elementi da altre scienze, ma anche di fornire in risposta spun-
ti, quando non soluzioni o giustificazioni scientifiche, a questioni riguardanti
l’uomo come sistema naturale.
Accanto ad approcci collaudati ed ampiamente esplorati, come l’apprendi-
mento supervisionato, non supervisionato e con rinforzo, nella comunita
scientifica si stanno attualmente indagando le possibilita e i risvolti com-
putazionalmente vantaggiosi offerti dall’apprendimento per imitazione. I
tempi per una ricerca del genere sono stati accelerati dall’estensione alla
visione artificiale, al decision-making e al ragionamento e all’apprendimento
automatici di metodi di statistica inferenziale Bayesiana. Queste tecniche
hanno permesso la realizzazione di sistemi predittivi e imitativi, basandosi
sull’evidenza che, implicitamente, anche l’uomo compie calcoli probabilistici
in molti processi cognitivi. Partendo da queste premesse e con l’entusiasmo
che accompagna i progetti dotati di aspetti pionieristici, grazie alla guida
della mia relatrice ho approfondito queste tematiche e sviluppato l’idea del
lavoro sperimentale presentato in questa tesi.
E’ esperienza comune il bisogno di stabilire un contatto visivo e imparare
a seguire i movimenti dell’interlocutore per poter interagire con lui. Questa
necessita si presenta tanto piu impellente nel caso di sistemi artificiali che,
progettati per servire l’uomo, devono apprendere ad imitarlo nella sua fisi-
cita, sia che si tratti di sistemi robotici mobili, che di piattaforme fisse che
interagiscono con utenti seduti. Apprendere i movimenti della testa e percio
risultato un compito necessario per mantenere l’attenzione del sistema foca-
lizzata su un punto cruciale per l’osservazione o l’inferenza delle intenzioni
umane. Diversi approcci sono stati implementati in letteratura, in mancanza
di una comprensione completa delle molteplici sfaccettature del problema e
di una teoria unificata per descriverlo. In questo lavoro l’architettura co-
9
gnitiva scelta e basata sull’utilizzo degli Hidden Markov Model, una tecnica
relativamente recente ma che ci e sembrata ideale per modellizzare gli aspetti
probabilistici e sequenziali del problema.
Capitolo 1
L’apprendimento automatico
1.1 Introduzione
Hilgard e Bower (1970), psicologi comportamentisti, hanno definito l’ap-
prendimento come ”una modifica del comportamento, ovvero delle relazioni
tra stimoli e risposte, che si instaura in seguito ad opportune stimolazioni
esterne e non e riconducibile a processi di maturazione biologica, a malattie
o all’assunzione di sostanze chimiche”. Il concetto di apprendimento copre
una vasta gamma di processi che e difficile definire precisamente. Zoologi e
psicologi hanno studiato l’apprendimento negli animali e negli uomini. Ci
sono molti paralleli tra l’apprendimento automatico e quello animale. Varie
tecniche di apprendimento implementate in sistemi artificiali derivano dagli
sforzi degli psicologi di affinare le teorie sull’apprendimento umano ed animale
attraverso modelli computazionali. In maniera inversa, concetti e tecniche
studiate dai ricercatori nell’apprendimento automatico possono chiarire certi
aspetti dell’apprendimento biologico (Nilsson,1996, [23]).
Riguardo ai sistemi artificiali, si puo dire, molto in generale, che una
macchina impara quando cambia la sua struttura, i programmi o i dati (in
base agli input o in risposta a informazioni esterne) in maniera tale che le
prestazioni successive migliorano. Alcuni di questi cambiamenti, come l’ag-
giunta di un record in un data base, ricadono nell’ambito di altre discipline
10
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 11
e non sono necessariamente esempi di apprendimento. Quando, pero, i risul-
tati di una macchina per il riconoscimento del parlato, ad esempio, miglio-
rano dopo aver sentito diversi esempi del parlato di una persona, ci si sente
abbastanza giustificati nel dire che quella macchina ha imparato.
Ci si potrebbe chiedere perche le macchine debbano imparare, invece di
progettarle sin dall’inizio per svolgere i compiti desiderati. In molti casi
questo e difficile se non impossibile. T. Dietterich ([12]) divide questi casi in
quattro categorie.
In primo luogo, ci sono problemi per cui non esistono esperti umani. Per
esempio nelle produzioni manifatturiere automatizzate si presenta il bisogno
di predire i guasti alle macchine prima che accadano, analizzando le misure
dei sensori. Poiche le macchine sono nuove, non ci sono esperti umani che
possono essere consultati da un programmatore per ottenere la conoscenza
necessaria a costruire un sistema informatico. Un sistema in grado di ap-
prendere puo studiare i dati registrati e i successivi guasti alle macchine e
imparare le regole per prevederli.
In secondo luogo, ci sono problemi per cui esistono esperti umani, ma questi
non sono in grado di spiegare la loro esperienza. Questo avviene in molti
compiti percettivi, come il riconoscimento del parlato, riconoscimento della
calligrafia o la comprensione del linguaggio naturale. In genere ogni uomo
ha capacita da esperto in questi compiti, ma nessuno sa descrivere i passi
dettagliati che segue per raggiungere l’obiettivo. Fortunatamente, gli uomini
possono fornire alle macchine degli esempi di input e output corretti, cosicche
gli algoritmi di apprendimento automatico possono imparare a mappare gli
input sugli output.
Nella terza categoria vengono inclusi i problemi in cui i fenomeni cambiano
rapidamente. Nella finanza, per esempio, le persone vorrebbero predire il
comportamento futuro del mercato azionario, della domanda di acquisto o
dei tassi di cambio. Questi comportamenti cambiano frequentemente, per-
tanto, anche se un programmatore potesse realizzare un buon programma
di predizione, questo andrebbe riscritto frequentemente. Un programma che
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 12
apprende puo sollevare il programmatore da questo carico modificando e ag-
giustando costantemente un insieme di regole di predizione apprese.
Da ultimo, ci sono applicazioni che hanno bisogno di essere personalizzate
separatamente per ogni utente. Ad esempio, un programma che filtra la
posta elettronica. Non e ragionevole aspettarsi che ogni utente programmi
le proprie regole di filtraggio. Un sistema che apprende puo imparare quali
messaggi l’utente scarta e acquisire automaticamente le regole di filtraggio.
1.2 Tipi di approccio e di apprendimento
Gli studi sull’apprendimento automatico provengono da diverse discipline,
che hanno introdotto differenti approcci, metodologie e nomenclature. Tra i
campi coinvolti ci sono la statistica, il data mining, la psicologia, l’intelligenza
artificiale, il brain modeling, la teoria del controllo.
Nella scienza cognitiva contemporanea si sono distinti due tipi di approcci
alla soluzione dei problemi di apprendimento (Pessa, [24]):
• l’approccio simbolico, che descrive stimoli e risposte a livello macro-
scopico, rappresenta la conoscenza in modo localizzato tramite sim-
boli e prevede che l’apprendimento consista in processi computazionali
agenti sui simboli.
• l’approccio connessionistico, che descrive stimoli e risposte a livello
microscopico, rappresenta la conoscenza in maniera distribuita tramite
le relazioni tra micro-unita cognitive (i nodi delle reti neurali), e fa
consistere l’apprendimento in particolari processi computazionali che
modificano i valori dei pesi della rete.
I modelli piu comuni sono basati su macchine a stati finiti e grammatiche
generative, modelli simbolici basati su regole o programmi logici, model-
li probabilistici e funzionali. In generale, affrontando il problema del cosa
apprendere si assume che l’oggetto dell’apprendimento sia una struttura
computazionale di qualche sorta ([23]). Le strutture piu comuni sono:
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 13
• funzioni
• programmi logici o insiemi di regole
• macchine a stati finiti
• grammatiche
• sistemi di problem solving
E’ stata fatta anche una distinzione basata sul tipo di compiti da ap-
prendere ([12]). L’apprendimento analitico non richiede input esterni, men-
tre l’apprendimento empirico si fonda su una qualche forma di esperienza
esterna. Nel primo il programma e in grado di migliorare le prestazioni sem-
plicemente analizzando il problema (per esempio nel gioco degli scacchi). Nel
secondo gli algoritmi non possono inferire analiticamente le regole del gioco,
ma devono interagire con un insegnante per apprenderle.
La classificazione comunemente piu accettata e comunque quella che vede
l’apprendimento supervisionato applicato ai problemi di decision-making di-
screto e di predizione continua, l’apprendimento con rinforzo per i problemi
di decision-making sequenziale e l’apprendimento non supervisionato, spesso
applicato a problemi di clusterizzazione o di stima di distribuzioni di proba-
bilita (Dietterich, 1999, [14]). Nei prossimi paragrafi approfondiremo questa
suddivisione, ricordando che nello sviluppare un sistema di apprendimento
automatico bisogna rispondere a quattro domande:
1. Come viene rappresentato il classificatore?
2. Come vengono rappresentati gli esempi?
3. Quale funzione obiettivo dovrebbe essere utilizzata per valutare i clas-
sificatori candidati?
4. Quale algoritmo di ricerca dovrebbe essere usato?
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 14
1.3 Apprendimento supervisionato
L’apprendimento supervisionato per la classificazione e uno dei compiti di
apprendimento automatico piu semplici e meglio approfonditi. Esso si basa
su un certo numero di esempi pre-classificati, in cui, cioe, e nota a priori la
categoria alla quale deve appartenere ciascuno degli input usati come esem-
pi. Il nodo cruciale in questo caso e il problema della generalizzazione: dopo
l’analisi di un campione (spesso piccolo) di esempi, il sistema dovrebbe pro-
durre un classificatore1 che lavori bene su tutti i possibili input. Una coppia
costituita da un oggetto e dalla classe associata e detto esempio etichetta-
to. L’insieme degli esempi etichettati forniti all’algoritmo di apprendimento
viene detto training set. Una volta somministrato il training set all’algorit-
mo e ottenuto in output il classificatore, come si puo valutarne la bonta?
In genere si fornisce un secondo insieme di esempi etichettati (test set) e si
misura la percentuale di esempi classificati correttamente e la percentuale di
esempi di test mal classificati.
Nell’ambito dell’apprendimento supervisionato sono inclusi non solo i classi-
ficatori ma anche l’apprendimento di funzioni che predicono valori numerici.
Questo compito viene di solito chiamato regressione. In questo caso ogni
esempio etichettato per l’addestramento e una coppia formata da un ogget-
to e dal valore numerico associato. La qualita della funzione di predizione
appresa e in genere misurata come il quadrato della differenza tra il valore
predetto e il valore reale, sebbene a volte venga preso invece il valore assoluto
di questa differenza.
Ci sono diversi algoritmi di apprendimento che sono stati sviluppati per
la classificazione e la regressione supervisionate. Si possono raggruppare in
base al formalismo adoperato per rappresentare il classificatore o il predit-
tore appreso: alberi di decisione, regole di decisione, reti neurali, funzioni
discriminanti lineari, reti Bayesiane. In particolare, gli alberi di decisione
sono uno degli algoritmi piu versatili ed efficienti. In un albero di ricerca
1programma che associa un oggetto dato in input ad una determinata classe
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 15
Figura 1.1: Albero di decisione per una funzione booleana
ogni nodo verifica il valore di una delle componenti del vettore in ingresso e
indirizza ad uno dei nodi figli, in base al risultato del test. Un nuovo esempio
viene classificato partendo dalla radice dell’albero e applicando il test a quel
nodo. Se il test e positivo si passa al figlio sinistro, altrimenti al destro. Poi si
applica il test del nodo figlio, ricorsivamente fino a che si raggiunge un nodo
foglia, che fornisce la classificazione dell’esempio. Tipicamente gli alberi di
decisione sono costruiti incrementalmente con una procedura top-down. Un
esempio raffigurante una funzione booleana e visibile in fig. 1.1.
L’apprendimento supervisionato e la forma di apprendimento in cui le reti
neurali hanno ottenuto maggior successo. In particolare, i percettroni multi-
strato costituiscono le reti piu popolari ([24]). Nella loro forma piu tipica sono
composti da tre strati di unita: uno strato di ingresso, uno strato di uscita
ed uno o piu strati nascosti, tra i primi due (fig. 1.2). Le connessioni tra gli
strati sono di tipo feed-forward, ovvero senza cicli e con l’output dipendente
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 16
Figura 1.2: Rete neurale multistrato
solo dall’input, e le unita di uscita e\o nascoste hanno leggi di attivazione
non lineare. Gli algoritmi di apprendimento piu usati si basano su training
set di vettori di input e di corrispondenti output desiderati. L’apprendimento
consiste nell’esplorare varie volte il training set, aggiustando gradualmente i
pesi delle connessioni in modo tale che l’output si avvicini sempre piu a quello
desiderato. Il problema di trovare valori ottimali dei pesi in funzione degli
esempi presentati viene risolto con leggi di apprendimento supervisionato:
la piu famosa di queste leggi e la regola di error-backpropagation. Secondo
questa regola l’errore delle unita di uscita viene propagato all’indietro per
produrre una stima di quanto una data unita nascosta abbia contribuito al-
l’errore. Queste stime vengono poi usate per aggiustare i pesi (Arbib, [2]).
Questa regola, pero, presenta l’inconveniente di non poter garantire, all’au-
mentare delle iterazioni, la convergenza verso l’errore minimo possibile. Gli
esempi visti fino adesso corrispondono, secondo un’ulteriore classificazione,
ad un apprendimento di tipo induttivo, detto inductive concept learning. In
questi casi, cioe, il training set in genere non esaurisce lo spazio degli esempi
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 17
possibili. Questi metodi sono definiti induttivi perche inferiscono un concetto
generale sulla base di un insieme di esempi; poiche resta comunque aperto il
problema della falsificazione (Popper, 1959, [25]), l’apprendimento indutti-
vo soffre di problemi di overfitting. Altre forme di apprendimento induttivo
sono gli ID3 e il ”Version Space” di Mitchell ( [20], [21]). In contrasto con
essi c’e una forma di apprendimento deduttivo, in cui da un insieme di fatti ∆
viene dedotto una proposizione φ. Implicitamente φ era gia nota, conoscen-
do ∆, ma poteva non essere ovvia. Da un insieme di ipotesi o conoscenza
di base ∆ viene dedotto un enunciato φ. Se la deduzione e fatta nella lo-
gica classica, per la monotonicita della deduzione logica φ e’ implicitamente
contenuto in ∆, quindi l’inferenza non puo essere assimilata ad alcuna for-
ma di apprendimento. Viceversa se la deduzione e ”non-classica” e dunque
non-monotona allora φ e ottenuta aggiungendo a ∆ nuove ipotesi. Le ipotesi
aggiunte possono considerarsi come delle spiegazioni apprese. Un sistema
di apprendimento deduttivo conserva φ in memoria, in caso possa servire
successivamente. Questo processo puo essere considerato apprendimento?
Dietterich l’ha chiamato speed-up learning. Esso e analogo all’acquisizione di
abilita da parte delle persone. L’obiettivo di questo apprendimento e ana-
lizzare e ricordare ricerche passate in modo da risolvere piu velocemente i
problemi successivi. Una forma di speed-up learning e l’explanation-based
learning, che si basa sulla disponibilita di conoscenza pregressa per spiegare
perche un particolare passo ha successo o fallisce. Il processo di apprendi-
mento consiste nello ”specializzare” parti della teoria di un dominio al fine di
spiegare un esempio; poi si generalizza la spiegazione per produrre un altro
elemento della teoria del dominio, che potra essere utile per esempi simili.
Un compito piu complesso di apprendimento supervisionato si e rivela-
to l’apprendimento di sequenze, serie temporali e dati spaziali ([12]). Un
esempio di questo tipo e il riconoscimento del parlato: un sistema progettato
per questo scopo deve poter apprendere non solo come mettere in relazione
il segnale vocale con i fonemi, ma anche come mettere in relazione i fonemi
tra di loro. Gli Hidden Markov Model (cfr. cap.3) sono un esempio di clas-
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 18
sificatore che puo apprendere entrambi gli aspetti. Problemi simili nascono
nell’analisi di serie temporali. Ad esempio nell’analisi di misure legate alle
condizioni metereologiche per imparare a predire il tempo futuro. Sarebbe
un errore, anche in questo caso, trattare gli esempi etichettati come se fos-
sero indipendenti. I dati spaziali, a loro volta, presentano problemi simili ai
dati sequenziali, ma in due dimensioni. Spesso i dati di addestramento sono
immagini in cui ogni pixel viene etichettato secondo i vari scopi di classifi-
cazione. Metodi come i Markov Random Field possono essere applicati per
cogliere le relazioni tra pixel adiacenti.
1.4 Apprendimento non supervisionato
L’apprendimento non supervisionato studia come i sistemi possano imparare
a rappresentare particolari modelli dati in input in un modo che rifletta la
struttura statistica dell’intera collezione di modelli (Dayan, [9]). Contraria-
mente all’apprendimento supervsionato o a quello con rinforzo non ci sono
espliciti output-obiettivo o valutazioni ambientali associati ad ogni input;
piuttosto, l’apprendimento non supervisionato porta a produrre bias a priori
come aspetti della struttura dell’input che dovrebbero essere catturati nel-
l’output.
Questo tipo di apprendimento e importante perche probabilmente nel cervel-
lo umano e molto piu comune che l’apprendimento supervisionato. Gli unici
oggetti del dominio dei modelli di apprendimento, in questo caso, sono i
dati x osservati in input, che spesso si assume siano campioni indipendenti
di una distribuzione di probabilita sottostante sconosciuta, P (x), e alcune
informazioni a priori implicite o esplicite. Sono state suggerite due classi
di metodi per l’apprendimento non supervisionato. Le tecniche di stima di
densita di probabilita costruiscono modelli statistici (come le reti Bayesiane)
di come le cause sottostanti possano creare gli input osservati. Le tecniche
di estrazione di features, invece, cercano di estrarre regolarita statistiche (o,
talvolta, irregolarita) direttamente dagli input.
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 19
La classe piu ampia di metodi per l’apprendimento non supervisionato con-
siste in tecniche di stima della densita con il maximum likelihood (ML). Tutte
queste tecniche si basano sulla costruzione di modelli parametrizzati P (x;ϑ)
(dove ϑ indica i parametri) della distribuzione di probabilita PI (x), dove
le forme del modello (e possibilmente le distribuzioni a priori dei parametri
ϑ ) sono vincolate da informazioni a priori. Questi sono chiamati modelli
sintetici o generativi, perche dato un valore particolare di ϑ , essi specificano
come sintetizzare o generare campioni x da P (x;ϑ), la statistica dei quali
dovrebbe corrispondere a P (x). Un modello tipico ha la struttura:
P (x;ϑ) =∑y
P (x|y;ϑ)P (y;ϑ)
dove y rappresenta tutte le cause potenziali dell’input x. Dato un modello
x con parametri ϑ in input, l’output piu generale di questo modello e la
distribuzione a posteriori P (y|x;ϑ), che riconosce quale particolare causa
potrebbe essere alla base di x, usando la regola di Bayes.
Oltre alla stima di densita con ML e alla rilevazione di anomalie, ci sono
diversi altri compiti cui e stato applicato l’apprendimento non supervisiona-
to.
Data un’ampia collezione di oggetti, spesso si vuole essere in grado di com-
prenderli e visualizzare le loro relazioni. Il compito del clustering gerarchico
divide un insieme di oggetti in una gerarchia tale che oggetti simili sono rag-
gruppati insieme. Un approccio standard consiste nel definire una misura di
similarita tra due oggetti qualunque e quindi cercare cluster di oggetti che
sono piu simili tra loro, rispetto agli oggetti negli altri cluster. Un altro ap-
proccio per comprendere e visualizzare dati consiste nel collocare gli oggetti
in uno spazio di dimensione minore (per esempio, passare da uno spazio a
dimensione 5 ad un piano bidimensionale) in modo da raggruppare in base ad
una misura di distanza (per esempio, la distanza Euclidea) gli oggetti vicini.
Anche applicazioni di completamento di oggetti e di recupero di informazioni
si basano sul clustering e sulla stima di densita. Il primo compito consiste nel
predire le parti mancanti di un oggetto data una sua descrizione parziale. Il
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 20
secondo recupera oggetti rilevanti (documenti, immagini, impronte digitali)
da una vasta collezione, data una descrizione parziale o pochi esempi degli
oggetti cercati.
1.5 Apprendimento con rinforzo
L’apprendimento con rinforzo e un approccio all’intelligenza artificiale che
enfatizza l’apprendimento da parte di un agente tramite le sue interazioni
con l’ambiente. Questo e in contrasto con gli approcci classici all’apprendi-
mento automatico, concentrati piuttosto sull’apprendimento da un esperto o
sul ragionamento su un modello completo dell’ambiente (Sutton, [32]). La
ricerca attuale sull’apprendimento con rinforzo e fortemente interdisciplinare,
include ricercatori specializzati in algoritmi genetici, reti neurali, psicologia
e ingegneria del controllo.
In tutti i sistemi di apprendimento questo si manifesta come un’aumenta-
ta capacita di prendere decisioni. Nei compiti di apprendimento supervisio-
nato e non supervisionato visti le decisioni prese dal sistema di elaborazione,
in seguito all’apprendimento, sono non sequenziali. Questo significa che se
il sistema compie un errore in una decisione, esso non influenza le decisioni
successive. Compiti di decision-making sequenziale sorgono in vari domini,
in cui si renda necessario controllare un sistema (per esempio, guidare ro-
bot, macchine o veicoli spaziali; controlli automatici in raffinerie petrolifere,
impianti chimici o fabbriche; gestione di pazienti in terapia intensiva)([12]).
L’apprendimento con rinforzo ha come scopo l’imparare cosa fare-come map-
pare situazioni in azioni-in modo da massimizzare una funzione di ricompen-
sa. Al sistema non viene detto quale azione intraprendere, piuttosto esso
deve scoprire quali azioni portano ad una maggiore ricompensa, provandole.
Nei casi piu interessanti le azioni possono influenzare non solo la ricompensa
immediata ma anche la situazione successiva e, attraverso questa, le ricom-
pense seguenti. Queste due caratteristiche, la ricerca trial and error e la
ricompensa ritardata, sono le due componenti distintive dell’apprendimento
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 21
con rinforzo ([32]).
Una delle questioni che sorgono in questo tipo di apprendimento riguarda
il bilanciamento tra esplorazione e sfruttamento. Per ottenere una grossa ri-
compensa, un agente deve preferire le azioni che ha provato in passato e che
sono risultate efficaci e remunerative in termini di ricompensa. Per scoprire
quali sono queste azioni, pero, deve selezionare delle azioni che non ha ancora
provato. L’agente deve cioe sfruttare quanto gia sa per ottenere la ricom-
pensa, ma deve anche esplorare in modo da poter fare una migliore selezione
delle azioni in futuro. Il problema e che ne lo sfruttamento ne l’esplorazione
possono essere perseguite esclusivamente senza fallire l’obiettivo.
La ricerca attuale sull’apprendimento con rinforzo usa la struttura formale
dei Markov Decision Process, in cui l’agente e l’ambiente interagiscono in
una sequenza di passi a tempo discreto, t=0,1,2,3,.... Ad ogni passo l’agente
percepisce che l’ambiente si trova in uno stato, st, che riassume tutte le varia-
bili del sistema, e seleziona un’azione, at. In risposta, l’ambiente compie una
transizione stocastica verso un nuovo stato, st+1, e stocasticamente emette
una ricompensa numerica, rt+1 ∈ <, una misura del costo dell’azione e della
desiderabilita dello stato attuale (cfr. fig.1.3). L’agente cerca di massimizzare
la ricompensa che riceve nel lungo termine. Ad esempio, l’obiettivo piu
comune e scegliere ogni azione at in modo da massimizzare il valore atteso
della ricompensa scontata:
E{rt+1 + γrt+2 + γ2rt+3 + . . .
}dove γ e un parametro di tasso di sconto, 0 ≤ γ ≤ 1, simile ad un tasso di
interesse in economia. Questa struttura vuole trovare in maniera semplice le
componenti essenziali del problema dell’apprendimento da interazione. Com-
prende percezioni ed azioni, cause ed effetti e un obiettivo esplicito per agire
sull’ambiente. L’incertezza esiste sia all’interno dell’ambiente (poiche e sto-
castico), sia riguardo l’ambiente (poiche le probabilita di transizione potreb-
bero non essere del tutto note). Semplici estensioni di questo problema com-
prendono il caso di percezioni incomplete e limiti computazionali. Nel caso
in cui lo stato del sistema non possa essere interamente osservato ad ogni
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 22
Figura 1.3: Struttura dell’apprendimento con rinforzo
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 23
passo si parla di Partially Observable Markov Decision Process.
In ogni stato l’agente prende le sue decisioni secondo una politica di controllo,
che indica l’azione da compiere. La politica ottimale e quella che massimizza
la somma delle ricompense. L’apprendimento con rinforzo consiste nell’im-
parare una politica di controllo interagendo con un ambiente sconosciuto. Si
puo definire il valore di trovarsi in uno stato s sotto la politica π come il
guadagno scontato considerato partendo in quello stato e seguendo la poli-
tica π. La funzione che fa corrispondere a tutti gli stati i loro valori e detta
funzione stato-valore per la politica:
V π = Eπ
{rt+1 + γrt+2 + γ2rt+3 + . . . |st = s
}.
I valori degli stati definiscono un ordinamento naturale per le politiche. Una
politica π e migliore o uguale ad una politica π′ se e solo se V π (s) ≥ V π′ (s)
per ogni stato s.
Ci sono due approcci principali all’apprendimento per rinforzo: i metodi
model-based e i metodi model-free ([12]).
Nei metodi model-based, il sistema segue una poltica allo scopo di appren-
dere informazioni sull’ambiente. Ogni volta esegue un’azione a nello stato
s e osserva la ricompensa risultante r e lo stato successivo s’. Si memoriz-
za la quadrupla (s,a,r,s’ ) che descrive l’esperienza. Quando ha un numero
sufficiente di queste quadruple, il sistema puo apprendere una funzione proba-
bilita di transizione, P (s′|s, a), e una funzione di ricompensa, R (s, a, s′). La
prima indica che se l’azione a viene eseguita nello stato s, allora l’ambiente
passera nello stato s’ con probabilita P (s′|s, a). La seconda fornisce il valore
medio della ricompensa che sara ricevuta se quanto descritto sopra accade.
Date queste due funzioni, e possibile applicare algoritmi di programmazione
dinamica per calcolare la politica ottima.
Gli algoritmi model-free apprendono la politica direttamente interagendo con
l’ambiente, senza memorizzare quadruple o apprendere P o R. L’algoritmo
piu noto e il Q-learning. Nella sua forma piu semplice esso usa l’esperienza
di ogni stato per aggiornare un elemento di una matrice. Questa matrice,
indicata con Q, contiene un elemento, Q (s, a), per ogni coppia stato-azione.
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 24
Nella transizione st → st+1, compiuta l’azione at e ricevuta la ricompensa
rt+1, l’algoritmo opera l’aggiornamento
Q (st, at)← (1− α)Q (st, at) + α [rt+1 + γmaxQ (st+1, at)]
dove α e un parametro positivo. Sotto appropriate condizioni (assicurando
un’esplorazione sufficiente e una riduzione di α nel tempo), questo processo
converge in modo che la politica golosa2 rispetto a Q e ottimale. In questo
modo l’algoritmo fornisce un modo per trovare una politica ottima basandosi
puramente sull’esperienza, senza modelli della dinamica dell’ambiente.
Metodi piu sofisticati implementano Q non come una tabella, ma come una
funzione parametrizzata addestrabile, come una rete neurale. Questo permet-
te la generalizzazione tra gli stati, che puo ridurre fortemente il tempo di
apprendimento e i requisiti di memoria.
L’apprendimento con rinforzo si e dimostrato un approccio promettente
anche per la pianificazione e il problem solving. In questo caso un modello
dell’ambiente viene usato per simulare un’interazione estensiva tra l’ambiente
stesso e l’agente. Quest’esperienza simulata viene poi elaborata con metodi
di apprendimento con rinforzo proprio come se fosse veramente avvenuta. Il
risultato e una sorta di ”pianificazione per ogni momento” in cui la politica
dell’agente migliora gradualmente col tempo e con lo sforzo computazionale.
1.6 Apprendimento Bayesiano
L’approccio Bayesiano, diversamente dall’approccio ML, si basa sul principio
che sia possibile stabilire inizialmente alcune caratteristiche del modello che
poi saranno aggiustate o verificate dall’esperienza. Esso considera tutti i
modelli di apprendimento (di parametri, di strutture o di entrambi) come la
riduzione dell’incertezza dell’utente riguardo al modello, dati i dati. Inoltre,
codifica tutte le incertezze sui parametri e sulla struttura del modello come
probabilita.
2Politica che sceglie in ogni stato s l’azione a per cui si ha che Q (s, a) e massimo
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 25
L’apprendimento Bayesiano presenta due vantaggi rispetto all’apprendi-
mento classico (Heckerman, 1999, [17]):
1. combina la conoscenza a priori e i dati;
2. i metodi di apprendimento Bayesiano contengono insitamente la strut-
tura del rasoio di Occam.
Consideriamo un problema il cui dominio consiste nelle variabili X =
(X1, X2, . . . , Xn). Inoltre immaginiamo di disporre dei dati D = (x1, x2, . . . , xN),
che rappresentano un campione casuale di qualche distribuzione di proba-
bilita ignota per X. Si assume che la distribuzione di probabilita ignota pos-
sa essere codificata da un qualche modello statistico con la struttura m e i
parametri ϑm. L’incertezza riguardo la struttura e i parametri del model-
lo vengono codificati nell’approccio Bayesiano usando delle probabilita. In
particolare definiamo la variabile discreta M, i cui stati m corrispondono
ai possibili modelli veri, e denotiamo la nostra incertezza su M con la di-
stribuzione di probabilita p (m|ξ), con ξ indicante le informazioni in nostro
possesso. Inoltre, per ogni struttura del modello m, definiamo una variabile
continua in forma di vettore Θm, le cui configurazioni ϑm corrispondono ai
possibili parametri veri. Rappresentiamo la nostra incertezza riguardo a Θm
con la funzione di densita di probabilita p (ϑm|m, ξ).
Dato un campione casuale D, calcoliamo la distribuzione a posteriori per
ogni m e ϑm usando la regola di Bayes:
p (m|D, ξ) =p (m|ξ) p (D|m, ξ)∑m p (m|ξ) p (D|m, ξ)
p (ϑm|D,m, ξ) =p (ϑm|m, ξ) p (D|ϑm,m, ξ)
p (D|mξ)
dove
p (D|m, ξ) =
∫p (D|ϑm,m, ξ) p (ϑm|m, ξ) dϑm
e il likelihood marginale. Date alcune ipotesi di interesse, h, determiniamo la
probabilita che h sia vera dati i dati D facendo la media su tutti i possibili
modelli e i loro parametri secondo le regole della probabilita:
CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 26
p (h|D, ξ) =∑m
p (m|D, ξ) p (h|D,m, ξ)
p (h|D,m, ξ) =
∫p (h|ϑm,m, ξ) p (ϑm|D,m, ξ) dϑm.
Ad esempio, h potrebbe essere l’evento che la prossima osservazione sia
xN+1. In questa situazione si ottiene
p (xN+1|D, ξ) =∑m
p (m|D, ξ)∫p (xN+1|ϑm,m, ξ) p (ϑm|D,m, ξ) dϑm,
dove p (dN+1|ϑm,m, ξ) e il likelihood del modello. Questo approccio e spesso
chiamato Bayesian model averaging. Si noti che nessuna singola struttura
viene appresa, ma tutti i modelli possibili vengono pesati secondo la loro
probabilita a posteriori.
Sotto certe condizioni, la probabilita a posteriori dei parametri e il like-
lihood marginale possono essere calcolati efficientemente e in forma chiusa.
Ad esempio questo avviene quando il likelihood e dato da reti Bayesiane.
Quando sono possibili troppe strutture del modello, le sommatorie nelle
equazioni sopra possono essere intrattabili. In queste situazioni si puo cercare
una o piu strutture del modello con grandi probabilita a posteriori e usare
questi modelli come se fossero esaustivi (model selection).
Capitolo 2
L’apprendimento per
imitazione
2.1 Introduzione: problemi e questioni del-
l’apprendimento per imitazione
Le societa hanno dimostrato modi efficienti per assicurare la sopravvivenza
delle specie. Essenzialmente hanno sviluppato una conoscenza usata per ri-
solvere i problemi sociali. Pertanto il trasferimento e l’adattamento di questa
conoscenza a problemi inerenti differenti contesti hanno permesso che gli indi-
vidui sviluppassero un comportamento intelligente. Di conseguenza, il com-
portamento di ogni individuo nella societa e influenzato da questa conoscenza
sociale e l’individuo stesso inoltre influenza il comportamento di altri membri
della societa (Calderon et al., 2003, [6]).
Fino ad ora nelle societa sono gia stati sviluppati una serie di meccanismi
per l’apprendimento di comportamenti, compresi condizionamento e rinfor-
zo. Comunque, nessuno di questi meccanismi e stato usato tanto quanto
l’imitazione per l’acquisizione di conoscenza. Di solito l’imitazione viene
vista come la capacita di apprendere nuove abilita dall’osservazione delle
azioni dei propri simili. L’imitazione permette agli individui di acquisire
nuove capacita, incoraggia l’interazione sociale e la trasmissione della cul-
27
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 28
tura. Questa forma di adattamento aumenta le opportunita dell’individuo
di essere accettato come parte della societa e di sopravvivere in essa. Percio
comportamenti utili per la sopravvivenza della societa possono essere rapi-
damente diffusi e trasmessi alla generazione successiva.
Dato che l’imitazione richiede significative capacita percettive, cognitive e
motorie, emulazione e preparazione, essa e limitata ad alcuni animali -come
primati, cetacei e uomini- capaci di far fronte alla crescente complessita del-
l’interazione tra l’ambiente e gli individui (Byrne e Russon, 1998, [5]). Alcune
di queste abilita vengono sviluppate incrementalmente durante la vita. Di-
versi sono i vantaggi derivanti dall’imitazione sia per gli individui che per le
societa ([6]):
• velocizzazione del processo di apprendimento
• adattamento
• nessuna interruzione delle attivita dell’individuo imitato.
• apprendimento simultaneo
• comunicazione implicita
• compatibilita con altri meccanismi di apprendimento
• apprendimento efficiente
• comportamenti intelligenti
• interazione sociale
R. Price (2002, [26]) riporta la definizione di Mitchell secondo cui un certo
comportamento C viene appreso per imitazione se:
1. C, copia del comportamento, viene prodotto da un organismo
2. C e simile ad M, il modello del comportamento
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 29
3. l’osservazione di M e necessaria per la produzione di C (non solo livelli
base di C che si presentano spontaneamente)
4. C e pensata per essere simile a M
5. il comportamento C deve essere un comportamento nuovo, non gia
organizzato in quel preciso modo nel repertorio dell’organismo.
Gli esperti di robotica ritengono che sia possibile acquisire preziose in-
tuizioni sul modo in cui le competenze sociali e comunicative possano essere
apprese dalle macchine guardando al campo dello sviluppo cognitivo e sociale
umano. Per un sistema artificale potrebbe esser possibile partire da una ca-
pacita imitativa per arrivare ad inferire le reazioni emotive dell’uomo con cui
interagisce e poi usare le proprie valutazioni sulle emozioni per determinare
il proprio comportamento ([4]).
2.2 L’imitazione: la prospettiva delle scienze
cognitive
Recentemente c’e stata un’esplosione della ricerca sullo sviluppo, l’evoluzione
e le basi cognitive dell’imitazione. L’imitazione coinvolge operazioni cogni-
tive complesse e non comprese ancora appieno. La ricerca sull’imitazione
negli animali e stata sviluppata in due direzioni: 1) cos’e l’imitazione e come
puo essere distinta da altre forme di apprendimento sociale? 2) quali animali
sono capaci di imitare e dove si trovano nella scala naturale dell’intelligenza?
C’e un grosso disaccordo su entrambe le questioni. L’imitazione e stata usata
come etichetta per una varieta di fenomeni sociali, inclusi certi che potreb-
bero essere spiegati con altri processi piu semplici, come condizionamento
osservativo o apprendimento strumentale. Diversi esperimenti con topi, pic-
cioni, delfini, scimmie e altri animali hanno affermato che questi esseri hanno
la capacita di imitare.
La situazione e piuttosto diversa per la ricerca sull’uomo(Meltzoff, 1999,[18],
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 30
Rao, 2004, [28]). Si da per scontato che gli umani siano capaci di imitare e gli
studi sono per lo piu rivolti al quando, perche e come essi imitino. Gli esseri
umani sono altamente imitativi. Le teorie classiche dello sviluppo cognitivo
affermavano che i neonati non potessero comprendere la somiglianza tra se
stessi e gli altri. Si diceva che i neonati fossero ’solipsisti’ nello sperimentare
le loro sensazioni interne e nel vedere i movimenti degli altri, senza colle-
gare le due cose . Una delle teorie piu importanti sullo sviluppo di capacita
imitative e quella di Piaget (1951), che afferma che queste capacita si svilup-
pano per stadi. Secondo questa teoria i bambini nascono con la capacita di
imitare comportamenti in cui sia l’azione del modello che dell’infante puo
essere comparata nella stessa modalita sensoriale (per esempio, imitazione
vocale o dei movimenti delle mani). Dopo un anno il bambino acquista la
capacita di rilevare equivalenze cross-modali e imita azioni che richiedono
un’associazione cross-modale del genere (per esempio, l’imitazione facciale:
l’infante non e capace di vedere se stesso per confrontare visivamente i due
atti, si affida alle informazioni propriocettive per farlo). Infine tra i 18 e i
24 mesi di eta diventa possibile l’imitazione ritardata, ovvero di atti non piu
presenti nel campo percettivo del bambino.
Al contrario, recenti osservazioni (Meltzoff e Moore, 1997, [19]) hanno di-
mostrato che infanti a soli quarantadue minuti dalla nascita imitano espres-
sioni facciali degli adulti. Com’e possibile l’imitazione? Una possibile rispos-
ta, secondo Meltzoff e Moore, e l’active intermodal mapping. Il punto cru-
ciale e che l’infante riesce a rappresentarsi l’espressione facciale dell’adulto e
cerca attivamente di conformare la sua a quella vista. Ovviamente, i bam-
bini non riescono a vedere i propri movimenti facciali ma possono usare la
propriocezione per monitorare le loro azioni non visibili e correggere il loro
comportamento. Meltzoff e Moore (1997) suggeriscono quattro stadi di capa-
cita progressive di imitazione: 1) body babbling (apprendimento di come il
movimento di specifici muscoli produce configurazioni elementari del corpo;
questo processo puo iniziare nell’utero), 2) imitazione di movimenti del corpo
(rilevata dai 42 minuti alle 36 ore dalla nascita), 3) imitazione di azioni su
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 31
oggetti (dopo vari mesi), 4) imitazione basata sull’inferenza delle intenzioni
degli altri; e la forma piu sofisticata di imitazione, riscontrata a circa 18 mesi
di eta.
Le scoperte sull’imitazione suggeriscono una comune codifica ’supramodale’
per la percezione e la produzione di atti e possono essere direttamente com-
parate tra loro. Ricerche su adulti tramite analisi di zone del cervello e di
meccanismi cognitivi coinvolti nell’imitazione, percezione e immaginazione di
atti umani suggeriscono che queste operazioni insistano sugli stessi processi
. I meccanismi neurali che sottendono alla comprensione ed all’imitazione
di un’azione sono stati oggetti anche di interessanti studi di neuroimaging,
negli ultimi anni . Sebbene questa capacita potrebbe semplicemente im-
plicare l’analisi visiva dell’azione, e’ stato dibattuto ed infine provato che
l’informazione visiva viene mappata nella sua rappresentazione motoria nel
nostro sistema nervoso. E’ ormai acclarata l’esistenza di un pool neuronale
detto ”mirror system” che pare predisposto a tale funzione di mapping nei
primati e negli esseri umani. I neuroni mirror sono una particolare classe di
neuroni viso-motori scoperti originariamente nella corteccia ventrale premo-
toria delle scimmie, chiamata area F5. Alcuni neuroni di F5 appartengono
alla corteccia motoria, altri invece rispondono agli stimoli visivi (Rizzolatti et
al., 2001,[29]). I primi sono attivati dalla presentazione di oggetti tridimen-
sionali, laddove altri (i neuroni mirror) richiedono l’osservazione di un’azione
vera e propria per attivarsi. I mirror sono neuroni correlati in maniera stretta
con il movimento. Questo modello suggerisce, infatti una codifica comune
tra le azioni percepite e le azioni eseguite (Breazeal et al., 2004, [4]). Questi
neuroni potrebbero giocare un ruolo molto importante nei meccanismi usati
dagli uomini e da altri animali per mettere in relazione le loro azioni con
quelle degli altri. Al momento non e noto se i mirror neuron siano innati
nell’uomo, addestrati attraverso l’esperienza o entrambe le cose.
Attivandosi le stesse aree neurali sia durante la percezione che durante l’ese-
cuzione di un’azione potrebbe essere non solo possibile ma anche necessario
ricreare gli stati mentali che sono frequentemente associati con quell’azione.
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 32
Una struttura tipo i neuroni mirror potrebbe essere un elemento impor-
tante in un meccanismo per fare predizioni riguardo le intenzioni di un’altra
persona.
L’imitazione in eta infantile ha delle implicazioni con il problema filosofi-
co della mente degli altri. L’imitazione mostra che i bambini piccoli sono
sensibili ai movimenti loro e di altre persone e che possono mappare isomor-
fismi tra se e gli altri a livello di azioni. Attraverso l’esperienza possono
imparare che, quando agiscono in un certo modo, loro stessi hanno certi sta-
ti interni concomitanti (propriocezioni, emozioni, intenzioni, ecc.). Avendo
rilevato questa regolarita, gli infanti hanno motivo di compiere l’inferenza
che, quando vedono una persona agire nello stesso modo in cui agiscono loro,
la persona ha degli stati interni simili ai loro. Con questo non e necessario
accettare la tesi di Fodor (1987) che la Teoria Della Mente1 (TOM) deve
essere innata nell’uomo (perche non puo essere imparata tramite le classiche
procedure con rinforzo). L’imitazione di movimenti del corpo, vocalizzazioni
e altri comportamenti orientati ad un obiettivo fornisce agli infanti un mezzo
per scoprire che le altre persone sono ”come me”, con stati interni proprio
come il Se. L’imitazione infantile potrebbe essere la base per sviluppare una
teoria della mente.
Cosa spinge i bambini ad imitare gli altri? L’imitazione e utile per diverse
funzioni cognitive e sociali ma una possibilita e che bambini molto piccoli usi-
no l’imitazione di comportamenti per classificare l’identita delle persone. I
neonati sono interessati a determinare l’identita degli oggetti che si muovono
nello spazio, scompaiono e ricompaiono. Ricerche dimostrano che i bambini
piccoli usano l’imitazione delle azioni di una persona per aiutarsi a distinguere
un individuo dall’altro e riconoscere le persone in incontri successivi. Gli in-
fanti usano le azioni distintive delle persone come fossero proprieta funzionali
che possono essere scoperte attraverso l’interazione. Per questo i bambini
identificano una persona non solo da caratteristiche fisiche (labbra, occhi,
1Branca della scienza cognitiva che riguarda la comprensione delle nostre menti e di
quelle degli altri.
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 33
capelli), ma da come quell’individuo agisce e reagisce.
Da adulti possiamo attribuire ad altri degli stati mentali. Una tecnica per
indagare l’origine della Teoria Della Mente si basa sulla propensione umana
all’imitazione. Usando questa tecnica l’adulto prova a compiere certe azioni-
obiettivo, ma fallisce. I risultati mostrano che bambini di diciotto mesi i-
mitano cio che l’adulto ”sta cercando di fare”, non cio che l’adulto effetti-
vamente fa. Questo prova che i bambini piccoli non sono concentrati solo
sul comportamento superficiale delle persone. A quell’eta i bambini hanno
gia adottato un aspetto fondamentale della folk psychology2: le azioni delle
persone vengono comprese all’interno di una struttura che coinvolge anche
scopi e intenzioni.
L’imitazione chiarisce anche la natura della memoria preverbale. In alcu-
ni test gli infanti sono stati messi di fronte aduna serie di azioni su oggetti
nuovi, senza che fosse loro permesso di toccarli. Si e poi interposto intervallo
di giorni o settimane. I bambini dai sei ai quindici mesi di eta hanno attua-
to un’imitazione ritardata dopo un intervallo temporale, dimostrando una
capacita di ricordare preverbale, non un semplice riconoscimento di oggetti
(Meltzoff, 1995). Le scoperte suggeriscono che i bambini operino con quel-
la che i neuroscienziati chiamano memoria dichiarativa in opposizione alla
memoria procedurale o abituale, in maniera tale che apprendimento e ricordo
di nuovo materiale avvengono dopo una breve osservazione senza addestra-
mento motorio.
Negli umani anche aspetti dello sviluppo linguistico dipendono dall’imitazione.
L’imitazione vocale e il mezzo principale di apprendimento dell’inventario fo-
netico e della struttura prosodica della lingua madre.
Una sfida attuale per l’intelligenza artificiale e la creazione di robot che
possano imparare per imitazione . Creare dispositivi piu ”simili all’uomo”
potrebbe dipendere dall’implementazione di una delle pietre angolari della
2Insieme di concetti (desideri, opinioni, intenzioni, speranze) di uso quotidiano per il
pensiero su noi stessi e gli altri
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 34
mente umana, la capacita di imitare.
2.3 L’apprendimento per imitazione nei sis-
temi artificiali
L’interesse nel campo dell’apprendimento robotico e cresciuto costantemente
negli ultimi anni. L’aggiunta di capacita di apprendimento nei robot presenta
alcuni benefici, come:
• aumento della capacita di destreggiarsi in un ambiente dinamico dove
una conoscenza del mondo preprogrammata puo divenire obsoleta o del
tutto inadeguata.
• riduzione del costo di programmazione dei robot per svolgere compiti
specifici.
• aumento della capacita di affrontare cambiamenti nelle proprie speci-
fiche, come, ad esempio, l’alterazione dei sensori.
Inoltre ci sono dei vantaggi teorici nella spinta ad occuparsi della questione
dell’integrazione di tecnologie multi-componente, come percezione, pianifi-
cazione, azione ed apprendimento.
I robot, come gli umani e altri animali, possono apprendere una vasta conoscen-
za osservando ed imitando altri agenti (umani o robot)(Demiris e Hayes,
1996, [10]). L’apprendimento per imitazione possiede alcune caratteristiche
desiderabili. Innanzi tutto velocizza il processo di apprendimento. Un robot
in teoria potrebbe imparare qualunque compito tramite apprendimento con
rinforzo, dato tempo ed energia sufficiente, pero la presenza di un ”esperto”
potrebbe essere utilizzata in modo che la sua conoscenza venga passata al
robot. L”’esperto” puo dimostrare come ottenere la soluzione di un compito
e l’ ”apprendista” puo imparare osservando e\o imitando. L’apprendimen-
to, in questo senso, non richiede che l’esperto spenda tempo ad insegnare
al robot come svolgere il compito. L’esperto puo continuare a compiere il
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 35
suo lavoro come al solito e l’apprendista puo osservare e imitare senza in-
terrompere l’esperto. Inoltre, non e richiesta alcuna comunicazione esplicita
tra i due, percio questo tipo di apprendimento puo essere usato anche in
situazioni dove le comunicazioni possono essere costose o impossibili.
Alla luce delle teorie psicologiche viste sopra si e cercato di progettare ed
implementare un meccanismo del tipo active intermodal mapping in robot
mobili con due obiettivi:
• fornire ai robot la capacita di far corrispondere le azioni percepite alle
loro azioni equivalenti. Con cio si apre la possibilita dell’apprendimento
per imitazione con tutti i vantaggi visti sopra.
• rendere espliciti i requisiti affinche queste capacita siano presenti.
Si considera l’imitazione in sistemi naturali ed artificiali come un processo
che coinvolge tre diverse questioni:
• il meccanismo dell’associazione: come puo un agente far combaciare le
azioni percepite con le sue azioni equivalenti?
• come viene sviluppato questo meccanismo? Qual e il punto di inizio,
perche cambia successivamente e come cambia?
• come puo l’agente usare questo meccanismo per migliorare nel tempo
il suo comportamento o la sua conoscenza?
Nell’ affrontare il problema della dotazione della capacita di apprendere
per imitazione ai robot o ad altri sistemi artificiali Demiris e Haynes ([10])
propongono una serie di considerazioni sulla questione.
Innanzitutto, ci sono differenti livelli di imitazione, cui non sottendono
necessariamente gli stessi meccanismi. Si possono individuare almeno tre
livelli:
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 36
1. Imitazione di base, intesa come riproduzione dello stimolo percepito,
per esempio, imitazione di movimenti del corpo o di fonemi verbali. In
questo caso alcuni autori parlano di mimetismo.
2. Imitazione funzionale, ad esempio raccogliere un oggetto, muover-
si verso una porta, produrre un suono per spaventare un predatore,
ecc. Essenzialmente in questo livello non viene riprodotto lo stimo-
lo ma piuttosto l’effetto che questo ha. In questo caso si parlato di
assimilazione motoria.
3. Imitazione astratta o sintonizzazione sociale, ovvero imitazione non
dell’azione esterna ma dello stato interno presunto del partner (ad e-
sempio, fare una faccia triste quando l’altro sta piangendo, sorridere se
l’altro ride). E’ possibile in questo caso parlare di empatia.
E’ necessario un meccanismo che selezioni dinamicamente il livello a cui il ro-
bot deve imitare, secondo le condizioni sociali del momento o i propri bisogni
e scopi correnti (dipende, tra l’altro, se l’imitazione e al momento un gio-
co, un metodo di circoscrivere uno spazio di ricerca o un modo di ottenere
accettazione sociale). L’imitazione potrebbe non essere sempre possibile su
tutti i livelli (a meno che non si incorporino elementi di predizione nell’ar-
chitettura), perche lo scopo dell’azione potrebbe non essere evidente al suo
inizio.
Il robot dovrebbe avere un’idea del proprio corpo e del corpo dell’agente
che sta cercando di imitare. Queste immagini del corpo del robot non de-
vono necessariamente essere predefinite, possono invece essere apprese. Le
due rappresentazioni dei corpi e il loro sviluppo sono strettamente collegate
(se non addirittura istanze dello stesso modello corporeo). Questo puo essere
fatto anche in maniera distribuita, che preservi la topografia ([10]).
Dato che il robot percepisce il proprio corpo principalmente tramite pro-
priocezione (e spesso tramite visione), mentre sta percependo l’altro agente
attraverso sensori esterni, ci deve essere un meccanismo di adattamento cross-
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 37
modale che recepisca le equivalenze tra le due modalita e possa passare da
una all’altra.
Ci sono due forme differenti di apprendimento associato all’imitazione:
apprendere ad imitare e apprendere tramite imitazione. Nella prima, il ro-
bot impara cosa deve fare il suo sistema motorio per fare quello che sta
facendo l’altro agente. Nella seconda, il robot impara imitando l’altro agente
e associando le esperienze percettive (ambientali e\o proprie, come emozioni,
feedback biologici del proprio organismo) con quell’atto motorio.
Come sostenere il processo di imitazione? L’imitazione e raramente un’atti-
vita unidirezionale e tantomeno avviene in assenza di altri processi di ap-
prendimento. Neonati e bambini piccoli non solo imitano i genitori e al-
tri adulti ma spesso sono imitati da questi, coinvolti in giochi di mutua
imitazione. Inoltre c’e un forte collegamento tra imitazione,comunicazione
cooperazione: non solo l’imitazione puo essere usata come un buon meto-
do per sviluppare la comunicazione e fornire all’imitatore una conoscenza
sufficiente sul compito in modo da poterlo infine svolgere in cooperazione
con altri agenti, ma, all’inverso, la comunicazione puo a sua volta aiutare il
processo di imitazione, influenzando il modo in cui l’imitatore comprende il
compito affidatogli, cosicche possa essere selezionato un livello appropriato
di imitazione. Ad esempio, l’azione dell’imitatore puo essere monitorata dal
dimostratore che puo restituire dei feedback all’imitatore, sia sulla qualita
dell’imitazione (fornendogli cosı opportunita di imparare come imitare), sia i
su due aspetti cruciali menzionati sopra, quando imitare e quando fare l’as-
sociazione tra cosa l’agente percepisce e cosa esso fa.
L’apprendimento per imitazione e spesso combinato con altri processi di ap-
prendimento; in tal caso il processo imitativo puo velocizzare gli altri. Inol-
tre, le stesse capacita e le conoscenze dell’imitatore, ottenute parzialmente
da altri processi (incluso l’apprendimento trial-and-error), influenzano (e, si
spera, facilitano) il modo in cui il processo di imitazione avra luogo.
Questo suggerisce che porre architetture per l’imitazione all’interno di un piu
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 38
ampio contesto di apprendimento sociale potrebbe aiutarci a risolvere alcune
difficili questioni relative all’imitazione robotica. Per permettere ai robot
di raggiungere il grado di imitazione presente nelle societa naturali, bisogna
fornire loro livelli comparabili di supporto sociale.
2.4 Tecniche ed applicazioni
Diversi ricercatori hanno sviluppato robot capaci di assolvere a compiti in
domini specifici. In pratica, molte applicazioni richiedono che i robot lavorino
in squadra per risolvere un comune problema, per esempio, esplorazione di
ambienti pericolosi, gestione di emergenze, costruzione di edifici, ecc. Questi
compiti richiedono comunicazione e coordinazione sia tra i robot che tra i
robot e gli uomini. I robot dovrebbero essere in grado di destreggiarsi non
solo con oggetti, ma anche con altri robot nello stesso ambiente.
Gli approcci tradizionali a queste questioni (strategie di programmazione ed
apprendimento) si sono dimostrati molto complessi e limitati nelle conoscen-
ze. Per questo ci si e rivolti all’apprendimento per imitazione, implementato
in vari modi e per varie applicazioni ([6]): vediamone alcuni esempi. Basan-
dosi sull’apprendimento con rinforzo, Schaal ([31]) ha presentato un modello
capace di ottenere l’imitazione dell’atto di tenere in equilibrio un’asta; per
questo compito e stato usato un braccio robotico e un dimostratore umano.
Dautenhahn ([8]) ha presentato agenti che attraversano una zona collinosa
attaccati ad un insegnante da cui imparano le traiettorie. Dopo un certo
tempo gli agenti sono in grado di riconoscere gli insegnanti adatti. Hayes e
Demiris ([16]) hanno usato un meccanismo di imitazione che mappa i movi-
menti osservati dell’insegnante nei movimenti dell’apprendista. Il loro ap-
proccio si basa su um comportamento che consiste nell’associare gli stimoli
presenti nell’ambiente al momento con l’azione appropriata. Hanno svilup-
pato un meccanismo per l’attenzione che identifica ogni evento significativo
nella percezione. La strategia adottata prevede che l’apprendista segua il
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 39
dimostratore nella navigazione non guidata, usando simulazioni e robot rea-
li. Il loro lavoro si e basato sul meccanismo di accoppiamento proposto da
Meltzoff e Moore, che, essenzialmente, mappa le azioni percepite (dell’inse-
gnante) nelle equivalenti azioni dell’apprendista. Gli esperimenti sono stati
estesi anche ad un robot che imita i movimenti umani della testa.
Gaussier e altri (1997, [15]) hanno presentato un’architettura che impara
tramite associazioni senso-motorie con una ricompensa ritardata. Il loro la-
voro e stato ispirato dalle neuroscienze, in particolare dalle funzioni esercitate
dall’ippocampo e dal cervelletto. In tal senso, essi hanno implementato un
sistema con apprendimento non supervisionato on-line, in cui sia il processo
di apprendimento che l’esecuzione della sequenza appresa erano provocati
da uno stato interno (Motivazione o Emozione). Il compito era seguire un
sentiero. La precisione dei risultati e diminuita al decrescere del tempo degli
intervalli. Crabbe e Dyer (2000) hanno progettato un’architettura che im-
para una sequenza di passi osservando un insegnante. Diversamente da altri
approcci, l’imitatore identifica gli scopi invece di imitare solo i movimenti.
L’obiettivo presentato era costruire un muro. Nonostante l’apprendista sia
capace di imparare una sequenza con un solo passo dell’insegnante, il sistema
non e in grado di inventare o modificare la sequenza osservata.
Il gruppo di ricerca sull’imitazione della University of Southern California ha
proposto alcune idee di ricerca sostenute dalle scienze cognitive e dalle neuro-
scienze. Il loro modello di imitazione e il risultato delle strutture di controllo
motorio evolutivo e di un meccanismo per la semplice mimesi. I ”mirror neu-
rons” sono il meccanismo deputato all’ottenimento della mimesi; come visto
nel par.2, questi neuroni mappano la relazione tra l’apparato senso-motore
delle azioni dell’insegnante e quello delle azioni dell’apprendista. Inoltre
forniscono un meccanismo di apprendimento della classificazione per nuove
primitive motorie. Il loro modello e stato implementato in diversi sistemi
di prova (test-beds) come umanoidi basati sulla fisica, umanoidi Avantars
(Simulation), cani robot (Sony AIBO) e robot su ruote (Pioneer). I loro
esperimenti comprendono movimenti degli arti, ballo della Macarena, imi-
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 40
tazione di movimenti di braccia e dita e imitazione di una marionetta.
Oltre a queste applicazioni di sistemi di controllo per robot, tecniche di
imitazione sono state impiegate per l’accelerazione dell’apprendimento con
rinforzo generico. Altri usi meno tradizionali includono meccanismi di at-
tenzione congiunta per sviluppare capacita sociali (Scassellati, [30]) ed imi-
tazione di mimica facciale ([4]).
L’imitazione e stata inoltre oggetto di ricerca da parte di A.Billard e altri
(1997, [3]) per l’acquisizione e la trasmissione del linguaggio.
2.5 Un approccio innovativo: un modello prob-
abilistico dell’imitazione
Negli ultimi anni i modelli probabilistici hanno fornito eleganti spiegazioni
per una varieta di fenomeni neurobiologici e di illusioni percettive. C’e un
numero crescente di prove che il cervello utilizza principi come probability
matching e la regola di Bayes per raggiungere una vasta gamma di obiet-
tivi nell’elaborazione sensoriale, nel controllo senso-motore e nella presa di
decisioni (decision-making). La regola di Bayes in particolare si e dimostra-
to utile specialmente nello spiegare come il cervello combini la conoscenza
a priori riguardo un compito con le informazioni sensoriali correnti e come
le informazioni provenienti da diversi canali sensoriali vengano combinate
basandosi sulle statistiche del rumore in quei canali. Allo stesso tempo, gli
approcci probabilistici mutuano dalla fisica e soprattutto dalla meccanica
statistica metodi formali particolarmente adatti per modellare l’interazione
con ambienti reali e non strutturati, dunque basati su incertezza ed errore.
Questi metodi si sono dimostrati piu duttili dei metodi formali classici, e
l’odierna ricerca in Intelligenza Artificiale se ne avvale ampiamente. Gli ap-
procci tradizionali all’IA non hanno avuto successo, una volta riprodotti in
ambienti realistici e rumorosi, per via della loro incapacita di memorizzare,
elaborare e ragionare sulle incertezze del mondo reale. La natura stocasti-
ca della maggior parte degli ambienti del mondo reale rende la capacita di
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 41
gestire gli imprevisti praticamente indispensabile per i sistemi intelligenti au-
tonomi. Questa consapevolezza ha acceso un grande interesse per i metodi
probabilistici di inferenza e apprendimento nell’intelligenza artificiale e nella
robotica negli ultimi anni. Nuovi potenti strumenti, come i modelli grafici
e le reti Bayesiane, hanno trovato larga applicabilita in ambiti che vanno
dal data mining e dalla computer vision alla bioinformatica e alla robotica
mobile. Queste reti permettono di inferire le probabilita di vari eventi e gli
effetti direttamente dai dati in ingresso, basandosi sulle leggi della proba-
bilita e su una rappresentazione basata su grafi.
Dato il recente successo dei metodi probabilistici nell’intelligenza artificiale e
nei modelli per il cervello, una struttura probabilistica per l’imitazione puo
non solo fornire nuovi metodi per l’apprendimento imitativo dei robot ma an-
che aumentare la nostra comprensione dell’imitazione umana (Rao, Schon,
Meltzoff, 2004, [28]). L’approccio probabilistico e molto adatto all’apprendi-
mento per imitazione in ambienti realistici, tipicamente dinamici e rumorosi.
Il successo di recenti applicazioni nella navigazione e nel controllo robotici
possono essere attribuiti a tecniche probabilistiche per la gestione dell’in-
certezza, come il filtro di Kalman e il particle filtering. Similmente, tecniche
basate sull’apprendimento statistico costituiscono la spina dorsale di diver-
si nuovi sistemi di computer vision per il tracciamento e il riconoscimento
di persone. Un approccio probabilistico all’apprendimento per imitazione
puo fornire molti vantaggi a questi sistemi, compresa la capacita di gestire
la mancanza di dati, la robustezza al rumore, la capacita di fare predizioni
basate sui modelli appresi, ecc.
L’approccio probabilistico, inoltre, apre la possibilita di applicare le metodolo-
gie Bayesiane, come la manipolazione delle probabilita a priori di compiti
alternativi, per raggiungere una comprensione piu profonda dell’imitazione
negli uomini. Queste manipolazioni hanno portato preziose informazioni
riguardo al tipo di prior e di modelli interni che il cervello di un adulto
usa nella percezione e nell’apprendimento motorio.
CAPITOLO 2. L’APPRENDIMENTO PER IMITAZIONE 42
2.6 Prospettive future
L’applicazione delle metodologie viste all’imitazione puo chiarire degli aspetti
nella questione di come i neonati acquisiscono modelli interiori delle persone e
delle cose che incontrano nel mondo. Viceversa, modelli ispirati alla biologia
possono aiutare a disegnare l’architettura e gli algoritmi usati per risolvere
l’apprendimento basato su imitazione nei robot. Ad esempio, i quattro sta-
di dell’imitazione di Meltzoff e Moore suggeriscono un approccio gerarchico
all’imitazione robotica, partendo dall’apprendimento di modelli interni del
proprio movimento fino a modelli piu sofisticati dell’interazione con agenti
che operano attivamente.
L’imitazione e un dominio particolarmente fruttuoso per la collaborazione in-
terdisciplinare tra robotica e scienza dello sviluppo). E’ un’attivita percettiva
e motoria di grande valore adattativo ed e un mezzo per l’apprendimento che
si presta alla modellazione computazionale. Inoltre rappresenta un’interes-
sante sfida per la robotica e offre una modalita fortemente versatile e flessibile
di programmare i sistemi artificiali.
Capitolo 3
Strumenti teorici e
metodologici
3.1 Markov Chain Monte Carlo per l’apprendi-
mento automatico
I metodi Markov Chain Monte Carlo (MCMC) sono formati da un’ampia
classe di algoritmi di campionamento ed hanno avuto un ruolo significati-
vo nell’ultimo ventennio in statistica, economia, fisica ed informatica. Ci
sono diversi problemi multidimensionali per cui la simulazione dei MCMC e
l’unico approccio generale noto per raggiungere una soluzione in un tempo
ragionevole (polinomiale nella dimensione del problema) ([1]).
Nel 1946 Stan Ulam sviluppo l’idea di selezionare un campione statistico
per approssimare un problema fortemente combinatoriale con un problema
molto piu semplice. Questo approccio e la base della moderna simulazione
Monte Carlo. Successivamente Ulam contatto J.Von Neumann che comprese
il grande potenziale di quest’idea. Insieme svilupparono molti degli algoritmi
Monte Carlo. Anche N.Metropolis fu affascinato da questi metodi e pubblico
vari articoli, alcuni in collaborazione con Ulam. All’inizio degli anni ’50 pro-
pose l’algoritmo di che porta il suo nome, generalizzato nel 1970 da Hastings.
Gli studi proseguirono, ma solo dagli anni ’80 in poi i MCMC ebbero un im-
43
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 44
patto significativo in intelligenza artificiale, statistica, computer vision e nelle
reti neurali.
Le tecniche MCMC vengono spesso applicate per risolvere problemi di
integrazione e ottimizzazione in spazi a molte dimensioni. Questi due tipi
di problemi giocano un ruolo fondamentale nell’apprendimento automatico,
in fisica ed in statistica. Altre applicazioni importanti sono state fatte nella
simulazione di sistemi fisici. I metodi MCMC forniscono una strategia per
generare campioni x(i) durante l’esplorazione di uno spazio di stato X usando
un meccanismo a catena di Markov. Questo meccanismo e costruito in modo
tale che la catena passi piu tempo nelle regioni piu importanti. In particolare
esso e tale che i campioni x(i) simulano campioni estratti da una distribuzione
obiettivo p (x). E’ importante sottolineare che si usano i MCMC quando non
si possono estrarre campioni direttamente da p (x), ma si puo valutare p (x)
a meno di una costante di normalizzazione.
In uno spazio di stato finito , in cui x(i) puo assumere solo s valori discreti,
ovvero x(i) ∈ X = {x1, x2, . . . , xs}, il processo stocastico x(i) e detto catena
di Markov se
p(x(i)|x(i−1), . . . , x(1)
)= T
(x(i)|x(i−1)
).
La catena e omogenea se la matrice T =T(x(i)|x(i−1)
)rimane invariante per
ogni i, con∑
x(i) T(x(i)|x(i−1)
)= 1 per ogni i. L’evoluzione della catena
nello spazio X , cioe, dipende unicamente dallo stato corrente della catena e
da una matrice di transizione fissata. Ad esempio, consideriamo una catena
di Markov formata da 3 stati (s=3) e un grafo di transizione come quello in
figura 3.1. La matrice di transizione per questo esempio sia
T =
0 1 0
0 0.1 0.9
0.6 0.4 0
Se il vettore di probabilita per lo stato iniziale e µ
(x(1)
)= (0.5, 0.2, 0.3),
ne segue che, approssimando, µ(x(1)
)T = (0.2, 0.6, 0.2) e, dopo varie i-
terazioni (moltiplicazioni per T ), il prodotto µ(x(1)
)T t converge a p (x) =
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 45
Figura 3.1: Grafo di transizione per una catena di Markov a tre stati
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 46
(0.2, 0.4, 0.4). Non importa quale sia la distribuzione iniziale µ(x(1)
)usata,
la catena di stabilizzera su p (x) = (0.2, 0.4, 0.4). Questo risultato di stabilita
gioca un ruolo fondamentale nella simulazione MCMC. Per qualunque punto
di inizio, la catena convergera alla distribuzione invariante p (x), fintanto che
T e una matrice stocastica che presenta le seguenti proprieta:
1. irriducibilita: per ogni stato della catena, esiste una probabilita posi-
tiva di visitare tutti gli altri stati. In altre parole, la matrice T non
puo essere ridotta a matrici separate piu piccole, ovvero il grafo di
transizione e connesso.
2. aperiodicita: la catena non dovrebbe restare bloccata in cicli.
Una condizione sufficiente, ma non necessaria, per assicurare che una
particolare p (x) sia la distribuzione invariante desiderata e la condizione di
reversibilita (detailed balance) seguente
p(x(i)
)T
(x(i−1)|x(i)
)= p
(x(i−1)
)T
(x(i)|x(i−1)
).
Sommando entrambi i membri su x(i−1) si ottiene
p(x(i)
)=
∑x(i−1)
p(x(i−1)
)T
(x(i)|x(i−1)
).
I campionatori MCMC sono catene di Markov irriducibili e aperiodiche che
hanno la distribuzione obiettivo come distribuzione invariante. Un modo
di progettare questi campionatori consiste nell’assicurare che la condizione
di reversibilita sia rispettata. Inoltre e importante progettarli in modo che
convergano velocemente.
In uno spazio di stato continuo la matrice di transizione T diventa il
kernel di un integrale, K, e p (x) diventa l’autofunzione corrispondente∫p(x(i)
)K
(x(i+1)|x(i)
)dx(i) = p
(x(i+1)
).
Il kernel K e la densita condizionata di x(i+1) dato il valore x(i).
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 47
3.1.1 Il principio di Monte Carlo
L’idea della simulazione di Monte Carlo e quella di estrarre un insieme di cam-
pioni{x(i)
}N
i=1da una densita obiettivo p (x) definita su uno spazio a piu di-
mensioni X (ad esempio, le possibili configurazioni di un sistema, lo spazio su
cui e definita la probabilita a posteriori o l’insieme combinatoriale di soluzioni
praticabili). Questi N campioni possono essere usati per approssimare la
densita obiettivo con la seguente funzione empirica punto-massa
pN =1
N
N∑i=1
δx(i) (x)
dove δx(i) denota il delta di Dirac centrato in x(i). Di conseguenza, si pos-
sono approssimare gli integrali (o le sommatorie molto grandi) I (f) con le
sommatorie trattabili IN (f) che convergono come segue
IN (f) =1
N
N∑i=1
f(x(i)
)−→N→∞ I (f) =
∫Xf (x) p (x) dx.
Questo significa che, se la stima di IN (f) non e parziale e secondo la legge dei
grandi numeri, convergera quasi sicuramente a I (f). Se la varianza (nel caso
univariato, per semplicita) di f (x) soddisfa σ2f
4= Ep(x) (f 2 (x))− I2 (f) <∞,
allora la varianza della stima IN (f) e uguale a var (IN (f)) =σ2
f
Ne il teorema
del limite centrale garantisce la convergenza in distribuzione dell’errore√N (IN (f)− I (f)) =⇒N→∞ N
(0, σ2
f
),
dove =⇒ indica la convergenza in distribuzione. Il vantaggio dell’integrazione
di Monte Carlo sull’integrazione deterministica nasce dal fatto che la prima
posiziona la griglia di integrazione (i campioni) in regioni ad alta probabilita.
Gli N campioni possono essere usati anche per ottenere un massimo della
funzione obiettivo p (x) nel modo seguente
x = arg maxx(i);i=1,...,N
p(x(i)
).
Comunque si puo mostrare che e possibile costruire algoritmi di simu-
lated annealing che permettono di campionare approssimativamente da una
distribuzione il cui supporto e l’insieme di massimi globali.
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 48
3.2 L’algoritmo di Metropolis-Hastings
L’algoritmo di Metropolis-Hastings e il piu popolare dei metodi Monte Carlo
(Hastings, 1970; Metropolis et al., 1953).
Un passo di questo algoritmo con la distribuzione invariante p (x) e la
distribuzione proposta q (x?|x) consiste nel campionare un valore candidato
x? dato il corrente valore di x secondo q (x?|x). La catena di Markov a
quel punto si muove verso x? con una probabilita di accettazione A (x, x?) =
min{1, [p (x) q (x?|x)]−1 p (x?) q (x|x?)
}, altrimenti rimane su x. Questo e lo
pseudo-codice:
1. si inizializza x(0).
2. for i=0 to N -1
• campionare dalla distribuzione uniforme u ∼ U[0,1].
• campionare x? ∼ q(x?|x(i)
).
• if u < A(x(i), x?
)= min
{1,
p(x?)q(x(i)|x?)p(x(i))q(x?|x(i))
}x(i+1) = x?
else
x(i+1) = xi.
L’algoritmo MH e molto semplice, ma richiede una scelta attenta della
distribuzione proposta q(x?|x(i)
).
Il kernel di transizione per l’algoritmo MH e
KMH
(x(i+1)|x(i)
)= q
(x(i+1)|x(i)
)A
(x(i), x(i+1)
)+ δx(i)
(x(i+1)
)r(x(i)
),
dove δx(i) denota un delta di Dirac centrato in x(i) e r(x(i)
)e il termine
associato al rigetto (rejection)
r(x(i)
)=
∫Xq(x?|x(i)
) (1−A
(x(i), x?
))dx?.
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 49
E’ semplice dimostrare che i campioni generati dall’algoritmo MH simule-
ranno asintoticamente campioni estratti dalla distribuzione obiettivo. KMH
soddisfa la condizione di reversibilita per costruzione
p(x(i)
)KMH
(x(i+1)|x(i)
)= p
(x(i+1)
)KMH
(x(i)|x(i+1)
)e , di conseguenza, l’algoritmo MH ammette p (x) come distribuzione inva-
riante. Per dimostrare che l’algoritmo MH converge si deve garantire che non
ci siano cicli (aperiodicita) e che ogni stato che ha una probabilita positiva
possa essere raggiunto in un numero finito di passi (irriducibilita). Poiche
l’algoritmo tiene conto sempre del rigetto, ne segue che esso e aperiodico.
Per garantire l’irriducibilita e necessario semplicemente assicurarsi che il
supporto di q (·) includa il supporto di p (·).Il campionatore indipendente e l’algoritmo di Metropolis sono due semplici
istanze dell’algoritmo MH. Nel campionatore indipendente la distribuzione
proposta e indipendente dallo stato corrente, cioe q(x?|x(i)
)= q (x?). Percio
la probabilita di accettazione e
A(x(i), x?
)= min
{1,p (x?) q
(x(i)
)p (x(i)) q (x?)
}= min
{1,w (x?)
w (x(i))
},
dove w (x) =p(x)q(x)
e detto peso di importanza. In questo algoritmo i campioni
sono correlati, dato che risultano dal confronto di un campione con un altro.
L’algoritmo di Metropolis assume una distribuzione proposta come una cam-
mino simmetrico casuale, q(x?|x(i)
)= q
(x(i)|x?
)e, pertanto, il fattore di
accettazione si semplifica in
A(x(i), x?
)= min
{1,p (x?)
p (x(i))
}.
Vale la pena di sottolineare alcune proprieta dell’algoritmo MH. In primo
luogo, non e richiesta la costante di normalizzazione della distribuzione obiet-
tivo. Serve solo conoscere la distribuzione obiettivo a meno di una costante
di proporzionalita. In secondo luogo, sebbene lo pseudo-codice faccia uso di
una sola catena, e facile simulare piu catene indipendenti in parallelo. Infine,
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 50
il successo o il fallimento dell’algoritmo spesso dipendono dalla scelta della
distribuzione proposta. Scelte differenti della deviazione standard proposta
σ? portano a risultati molto diversi. Se la deviazione proposta e troppo
stretta, potrebbe essere visitato solo un modo di p (x). D’altro canto, se e
troppo ampia, il rapporto di rigetto puo essere molto alto, risolvendosi in
alte correlazioni.
3.3 Hidden Markov Model
I processi del mondo reale producono in genere output che possono essere
caratterizzati come segnali. I segnali in natura possono essere discreti (per
esempio, caratteri di un alfabeto) o continui (ad esempio misure della tem-
peratura, musica,...). Un problema di fondamentale interesse consiste nel
caratterizzare questi segnali reali in termini di modelli di segnali (Rabiner,
1989, [27]). Ci sono vari motivi per cui e interessante poter applicare mo-
delli di segnali. Innanzitutto, un modello di segnale puo fornire la base per
una descrizione teorica di un sistema per l’elaborazione di segnali, che puo
essere usato per elaborare il segnale in modo da ottenere l’output desiderato.
Inoltre i modelli di segnali sono importanti perche sono in grado, poten-
zialmente, di farci apprendere molte informazioni sulla sorgente del segnale
(ovvero il processo del mondo reale che ha generato il segnale) senza dover
per forza avere la sorgente a disposizione. Questa proprieta e importante
specialmente quando ottenere segnali dalla sorgente reale ha costi alti. In
questo caso, avendo un buon modello del segnale, si puo simulare la sorgente
ed apprendere quanto piu possibile attraverso le simulazioni. Infine, la ra-
gione piu significativa per cui sono importanti i modelli di segnali e che spesso
funzionano molto bene nella pratica e permettono di realizzare in maniera
molto efficiente importanti sistemi, come, ad esempio, sistemi di predizione,
di riconoscimento, di identificazione.
I modelli di segnali possono essere divisi in due tipi: modelli deterministi-
ci (segnali certi) e modelli probabilistici (segnali aleatori). I primi possono
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 51
essere descritti direttamente determinando i valori dei parametri del mo-
dello del segnale (ad esempio, ampiezza, frequenza,ecc.). Nei secondi si cerca
di caratterizzare solo le proprieta statistiche del segnale. Esempi di questo
genere includono, tra gli altri, i processi Gaussiani, i processi di Poisson, i
processi di Markov. L’assunzione sottostante il modello statistico e che il se-
gnale puo essere ben caratterizzato come un processo parametrico aleatorio e
che i parametri del processo stocastico possono essere determinati (o stimati)
in maniera precisa. Gli Hidden Markov Model (HMM) sono un tipo di mo-
dello di segnale stocastico che ha avuto molto successo in varie applicazioni,
come l’elaborazione del parlato.
La teoria di base degli HMM venne pubblicata da Baum e dai suoi colleghi
tra la fine degli anni ’60 e gli inizi dei ’70. Una comprensione diffusa della
teoria e delle applicazioni degli HMM, pero, si ebbero sono vari anni dopo.
Molte delle applicazioni descritte in letteratura sono basate sostanzialmente
sulla metodologia resa popolare da Rabiner e altri ([27]) per il riconoscimento
del parlato e questi studi sono il principale riferimento per molti ricercatori
in questo campo.
3.3.1 Processi di Markov discreti
Consideriamo un sistema che puo essere descritto in ogni momento da uno
degli stati di un insieme di N distinti, S1, S2, . . . , SN . Ad intervalli regolari
di tempo il sistema subisce un cambiamento di stato (o resta nello stesso in
cui si trova) secondo un insieme di probabilita associate allo stato corrente.
Si denotano gli istanti di tempo come t = 1, 2, . . . e lo stato attuale come
qt. Una descrizione probabilistica completa di questo sistema richiederebbe,
in generale, una specificazione dello stato corrente e dei predecessori. Nel
caso particolare di una catena di Markov discreta del primo ordine questa
descrizione probabilistica viene troncata allo stato corrente e al predecessore,
cioe,
P (qt = Sj|qt−1 = Si, qt−2 = Sk, . . .) = P (qt = Sj|qt−1 = Si) .
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 52
Inoltre si considerano solo quei processi in cui il membro destro dell’equazione
sopra e indipendente dal tempo, ottenendo cosı un insieme di probabilita di
transizione aij nella forma
aij = P (qt = Sj|qt−1 = Si) , 1 ≤ i, j ≤ N
con i coefficienti delle transizioni di stato tali che
aij ≥ 0 (3.1)N∑
j=1
aij = 1 (3.2)
in quanto obbediscono a vincoli stocastici standard.
Il processo stocastico sopra potrebbe essere chiamato un modello osser-
vabile di Markov, poiche l’output del processo e l’insieme di stati in ogni
istante di tempo, dove ogni stato corrisponde ad un evento fisico osservabile.
3.3.2 Elementi di un HMM
Il modello visto nel paragrafo precedente, in cui ogni stato e osservabile di-
rettamente, e troppo restrittivo per essere applicabile in molti problemi di in-
teresse. In alcuni casi l’osservazione e una funzione probabilistica dello stato,
cioe il modello risultante (detto Hidden Markov Model) e un processo sto-
castico immerso in un processo stocastico sottostante che non e osservabile,
ma puo essere osservato attraverso un altro insieme di processi stocastici che
producono la sequenza di osservazioni.
Definiamo ora formalmente gli elementi di un HMM e vediamo come il
sistema genera sequenze di osservazioni.
Un HMM e caratterizzato dai seguenti elementi:
1. N , il numero degli stati del modello. Sebbene gli stati, siano nascosti,
per molte applicazioni pratiche spesso c’e un qualche significato fisico
legato all’insieme degli stati. Generalmente gli stati sono interconnes-
si in modo che ogni stato possa essere raggiunto da ogni altro stato
(modello ergodico).
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 53
2. M , numero dei diversi simboli di osservazione per ogni stato, ovvero
la dimensione dell’alfabeto discreto. I simboli delle osservazioni cor-
rispondono all’output fisico del sistema modellato. Denotiamo i singoli
simboli come V = {v1, v2, . . . , vM}.
3. A = {aij}, la distribuzione di probabilita di transizione, dove, come
per i processi di Markov (e con gli stessi vincoli stocastici),
aij = P (qt = Sj|qt−1 = Si) , 1 ≤ i, j ≤ N.
Nel caso in cui ogni stato sia raggiungibile da ogni altro in un solo passo
aij > 0 per ogni i,j.
4. B = {bj (k)}, la distribuzione di probabilita dei simboli nello stato j,
dove
bj (k) = P (vk a t|qt = Sj) , 1 ≤ j ≤ N, 1 ≤ k ≤M.
Devono essere soddisfatti i seguenti vincoli stocastici:
bj (k) ≥ 0, 1 ≤ j ≤ N, 1 ≤ k ≤ M
eN∑j=1
bj (k) = 1, 1 ≤ j ≤ N
5. π = {πi}, la distribuzione iniziale degli stati, dove
πi = P (q1 = Si) , 1 ≤ i ≤ N.
Deve essere soddisfatto il vincolo stocastico
N∑i=1
πi = 1.
Dati valori appropriati di N, M, A, B e π, l’HMM puo essere usato come
generatore di una sequenza di osservazioni
O = O1O2 . . . OT
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 54
(dove ogni osservazione Ot e un simbolo in V e T e il numero di osservazioni
della sequenza) nel modo seguente:
1. Si sceglie uno stato iniziale q1 = Si secondo la distribuzione iniziale
degli stati, π.
2. Si pone t = 1.
3. Si sceglie Ot = vk secondo la distribuzione di probabilita dei simboli
nello stato Si, cioe bi (k).
4. Si passa nel nuovo stato qt+1 = Sj secondo la distribuzione di proba-
bilita delle transizioni di stato per lo stato Si, cioe aij.
5. Si pone t = t+1 e si torna al passo 3) se t < T ; altrimenti la procedura
termina.
La procedura sopra puo essere usata sia per generare delle osservazioni,
sia come modello di come un HMM appropriato possa generare una data
sequenza di osservazioni.
Dalla discussione sopra emerge che una descrizione completa di un HMM
richiede la specifica di due parametri del modello (N e M ), dei simboli di
osservazione e delle 3 misure di probabilita, A,B e π. Per praticita si usa la
notazione compatta
λ = (A,B, π)
per indicare l’insieme completo dei parametri del modello.
La maggior parte delle applicazioni degli HMM sono volte alla soluzione
di tre problemi principali, specificatamente:
1. il problema della valutazione. Data la sequenza di osservazioni
O = O1O2 . . . OT e il modello λ = (A,B, π), come si puo calcolare
in maniera efficiente P (O|λ), ovvero la probabilita della sequenza di
osservazioni, dato il modello?
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 55
2. il problema della decodifica. Data la sequenza di osservazioni O =
O1O2 . . . OT e il modello λ, come scegliere una corrispondente sequenza
di stati Q = q1q2 . . . qT che sia ottimale, cioe che giustifichi al meglio le
osservazioni?
3. il problema dell’apprendimento. Come si aggiustano i parametri
del modello λ = (A,B, π) in modo da massimizzare P (O|λ)?
I tre problemi sono strettamente collegati all’interno della struttura proba-
bilistica. Le soluzioni verranno illustrate nei seguenti sottoparagrafi.
3.3.3 La procedura Forward-Backward
Il problema della valutazione affronta la questione di calcolare la probabilita
che una certa sequenza di osservazioni sia stata prodotta dal modello. Si
puo anche vedere il problema come la valutazione di quanto un dato modello
corrisponda ad una data sequenza di osservazioni. Ad esempio, se stiamo cer-
cando di decidere tra vari modelli, la soluzione di questo problema permette
di scegliere il modello che piu corrisponde alle osservazioni.
Il modo piu diretto di determinare P (O|λ) e trovare P (O|Q, λ) per una
data sequenza di stati Q = q1q2 . . . qT , poi moltiplicarla per P (Q|λ) e infine
sommare su tutti i possibili Q. Abbiamo
P (O|Q, λ) = bq1 (O1) bq2 (O2) · · · bqT(OT ) (3.3)
P (Q|λ) = πq1aq1q2aq2q3 · · · aqT−1qT(3.4)
Percio si ha:
P (Q|λ) =∑Q
P (O|Q, λ)P (Q|λ) (3.5)
=∑Q
πq1bq1 (O1) aq1q2bq2 (O2) · · · aqT−1qTbqT
(OT ) . (3.6)
dove Q = q1q2 . . . qT . Questo metodo richiederebbe, pero, 2TNT moltipli-
cazioni. Un metodo molto piu efficiente si basa sulla procedura forward-
backward. Questa procedura fa uso di una variabile ausiliaria (variabile
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 56
forward), αt (i) definita come:
αt (i) = P (O1O2 . . . Ot, qt = Si|λ) (3.7)
cioe la probabilita della sequenza di osservazioni parziale fino al tempo t e
allo stato Si, dato il modello λ. αt (i) puo essere calcolato induttivamente
come segue:
1.
α1 (i) = πibi (O1) , 1 ≤ i ≤ N (3.8)
2. per t = 1, 2, ..., T − 1, 1 ≤ j ≤ N
αt+1 (j) =
[N∑
i=1
αt (i) aij
]bj (Ot+1) (3.9)
3. quindi si ha:
P (O|λ) =N∑
i=1
αT (i) (3.10)
Il passo di induzione ( 2. ), che e il centro del calcolo forward, e illustrato in
fig.3.2
Si puo dimostrare che in questo caso il numero di moltiplicazioni totale e
nell’ordine di N2T .
In maniera simile si puo definire una variabile backward βt (i) come:
βt (i) = P (Ot+1Ot+2 . . . OT |qt = Si, λ) , (3.11)
ovvero la probabilita della sequenza di osservazioni parziale da t+1 alla fine,
dato lo stato Si al tempo t e il modello λ. Analogamente a quanto visto
sopra si puo calcolare βt (i) induttivamente, nel modo seguente:
1.
βT (i) = 1, 1 ≤ i ≤ N (3.12)
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 57
Figura 3.2: Sequenza di operazioni necessarie per il calcolo della variabile
forward
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 58
2. per t = T − 1, T − 2, ..., 1, 1 ≤ i ≤ N
βt (i) =N∑
j=1
aijbj (Ot+1) βt+1 (j) (3.13)
3. quindi si ha:
P (O|λ) =N∑
i=1
πibi (O1) β1 (i) (3.14)
In realta la procedura backward appena vista verra usata estensivamente per
la soluzione del problema dell’apprendimento. Il calcolo di βt (i) ha anch’esso
complessita nell’ordine di N2T .
3.3.4 L’algoritmo di Viterbi
Nel problema della decodifica si cerca di scoprire la parte nascosta del model-
lo, ovvero la sequenza di stati ”corretta”. A parte il caso di modelli degeneri,
non c’e una sequenza di stati corretta da trovare in genere, pero per situa-
zioni pratiche si usa un criterio di ottimalita per risolvere il problema nel
modo migliore.
Si vuole trovare la sequenza di stati Q = q1q2 . . . qT tale che la probabi-
lita che si verifichi la sequenza di osservazioni O = O1O2 . . . OT a partire da
questa sequenza di stati sia maggiore che per ogni altra sequenza di stati. In
altre parole si vuole trovare Q che massimizzi P (O,Q|λ). Per fare questo
si usa l’algoritmo di Viterbi, una tecnica formale, basata su metodi di pro-
grammazione dinamica.
Si definisce la quantita
δt (i) = maxq1,q2,...,qt−1
P (q1q2 . . . qt = i, O1O2 . . . Ot|λ) (3.15)
cioe δt (i) rappresenta la probabilita piu alta su un singolo percorso, al tempo
t, che giustifica le prime t osservazioni e termina nello stato Si. Per induzione
si ha
δt+1 (j) =[max
iδt (i) aij
]· bj (Ot+1) . (3.16)
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 59
Per ricostruire realmente la sequenza di stati, si deve tener traccia dell’argo-
mento che massimizza la (3.16), per ogni t e j. Questo viene fatto tramite
l’array ψt (j). La procedura completa per trovare la sequenza di stati migliore
puo essere cosı riassunta:
1. inizializzazione:
δ1 (i) = πibi (O1) , 1 ≤ i ≤ N (3.17)
ψ1 (i) = 0. (3.18)
2. ricorsione:
δt (j) = max1≤i≤N
[δt−1 (i) aij] bj (Ot) , 2 ≤ t ≤ T, 1 ≤ j ≤ N(3.19)
ψt (j) = arg max1≤i≤N
[δt−1 (i) aij] , 2 ≤ t ≤ T, 1 ≤ j ≤ N. (3.20)
3. terminazione:
P ∗ = max1≤i≤N
[δT (i)] (3.21)
q∗T = arg max1≤i≤N
[δT (i)] (3.22)
4. backtracking sul percorso:
q∗t = ψt+1
(q∗t+1
), t = T − 1, T − 2, . . . , 1. (3.23)
Computazionalmente l’algoritmo di Viterbi e simile alla procedura forward-
backward, a parte la massimizzazione sugli stati precedenti nel passo di
ricorsione, pertanto la complessita e anche in questo caso nell’ordine di N2T .
3.3.5 Le formule di Baum-Welch
Il problema del riconoscimento prevede l’addestramento dell’HMM con se-
quenze di osservazioni in modo tale che, se viene incontrata successivamente
una nuova sequenza con caratteristiche simili a quelle delle sequenze di adde-
stramento, il modello dovrebbe essere in grado di identificarla. Questo e di
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 60
gran lunga il problema piu difficile perche si deve determinare un metodo per
aggiustare i parametri (A,B, π) in modo da massimizzare la probabilita della
sequenza di osservazioni, dato il modello. Non c’e un modo di fare questo
analiticamente, ossia non esiste un modo ottimale di stimare i parametri del
modello. Questi possono, pero, essere comunque scelti in modo che P (O|λ)
sia massimizzata localmente, usando una procedura iterativa come il metodo
di Baum-Welch (formule di ri-stima dei parametri).
Partendo da un HMM iniziale noto, si massimizza P (O|λ) con il criterio
di ottimizzazione del maximum likelihood. P (O|λ) e detta funzione di likeli-
hood. Prima di arrivare alle formule di Baum-Welch e necessario introdurre
la variabile γt (i) definita come:
γt (i) = P (qt = Si|O, λ) , (3.24)
ossia la probabilita di trovarsi nello stato Si al tempo t data la sequenza di
osservazioni O e il modello λ. Per la regola di Bayes si ha:
γt (i) =P (qt = Si, O|λ)
P (O|λ)(3.25)
=αt (i) βt (i)
P (O|λ)(3.26)
Inoltre e necessario definire ξt (i, j), la probabilita di trovarsi nello stato Si
al tempo t e nello stato Sj al tempo t+1, dato il modello e la sequenza di
osservazioni:
ξt (i, j) = P (qt = Si, qt+1 = Sj|O, λ) . (3.27)
La sequenza di eventi che porta a questa condizione e illustrata in fig.3.3.
Grazie a Bayes si ha
ξt (i, j) =P (qt = Si, qt+1 = Sj, O|λ)
P (O|λ). (3.28)
Il numeratore si puo cosı riscrivere (dato che la catena di Markov e
causale):
P (qt = Si, qt+1 = Sj, O|λ) = P (qt = Si, O1, O2, . . . , Ot|λ) · (3.29)
·P (Ot+1, Ot+2, . . . , OT , qt+1 = Sj|λ) (3.30)
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 61
Figura 3.3: Sequenza di operazioni necessarie per il calcolo di ξt (i, j)
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 62
Il secondo fattore del membro di destra puo essere riscritto come:
P (Ot+1, Ot+2, . . . , OT , qt+1 = Sj|λ) = P (qt+1 = Sj, Ot+1|λ) · (3.31)
·P (Ot+1, Ot+2, . . . , OT , qt+1 = Sj|λ) = aijbj (Ot+1) βt+1 (j)
In conclusione si puo scrivere ξt (i, j) anche nella forma
ξt (i, j) =αt (i) aijbj (Ot+1) βt+1 (j)
P (O|λ), (3.32)
dove αt (i) tiene conto delle osservazioni O1, O2, . . . , Ot, aij tiene conto della
transizione allo stato Sj, bj (Ot+1) del simbolo emesso in quello stato e βt+1 (j)
della sequenza restante di osservazioni fino al tempo T.
Se si somma γt (i) da t = 1 fino a T, si ottiene una quantita che puo essere
vista come il numero atteso di volte che lo stato Si viene visitato o se si
somma fino a T -1 si ottiene il numero atteso di transizioni dallo stato Si
(∑T−1
t=1 γt (i)). Similmente se ξt (i, j) viene sommato da t = 1 a T -1, si trova
il numero atteso di transizioni dallo stato Si allo stato Sj (∑T−1
t=1 ξt (i, j)).
Ora possono essere introdotte le formule di Baum-Welch di ri-stima dei
parametri:
πi = γt (i) , 1 ≤ i ≤ N (3.33)
aij =T−1∑t=1
ξt (i, j) /T−1∑t=1
γt (i) (3.34)
ˆbj (k) =T∑
Ot=k
γt (j) /T∑
t=1
γt (j) (3.35)
La formula di ri-stima per πi rappresenta semplicemente la probabilita di
trovarsi nello stato Si al tempo t. La formula per aij e il rapporto tra il
numero atteso di volte che avviene la transizione da Si a Sj. La formula per
bj (k) e il rapporto del numero atteso di volte che nello stato Sj si osserva il
simbolo Ok e il numero atteso di volte che ci si trovi nello stato Sj.
Se si denota con λ il modello iniziale e con λ il modello ri-stimato consi-
stente nei parametri stimati sopra, si puo dimostrare che o il modello iniziale
CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 63
e un punto critico della funzione di likelihood, nel qual caso λ = λ, oppure
P(O|λ
)> P (O|λ), cioe e stato trovato un modello migliore da cui e piu
probabile che la sequenza O sia stata prodotta. Da qui si puo andare avanti
iterativamente nei calcoli finche P (O|λ) viene massimizzata.
Il risultato finale della procedura di ri-stima e detto stima del maximum
likelihood dell’ HMM. Un importante aspetto della procedura di ri-stima e
che i vincoli stocastici sui parametri dell’HMM rimangono automaticamente
soddisfatti ad ogni iterazione.
Capitolo 4
Stato dell’arte e genesi del
modello
4.1 Le architetture cognitive
Con il termine di architettura cognitiva si intende un modello d’ organiz-
zazione delle funzioni di una macchina, definito avendo come riferimento
uno dei modelli della mente. Le teorie dell’architettura cognitiva cercano
di fornire un’indagine esaustiva sui sistemi cognitivi, una descrizione delle
funzioni e delle capacita di ognuno di questi e un piano per integrarli. Tali
teorie sono progettate intorno ad un piccolo insieme di operazioni. Le teorie
dell’architettura cognitiva possono essere in contrasto con altri tipi di teorie
cognitive in quanto forniscono un insieme di principi per costruire model-
li cognitivi, piuttosto che una serie di ipotesi da verificare empiricamente
(Sloman, [33]).
Le teorie dell’architettura cognitiva possono essere approssimativamente
divise in due rami: quelle ispirate agli elaboratori computazionali classici
e quelle basate su un’architettura associativa. La caratteristica del primo
tipo di architetture e l’informazione sotto forma di simboli; il secondo tipo
e caratterizzato dall’attivazione che scorre attraverso una rete di collega-
menti (link) associativi. L’architettura per computer piu comune e detta
64
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 65
architettura di von Neumann in riconoscimento del contributo del matemati-
co al suo sviluppo. L’idea chiave, la tecnica dei programmi immagazzinati,
permette al programma e ai dati di essere memorizzati insieme. L’architet-
tura di von Neumann consiste in un’unita di elaborazione centrale (CPU),
in un’unita di memoria e nelle unita di input e output. L’informazione viene
data in input, memorizzata e trasformata algoritmicamente per ottenere un
output. Il ruolo cruciale giocato da questa struttura nello sviluppo della tec-
nologia moderna ha aiutato a far sembrare proficua la Teoria delle Mente
computazionale (CTM). Questa teoria afferma che la mente e simile ad un
elaboratore digitale: un dispositivo a stati discreti che memorizza rappre-
sentazioni simboliche e le manipola secondo regole sintattiche. I pensieri
vengono visti come rappresentazioni mentali simboliche espresse con il ’lin-
guaggio del pensiero’; i processi mentali sono sequenze causali guidate dalle
proprieta sintattiche (ma non semantiche) dei simboli .
La struttura di von Neumann ha dato luogo a tre classi di teorie sull’ar-
chitettura cognitiva, non mutuamente esclusive. Queste classi andrebbero
comprese come differenti prospettive sull’organizzazione cognitiva che por-
tano a differenti modelli di prestazione.
La prima architettura di questo tipo fu un sistema di produzione. In questa
prospettiva la mente consiste in una memoria di lavoro, un ampio insieme
di regole di produzione e un insieme di regole di precedenza che determina
l’ordine di applicazione delle regole di produzione. Una regola di produzione
e una coppia (condizione-azione) che specifica le azioni da compiere se certe
condizioni sono soddisfatte. La prima teoria generale di questo tipo fu pro-
posta da Newell, Simon e Shaw (1958) e fu chiamata il General Problem
Solver (GPS). L’idea era che un sistema di produzione che incorporasse al-
cune semplici euristiche potesse risolvere problemi difficili allo stesso modo
degli umani. Sempre con questo approccio fu progettato SOAR (Newell,
1990) che elabora l’architettura del sistema di produzione aggiungendo mec-
canismi per prendere decisioni, per l’applicazione ricorsiva di operatori alla
gerarchia di obiettivi e sotto-obiettivi e per l’apprendimento di produzioni.
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 66
Una seconda classe di architetture cognitive ispirate a von Neumann e
la teoria dell’elaborazione di informazioni. Diversamente dai sistemi di pro-
duzione, che presuppongono un particolare linguaggio per le trasformazioni
simboliche, le teorie dell’elaborazione dell’informazione presuppongono una
sequenza di passi di elaborazione dall’input attraverso la codifica, la memo-
rizzazione e il recupero, fino all’output. Tutte queste teorie si basano sui
componenti critici dell’architettura di von Neumann: un’unita di esecuzione
centrale per il controllo del flusso di informazioni, una o piu memorie per man-
tenere i dati, dispositivi sensoristici per acquisire le informazioni e dispositivi
di output. La questione cruciale in questo caso concerne la natura e lo svolgi-
mento dell’elaborazione ad ogni stadio. Un primo esempio di questa teoria fu
il modello dell’attenzione di Broadbent (1958), influenze del quale possono
essere trovate nella teoria dell’elaborazione dell’informazione ”modale”, in
cui la distinzione centrale e tra memoria a breve termine e memoria a lungo
termine, e in modelli successivi della memoria di lavoro.
I calcolatori digitali hanno anche ispirato una classe di architetture cogni-
tive che enfatizza una rappresentazione verosimile della conoscenza umana. Il
modello di elaboratore distingue i programmi dai dati e pertanto il progettista
puo scegliere di rappresentare la maggior parte della struttura nel program-
ma del computer o di rappresentarla nei dati su cui il programma lavora.
I modelli rappresentazionali operano nel secondo modo, usano strutture di
dati molto sofisticate per modellare la conoscenza organizzata. Teorie di
questo tipo presuppongono due tipi di memoria: una memoria di lavoro e
una memoria per i dati strutturati. Sono stati proposti vari tipi di formati di
dati, inclusi i frame (Minsky,1975), gli schemi (Rumelhart e Ortony, 1977) e
gli script (Schank e Abelson, 1977). Cio che i formati hanno in comune e che
1) rappresentano relazioni di ”default” che sono normalmente valide, anche se
non sempre; 2) contengono variabili, cosicche possono rappresentare relazioni
tra classi astratte e non puramente individuali; 3) possono essere contenuti
uno nell’altro (organizzazione gerarchica); 4) sono ingrado di rappresentare
il mondo a vari livelli di astrazione.
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 67
Il secondo tipo di architettura cognitiva e associativo. In contrasto con
i modelli del tipo di von Neumann, che assumono che l’elaborazione preve-
da operazioni seriali, governate da regole su rappresentazioni simboliche, i
modelli associativi assumono che l’elaborazione sia fatta da un vasto numero
di operatori in parallelo e si conformi a principi di similarita e contiguita.
Ad esempio, un modello associativo della memoria spiega come il ricordo di
una parte di un evento possa suggerire il recupero del resto dell’evento, affer-
mando che un’associazione tra due parti sia stata costruita quando l’evento
fu codificato per la prima volta. L’attivazione dalla rappresentazione del-
la prima parte dell’evento scorre alla rappresentazione della seconda parte
attraverso una connessione associativa. Piu in generale, la prima parte del-
l’evento suggerisce un recupero associativo dell’intero evento (e percio anche
della seconda parte), in virtu del fatto che e simile all’intero evento.
I modelli associativi hanno una lunga storia che parte da Aristotele, che
interpreto la memoria e alcuni processi di ragionamento in termini di associa-
zioni tra immagini di senso elementare. Modelli associativi piu recenti sono
piu ambigui: modelli differenti assumono associazioni tra entita differenti,
tra i concetti stessi o alcuni insiemi piu primitivi di elementi da cui si assume
che i concetti siano costituiti.
Queste moderne concezioni dell’architettura cognitiva associativa hanno
degli antecedenti nella storia della scienza cognitiva. La prima fonte stori-
ca e il fondamentale lavoro sul calcolo associativo, iniziato da Mccullogh e
Pitts (1943), che dimostra l’enorme potere computazionale di popolazioni
di neuroni e l’abilita di tali sistemi di imparare utilizzando semplici algorit-
mi. La seconda fonte e l’applicazione alla psicologia dei modelli associativi
basati sulla neurofisiologia. Una sintesi influente di questi sforzi fu il libro
di Hebb (1949), L’organizzazione del comportamento: Hebb cerco di descri-
vere fenomeni fisiologici usando la teoria delle connessioni neurali (aggregati
di cellule) motivata neurofisiologicamente, in parte richiamandosi all’orga-
nizzazione corticale su larga scala. Cosı, l’architettura del cervello divenne
una fonte d’ispirazione per l’architettura cognitiva. La concezione di Hebb
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 68
ebbe successo specialmente come base per l’apprendimento percettivo. Altri
apporti derivarono dai risultati tecnici che portarono una rinnovata atten-
zione sui modelli associativi negli anni ’80. Sforzi precedenti per costruire
dispositivi associativi si risolsero in macchine che erano severamente limitate
nel tipo di distinzioni che erano in grado di fare (non potevano distinguere
pattern linearmente separabili). Questo limite fu superato con l’introduzione
degli algoritmi di apprendimento a backpropagation dell’errore (Rumelhart,
Hinton e Williams,1986). Il secondo risultato tecnico rilevante fu una serie di
dimostrazioni, dovute in larga parte a Hopfield (1982), che fornirono nuovi
modi di interpretare il calcolo associativo e offrirono nuovi strumenti per
proseguire lo studio delle reti associative. Queste dimostrazioni provarono
che certi tipi di reti associative potevano essere in grado di ottimizzare fun-
zioni matematiche. Questo punto di vista diede la possibilita di tradurre un
problema in una rete associativa. Questo semplifico notevolmente il processo
della costruzione di modelli di reti associative per compiti cognitivi.
Questi risultati suscitarono un rinnovato interesse nelle architetture as-
sociative. Nel 1986 Rumelhart e McClelland pubblicarono un’opera fonda-
mentale sull’elaborazione distribuita in parallelo, presentando un insieme di
modelli di diversi sistemi cognitivi (memoria, percezione e linguaggio) basati
su comuni principi di associazione. Quegli studi diedero credito all’idea che
potesse essere sviluppata un’architettura associativa integrata.
Nonostante l’ampio divario tra le architetture di von Neumann e quelle as-
sociative, sono state sviluppate proposte di architetture ibride, che includono
componenti del tipo di von Neumann e componenti associative. Tali unioni
nei sistemi di elaborazione sembrano necessarie sia su un piano teorico che
su un piano empirico (Sloman, 1996). Solo le componenti di von Neumann
sembrano infatti capaci di manipolare variabili in modo simile alla compe-
tenza umana e, d’altro canto, le componenti associative sono piu capaci di
catturare la specificita dei contesti del giudizio e dell’azione umani cosı come
l’abilita nel gestire ed integrare vari pezzi di informazione simultaneamente.
Il primo influente tentativo di architettura ibrida e stato ACT*, che integra
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 69
tre tipi di memoria: di produzione,dichiarativa e di lavoro.
Integrare le diverse attitudini in maniera disciplinata e produttiva e co-
munque una sfida tuttora in corso.
4.2 Perche apprendere per imitazione a spostare
il fuoco attentivo
Gli uomini ed altri animali mostrano una gamma vasta e notevolmente flessibile
di competenze sociali, dimostrando la capacita di interpretare, predire e rea-
gire appropriatamente al comportamento degli altri, cosı come di coinvolgere
gli altri in una varieta di complesse interazioni sociali. Sviluppare sistemi
computazionali che abbiano questi stessi tipi di abilita sociali e un punto
critico nella progettazione di robot, personaggi animati e altri agenti com-
puterizzati che appaiano intelligenti ed esperti nelle interazioni con gli uomini
(e tra loro), che siano capaci di cooperare con le persone come partner com-
petenti, che siano capaci di apprendere tramite istruzioni naturali umane e
che siano intuitivi e coinvolgenti per le persone che interagiscono con loro
([4]).
Attualmente moltissime tecnologie (agenti animati, computer, ecc.) intera-
giscono con noi nella maniera caratteristica delle persone socialmente disabili.
Nei casi migliori i ritrovati tecnologici sanno cosa fare ma spesso mancano del-
l’intelligenza sociale per farlo nella maniera appropriata. Come conseguenza
spesso l’utente rimane frustrato e smette di usarli anche se possono essere
utili. Questo e un problema, dato che molte delle nuove applicazioni ro-
botiche richiedono che gli agenti siano in grado di cooperare con gli uomini
in modo competente e pratico. Ad esempio, sono stati sviluppati robot per
fornire assistenza agli anziani in casa. Questi robot dovrebbero essere persua-
sivi in maniera sensibili verso i bisogni dell’uomo, senza risultare fastidiosi.
In altre applicazioni i robot sono stati progettati per prestare servizio come
membri di un team umano-robotico, come il robot della NASA, Robonaut.
Questo robot svolge il ruolo di assistente di un astronauta nella gestione della
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 70
stazione spaziale. In casi come questo il partner robot deve fornire assistenza
al compagno umano al momento giusto, non solo riconoscendo quello che la
persona sta facendo (ossia le azioni osservabili) ma anche comprendendo le
intenzioni e gli scopi messi in atto.
Un numero crescente di prove suggerisce che l’abilita di imparare guardan-
do gli altri (e in particolare l’abilita di imitare) possa essere cruciale nello
sviluppo di comportamenti sociali appropriati e, in ultima analisi, della ca-
pacita di ragionare su pensieri, intenzioni e desideri degli altri. Le teorie pre-
sentate nel cap.2 possono fornire un punto d’appoggio per dotare le macchine
di capacita sociali simili a quelle umane.
Uno dei problemi principali nell’apprendimento sociale durante lo svilup-
po umano e l’abilita di prestare attenzione ad un oggetto di mutuo interesse
([30]). Gli uomini possiedono un ampio repertorio di indizi sociali, come la
direzione dello sguardo, gesti per puntare e indizi posturali che indicano ad un
osservatore quale oggetto viene al momento preso in considerazione. Queste
capacita, che vanno sotto il nome di attenzione congiunta (o condivisa) sono
vitali per lo sviluppo delle attitudini sociali nei bambini. L’attenzione con-
divisa e un meccanismo che aiuta gli infanti nel far leva sulle capacita e la
conoscenza degli adulti per apprendere informazioni sull’ambiente, in parte
permettendo loro di manipolare il comportamento dell’adulto e in parte for-
nendo le basi per forme piu complesse di comunicazione sociale, come il
linguaggio e i gesti.
Costruire una macchina che possa riconoscere segnali sociali da un osserva-
tore umano apre la strada ad un’interazione uomo-macchina piu naturale e
crea la possibilita per le macchine di apprendere osservando direttamente
istruttori umani non addestrati.
La costruzione di un robot con capacita sociali complete rimane comunque un
compito gravoso, ancora ascrivibile all’ambito della fantascienza piu che del-
l’intelligenza artificiale. Per costruire un’implementazione che abbia successo
si deve decomporre il ”modulo delle capacita sociali” in parti maneggevoli.
Scassellati dimostra che questo e possibile, confortato da prove di studi
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 71
nell’ambito della psicologia dello sviluppo e della psicologia evoluzionistica.
4.3 Decomposizione del compito di attenzione
condivisa
Per costruire capacita sociali complesse, si deve partire da una decompo-
sizione in abilita comportamentali piu semplici che possano essere imple-
mentate e testate su un sistema artificiale.
E’ stato dimostrato che i meccanismi dell’attenzione condivisa non costitui-
scono un singolo sistema monolitico. Anche negli uomini questi meccanismi
non sono presenti sin dalla nascita, ma c’e una sequenza fissa delle abilita che
vengono acquisite approssimativamente allo stesso passo in tutti i bambini.
Ad esempio i bambini sono sempre sensibili alla direzione dello sguardo prima
che possano interpretare e generare gesti di puntamento. Scassellati indivi-
dua quattro sotto-abilita principali: il mantenimento del contatto visivo, il
seguire la direzione dello sguardo, il puntamento imperativo e il puntamento
dichiarativo. Delle rappresentazioni esemplificative sono mostrate in fig.4.1,
dove sul lato destro di ogni stadio e raffigurato l’adulto-istruttore e sul lato
sinistro il bambino che apprende.
Il primo stadio viene riscontrato fin dalla nascita: gli infanti presentano
una forte preferenza nel fissare le facce umane e nel mantenere il contatto
visivo nei primi tre mesi di vita.
Il secondo passo prevede il seguire lo sguardo dell’altro per condividere
l’attenzione su un oggetto di interesse. Si presenta come rapida alternanza tra
l’osservare gli occhi dell’altro individuo e l’osservare l’oggetto dell’attenzione
di questo. Questo compito viene svolto efficacemente nei bambini dai 9 mesi
in su e solo dai 18 mesi si riscontra il seguire lo sguardo anche fuori dal
proprio campo di vista.
Il terzo stadio e l’indicazione imperativa, un gesto usato per ottenere un
oggetto al di fuori della propria portata. Questo comportamento si presenta
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 72
Figura 4.1: Decomposizione dell’abilita di attenzione congiunta in quattro
sotto-compiti
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 73
a circa 9 mesi di eta e puo avvenire anche se l’adulto non sta osservando il
bambino.
Il quarto passo e l’indicazione dichiarativa, caratterizzata da un braccio
disteso e dal dito indice teso per portare l’attenzione del’altro su un oggetto
distante. A differenza del passo precedente non e implicita una richiesta
dell’oggetto. Questo comportamento intorno ai 12 mesi di eta e non e stato
identificato in altri primati. Il bambino infatti prima impara a riconoscere il
gesto di indicazione dichiarativa dell’adulto e poi, in un secondo momento,
lo imita con gli stessi scopi.
Ognuno di questi passi sfrutta le capacita acquisite con il precedente e
per questo e ragionevole implementarli in sequenza.
Nell’ottica dei meccanismi visti nel paragrafo precedente e stato sugge-
rito che l’attenzione congiunta sia facilitata da informazioni di movimento
(Nagai, 2005, [22]). Moore e altri (1997) hanno confrontato la capacita dei
bambini di imparare a seguire lo sguardo in due casi: quando vedono lo
stato finale stazionario di un adulto che ha girato la testa e la quando la
testa che gira e in movimento. Il confronto ha mostrato che solo gli infan-
ti che avevano visto il movimento avevano imparato a seguire lo sguardo.
Corkum e Moore (1998) hanno indagato l’origine del’attenzione congiunta
ed hanno scoperto che gli infanti hanno uno stadio di sviluppo in cui rispon-
dono sensibilmente allo spostamento dello sguardo di un adulto. Hanno an-
che esaminato le prestazioni dell’apprendimento nell’attenzione congiunta in
situazioni innaturali in cui un oggetto interessante veniva presentato al lato
opposto ripetto alla direzione della testa di un adulto che si girava. L’espe-
rimento ha dimostrato che i bambini non acquisivano il comportamento di
guardare l’oggetto, girandosi in senso opposto rispetto alla testa dell’adulto,
bensı seguivano la rotazione della testa dell’adulto sebbene non riuscissero a
trovare alcun oggetto. Questo dimostra che il meccanismo di apprendimen-
to dell’attenzione congiunta non e basato solo sulla contingenza tra la testa
dell’adulto che si volta e l’attivazione dovuta all’oggetto, ma puo essere fa-
cilitato dalle caratteristiche fisiche dell’azione dell’adulto, come la direzione
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 74
del movimento della testa.
4.4 Apprendere i movimenti della testa: un
confronto con la letteratura
Scassellati ([30]) ha implementato il primo stadio dell’attenzione condivisa
attraverso un robot umanoide in grado di trovare le facce, determinare la
posizione dell’occhio all’interno della faccia e determinare se l’occhio sta
guardando il robot. Una volta implementati i passi successivi, il robot e
stato in grado di imitare i cenni del capo affermativi e negativi dell’uomo.
Nel modello il robot riconosceva i movimenti sı/no rilevando lo spostamento
cumulativo della faccia umana nel proprio campo visivo e poi applicava i
pattern di azioni fissate per muovere la propria testa in un comportamento
imitativo. Demiris e i suoi colleghi ([10, 11]) hanno costruito un modello
di imitazione della testa basato sullo schema dell’active intermodal mapping
proposto da Meltzoff e Moore (cfr. par.3.2). Il loro modello ha permesso
ad un robot di imitare i movimenti della testa di un uomo stabilendo un’e-
quivalenza tra la postura della testa, stimata dal movimento rilevato tramite
flusso ottico, e la postura della testa del robot, data dai valori dell’encoder.
Schon e altri (2004) hanno costruito un modello in cui un robot acquisisce
l’abilita di stabilire l’attenzione congiunta basandosi sull’imitazione dei movi-
menti della testa. Nel loro modello l’imitazione era ottenuta seguendo sempre
lo schema del mapping di equivalenza intermodale di Melzoff e Moore. In
altre parole, un robot ha potuto imitare i movimenti della testa girando la
propria nella stessa postura di quella umana, stimata da un pattern di im-
magini della testa umana. Nagai ([22]) ha sviluppato un modello di sviluppo
per un robot che, simulando un bambino, prima sperimenti il tracciamento
visivo di una faccia umana basandosi sull’abilita di rilevare gli stimoli visuali
salienti e poi acquisisca l’abilita di imitare i movimenti della testa trovando
un’equivalenza con i suoi movimenti quando fa il tracciamento della testa
umana che si muove.
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 75
4.5 Costruzione del modello e dell’architet-
tura cognitiva per l’esperimento
Imparare a seguire ed imitare una testa in movimento e un compito che
rientra nell’ambito del problema dell’ordine seriale in un comportamento.
Lashley (1951), psicologo comportamentista, affermo che ogni tipo di com-
portamento, dal movimento al parlare, allo scrivere, integra temporalmente
sequenze di azioni in maniera complessa ([34]). Egli considero le azioni com-
plesse, temporalmente integrate come caratteristica specifica del comporta-
mento umano. Nello specifico, Lashley sosteneva che tutti gli stimoli per-
cepiti e tutte le azioni generate da un organismo si distinguono in termini
di un sistema di coordinate spaziali. Le rappresentazioni degli stimoli o dei
movimenti, una volta discriminati in questo sistema, vengono esaminati da
un sistema separato della mente che traduce l’ordine spaziale in un ordine
temporale. Similmente, una serie di stimoli ricevuti in un certo ordine tem-
porale viene rappresentata internamente in diverse posizioni, che vengono poi
rilette nell’ordine temporale appropriato dal sistema di scan. In questo modo
una serie di azioni prescritte, rappresentata magari in punti diversi all’inter-
no del sistema senso-motorio, viene riprodotta esternamente nella sequenza
temporale appropriata.
Un approccio che segue l’idea di Lashley e quello di Clancey (1999) nel-
l’analisi computazionale di quella che chiama ”coordinazione concettuale”.
Mentre nella ”situated cognition” (Clancey,1997) i concetti potevano essere
accoppiati (attivati simultaneamente) e inferiti (attivati sequenzialmente) in
base alla situazione fisica, sociale o mentale, nella coordinazione concettuale
le associazioni tra concetti in memoria operano come attivazioni neurali o
simultanee o successive nel cervello. Clancey ha anche sostenuto che molti
dei meccanismi organizzativi del comportamento cognitivo, che si pensava
fossero innati, possono essere appresi e costituire una specie di macchina
virtuale in esecuzione nell’architettura neurale di base del cervello.
Nel nostro approccio al compito di apprendere ad imitare i movimenti
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 76
della testa siamo partiti dalla considerazione che l’uomo nel seguire questo
tipo di movimenti compie in maniera implicita sia calcoli probabilistici sul-
la posizione in cui andra a trovarsi l’oggetto da seguire, sia un’operazione
di riconoscimento di attivita gia viste e quindi, in ultima analisi anche un’-
opera di selezione tra i modelli conservati in memoria. In questo senso il
riconoscimento e facilitato da un’attivita di pattern matching compiuto dal-
la memoria associativa. Il termine ”memoria di riconoscimento” (Ratcliff
e Murdock, 1976) denota un particolare paradigma sperimentale usato nel-
lo studio della memoria umana. Questo paradigma consiste in un compito
episodico, in cui la risposta del soggetto e una valutazione relativa all’apparte-
nenza di un oggetto attualmente presente ad una lista di oggetti presentati
precedentemente. L’impostazione di un esperimento tipico di memoria di
riconoscimento richiede due fasi. Nella prima viene presentato al soggetto
una study-list, mentre nella seconda, dopo un certo tempo di latenza, viene
presentata al soggetto una nuova lista di oggetti, la test list che comprende
i primi tra altri nuovi.
Analogamente si e pensato di fornire al nostro sistema un insieme di modelli
di movimenti di testa come base per l’apprendimento. Ogni modello contiene
una lista di movimenti analoghi su cui addestrare il sistema, in modo che, per
usare un’espressione riferita ad un comportamento umano, il sistema ’ci fac-
cia l’occhio’. Successivamente al sistema viene presentato un esempio di una
classe nota ed esso dovrebbe ricostruire gli spostamenti della testa secondo
gli esempi visti. Con un numero sufficiente di modelli, discretizzati in classi
e gerarchicamente organizzati, infine, il sistema potrebbe imparare a classifi-
care sequenze di movimenti di classi non note a priori, secondo associazioni
mnemoniche, e operare on-line. Quest’ultima fase non e stata implementata
in questo lavoro di tesi.
Lo schema delle operazioni e gli elementi in gioco sono presentati in fig.4.2.
In questo approccio alla costruzione di comportamenti imitativi, l’ap-
prendimento si manifesta nell’acquisizione di nuove capacita di riconoscimen-
to dovute alla semplice osservazione di azioni eseguite dall’uomo. Il computer
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 77
Figura 4.2: Schema di apprendimento implementato
su cui implementare il modello pero non e dotato della stessa struttura vi-
siva umana, ne della stessa capacita di rappresentazione delle strutture di
dati, pertanto l’osservazione e seguita da una fase di adattamento dei flus-
si di dati sensoriali in maniera da renderli conformi ad una struttura atta
all’apprendimento.
Tenendo conto di queste considerazioni si e proceduto a definire un’ar-
chitettura cognitiva idonea per i compiti prefissati. L’architettura proposta
si compone di cinque aree computazionali, come mostrato in fig.4.3.
Il sistema sensoristico acquisisce la visione del mondo esterno tramite se-
quenze video, che vengono passate sotto forma di frame al sistema percettivo.
Questo svolge una prima elaborazione di basso livello della percezione ad un
livello subconcettuale, estrapolando dai dati provenienti dai sensori di visione
l’oggetto di interesse e le caratteristiche destinate all’elaborazione cognitiva.
Nell’area concettuale l’informazione viene trasformata in una struttura adat-
ta all’elaborazione e al confronto con i modelli presenti nella memoria associa-
tiva, risultato della fase di apprendimento. Una volta operata l’associazione
il risultato viene restituito all’area concettuale che comunica all’area della
ricostruzione del movimento le azioni da compiere. La stessa architettura e
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 78
Figura 4.3: L’architettura cognitiva del sistema implementato : sono presenti
cinque aree e le relazioni intercorrenti
CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 79
in grado sia di analizzare il compito da imitare, dopo averlo osservato, sia di
imitare il compito dato. Nel modello implementato si e utilizzata una visione
del mondo bidimensionale, disponendo di una sola telecamera, per focaliz-
zarsi sulle questioni architetturali legate all’apprendimento e per evitare il
carico computazionale legato alla rappresentazione tridimensionale. Durante
l’osservazione un soggetto umano seduto si muove davanti alla telecamera
fissa compiendo attivita arbitrarie. Dalle sequenze video viene quindi estrat-
to, attraverso meccanismi di segmentazione basata sul colore, il viso della
persona, oggetto dell’attenzione del sistema. I movimenti del viso vengono
quindi discretizzati e formalizzati in una struttura dati che viene memorizzata
e va ad identificare quel tipo di movimento. Durante la fase di apprendimen-
to vengono forniti campioni di strutture dati che richiamano il movimento
osservato in termini di direzioni degli spostamenti, in modo da addestrare le
capacita riconoscitive del sistema. Uno dei modi piu diretti di analizzare se-
quenze di comportamento, almeno quando questo puo essere categorizzato in
diverse semplici classi, consiste nel considerare la sequenza come una serie di
transizioni tra stati. Si e scelto percio di implementare questo processo nel-
l’area concettuale tramite un Hidden Markov Model per l’inerente struttura
temporale e sequenziale che questa tecnica offre nella costruzione del modello
e per la flessibilita e potenza degli algoritmi di apprendimento previsti, come
illustrato nel cap.4. Nelle simulazioni effettuate il riconoscimento e stato ef-
fettuato su un tipo di sequenza alla volta (il sistema non opera il matching
tra i vari modelli presenti in memoria). Il modulo di ricostruzione del movi-
mento si occupa quindi di imitare il movimento del viso, inquadrando l’area
nel campo di vista del sistema in cui ipotizza si trovi il viso seguito.
Capitolo 5
Contributo sperimentale
5.1 Obiettivi
La parte sperimentale di questo lavoro ha avuto come scopo l’apprendimen-
to di movimenti traslatori di un viso ripreso da webcam fissa. Un compito
di questo tipo puo essere importante per diverse applicazioni in Computer
Vision, come animazione di sistemi 3-D, identificazione di facce, sistemi di
sorveglianza e di video-conferenza. Un’applicazione del genere puo anche co-
stituire un ausilio per le interfacce uomo-macchina, catturando l’attenzione
di una persona. Ai nostri fini un semplice tracciamento avrebbe comportato
diversi problemi data la forte aleatorieta e non-linearita del tipo di movimen-
ti osservati. L’approccio utilizzato e basato sugli Hidden Markov Model che
forniscono un’ intrinseca sequenzialita temporale alla rappresentazione del
sistema. Inoltre questa tecnologia si e dimostrata efficace per il riconosci-
mento di modelli spaziali 1- o 2-D, in quanto la flessibilita data dall’adde-
stramento permette al modello di apprendere le dinamiche che sottendono
effettivamente i dati piuttosto che quelle immaginate dal programmatore.
80
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 81
5.2 L’apparato sperimentale
L’esperimento svolto in questo lavoro di tesi e stato condotto su un laptop
Toshiba Satellite con Cpu a 1.70 Ghz e 256 Mb di memoria RAM. Le sequenze
video per l’apprendimento dei movimenti della testa sono file .avi prodotti
con una webcam Logitech Quickcam Messenger. Ogni video ha un framerate
di 15 fps e una definizione di 160 x 120 pixel.
Tutto il codice e stato sviluppato con Matlab 7.1. In particolare si e fatto
uso della toolbox Statistics per l’implementazione degli algoritmi di manipo-
lazione dell’Hidden Markov Model e di segmentazione tramite K-mean. Per la
produzione di dati destinati all’addestramento del modello si e fatto uso del-
l’algoritmo Metropolis nell’implementazione contenuta nella toolbox Netlab
di I. Nabney e C. Bishop.
5.3 La segmentazione
Il primo problema affrontato e stato l’identificazione della zona dei frame
contenente il viso da seguire, allo scopo di ottenere dall’elaborazione di solo
una parte di immagine informazioni utili alla descrizione della posizione del
viso. Per poter individuare in maniera automatica questa zona, isolandola
dallo sfondo e da altri elementi presenti nella scena, si e proceduto alla seg-
mentazione dei frame di interesse tramite l’algoritmo supervisionato detto
K-mean (cfr. appendice A). La segmentazione e un’ operazione che separa
gruppi di oggetti in partizioni tali che gli elementi all’interno di un cluster
siano il piu vicini possibile gli uni agli altri e il piu lontani possibile dagli el-
ementi negli altri cluster. La clusterizzazione con K-mean prevede che siano
specificati il numero di cluster in cui partizionare i dati e una metrica per la
distanza che quantifica quanto vicini sono due elementi tra loro. In generale
nei video prodotti il viso, ripreso da distanza ravvicinata (70-80 cm) risul-
ta essere un’area cromaticamente omogenea e distinta dal resto della scena.
Per facilitare la classificazione dei pixel in base al colore il frame e stato per
prima cosa passato dallo spazio di colori RGB allo spazio L*a*b*. Nello
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 82
spazio L*a*b* i pixel sono descritti da triple, dove l’elemento ’L*’ rappresen-
ta la luminosita, mentre gli elementi ’a*’ e ’b*’ rappresentano la cromaticita
lungo l’asse rosso-verde e blu-giallo rispettivamente. La clusterizzazione dei
pixel e stata applicata solo all’informazione cromatica. Le coppie del tipo
C = [a ∗ b∗] sono state divise in tre cluster usando come metrica la distanza
euclidea. In questo modo si ottiene una matrice di etichette E, m x n (con
m numero delle righe e n numero delle colonne del frame), dove l’elemento
generico e cosı definito:
eij = {k, k = 1, 2, 3} ,
cioe rappresenta il cluster cui il pixel (i,j) del frame appartiene. Per identi-
ficare l’etichetta assegnata alla maggioranza dei pixel del viso si e calcolato
quale cluster ha valore medio piu alto di ’a*’, dato che la zona del viso ha
maggior probabilita di avere un tono di colore lungo quell’asse. A questo
punto in base al numero occorrenze dell’etichetta associata al viso e stato
selezionato un insieme di righe e di colonne formanti il riquadro che piu
probabilmente contiene la testa, data l’alta densita di pixel appartenenti al
cluster del viso. La figura 5.1 mostra il processo fin qui illustrato, dal frame
intero al riquadro ottenuto dalla segmentazione. L’immagine segmentata e
costituita da pixel bianchi, neri o grigi a seconda del cluster cui il pixel del
frame originale e stato assegnato.
5.4 La metrica per i movimenti
Una volta individuato l’oggetto da imparare a seguire ci si e posti il problema
di introdurre una metrica adatta alla descrizione degli spostamenti. Questo
allo scopo di ottenere dei dati che rappresentino in maniera consistente le
dinamiche oggetto dell’apprendimento. A tal fine si e scelto di constatare
gli spostamenti relativi dell’oggetto segmentato ad intervalli regolari in o-
gni video. Per poter osservare delle distanze apprezzabili e indicative delle
effettive direzioni dei movimenti e stato segmentato un frame ogni cinque al-
l’interno di una sequenza di 76 frame, equivalenti ad un segmento temporale
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 83
Figura 5.1: Segmentazione del frame in 3 classi
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 84
di circa 5 secondi. Dato il framerate dei video, questo ha significato accertare
la posizione del viso ad intervalli di 0.33 sec.
Calcolando la posizione del riquadro in ogni frame segmentato, e stato pos-
sibile produrre un vettore di 15 elementi, ognuno dei quali e costituito da
una coppia di distanze relative, in termini di pixel lungo l’asse x e lungo
l’asse y dell’immagine intera1, tra il centro del riquadro in un frame e nel
precedente. Gli spostamenti sono stati calcolati rispetto al centro per ot-
tenere delle misure il piu possibile normalizzate, in considerazione del fatto
che la segmentazione produce per ogni frame riquadri di dimensioni diverse
(come si puo constatare in figura 5.2) e, pertanto, lo spostamento del riquadro
potrebbe non essere indicativo dello spostamento effettivo della testa.
In conclusione dall’analisi di ogni video e stato prodotto un vettore di
elementi del tipo < ∆x (i) ,∆y (i) >, dove
∆x (i) = xc (i+ 5)− xc (i)
∆y (i) = yc (i+ 5)− yc (i) ,
con xc (i) e yc (i) ascissa e ordinata rispettivamente del centro del riquadro
selezionato nell’i-esimo frame segmentato.
Un ∆x (i) positivo rappresenta un movimento verso destra dal frame i al
frame i+5, un ∆x (i) negativo un movimento verso sinistra, un ∆x (i) nullo
nessun movimento. Analogamente per ∆y (i) un valore positivo, negativo,
nullo indica uno spostamento verso il basso, verso l’alto e nullo rispettiva-
mente.
5.5 Produzione dei dati per l’addestramento
Per addestrare il modello a riconoscere un certo tipo di movimenti del viso il
passo successivo e consistito nel fornire un set di sequenze di spostamenti in
1Si ricorda che le immagini in Matlab sono rappresentate in un sistema di riferimento
con origine nell’angolo superiore sinistro, ascisse crescenti verso destra e ordinate crescenti
verso il basso.
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 85
Figura 5.2: Sequenza di frame segmentati
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 86
qualche modo ’simili’ a quelli ottenuti dalla segmentazione. Il vettore di cop-
pie di ∆ ottenuto da ogni video, preso come unico argomento di apprendimen-
to, avrebbe prodotto un modello in grado di riconoscere solamente sequenze
identiche ad esso, limitando fortemente le potenzialita dell’applicazione che
ci si era prefissa o richiedendo un grande numero di video d’esempio. A
questo problema e stato possibile ovviare grazie all’algoritmo di Metropo-
lis. Prendendo il vettore di spostamenti come punto di partenza sono stati
prodotti 200 campioni di movimenti lungo l’asse x e altrettanti lungo l’asse y
da una distribuzione Gaussiana x ∼ N (0,Σ), di dimensione 15 con matrice
di covarianza sferica Σ pari a 0.01 per ogni componente.
5.6 Modellazione con HMM
La formalizzazione del compito di addestramento e apprendimento e inizia-
ta tramite l’individuazione degli elementi costitutivi di un Hidden Markov
Model rispetto al sistema in esame:
1. Gli stati. Come configurazioni del modello sono stati scelti i movi-
menti della testa discretizzati secondo N=9 direzioni possibili in senso
antiorario partendo dalla posizione nel frame a tempo t: fermo, de-
stra, destra-in alto, in alto, sinistra-in alto, sinistra, sinistra-in basso,
in basso, destra-in basso2. La fig.5.3 illustra questa schematizzazione.
2. Le osservazioni. Le osservazioni sono state costruite a partire dai dati
prodotti nel modo visto sopra, categorizzando in tre tipologie i vari
spostamenti sia lungo le ascisse che lungo le ordinate.Le emissioni sono
composte da coppie di simboli dell’alfabeto {+,−,=}: sono percio os-
servabili M=9 emissioni diverse (==, +=, +-, =-, –,-=, -+, =+, ++).
Alle traslazioni nell’intervallo (3,∞) e associato il simbolo ’+’, all’in-
2Nel modello implementato gli stati sono stati per brevita indicati come: fermo, dx,
dxsu, su, sinsu, sin, singiu, giu, dxgiu.
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 87
Figura 5.3: Posizione del viso nel frame attuale e possibili movimenti nel
frame successivo
tervallo (−3,−∞) il simbolo ’-’, mentre all’intervallo [−3, 3] il simbolo
’=’3.
3. Le probabilita di transizione. E’ stata inizializzata una matrice 9 x 94
di elementi ai,j = p(qt+1 = j|qt = i
), 1 ≤ i,j ≤ N, privilegiando nella
distribuzione delle probabilita lo stato di immobilita e le traslazioni
verso destra e verso sinistra, ritenuti gli stati piu frequenti. La matrice
ottenuta e quella in tabella 5.1
4. Le probabilita delle osservazioni.E’ stata inizializzata una matrice 9 x
3Si e considerato cioe come nullo qualunque spostamento nel raggio di 3 pixel intorno
al centro del riquadro. Questo sempre allo scopo di normalizzare eventuali ∆x,y 6= 0 per
via della segmentazione.4In realta una matrice 10 x 10, in quanto e stato introdotto uno stato iniziale fittizio.
Gli algoritmi implementati in Matlab, infatti, considerano il primo stato indicato nelle
specifiche come lo stato iniziale di ogni sequenza temporale. Lo stato fittizio diventa cosı
lo stato iniziale, con probabilita 1/9 di passare in ogni altro stato e con probabilita nulla
che si arrivi in esso.
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 88
init fermo dx dxsu su sinsu sin singiu giu dxgiu
init 0 0,11111 0,11111 0,11111 0,11111 0,11111 0,11111 0,11111 0,11111 0,11111
fermo 0 0,2 0,2 0,0667 0,0667 0,0667 0,2 0,0667 0,0667 0,0667
dx 0 0,2 0,2 0,0857 0,0857 0,0857 0,0857 0,0857 0,0857 0,0857
dxsu 0 0,2 0,0857 0,2 0,0857 0,0857 0,0857 0,0857 0,0857 0,0857
su 0 0,2 0,0857 0,0857 0,2 0,0857 0,0857 0,0857 0,0857 0,0857
sinsu 0 0,2 0,0857 0,0857 0,0857 0,2 0,0857 0,0857 0,0857 0,0857
sin 0 0,2 0,0857 0,0857 0,0857 0,0857 0,2 0,0857 0,0857 0,0857
singiu 0 0,2 0,0857 0,0857 0,0857 0,0857 0,0857 0,2 0,0857 0,0857
giu 0 0,2 0,0857 0,0857 0,0857 0,0857 0,0857 0,0857 0,2 0,0857
dxgiu 0 0,2 0,0857 0,0857 0,0857 0,0857 0,0857 0,0857 0,0857 0,2
Tabella 5.1: Matrice delle transizioni di stato
== += +- =- – -= -+ =+ ++
init 0 0 0 0 0 0 0 0 0
fermo 0,4 0,1 0,05 0,1 0,05 0,1 0,05 0,1 0,05
dx 0,1 0,4 0,1 0,05 0,05 0,1 0,05 0,05 0,1
dxsu 0,05 0,1 0,4 0,1 0,1 0,05 0,05 0,05 0,1
su 0,1 0,05 0,1 0,4 0,1 0,05 0,05 0,1 0,05
sinsu 0,05 0,05 0,1 0,1 0,4 0,1 0,1 0,05 0,05
sin 0,1 0,1 0,05 0,05 0,1 0,4 0,1 0,05 0,05
singiu 0,05 0,05 0,05 0,05 0,1 0,1 0,4 0,1 0,1
giu 0,1 0,05 0,05 0,1 0,05 0,05 0,1 0,4 0,1
dxgiu 0,05 0,1 0,1 0,05 0,05 0,05 0,1 0,1 0,4
Tabella 5.2: Matrice delle emissioni
95 di elementi bj (k) = p(ot = νk|qt = j
), 1 ≤ j ≤ N, 1 ≤ k ≤ M
indicanti la probabilita di osservare l’ emissione otnello stato qt. La
matrice prodotta e quella in tabella 5.2.
5. Le distribuzioni di probabilita a priori degli stati. Si e assunto che
tutti gli stati siano inizialmente equiprobabili. Il vettore dei prior e
rappresentato dalla prima riga della matrice delle transizioni.
5In realta una matrice 10 x 9 (cfr.nota precedente).
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 89
init fermo dx dxsu su sinsu sin singiu giu dxgiu
init 0 0,76963 0,029472 0,028533 0,029357 0,028534 0,028047 0,028534 0,029357 0,028533
fermo 0 0,77296 0,0025241 0,00074527 0,00077797 0,00079158 0,21988 0,00079158 0,00077797 0,00074527
dx 0 0,21286 0,19566 0,083483 0,083634 0,083639 0,089972 0,083639 0,083634 0,083483
dxsu 0 0,20473 0,085132 0,19844 0,085082 0,085066 0,08638 0,085066 0,085082 0,08503
su 0 0,20872 0,084681 0,084511 0,19744 0,084565 0,086399 0,084565 0,084605 0,084511
sinsu 0 0,20583 0,084933 0,084792 0,084858 0,19801 0,087071 0,084849 0,084858 0,084792
sin 0 0,19929 0,0027765 0,0025411 0,0026213 0,0026538 0,78231 0,0026538 0,0026213 0,0025411
singiu 0 0,20583 0,084933 0,084792 0,084858 0,084849 0,087071 0,19801 0,084858 0,084792
giu 0 0,20872 0,084681 0,084511 0,084605 0,084565 0,086399 0,084565 0,19744 0,084511
dxgiu 0 0,20473 0,085132 0,08503 0,085082 0,085066 0,08638 0,085066 0,085082 0,19844
Tabella 5.3: Matrice delle transizioni dopo l’addestramento
5.7 L’addestramento
Una volta costruito ed inizializzato il modello, si e passati all’aggiustamento
dei parametri in modo tale da permettere il riconoscimento migliore possibile
delle sequenze di interesse. Una prima operazione di stima delle matrici delle
transizioni e delle emissioni e stata effettuata con il calcolo del Maximum
Likelihood delle stesse partendo dalle matrici biased viste sopra e basandosi
sulla sequenza di emissioni derivate dal vettore di spostamenti prodotto dalla
segmentazione e sulla sequenza di stati effettivi desunti per ispezione visiva
dalla sequenza di frame. In questo modo il sistema ottiene un’indicazione
dell’affidabilita delle emissioni rispetto agli stati descritti.
In secondo luogo e stata operata la fase di addestramento delle matrici in
base al training set prodotto con l’algoritmo di Metropolis. E’ stato utilizzato
un estimatore del maximum Likelihood dei parametri del modello che fa uso
dell’algoritmo di Baum-Welch. Come parametri iniziali sono state fornite le
matrici trovate con l’operazione di stima. Le due fasi (stima e addestramento)
sono state applicate una seconda volta dando in ingresso le matrici ottenute
dalla prima iterazione. Questo ha permesso un’ulteriore specializzazione dei
parametri sull’input di interesse. In conclusione sono state ottenute delle
nuove matrici per ogni video dato. In tabella 5.3 e in tabella 5.4 si possono
osservare i risultati prodotti dalle operazioni appena descritte nel caso del
video utilizzato per la fig.5.2.
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 90
== += +- =- – -= -+ =+ ++
init 0 0 0 0 0 0 0 0 0
fermo 0,98932 0,0010031 0,00050156 0,0010031 0,00050156 0,0056621 0,00050156 0,0010031 0,00050156
dx 0,11703 0,38301 0,095752 0,047876 0,047876 0,11695 0,047876 0,047876 0,095752
dxsu 0,05558 0,098894 0,39558 0,098894 0,098894 0,05437 0,049447 0,049447 0,098894
su 0,11101 0,049109 0,098218 0,39287 0,098218 0,054144 0,049109 0,098218 0,049109
sinsu 0,055428 0,049179 0,098357 0,098357 0,39343 0,10854 0,098357 0,049179 0,049179
sin 0,0083333 0,0020718 0,0010359 0,0010359 0,0020718 0,98131 0,0020718 0,0010359 0,0010359
singiu 0,055428 0,049179 0,049179 0,049179 0,098357 0,10854 0,39343 0,098357 0,098357
giu 0,11101 0,049109 0,049109 0,098218 0,049109 0,054144 0,098218 0,39287 0,098218
dxgiu 0,05558 0,098894 0,098894 0,049447 0,049447 0,05437 0,098894 0,098894 0,39558
Tabella 5.4: Matrice delle emissioni dopo l’addestramento
fr 1→6 fr 6→11 fr 11→16 fr 16→21 fr 21→26 fr 26→31 fr 31→36
st.effettivo ’fermo’ ’fermo’ ’fermo’ ’fermo’ ’sin’ ’sin’ ’sin’
st.riconosciuto ’fermo’ ’fermo’ ’fermo’ ’fermo’ ’sin’ ’sin’ ’sin’
fr 36→41 fr 41→46 fr 46→51 fr 51→56 fr 56→61 fr 61→66 fr 66→71 fr 71→76
st.effettivo ’sin’ ’sin’ ’sin’ ’fermo’ ’fermo’ ’fermo’ ’fermo’ ’sin’
st.riconosciuto ’sin’ ’sin’ ’fermo’ ’fermo’ ’fermo’ ’fermo’ ’sin’ ’sin’
Tabella 5.5: Confronto tra stati effettivi e stati ricostruiti
5.8 Risultati di riconoscimento e imitazione
Per avere conferma delle capacita di riconoscimento apprese dal modello si
e effettuato un test basato sull’algoritmo di Viterbi. Fornendo la sequenza
di emissioni e le matrici addestrate si e calcolata la sequenza di stati che
piu probabilmente aveva prodotto le emissioni date in base alle probabilita
specificate nei parametri. In generale si e potuto riscontrare una coincidenza
pari ad almeno 2/3 tra gli stati ricostruiti e quelli effettivi. Un confronto di
questo tipo e riportato in tabella 5.5.
L’imitazione viene operata dal sistema sui frame oggetto del riconoscimen-
to. Per permettere la visualizzazione dei risultati ottenuti e stato sviluppato
un modulo che mostra i frame su cui sono stati valutati i movimenti. Sul
primo frame viene applicato un riquadro che incornicia il viso e sui succes-
sivi il riquadro viene spostato seguendo i movimenti della testa ricostruiti
e imitati con l’algoritmo di Viterbi. Non avendo indicazioni sulla velocita
degli spostamenti ma solo sulle direzioni, il sistema sposta la cornice di una
quantita stabilita qualitativamente (±7 pixel lungo l’asse x, ±5 pixel lungo
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 91
l’asse y). Le fig.5.4,5.5 mostrano l’effetto ottenuto.
In tutto sono stati prodotti 20 video. Tra questi sono stati scelti 5 video
su cui il sistema ha prodotto i migliori output. Le matrici di transizione
e di emissione di questi ultimi costituiscono una prima ”base di memo-
ria”, per cosı dire, su cui in uno sviluppo successivo dell’esperimento la
memoria associativa potra operare per la scelta del modello da applicare
per l’imitazione.
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 92
Figura 5.4: Visualizzazione degli stati imitati (frame 1-36)
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 93
Figura 5.5: Visualizzazione degli stati imitati (frame 41-76)
Conclusioni e sviluppi futuri
Partendo dalle problematiche legate all’apprendimento ed in particolare al-
l’apprendimento per imitazione, si e cercato di produrre una struttura speri-
mentale che si avvantaggiasse delle teorie delle scienze cognitive per gli scopi
dell’ingegneria in un’architettura cognitiva atta al riconoscimento e all’imi-
tazione di movimenti della testa di persone sedute di fronte ad una telecamera
fissa. Il sistema, implementato utilizzando semplici dispositivi on-the-shelf,
e risultato in grado di riconoscere sostanzialmente le sequenze presentate e
di imitare il comportamento secondo i modelli ricavati. Un lavoro successi-
vo si proporra di affinare le tecniche applicate, migliorando, ad esempio, i
risultati ottenuti dalla segmentazione, e implementera la parte relativa alla
memoria associativa, definendo un criterio per il pattern matching ed am-
pliando il data base di modelli della memoria. Inoltre ci si prefigge di miglio-
rare l’imitazione delle direzioni dei movimenti della testa tramite una misura
che descriva probababilisticamente la distanza percorsa lungo ogni direzione.
Nel lavoro svolto, infatti, oggetto dell’imitazione erano solo le sequenze di
direzioni, mentre le distanze venivano riprodotte secondo un’unica misura.
L’argomento affrontato in questo studio e evidentemente molto attuale se
si pensa alle molteplici applicazioni che possono derivarne. Dispositivi dotati
della capacita di apprendere ad imitare movimenti della testa possono essere
utilizzati nel contesto dello sviluppo di interfacce uomo-macchina per video-
conferenze, per l’interazione con soggetti disabili e come punto di partenza
per un piu ampio riconoscimento ed imitazione di gesti.
Nell’ambito della sicurezza, studi di questo genere possono venire incontro
94
CAPITOLO 5. CONTRIBUTO SPERIMENTALE 95
all’esigenza di imparare a seguire soggetti in movimento ripresi da un sistema
di sorveglianza.
Infine grosse opportunita di applicazione si aprono nel campo della ro-
botica mobile, in cui la progettazione di agenti quanto piu simili all’uomo
o, comunque, in grado di rapportarsi ad esso non possono prescindere dalla
dotazione di capacita imitative e di apprendimento.
Appendice A
L’algoritmo K-mean per il
clustering
Il clustering K-mean e un algoritmo per classificare o raggruppare oggetti
in K classi in base a determinati attributi degli oggetti. K e un numero
intero positivo. Il raggruppamento viene fatto minimizzando la somma dei
quadrati delle distanze tra i dati e i centroidi dei cluster corrispondenti,
ovvero minimizzando la quantita
∑i∈cluster
{ ∑j∈elementidelclusteri
‖xj − µi‖2}
dove µi rappresenta il centroide del cluster i. L’algoritmo e composto dai
seguenti passi:
1. si definisce k, numero dei cluster.
2. si prende una partizione iniziale qualsiasi che classifichi i dati in k classi
(casualmente o con una qualche regola sistematica).
3. si prende ogni elemento e si calcola la distanza dal centroide di ogni
cluster. Se l’elemento non e nel cluster con il centroide ad esso piu
vicino l’elemento viene spostato in quel cluster e i centroidi vengono
aggiornati.
96
APPENDICE A. L’ALGORITMO K-MEAN PER IL CLUSTERING 97
Figura A.1: Schema dei passi che compongono l’algoritmo K-mean per il
clustering
4. si ripete il passo 3 finche non si ottiene la convergenza, cioe finche
nessun elemento viene riassegnato ad un nuovo cluster.
La fig. A.1 schematizza questi passi.
Appendice B
Codice Matlab
B.1 calcolo deltac.m
%routine che calcola un vettore di coppie (dx,dy) che indicano lo spostamento
%relativo da un frame all’altro
%del centro del riquadro contenente il viso
function [delta]=calcolo_deltac(mov);
F1=mov(1:76);
nframe=size(F1,2);
a=1;
[I1 rect1]=segm_imm(F1(1).cdata);
imshow(I1),title(’frame nr.1’);
Xc1=rect1(1)+(rect1(3)/2);
Yc1=rect1(2)+(rect1(4)/2);
A=I1;
for i=1:5:(nframe-5)
[I2 rect2]=segm_imm(F1(i+5).cdata);
Xc2=rect2(1)+(rect2(3)/2);
Yc2=rect2(2)+(rect2(4)/2);
j=i+5;
figure,imshow(I2),title([’frame nr.’,num2str(j)]);
98
APPENDICE B. CODICE MATLAB 99
delta(a,1:2)=[(Xc2-Xc1) (Yc2-Yc1)];
a=a+1;
Xc1=Xc2;
Yc1=Yc2;
end ;
B.2 segm imm.m
function [I2 rect]=segm_imm(I);
%funzione che prende in ingresso un’immagine,la segmenta con
%la k-mean,calcola l’etichetta della faccia e restituisce il riquadro
%contenente la faccia
cform = makecform(’srgb2lab’);
lab_I = applycform(I,cform);%passa da RGB a L*a*b*
ab = double(lab_I(:,:,2:3));
nrows = size(ab,1);
ncols = size(ab,2);
ab = reshape(ab,nrows*ncols,2);
Colors = 3;
[cluster_idx cluster_center] = kmeans(ab,Colors,’distance’,’sqEuclidean’, ...
’Replicates’,3,’emptyaction’,’drop’);%crea i cluster con la k-mean
pixel_labels = reshape(cluster_idx,nrows,ncols); %crea la matrice di etichette
%cerco etichetta del cluster della faccia
a=0;
b=0;
c=0;
ab2= double(lab_I(:,:,2:3));
for i=1:nrows
for j=1:ncols
if pixel_labels(i,j)==1
APPENDICE B. CODICE MATLAB 100
a=a+1;
cluster1(a,1:2)=ab2(i,j,1:2);
elseif pixel_labels(i,j)==2
b=b+1;
cluster2(b,1:2)=ab2(i,j,1:2);
else
c=c+1;
cluster3(c,1:2)=ab2(i,j,1:2);
end
end
end ;
M1=mean(cluster1);
M2=mean(cluster2);
M3=mean(cluster3);
M=[M1; M2; M3];
Ma=M(:,1);
for u=1:3
if Ma(u)==max(Ma)
etichetta_faccia=u;
end
end;
[I2 rect]=face_crop(etichetta_faccia,I,pixel_labels);
B.3 face crop.m
function [Imm rect]=face_crop (face_label,I,pixel_labels);
k=0;
nrows=size(pixel_labels,1);
ncols=size(pixel_labels,2);
APPENDICE B. CODICE MATLAB 101
for i=1:nrows
count=0;
for j=1:ncols
if pixel_labels(i,j)==face_label
count=count+1;
end
end
if count>25
k=k+1;
righe_faccia(k)=i;
end
end
riga_min=min(righe_faccia);
riga_max=max(righe_faccia);
height=riga_max-riga_min;
k=0;
for i=1:ncols
count=0;
for j=1:nrows
if pixel_labels(j,i)==face_label
count=count+1;
end
end
if count>30
k=k+1;
colonne_faccia(k)=i;
end
end
colonna_min=min(colonne_faccia);
colonna_max=max(colonne_faccia);
width=colonna_max-colonna_min;
APPENDICE B. CODICE MATLAB 102
rect=[colonna_min riga_min width height];
I2=imcrop(I,rect);
%figure,imshow(I2)
Imm=I2;
B.4 metropolis.m
function [samplesx samplesy]=metropolis(delta);
% funzione che prende in ingresso un vettore delta di spostamenti lungo x e
% y produce 20 campioni di spostamenti analoghi distribuiti gaussianamente
dim = 15; % dimensione dei dati
ncentres = 1;% Number of centres in mixture model
%---calcolo campioni degli spostamenti lungo x con metropolis------------
seed = 42; % Seed for random weight initialization.
randn(’state’, seed);
rand(’state’, seed);
mix = gmm(dim, ncentres, ’spherical’);
mix.centres=zeros(1,15);
x = delta(:,1)’ ; % vettore iniziale
nsamples = 100; % numero di campioni restituiti
options = foptions; % opzioni di default
options(1) = 0; % Switch off diagnostics.
options(14) = nsamples;
options(18) =0.01; %varianza
[sx, ex] = metrop(’dempot’, x, options, ’’, mix);
samplesx=sx;
%----calcolo campioni degli spostamenti lungo y con metropolis-------------
seed = 42; % Seed for random weight initialization.
randn(’state’, seed);
rand(’state’, seed);
APPENDICE B. CODICE MATLAB 103
mix = gmm(dim, ncentres, ’spherical’);
mix.centres=zeros(1,15);
y = delta(:,2)’ ; % vettore iniziale
nsamples = 100; %numero di campioni restituiti
options = foptions; %opzioni di default
options(1) = 0; % Switch off diagnostics.
options(14) = nsamples;
options(18) = 0.01; %varianza
[sy, ey] = metrop(’dempot’, y, options, ’’, mix);
samplesy=sy;
B.5 campionidelta.m
function [delta_met]=campionidelta(samplesx, samplesy);
% funzione che prende in ingresso i campioni di spostamenti lungo x e y
% prodotti con la routine metropolis e li trasforma in un vettore da
% fornire all’hmmtrain
delta_met(:,:,1)=samplesx(:,:);
delta_met(:,:,2)=samplesy(:,:);
B.6 trovaframe.m
%routine per calcolare a mano gli stati di una sequenza video, gli stati
%verranno poi forniti come input all’hmmestimate
F=aviread(’C:\Documents and Settings\Admin
\Documenti\Immagini\ImageStudio\Album\Nuovo album\Video 22’);
F1=F(1:76);
nframe=size(F1,2);
for i=1:5:(nframe)
APPENDICE B. CODICE MATLAB 104
figure,imshow(F1(i).cdata),title([’frame nr.’,num2str(i)]);
impixelinfo;
end;
B.7 elaborastati.m
%funzioneche prende in ingresso i centri del viso (calcolati a mano)in una
%sequenza di frame e restituisce il vettore
%degli spostamenti e la sequenza di
%stati che corrispondono agli spostamenti.
%Gli stati e i delta cosı ottenuti saranno
%dati in ingresso all’hmmestimate
function [stati]=elaborastati(A);
centri=calcolacentro(A);
n=size(centri,1);
for i=1:1:n-1
delta(i,1)=centri(i+1,1)-centri(i,1);
delta(i,2)=centri(i+1,2)-centri(i,2);
end
nn=size(delta,1);
for j=1:1:nn
if (delta(j,1)>3) % caso dx>3,spostamenti verso destra
if (delta(j,2)>3)
stati(j,:)={’dxgiu’;};
elseif (delta(j,2)>=-3)
stati(j,:)={’dx’;};
else stati(j,:)={’dxsu’;};
end
elseif (delta(j,1)>= -3) % caso dx ca. nullo,spostamenti su e giu
APPENDICE B. CODICE MATLAB 105
if (delta(j,2)>3)
stati(j,:)={’giu’;};
elseif (delta(j,2)>=-3)
stati(j,:)={’fermo’;};
else stati(j,:)={’su’;};
end
else %caso dx<3, spostamenti verso sinistra
if (delta(j,2)>3)
stati(j,:)={’singiu’;};
elseif (delta(j,2)>=-3)
stati(j,:)={’sin’;};
else stati(j,:)={’sinsu’;};
end
end
end
B.8 calcolacentro.m
function [centro]=calcolacentro(A);
%funzione che prende in ingresso una matrice in cui la riga i-esima
%individua il rettangolo contenente il viso nel frame i-esimo
%e restituisce una matrice di 2 colonne contenente le coordinate del centro
%del rettangolo
n=size(A,1);
for i=1:1:n
centro(i,1)=A(i,1)+(A(i,3)/2);
centro(i,2)=A(i,2)+(A(i,4)/2);
end
APPENDICE B. CODICE MATLAB 106
B.9 elaboraemissioni.m
function [emissioni]=elaboraemissioni(delta)
%funzione che prende in ingresso un vettore di spostamenti lungo x e y del
%centro del viso da un frame all’altro e restituisce la sequenza di
%emissioni in termini di dx,dy >=<0. Il risultato verra dato in ingresso a
%hmmtrain o hmmestimate
for i=1:1:size(delta,1)
if (delta(i,1)>3)
emi(i,1)={’+’};%dx>0
elseif (delta(i,1)>=-3)
emi(i,1)={’=’}; %caso dx=0
else
emi(i,1)={’-’}; % caso dx<0
end
if (delta(i,2)>3) %caso dy>0
emi(i,2)={’+’};
elseif (delta(i,2)>=-3)
emi(i,2)={’=’}; %caso dy=0
else
emi(i,2)={’-’}; % caso dy<0
end
end;
for i=1:1:size(emi,1)
emissioni(i)=strcat(emi(i,1),emi(i,2));
end
B.10 hmmstima.m
function [emissioni stimaTR stimaE]=hmmstima(delta,stati);
APPENDICE B. CODICE MATLAB 107
%funzione per l’apprendimento delle matrici trans ed emiss tramite
%hmmestimate applicato agli stati effettivi della sequenza e alle emissioni
%(dedotte dal vettore delta trovato con la segmentazione)
emissioni=elaboraemissioni(delta);
load emiss;
load trans;
stati_o=stati’;
[stimaTR stimaE] =...
hmmestimate(emissioni, stati_o,...
’Statenames’,...
{’init’;’fermo’;’dx’;’dxsu’;’su’;’sinsu’;’sin’;’singiu’;’giu’;’dxgiu’},...
’Symbols’,...
{’==’;’+=’;’+-’;’=-’;’--’;’-=’;’-+’;’=+’;’++’},...
’PSEUDOEMISSIONS’,emiss,’PSEUDOTRANSITIONS’,trans);
B.11 hmmstima2.m
function [stimaTR2 stimaE2]=hmmstima2(delta,stati,trainTR,trainE);
%funzione per l’apprendimento delle matrici trans ed emiss tramite
%hmmestimate applicato agli stati effettivi della sequenza e alle emissioni
%(dedotte dal vettore delta trovato con la segmentazione)
emissioni=elaboraemissioni(delta);
stati_o=stati’;
[stimaTR2 stimaE2] =...
hmmestimate(emissioni, stati_o,...
APPENDICE B. CODICE MATLAB 108
’Statenames’,...
{’init’;’fermo’;’dx’;’dxsu’;’su’;’sinsu’;’sin’;’singiu’;’giu’;’dxgiu’},...
’Symbols’,...
{’==’;’+=’;’+-’;’=-’;’--’;’-=’;’-+’;’=+’;’++’},’PSEUDOEMISSIONS’,trainE,...
’PSEUDOTRANSITIONS’,trainTR);
B.12 hmmtraining.m
function [trainTR2 trainE2]=hmmtraining2...
(delta_met,stimaTR2,stimaE2,trainTR,trainE);
%funzione che prende in ingresso i campioni di delta generati col
%metropolis, le matrici di emissioni e transizioni trovate con hmmestimate
%e restituisce 2 nuove matrici di transizione ed emissione addestrate con
%hmmtrain
s=stimaTR2;
e=stimaE2;
for i=1:1:size(delta_met,1)
%estraggo il campione dalla matrice delta_met e lo rimetto in forma 15x2
seq=delta_met(i,:,:);
seq=reshape(seq,15,2);
seqem=elaboraemissioni(seq); %costruisco il vettore di emissioni
[TR E]=hmmtrain(seqem,s,e,’Symbols’,...
{’==’;’+=’;’+-’;’=-’;’--’;’-=’;’-+’;’=+’;’++’},...
’PSEUDOEMISSIONS’,trainE,’PSEUDOTRANSITIONS’,trainTR);
s=TR; %al ciclo successivo riaddestro la matrice trovata
e=E; %al ciclo successivo riaddestro la matrice trovata
end
trainTR2=TR;
trainE2=E;
APPENDICE B. CODICE MATLAB 109
B.13 hmmtraining2.m
function [trainTR2 trainE2]=hmmtraining2(...
delta_met,stimaTR2,stimaE2,trainTR,trainE);
%funzione che prende in ingresso i campioni di delta generati col
%metropolis, le matrici di emissioni e transizioni trovate con hmmestimate
%e restituisce 2 nuove matrici di transizione ed emissione addestrate con
%hmmtrain
s=stimaTR2;
e=stimaE2;
for i=1:1:size(delta_met,1)
%estraggo il campione dalla matrice delta_met e lo rimetto in forma 15x2
seq=delta_met(i,:,:);
seq=reshape(seq,15,2);
seqem=elaboraemissioni(seq); %costruisco il vettore di emissioni
[TR E]=hmmtrain(seqem,s,e,’Symbols’,...
{’==’;’+=’;’+-’;’=-’;’--’;’-=’;’-+’;’=+’;’++’},...
’PSEUDOEMISSIONS’,trainE,’PSEUDOTRANSITIONS’,trainTR);
s=TR; %al ciclo successivo riaddestro la matrice trovata
e=E; %al ciclo successivo riaddestro la matrice trovata
end
trainTR2=TR;
trainE2=E;
B.14 viterbi.m
%routine che date le emissioni, le matrici di transizione ed emissione, i
%simboli di stati ed emissioni, restituisce la sequenza di stati che piu
APPENDICE B. CODICE MATLAB 110
%probabilmente ha prodotto la sequenza di emissioni, utilizzando
%l’algoritmo di Viterbi
states=hmmviterbi(emissioni,trainTR,trainE,’Statenames’,...
{’init’;’fermo’;’dx’;’dxsu’;’su’;’sinsu’;’sin’;’singiu’;’giu’;’dxgiu’},...
’Symbols’,...
{’==’;’+=’;’+-’;’=-’;’--’;’-=’;’-+’;’=+’;’++’});
B.15 mostraris.m
function mostraris(states,F,centro);
%routine che prende in ingresso il vettore di stati elaborato
%dall’algoritmo di Viterbi e mostra il rettangolo in cui dovrebbe trovarsi
%il viso.
x=centro(1);%ascissa del centro
y=centro(2);%ordinata del centro
figure,imshow(F(1).cdata),title([’frame nr.’,num2str(1)]);
h = impositionrect(gca, [x-25 y-40 50 80]);
k=6;
for i=1:1:size(states,2)
figure,imshow(F(k).cdata),title([’frame nr.’,num2str(k)]);
stato=char(states(i));
switch stato
case ’fermo’
h = impositionrect(gca, [x-25 y-40 50 80]);
case ’dx’
h = impositionrect(gca, [x-18 y-40 50 80]);
case ’dxsu’
h = impositionrect(gca, [x-18 y-45 50 80]);
case ’su’
h = impositionrect(gca, [x-25 y-45 50 80]);
case ’sinsu’
APPENDICE B. CODICE MATLAB 111
h = impositionrect(gca, [x-32 y-45 50 80]);
case ’sin’
h = impositionrect(gca, [x-32 y-40 50 80]);
case ’singiu’
h = impositionrect(gca, [x-32 y-35 50 80]);
case ’giu’
h = impositionrect(gca, [x-25 y-35 50 80]);
case ’dxgiu’
h = impositionrect(gca, [x-18 y-35 50 80]);
end
k=k+5;
end
Bibliografia
[1] C. Andrieu, N. De Freitas, A. Doucet An Introduction to MCMC
for Machine Learning , Machine learning, 50, 5-43, Kluwer Academic
Publishers, 2003.
[2] M. Arbib, Ed., The Handbook of Brain Theory and Neural Networks,
37, 1998.
[3] A. Billard, G. Hayes, Learning to communicate through imitation in
autonomous robots, in Proc. of the 7th International Conference on
Artificial Neural Networks, 763-768, Lausanne, Svizzera, 1999.
[4] C. Breazeal, D. Buchsbaum, J. Gray, D. Gatenby and B. Blumberg,
Learning From and About Others: Towards Using Imitation to Bootstrap
the Social Understanding of Others by Robots , L.Rocha and F.Almedia
e Costa (eds), in Artificial Life, 2004.
[5] R.W. Byrne e A.E. Russon, The Handbook of Brain Theory and Neural
Networks, 97, 1998.
[6] C.A. Acosta Calderon, H. Hu, Learning by Imitation: A Hierarchical
Approach, The Journal of Behavioural and Brain Sciences, 21, 667-709,
1998.
[7] A. Damasio, Descartes Error: Emotion, Reason, and the Human Brain,
New York: G.P.Putnam and Sons.
112
BIBLIOGRAFIA 113
[8] K. Dautenhahn, Getting to Know Each Other-Artificial Social Intelli-
gence for Autonomous Robots, Robotics and Autonomous Systems, 16,
333-356, 1996.
[9] P. Dayan, Unsupervised Learning, The MIT Encyclopedia of the
Cognitive Sciences, 857-859, 1999.
[10] J. Demiris, G.M. Hayes, Imitative Learning Mechanisms in Robots and
Humans, Proc. of the 5th European Workshop on Learning Robots,
V.Klingspor (ed.), Bari, 1996.
[11] J. Demiris, S. Rougeaux G.M. Hayes, Deferred imitation of human
head movements by an active stero vision head, Proc. of the 6th IEEE
International Workshop on Robot Human Communication, 1997
[12] T.G. Dietterich, Machine Learning, The Encyclopedia of Computer
Science, 4th Edition, Thompson Computer Press, 1056-1059, 2000.
[13] T.G. Dietterich, Machine Learning Research: Four Current Directions,
AI Magazine, 18(4), 97-136, 1997.
[14] T.G. Dietterich, Machine Learning, The MIT Encyclopedia of the
Cognitive Sciences, 497-498, 1999.
[15] P. Gaussier, S.Moga, J.P.Banquet, M.Quoy, From Perception-Action
Loops to Imitation Processes, Socially Intelligent Agents, AAAI Fall
Symposium, 49-54, Boston, 1997.
[16] G. Hayes, J. Demiris, A Robot Controller Using Learning by Imita-
tion, Proc. 2nd Int.Symposium on Intelligent Robotic Systems, 198-204,
Grenoble, 1994.
[17] D.Heckerman, Bayesian learning, The MIT Encyclopedia of the
Cognitive Sciences, 70-72, 1999.
[18] A.N. Meltzoff, Imitation, The MIT Encyclopedia of the Cognitive
Sciences, 389-390, 1999.
BIBLIOGRAFIA 114
[19] A.N. Meltzoff e M.K. Moore, Explaining facial imitation: A theoretical
model, Early Development and Parenting, 6, 179-192,1997.
[20] T. Mitchell, Machine Learning, Mc Graw-Hill, 52-81, 1997.
[21] T. Mitchell, Generalization as search, Artificial Intelligence, 18, 203-206,
1982.
[22] Y. Nagai, Joint Attention Development in Infant-like Robot based
on Head Movement Imitation, The 3rd International Symposium on
Imitation in Animals and Artifacts (in AISB ’05), 87-96, 2005.
[23] N.J. Nilsson, Introduction to Machine Learning, An Early Draft of a Pro-
posed Textbook, http://ai.stanford.edu/people/nilsson/mlbook.html,
1996.
[24] E. Pessa, Apprendimento automatico e reti neurali, in Intelligenza
Artificiale, a cura di E.Burattini e R.Cordeschi, Carrocci, 97-117, 2001.
[25] K.Popper, The Logic of Scientific Discovery, London, Hutchinson, 1959.
[26] R.R. Price, Accelerating Reinforcement Learning through Imitation, PhD
Thesis, The University of British Columbia, 2002.
[27] L.R. Rabiner, A tutorial on hidden markov models and selected appli-
cations in speech recognition, Proceedings of the IEEE, 77(2): 257-286,
1989.
[28] R.P.N. Rao, A.P. Shon, A.N. Meltzoff, A Bayesian Model of Imitation
in Infants and Robots, in ”Imitation in Robots, Humans, and Animals:
Behavoiural, Social and Communicative Dimensions, K.Dautenham and
C.Nehaniv (eds), Cambridge University Press, 2004.
[29] G.Rizzolatti, L.Fogassi, V.Gallese, Neurophysiological mechanism un-
derlying the understanding and imitation of action, Nature Neurosc.,
Vol.2, 661-670, 2001.
BIBLIOGRAFIA 115
[30] B. Scassellati, Imitation and mechanism of joint attention: A develop-
mental structure for building social skills on a humanoid robot, in C. Ne-
heniv (ed.), Computation for Metaphors, Analogy, and Agents, volume
1562 of LCNS, 176-195, Springer-Verlag, 1999.
[31] S. Schaal, Learning from demonstration, Advances in Neural Information
Processing Systems, 9, 1997.
[32] R.S. Sutton, Reinforcement learning, The MIT Encyclopedia of the
Cognitive Sciences, 715-717, 1999.
[33] S. Sloman, Cognitive Architecture, The MIT Encyclopedia of the
Cognitive Sciences, 124-126, 1999.
[34] L.M. Ward, Dynamical cognitive Science, The MIT Press, 9-16, 2002.