algoritmi di ottimizzazione per l'addestramento di reti neurali marco sciandrone
DESCRIPTION
ALGORITMI DI OTTIMIZZAZIONE PER L'ADDESTRAMENTO DI RETI NEURALI Marco Sciandrone Istituto di Analisi dei Sistemi ed Informatica “A. Ruberti” Consiglio Nazionale delle Ricerche, Roma. Statistica. Fisica. Ottimizzazione. Matematica. Biologia. Psicologia. Informatica. Reti Neurali. - PowerPoint PPT PresentationTRANSCRIPT
ALGORITMI DI OTTIMIZZAZIONE PER
L'ADDESTRAMENTO DI RETI NEURALI
Marco Sciandrone
Istituto di Analisi dei Sistemi ed Informatica “A. Ruberti”
Consiglio Nazionale delle Ricerche, Roma
Reti Neurali
Ottimizzazione
StatisticaFisica
MatematicaBiologia
InformaticaPsicologia
OPTIMIZATION LABORATORY FOR DATA MINING
Ingegneria dei Sistemi
Informatica
Biomatematica
Ottimizzazione
ISTITUTO DI ANALISI DEI SISTEMI ED INFORMATICA
Data mining:apprendimento automatico di informazioni, correlazioni e caratteristiche significative da basi di dati di grandi dimensioni relative a processi di varia natura
Motivazione: esigenza di analizzare e comprendere fenomeni complessi descritti in modo esplicito solo parzialmente e informalmente da insiemi di dati
Classificazione (pattern recognition)
Supervisionata Non Supervisionata
Approssimazione (regressione)
Problemi di Data Mining
Classificazione supervisionata:sono noti a priori dei pattern rappresentativi di diverse classi,si vuole determinare un modello matematico che, dato un genericopattern appartenente allo spazio delle caratteristiche, definisca la corrispondente classe di appartenenza
Pattern: oggetto descritto da un insieme finito di attributi numerici (caratteristiche/features)
ESEMPIO DI CLASSIFICAZIONE SUPERVISIONATA
Pattern: cifra manoscritta rappresentata da una matrice di pixel
10 Classi: 0,1,2,3,4,5,6,7,8,9
0123456789
classificazione
Classificazione non supervisionata:non sono noti a priori pattern rappresentativi delle classi;si vuole determinare il numero di classi di “similitudine” eun modello matematico che, dato un generico pattern appartenente allo spazio delle caratteristiche, definisca la corrispondente classe di appartenenza
Pattern: oggetto descritto da un insieme finito di attributi numerici (caratteristiche/features)
ESEMPIO DI CLASSIFICAZIONE NON SUPERVISIONATA
Pattern: paziente afflitto da una determinata patologia e descritto da M fattori clinici (caratteristiche)
Dati disponibili: insieme di N pazienti
Obiettivo: raggruppare i pazienti in K gruppi i cui elementi presentino caratteristiche “simili”
Approssimazione:sono note a priori delle coppie pattern/target rappresentativedi un funzione incognita a valori reali; si vuole determinare una funzione analitica che approssimi la funzione incognita
Pattern: oggetto descritto da un insieme finito di attributi numerici (caratteristiche/features)
ESEMPIO DI APPROSSIMAZIONE
Pattern: vettore di N correnti che circolano in un dispositivo
Target: valore del campo magnetico in un determinato punto interno al dispositivo
Obiettivo: determinare una funzione analitica che approssimi il legame funzionale tra il campo magnetico e il valore delle correnti
Problemi di Data Mining
Classificazione (pattern recognition) Supervisionata Non Supervisionata
Approssimazione (regressione)
problemi “difficili” e/o di grandi dimensioni
Metodi• Clustering• Reti Neurali• Support Vector Machines• Programmazione Logica• Alberi di Decisione
Necessità di metodi di Ottimizzazione efficienti
Cos’è l’Ottimizzazione
Cos’è una rete neurale
Cos’è il processo di addestramento di una rete neurale
Quale è la connessione tra l’Ottimizzazione e le reti neurali
Algoritmi di Ottimizzazione per l’addestramento di reti neurali
Formulazione di un problema di Ottimizzazione
X (spazio delle variabili)
XS (insieme ammissibile)
RSf : (funzione obiettivo)
minimizza f sull’insieme ammissibile S
Spazio delle variabili
Spazio X
Infinito dimensionale Finito dimensionale
Calcolo variazionale
Controllo Ottimo
Ottimizzazione discreta
Programmazione mista
Programmazione a variabiliintere
Ottimizzazione combinatoriaa variabili 0/1
Ottimizzazione continuaa variabili reali
Cos’è una rete neurale da un punto di vista “fisico”
Una rete neurale è un processore distribuito costituito dalla interconnessione di unità computazionali elementari (i neuroni) con due caratteristiche fondamentali:
la “conoscenza” è acquisita dall’ambiente attraverso un processo di “apprendimento” o di “addestramento”
la “conoscenza” è immagazzinata nei parametri della rete e, in particolare, nei “pesi” associati alle connessioni
Data una funzione G:X Y, nota attraverso un insieme di coppie
Una rete neurale è un particolare modello di approssimazione di G:
dipendente (in generale in modo non lineare) da un vettore di parametri w
Da un punto di vista “statistico”, una rete neurale è un particolaremodello di classificazione o di regressione (non lineare)
PpXxxGx ppp ,...,1, :)(,
YXwF :)(.,
Cos’è una rete neurale da un punto di vista “matematico”
IL NEURONE FORMALE
+
CLASSIFICATORE LINEARE
xwT
0 10 1)(
ttth
)( xwhy T
1x
2x
1nx
nx
1w
2w
1nw
nw
funzione di attivazione
pesi
soglia
Una rete costituita da un singolo strato di neuroni formali è stata denominata PERCEPTRON (Rosenblatt, 1962) ed è stato propostoun algoritmo per il calcolo dei parametri (pesi e soglie) che fornisceuna soluzione in un numero finito di iterazioni nell’ipotesi in cuii pattern di ingresso siano LINEARMENTE SEPARABILI
Problema XOR
0,1 1,1
0,0 1,0
Non esiste un iperpiano di separazione
Limitazioni del Perceptron
Le limitazioni del Perceptron sono state messe in luce daMinsky e Papert (1969)
L’effetto del libro di Minsky e Papert è stato quello di fardecadere l’interesse inziale verso le reti neurali
Era noto che le limitazioni del Perceptron potevano esseresuperate, in linea di principio, collegando fra loro in modoopportuno dei neuroni formali o effettuando delle trasformazioninon lineari degli ingressi
Non erano tuttavia disponibili algoritmi di addestramento per ilcalcolo dei parametri
Una rinascita dell’interesse verso le reti neurali è stata in gran partedeterminata dal lavoro di Rumelhart, Hinton e Williams (1986),che hanno proposto un algoritmo di addestramento per reti dineuroni formali, noto come metodo della backpropagation,essenzialmente basato sul metodo di ottimizzazione del gradiente
Gli sviluppi futuri hanno portato allo sviluppo di un’area di ricercainterdisciplinare, in cui sono stati integrati contributi di vari settori
Classificazione delle architetture
Reti feedforward:reti acicliche strutturate in diversi strati
Perceptron
Multilayer Perceptron (MLP)
Reti di funzioni di base radiali (RBF)
Reti ricorsive:sono presenti cicli di controreazione; possono essere vistecome sistemi dinamici
Rete feedforward a 1 strato
Rete feedforward a 2 strati
ADDESTRAMENTO E GENERALIZZAZIONE
L’addestramento (apprendimento) è il processo mediante il qualevengono determinati i parametri liberi di una rete neurale.Due paradigmi fondamentali:
addestramento supervisionato: i parametri della rete vengono determinati, sulla base di un insieme di addestramento (training set) di esempi, consistenti in coppie pattern/target, minimizzando una funzione d’errore
addestramento non supervisionato: la rete è dotata di capacità di auto-organizzazione
ADDESTRAMENTO E GENERALIZZAZIONE
La capacità di generalizzazione di una rete addestrata è la capacitàdi fornire una risposta corretta a nuovi ingressi (non presentati nellafase di addestramento)
LO SCOPO ULTIMO DELL’ADDESTRAMENTO È QUELLO DI COSTRUIRE UN MODELLO DEL PROCESSO CHE GENERA I DATI E NON DI INTERPOLARE I DATI DI TRAINING
Addestramento supervisionato di reti feedforward
Reti neurali feedforward
MLP RBF
vettore di ingresso
strato nascosto
uscita
Differiscono essenzialmente nella funzione di attivazione deineuroni dello strato nascosto
Rete neurale feedforward 1 strato nascosto con M neuroni
Rete MLP )tanh(),,;(1
iTi
M
ii xwwxy
x);( wxy
Rete RBF ||)(||),;(1
iM
ii cxCxy
Proprietà di approssimazione:sono approssimatori universali per le funzioni continue su insiemi compatti
Reti neurali feedforward
MLP RBF
x sistema statico I/O );( wxy
funzione “smooth”
FORMULAZIONE DEL PROBLEMA DI ADDESTRAMENTO
Architettura rete neurale fissata: numero di strati e numero di neuroni
vettore dei parametri incogniti
Training set
Problema di Ottimizzazione
in cui è una misura dell’errore relativo al p-mo pattern.Usualmente
nRw
PpRdRxdxTS pmppp ,...,1 , , ),,(
P
pp
wwE
PwE
1
)(2
1)(min
pE
2));(( ppp dwxyE
uscita rete uscita desiderata
Le difficoltà computazionali dei problemi di addestramento sonotipicamente dovute a
Forti “nonlinearità” della funzione di errore E(w)
Presenza di zone “piatte” nella superficie della funzione di errore
Possibile mal condizionamento della matrice Hessiana
Elevata dimensionalità del vettore dei parametri w
Elevato numero P di campioni di addestramento
Presenza di minimi locali
Nella soluzione del problema di Ottimizzazione relativoall’addestramento di una rete neurale non è richiesta unagrande precisione nella soluzione. Può invece esserepreferibile interrompere il processo di minimizzazioneprematuramente in base alla valutazione dell’errore ottenutosu un VALIDATION SET (EARLY STOPPING) perché:
LO SCOPO ULTIMO DELL’ADDESTRAMENTO È QUELLO DI COSTRUIRE UN MODELLO DEL PROCESSO CHE GENERA I DATI E NON DI INTERPOLARE I DATI DI TRAINING
METODI DI OTTIMIZZAZIONE PER L’ADDESTRAMENTO
METODI BATCH i parametri vengono aggiornati dopo una presentazione di tutto il training set
METODI INCREMENTALI (ONLINE) i parametri vengono aggiornati in corrispondenza a ogni singolo pattern del training set
Uno dei primi algoritmi di addestramento è il metodo notocome metodo di backpropagation e si può identificare conil metodo del gradiente
La versione batch è definita dall’iterazione
dove è il gradiente di E in , e è il learning rate
Il termine backpropagation è legato alla tecnica utilizzata per ilcalcolo del gradiente che si può ricondurre attualmente a una tecnicadi differenziazione automatica
)(1 kkkk wEww )( kwE kw Rk
P
pp
wwE
PwE
1
)(2
1)(min
Il metodo di backpropagation presenta proprietà di convergenzaglobale sotto opportune ipotesi connesse alla scelta dellearning rate (passo). Tale scelta può essere effettuata, ad esempio, mediante l’impiego di tecniche di ricerca unidimensionale
Il metodo è di facile implementazione ma risulta poco efficiente intermini di rapidità di convergenza
Per l’addestramento sono utilizzabili i metodi di Ottimizzazionenon vincolata per problemi a grande dimensione
P
pp
wwE
PwE
1
)(2
1)(min
kkkk dww 1
Nk Rd DIREZIONE DI RICERCA
)( kk wEd
)()(2 kkk wEdwE
metodo del gradiente
metodo di Newton
Rk PASSO
...kd
Metodi di Ottimizzazione per l’addestramento(alcuni dei quali sono presenti in vari pacchetti software per reti neurali)
Metodo del gradiente di Barzilai-Borwein
Metodi delle direzioni coniugate
Metodi Quasi-Newton a memoria limitata
Metodi tipo Gauss-Newton (troncati)
Metodi di Newton (troncati)
OTTIMIZZAZIONE RETI NEURALI
“riscoperta” di vari metodi di Ottimizzazionenell’ambito delle reti neurali
motivazioni per la definizione di nuovi metodidi Ottimizzazione (algoritmi incrementali,algoritmi di decomposizione)
APPLICAZIONI DI RETI NEURALI SVILUPPATE PRESSOL’ISTITUTO DI ANALISI DEI SISTEMI ED INFORMATICA
Approssimazione del campo magnetico per la progettazione di apparati di risonanza magnetica
Classificazione di segnali di elettrocardiogramma per l’individuazione di eventi ischemici
Classificazione di immagini per il riconoscimento di lettere postali
Approssimazione del flusso stradale per la previsione del traffico
Classificazione di connessioni telematiche per l’individuazione di attacchi al sistema informatico del nostro istituto