38
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

ALGORITMI DI OTTIMIZZAZIONE PER L'ADDESTRAMENTO DI RETI NEURALI Marco Sciandrone

  • Upload
    lynsey

  • View
    66

  • Download
    3

Embed Size (px)

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 Presentation

Citation preview

Page 1: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 2: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

Reti Neurali

Ottimizzazione

StatisticaFisica

MatematicaBiologia

InformaticaPsicologia

Page 3: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

OPTIMIZATION LABORATORY FOR DATA MINING

Ingegneria dei Sistemi

Informatica

Biomatematica

Ottimizzazione

ISTITUTO DI ANALISI DEI SISTEMI ED INFORMATICA

Page 4: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 5: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

Classificazione (pattern recognition)

Supervisionata Non Supervisionata

Approssimazione (regressione)

Problemi di Data Mining

Page 6: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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)

Page 7: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 8: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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)

Page 9: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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”

Page 10: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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)

Page 11: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 12: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 13: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 14: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

Formulazione di un problema di Ottimizzazione

X (spazio delle variabili)

XS (insieme ammissibile)

RSf : (funzione obiettivo)

minimizza f sull’insieme ammissibile S

Page 15: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 16: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 17: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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”

Page 18: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 19: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 20: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 21: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 22: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 23: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

Rete feedforward a 1 strato

Rete feedforward a 2 strati

Page 24: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 25: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 26: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

Reti neurali feedforward

MLP RBF

vettore di ingresso

strato nascosto

uscita

Differiscono essenzialmente nella funzione di attivazione deineuroni dello strato nascosto

Page 27: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 28: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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”

Page 29: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 30: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 31: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 32: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 33: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 34: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 35: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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

Page 36: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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)

Page 37: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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)

Page 38: ALGORITMI DI  OTTIMIZZAZIONE PER  L'ADDESTRAMENTO DI RETI NEURALI  Marco Sciandrone

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