ALGORITMI DI OTTIMIZZAZIONE PER L'ADDESTRAMENTO DI RETI NEURALI

Slides:



Advertisements
Presentazioni simili
Macchine di Percezione
Advertisements

Progetto di impianti semaforici - 5
Apprendimento Automatico Apprendimento supervisionato
Sistemi di Classificazione usando NCD
Attività cerebrale = correnti neurali localizzate
SVILUPPO DI UN METODO DI CALIBRAZIONE DI UN SISTEMA STEREOSCOPICO PER LA MISURA DELLA LARGHEZZA DI PRODOTTI PIANI LAMINATI A CALDO Laureando: MASSIMO DAL.
Introduzione alle misure strumentali
Primo sguardo a metodi multivariati per l'analisi del ttH
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Dynamic Programming Chiara Mocenni Corso di.
Chiara Mocenni - Sistemi di Supporto alle Decisioni I – aa Sistemi di Supporto alle Decisioni I Scelte di consumo Chiara Mocenni Corso di laurea.
Riconoscimento di forme
Sistemi di supporto alle decisioni 2. Features space
Pattern Recognition con Reti Neurali MLP
Metodi Quantitativi per Economia, Finanza e Management Lezione n° 11.
Reti Neurali: studi sull'intelligenza artificiale
Analisi di regressione Fornire un semplice modello lineare dei dati per scopi Descrittivi Esplicativi Previsivi Adattare una retta minimizzando gli errori.
Apprendimento di funzioni algebriche
Apprendimento di funzioni algebriche
Computational Learning Theory and PAC learning
Apprendimento Automatico: Reti Neurali
Support Vector Machines
Promemoria sul concetto di Rete e sue Analogie
Reti neurali naturali ed artificiali
Realizzazione e caratterizzazione di una semplice rete neurale per la separazione di due campioni di eventi Vincenzo Izzo.
Relatore: Dott. F. Avanzini Correlatore: Dott. C. Drioli
Stima ed algoritmi di consensus distribuito: considerazioni su IKF
CORSO DI MODELLI DI SISTEMI BIOLOGICI LAUREA IN INGEGNERIA CLINICA E BIOMEDICA.
BIOINGEGNERIA S. Salinari Lezione 4.
Scene Modelling, Recognition and Tracking
TECNOLOGIE DEI SISTEMI DI CONTROLLO
BIOINGEGNERIA S. Salinari Lezione 7. RETI CON APPRENDIMENTO SUPERVISIONATO A DISTANZA Nello sviluppo delle reti neurali si è proceduto indebolendo via.
Algoritmi per l’Image Alignment
Apprendimento di movimenti della testa tramite Hidden Markov Model
CONTROLLO DI SUPPLY CHAIN MEDIANTE TECNICHE H-INFINITO E NEGOZIAZIONE
Modelli simulativi per le Scienze Cognitive Paolo Bouquet (Università di Trento) Marco Casarotti (Università di Padova)
Modelli simulativi per le Scienze Cognitive
Filtri adattativi.
PATTERN RECOGNITION.
Reti Neurali Ricorrenti
Reti Neurali Mercoledì, 10 Novembre 2004 Giuseppe Manco References: Chapter 4, Mitchell Chapter 1-2,4, Haykin Chapter 1-4, Bishop Reti Neurali Lezione.
Intelligenza Artificiale Algoritmi Genetici
Intelligenza Artificiale
Apprendimento Automatico Apprendimento non supervisionato:
CALCOLO EVOLUZIONISTICO. In ogni popolazione si verificano delle mutazioni. Le mutazioni possono generare individui che meglio si adattano allambiente.
In contrapposizione con i metodi convenzionali (hard computing), le tecniche di soft computing non si basano su procedimenti esprimibili in forma chiusa.
APPLICAZIONI DI INTELLIGENZA ARTIFICIALE ALLA MEDICINA
RETI NEURALI ARTIFICIALI
UN SISTEMA DI SUPPORTO ALLA DETERMINAZIONE DI ANOMALIE NEL TRAFFICO DI RETE Tesi di Laurea di: Luca VESCOVI Correlatori: Ing. Aldo Franco DRAGONI Ing.
Allineamento di Superfici Celebrali :
Strutture periodiche discrete: introduzione del vincolo di periodicità e studio della ricostruzione da due proiezioni. A. Del Lungo, A. Frosini, M.Nivat,
PoliICR Riconoscimento dei Caratteri Daniele Gasperini – William Spinelli Riconoscimento dei Segnali: un approccio unitario prof. Sergio Brofferio.
Semi-Supervised Learning
Laureando: Enrico Masini
Modelli predittivi delle agenzie di rating internazionali: il modello MEU evoluto (maximum expected utility) Mattia Ciprian*, Daria Marassi°, Valentino.
Università degli Studi di Cagliari
Perceptron. è la somma effettuata sul nodo i-esimo dello strato j n è il numero di nodi dello strato j-1 è l'output proveniente dal nodo k-esimo dello.
Esercitazione 2 Reti Neurali Backpropagation. 2 Esercizio 1  Scompattare bp  Compilare i 4 programmi (con make, v.file readme )  Utilizzare i dati.
Iterative Learning Control per un manipolatore robotico
RETI NEURALI - 2.
Intelligenza Artificiale
Intelligenza Artificiale Reti Neurali
Università degli Studi di Bologna FACOLTÀ DI INGEGNERIA Corso di Laurea in Ingegneria Gestionale Ricerca Operativa MODELLI PER L’OTTIMIZZAZIONE DELL’OFFERTA.
DATA MINING.
APPROSSIMAZIONE DI FUNZIONI
FILTRI ANALOGICI E DIGITALI Modulo del Corso Integrato di: Progetto di Circuiti per il Trattamento dei Segnali.
REALIZZAZIONE DI UN SISTEMA DI CLASSIFICAZIONE Prof. Roberto Tagliaferri Studente: Ragognetti Gianmarco Corso di Reti Neurali e Knowledge Discovery A.A.
Esercitazione N°5 Approssimazione di Funzioni. Esercizio 1 Costruzione di una rete RBF Il metodo più semplice per approssimare una funzione mediante reti.
Introduzione a Weka Di Fabio Cassano
Esercitazione N°2 Data Fitting con Modelli Lineari.
Transcript della presentazione:

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 Statistica Fisica Ottimizzazione Matematica Biologia Informatica Psicologia Reti Neurali

ISTITUTO DI ANALISI DEI SISTEMI ED INFORMATICA Ingegneria dei Sistemi Informatica Biomatematica Ottimizzazione OPTIMIZATION LABORATORY FOR DATA MINING

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

Problemi di Data Mining Classificazione (pattern recognition) Supervisionata Non Supervisionata Approssimazione (regressione)

Classificazione supervisionata: Pattern: oggetto descritto da un insieme finito di attributi numerici (caratteristiche/features) Classificazione supervisionata: sono noti a priori dei pattern rappresentativi di diverse classi, si vuole determinare un modello matematico che, dato un generico pattern appartenente allo spazio delle caratteristiche, definisca la corrispondente classe di appartenenza

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 1 2 3 4 5 6 7 8 9 classificazione

Classificazione non supervisionata: Pattern: oggetto descritto da un insieme finito di attributi numerici (caratteristiche/features) Classificazione non supervisionata: non sono noti a priori pattern rappresentativi delle classi; si vuole determinare il numero di classi di “similitudine” e un modello matematico che, dato un generico pattern appartenente allo spazio delle caratteristiche, definisca la corrispondente classe di appartenenza

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”

Pattern: Approssimazione: oggetto descritto da un insieme finito di attributi numerici (caratteristiche/features) Approssimazione: sono note a priori delle coppie pattern/target rappresentative di un funzione incognita a valori reali; si vuole determinare una funzione analitica che approssimi la funzione incognita

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 (spazio delle variabili) (insieme ammissibile) (funzione obiettivo) minimizza f sull’insieme ammissibile S

Spazio delle variabili Spazio X Infinito dimensionale Finito dimensionale Calcolo variazionale Ottimizzazione discreta Controllo Ottimo Programmazione a variabili intere Ottimizzazione combinatoria a variabili 0/1 Ottimizzazione continua a variabili reali Programmazione mista

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

Cos’è una rete neurale da un punto di vista “matematico” 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 particolare modello di classificazione o di regressione (non lineare)

funzione di attivazione IL NEURONE FORMALE funzione di attivazione pesi + soglia CLASSIFICATORE LINEARE

Una rete costituita da un singolo strato di neuroni formali è stata denominata PERCEPTRON (Rosenblatt, 1962) ed è stato proposto un algoritmo per il calcolo dei parametri (pesi e soglie) che fornisce una soluzione in un numero finito di iterazioni nell’ipotesi in cui i 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 da Minsky e Papert (1969) L’effetto del libro di Minsky e Papert è stato quello di far decadere l’interesse inziale verso le reti neurali Era noto che le limitazioni del Perceptron potevano essere superate, in linea di principio, collegando fra loro in modo opportuno dei neuroni formali o effettuando delle trasformazioni non lineari degli ingressi Non erano tuttavia disponibili algoritmi di addestramento per il calcolo dei parametri

Una rinascita dell’interesse verso le reti neurali è stata in gran parte determinata dal lavoro di Rumelhart, Hinton e Williams (1986), che hanno proposto un algoritmo di addestramento per reti di neuroni 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 ricerca interdisciplinare, 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 viste come sistemi dinamici

Rete feedforward a 1 strato Rete feedforward a 2 strati

ADDESTRAMENTO E GENERALIZZAZIONE L’addestramento (apprendimento) è il processo mediante il quale vengono 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 nella fase 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 vettore di ingresso uscita strato nascosto Reti neurali feedforward MLP RBF Differiscono essenzialmente nella funzione di attivazione dei neuroni dello strato nascosto

Rete neurale feedforward 1 strato nascosto con M neuroni Rete MLP Rete RBF

Reti neurali feedforward MLP RBF Proprietà di approssimazione: sono approssimatori universali per le funzioni continue su insiemi compatti funzione “smooth” sistema statico I/O

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 uscita desiderata uscita rete

Le difficoltà computazionali dei problemi di addestramento sono tipicamente 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 relativo all’addestramento di una rete neurale non è richiesta una grande precisione nella soluzione. Può invece essere preferibile interrompere il processo di minimizzazione prematuramente in base alla valutazione dell’errore ottenuto su 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 noto come metodo di backpropagation e si può identificare con il 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 il calcolo del gradiente che si può ricondurre attualmente a una tecnica di differenziazione automatica

Il metodo di backpropagation presenta proprietà di convergenza globale sotto opportune ipotesi connesse alla scelta del learning 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 in termini di rapidità di convergenza Per l’addestramento sono utilizzabili i metodi di Ottimizzazione non vincolata per problemi a grande dimensione

DIREZIONE DI RICERCA PASSO metodo del gradiente metodo di Newton

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 Ottimizzazione nell’ambito delle reti neurali motivazioni per la definizione di nuovi metodi di Ottimizzazione (algoritmi incrementali, algoritmi di decomposizione)

APPLICAZIONI DI RETI NEURALI SVILUPPATE PRESSO L’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