ADDESTRAMENTO DI UNA RETE NEURALE ED EVENTUALI CONSIDERAZIONI PRESTAZIONALI. (a cura di Buttolo Marco).

Documenti analoghi
Machine Learning:Reti Neurali. Sommario

Reti Neurali (Parte III)

Algoritmi di classificazione supervisionati

Corso di Calcolo Numerico

Reti Neurali in Generale

Corso di Analisi Numerica

Derivazione numerica. Introduzione al calcolo numerico. Derivazione numerica (II) Derivazione numerica (III)

Problema. Equazioni non lineari. Metodo grafico. Teorema. Cercare la soluzione di

Lezione 5, 5/11/2014

Criteri alternativi all Entropia

Introduzione alle Reti Neurali

Reti Neurali. Giuseppe Manco. References: Chapter 4, Mitchell Chapter 1-2,4, Haykin Chapter 1-4, Bishop. Reti Neurali

Intelligenza Artificiale. Soft Computing: Reti Neurali Generalità

Appunti sui percettroni

Metodi di Iterazione Funzionale

Otacon22 HgComo. Reti neurali artificiali

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Derivazione Numerica

Analisi Numerica: Introduzione

Reti Neurali in Generale

Reti neurali. una breve introduzione

Corso di Intelligenza Artificiale A.A. 2016/2017

Metodi supervisionati di classificazione

Corso di Analisi Numerica

Analisi cinematica di meccanismi articolati

Dispense del corso di Metodi Numerici per le Equazioni Differenziali

Calcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni

Corso di Calcolo Numerico

Equazioni e sistemi non lineari

Equazioni e sistemi non lineari

Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie

Sistemi Neurali Artificiali applicati alla Robotica e alla BioRobotica

Equazioni differenziali con valori al bordo

Calcolo del fattore di convergenza

Calcolo Numerico (CdS in Matematica) A.A. 2012/13

Laboratorio di Calcolo Numerico

Identificazione dei Parametri Caratteristici di un Plasma Circolare Tramite Rete Neuronale

Reti Neurali. Introduzione Neuroni Biologici Neuroni Artificiali Tipologie di Reti

Metodi computazionali per i Minimi Quadrati

Corso di Calcolo Numerico

Corso di Laurea Specialistica in Ingegneria Meccanica e Ingegneria Energetica Progetto numerico al calcolatore

Analisi degli Errori

Metodi di Ricerca Lineare

Regressione Lineare e Regressione Logistica

Reti Neurali (Parte I)

Quale delle seguenti rappresentazioni del numero reale è in virgola mobile normalizzata?

Geo-scienze e Rischi Naturali

ONDE PROGRESSIVE E REGRESSIVE, ONDE STAZIONARIE

Annamaria Mazzia. Corso di Metodi Numerici per l Ingegneria dispense e altro materiale su

dt t z 1 exp( t). = π, Γ

MECCANICA COMPUTAZIONALE

Numeri Complessi. N.B. per semplicità, nel seguito considero solo il caso

1 Schemi alle differenze finite per funzioni di una variabile

I QUATTRO APPROCCI ALL INTELLIGENZA ARTIFICIALE. A cura di Buttolo Marco (2005)

EVOLUZIONE DEL MODELLO NEURALE

Reti neuronali: applicazioni biomediche. Anno Accademico Prof. Mauro Giacomini

Programmare con MATLAB c Parte 5 Cicli: for e while

Metodi di Ottimizzazione

Algoritmi in C++ (seconda parte)

Il Metodo di Newton, o delle Tangenti Federico Lastaria, Analisi e Geometria 1. Politecnico di Milano Corso di Analisi e Geometria 1

per il riconoscimento ottico dei caratteri

Corso di Analisi Numerica

ESERCIZIO 1. Fig. 1. Si ricava a = m = 14.6 mm. Ricalcolando b per a/w= 14.6/50= 0.29, si ottiene b Procedendo, si ricava:

Lezione 4: La Formalizzazione degli Algoritmi - Strutture di Controllo e Selettive (2p) Venerdì 7 Ottobre 2009

Calcolo Numerico Laurea di base in Ingegneria Elettronica, Ingegneria delle Comunicazioni

COMPLESSITÀ COMPUTAZIONALE DEGLI ALGORITMI

Corso di laurea in Matematica Laboratorio di Programmazione e Calcolo Prof. A. Murli. Esercizi di riepilogo - LABORATORIO

MATLAB:Metodi Numerici per zeri di funzioni.

Reti Neurali. Corso di AA, anno 2016/17, Padova. Fabio Aiolli. 2 Novembre Fabio Aiolli Reti Neurali 2 Novembre / 14. unipd_logo.

Teoria e Tecniche del Riconoscimento Reti neurali

Programma del corso di: Laboratorio di Programmazione e Calcolo Corso di laurea in Matematica a.a Proff. B. Paternoster, D.

Corso di Calcolo Numerico

7. Forze elastiche. Nella figura 1 il periodo è T = 2s e corrisponde ad un moto unidimensionale limitato tra i valori x = 0 ed x = 1.

Esempi di applicazioni di reti neurali

Tecniche di riconoscimento statistico

MODELLI MATEMATICI PER I SISTEMI DI INFORMAZIONE ALL UTENZA: introduzione ai modelli dell ingegneria dei trasporti

ISTRUZIONI PER LA CONSEGNA DEI FILE MATLAB

Corso di Calcolo Numerico

Lezione 4 Quadratura Numerica. Fernando Palombo

a x + b = 0 (dove a e b sono coefficienti generici dell equazione ed

Grafi e reti di flusso

Data mining: classificazione

Corso di Analisi Numerica

Cenni sui metodi iterativi per sistemi lineari. Analisi Numerica Prof. M. Lucia Sampoli a.a. 2014/2015

Problema. Sistemi lineari. Problema. Problema. Quali sono i potenziali in ogni nodo? Leggi di Kirkoff e di Ohm:

Laboratorio di Chimica Fisica. Analisi Statistica

Esercizi su polinomio di Taylor, metodi numerici per il calcolo di zeri di funzione e iterazioni di punto fisso

Analisi Numerica: quadratura

Reti Neurali

LA RICORSIONE LA RICORSIONE LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO LA RICORSIONE: ESEMPIO

Reti Neurali (Parte I)

Numeri Complessi. NB per semplicità, nel seguito considero solo il caso

Transcript:

ADDESTRAMENTO DI UNA RETE NEURALE ED EVENTUALI CONSIDERAZIONI PRESTAZIONALI. (a cura di Buttolo Marco). Lalgoritmo più utilizzato per addestrare una rete neurale è lalgoritmo di bac-propagation. In sostanza la rete neurale viene addestrata con dei dati numerici. Inizialmente i pesi sinaptici vengono presi in modo casuale. La fase di addestramento avviene misurando dopo ogni ciclo di training (epoca) l errore commesso dalla rete che per definizione è: e ( Si noti che il sistema complessivo è a tempo discreto (t. Il valore istantaneo dell energia dell errore viene così definito: 1 ε 2 e ( 2 Quest ultima relazione vale se la rete neurale in questione ha un solo neurone nello strato di output. Viceversa se la rete neurale possiede più neuroni nello strato di output possiamo invece scrivere: 1 n ε ε N i 1 dove N è il numero totale di esempi presentati alla rete. La formula può essere considerata come una possibile misura della performance del sistema complessivo. Chiamiamo pattern l insieme di tutti gli esempi di input, mentre chiamiamo epoca ogni singola iterazione dell algoritmo di apprendimento. Abbiamo definito l errore come la distanza tra il valore di uscita desiderato ed il valore di uscita effettivamente fornito dalla rete. Tale errore, per ogni epoca, viene reimmesso nella rete retropropagandolo all indietro fino ai neuroni di ingresso. Durante questa propagazione tale errore va a modificare i vari pesi presenti sulle sinapsi. Tale modifica avviene secondo una relazione matematica del seguente tipo: correzione del peso parametro di apprendimento*gradiente locale*valore originale di input;

Quindi nell algoritmo di propagazione all indietro dell errore ci sono sostanzialmente due passi fondamentali: 1. un passo relativo alla propagazione in avanti. Questa fase permette di ottenere un uscita tale che: ( v ) dove v ( è il potenziale di azione per il neurone J al tempo n. Esso può essere così definito: v m w. ( i 0 i dove m è il numero totale di input applicati al neurone. 2. un passo di propagazione a ritroso. In particolare la computazione di δ per ogni neurone comporta la conoscenza della derivata della funzione di attivazione (.). Perché questa derivata effettivamente esisti è necessario che tale funzione di attivazione sia continua. Siccome è richiesta anche la non linearità per la funzione di attivazione di un neurone computazionale, abbiamo che un ipotetica funzione non lineare e continua (e quindi differenziabile) è proprio la funzione sigmoidale. Tra l altro l ampiezza dell uscita, utilizzando tale funzione, si mantiene nell intervallo [0,1], perfettamente in accordo con il fatto che l uscita della rete neurale è un valore numerico normalizzato tra zero e uno. Quindi possiamo scrivere formalmente in questo modo: 1 ( v ( ) ( 1+ n e av ( )) con a > 0 ed inoltre: < ( < v

In accordo con la non linearità si ha: 0 1. Proviamo ora a differenziare l equazione precedente ottenendo: ( v ) ae (1 + e ( av ( ) ) ( av ) 2 Ricordandosi che: ( v ( ). Ora eliminiamo il termine esponenziale dall espressione, e otteniamo: ( v ) a (1 ) Quest ultima relazione vale in particolare se il neurone è un neurone dello strato nascosto. Se il neurone è un neurone dello strato di output, invece si ottiene: o dove o ( è il -esimo elemento del vettore di output. Questa uscita è confrontata con l uscita desiderata, ottenendo così il segnale di errore. Quindi ora esprimiamo il gradiente locale per il singolo neurone J come: δ e ( v ) a( o ) o (1 o ) Quest ultima relazione vale se il nodo J è un nodo dello strato di output. Se il nodo J è un nodo dello strato nascosto si ha: δ ( v ) δ ( w(

δ a (1 ) δ ( w ha il suo massimo valore per 0. 5 Si noti dall equazione che la derivata ( v ), ed il suo minimo per 0 oppure 1. Da tutto ciò segue che il cambiamento dei pesi sinaptici è proporzionale alla precedente derivata. Quindi si ha un cambiamento più significativo per quanto riguarda i pesi sinaptici per quei neuroni dove i segnali di uscita hanno un valore che si attesta più o meno a metà. Come abbiamo già detto, La fase di addestramento della rete neurale sostanzialmente viene suddivisa in epoche. Durante ogni epoca viene effettivamente propagato all indietro l errore di predizione. Tale algoritmo ha un certo costo computazionale sia di tipo spaziale sia di tipo temporale. Infatti, se consideriamo il caso di due neuroni A e B, che sono connessi alla stessa sinapsi e sono entrambi attivi, allora tale sinapsi o sarà svegliata o sarà eliminata. L efficienza della sinapsi è legata alle attività presinaptiche e postsinaptiche presenti nella rete. Consideriamo per esempio il peso sinaptico w. Abbiamo: x segnale presinaptico segnale postsinaptico Allora la variazione del peso sinaptico sarà funzione dei due segnali citati in precedenza: w F( x(, ) (7.1) Quindi le regola di produzione delle attività diventa: w η x (7.2) Pertanto una crescita di x comporta una crescita ovvia di e di conseguenza una crescita che

può anche essere esponenziale di w allora si possono ottenere i seguenti grafici:. Se per esempio si ha una crescita lineare tra e x w w η x In fase di addestramento, si nota che aumentando il numero di neuroni presenti nello strato nascosto della rete, aumenta il tempo di addestramento necessario alla rete. Inoltre aumentando il numero di dati di train aumenta anche il tempo di addestramento della rete stessa. Questo accade perché la rete neurale è un modello data-intensive, e quindi quando si vuole costruire e gestire una rete neurale ottimale, è necessario cercare di rendere ottimale il set di informazioni di train da utilizzare. Per rendere più rapida la fase di addestramento, si può agire sul tasso di apprendimento abbassandolo. Questo però comporta un minor cambiamento dei pesi sinaptici della rete e di conseguenza la predizione risulterà essere meno precisa. Viceversa alzando il tasso di apprendimento, si ha un allungamento del tempo necessario per la fase di addestramento, ma la predizione risulterà essere più accurata. Un buon compromesso potrebbe essere per esempio quello di associare un valore intermedio (0.5) al tasso di apprendimento. In questo modo si ottiene una discreta velocità in fase di addestramento e contemporaneamente una buona predizione. Anche il momento deve essere scelto in modo che renda effettivamente stabile la rete neurale e permettere la reale convergenza dell algoritmo di apprendimento.