Apprendimento di movimenti della testa tramite Hidden Markov Model

115
UNIVERSIT ` A DEGLI STUDI DI ROMA “LA SAPIENZA” Facolt` a 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

description

Apprendimento di movimenti della testa tramite Hidden Markov Model (Anna Belardinelli)

Transcript of Apprendimento di movimenti della testa tramite Hidden Markov Model

Page 1: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 2: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 3: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 4: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 5: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 6: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 7: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 8: Apprendimento di movimenti della testa tramite Hidden Markov Model

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-

Page 9: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 10: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 11: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 12: Apprendimento di movimenti della testa tramite Hidden Markov Model

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:

Page 13: Apprendimento di movimenti della testa tramite Hidden Markov Model

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?

Page 14: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 15: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 16: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 17: Apprendimento di movimenti della testa tramite Hidden Markov Model

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-

Page 18: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 19: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 20: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 21: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 22: Apprendimento di movimenti della testa tramite Hidden Markov Model

CAPITOLO 1. L’APPRENDIMENTO AUTOMATICO 22

Figura 1.3: Struttura dell’apprendimento con rinforzo

Page 23: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 24: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 25: Apprendimento di movimenti della testa tramite Hidden Markov Model

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:

Page 26: Apprendimento di movimenti della testa tramite Hidden Markov Model

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).

Page 27: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 28: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 29: Apprendimento di movimenti della testa tramite Hidden Markov Model

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],

Page 30: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 31: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 32: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 33: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 34: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 35: Apprendimento di movimenti della testa tramite Hidden Markov Model

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:

Page 36: Apprendimento di movimenti della testa tramite Hidden Markov Model

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-

Page 37: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 38: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 39: Apprendimento di movimenti della testa tramite Hidden Markov Model

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-

Page 40: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 41: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 42: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 43: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 44: Apprendimento di movimenti della testa tramite Hidden Markov Model

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) =

Page 45: Apprendimento di movimenti della testa tramite Hidden Markov Model

CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 45

Figura 3.1: Grafo di transizione per una catena di Markov a tre stati

Page 46: Apprendimento di movimenti della testa tramite Hidden Markov Model

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).

Page 47: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 48: Apprendimento di movimenti della testa tramite Hidden Markov Model

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?.

Page 49: Apprendimento di movimenti della testa tramite Hidden Markov Model

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,

Page 50: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 51: Apprendimento di movimenti della testa tramite Hidden Markov Model

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) .

Page 52: Apprendimento di movimenti della testa tramite Hidden Markov Model

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).

Page 53: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 54: Apprendimento di movimenti della testa tramite Hidden Markov Model

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?

Page 55: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 56: Apprendimento di movimenti della testa tramite Hidden Markov Model

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)

Page 57: Apprendimento di movimenti della testa tramite Hidden Markov Model

CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 57

Figura 3.2: Sequenza di operazioni necessarie per il calcolo della variabile

forward

Page 58: Apprendimento di movimenti della testa tramite Hidden Markov Model

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)

Page 59: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 60: Apprendimento di movimenti della testa tramite Hidden Markov Model

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)

Page 61: Apprendimento di movimenti della testa tramite Hidden Markov Model

CAPITOLO 3. STRUMENTI TEORICI E METODOLOGICI 61

Figura 3.3: Sequenza di operazioni necessarie per il calcolo di ξt (i, j)

Page 62: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 63: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 64: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 65: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 66: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 67: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 68: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 69: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 70: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 71: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 72: Apprendimento di movimenti della testa tramite Hidden Markov Model

CAPITOLO 4. STATO DELL’ARTE E GENESI DEL MODELLO 72

Figura 4.1: Decomposizione dell’abilita di attenzione congiunta in quattro

sotto-compiti

Page 73: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 74: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 75: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 76: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 77: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 78: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 79: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 80: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 81: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 82: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 83: Apprendimento di movimenti della testa tramite Hidden Markov Model

CAPITOLO 5. CONTRIBUTO SPERIMENTALE 83

Figura 5.1: Segmentazione del frame in 3 classi

Page 84: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 85: Apprendimento di movimenti della testa tramite Hidden Markov Model

CAPITOLO 5. CONTRIBUTO SPERIMENTALE 85

Figura 5.2: Sequenza di frame segmentati

Page 86: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 87: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 88: Apprendimento di movimenti della testa tramite Hidden Markov Model

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).

Page 89: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 90: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 91: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 92: Apprendimento di movimenti della testa tramite Hidden Markov Model

CAPITOLO 5. CONTRIBUTO SPERIMENTALE 92

Figura 5.4: Visualizzazione degli stati imitati (frame 1-36)

Page 93: Apprendimento di movimenti della testa tramite Hidden Markov Model

CAPITOLO 5. CONTRIBUTO SPERIMENTALE 93

Figura 5.5: Visualizzazione degli stati imitati (frame 41-76)

Page 94: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 95: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 96: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 97: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 98: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 99: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 100: Apprendimento di movimenti della testa tramite Hidden Markov Model

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);

Page 101: Apprendimento di movimenti della testa tramite Hidden Markov Model

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;

Page 102: Apprendimento di movimenti della testa tramite Hidden Markov Model

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);

Page 103: Apprendimento di movimenti della testa tramite Hidden Markov Model

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)

Page 104: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 105: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 106: Apprendimento di movimenti della testa tramite Hidden Markov Model

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);

Page 107: Apprendimento di movimenti della testa tramite Hidden Markov Model

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,...

Page 108: Apprendimento di movimenti della testa tramite Hidden Markov Model

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;

Page 109: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 110: Apprendimento di movimenti della testa tramite Hidden Markov Model

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’

Page 111: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 112: Apprendimento di movimenti della testa tramite Hidden Markov Model

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

Page 113: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 114: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.

Page 115: Apprendimento di movimenti della testa tramite Hidden Markov Model

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.