Reti Neurali in Generale

Documenti analoghi
Criteri alternativi all Entropia

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

Reti Neurali (Parte I)

Reti Neurali (Parte I)

Reti Neurali in Generale

Reti Neurali in Generale

Intelligenza Artificiale. Soft Computing: Reti Neurali Generalità

Introduzione alle Reti Neurali

Esercizio: apprendimento di congiunzioni di letterali

Machine Learning:Reti Neurali. Sommario

Reti neurali. una breve introduzione

Sistemi di Elaborazione dell Informazione 170. Caso Non Separabile

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

Reti Neurali (Parte III)

Computazione per l interazione naturale: macchine che apprendono

Computazione per l interazione naturale: macchine che apprendono

Algoritmi di classificazione supervisionati

Corso di Intelligenza Artificiale A.A. 2016/2017

I Componenti del processo decisionale 7

Training Set Test Set Find-S Dati Training Set Def: Errore Ideale Training Set Validation Set Test Set Dati

Machine Learning:Reti Neurali. Sommario. Storia Il Sistema Nervoso Il Neurone Formale di Mc Culloch and Pitts Esempi

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

Lezione introduttiva su reti neurali e SVM Veronica Piccialli. Corso di Ottimizzazione a.a (seconda parte)

Riconoscimento automatico di oggetti (Pattern Recognition)

NEURON. Riccardo Fontanini

LA PREDIZIONE DELLE PORTATE DELLE SORGENTI DI. Salvatore Rampone Carmine Tiso

Computazione per l interazione naturale: macchine che apprendono

Tecniche di riconoscimento statistico

e applicazioni al dominio del Contact Management Andrea Brunello Università degli Studi di Udine

Apprendimento Automatico

Modelli e Metodi per la Simulazione (MMS)

Minimi quadrati e massima verosimiglianza

Otacon22 HgComo. Reti neurali artificiali

Re# Neurali Stages es#vi LNF

Introduzione alle Reti Neurali

Parte IV: Rafforzamento di formulazioni e algoritmo dei piani di taglio

Alberi di Decisione. Corso di AA, anno 2017/18, Padova. Fabio Aiolli. 23 Ottobre Fabio Aiolli Alberi di Decisione 23 Ottobre / 16

EVOLUZIONE DEL MODELLO NEURALE

INTRODUZIONE AI SISTEMI DI CLASSIFICAZIONE

L INTELLIGENZA ARTIFICIALE E LA SICUREZZA APPLICATIVA. Sessione di studio AIEA Torino, Gianluca Zanini Kleis s.r.l.

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Informatica A. Allievi Gestionali A.A Nozioni di Base

Reti logiche: analisi, sintesi e minimizzazione. Giovedì 9 ottobre 2014

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 12 Giugno 2019

IL NUOVO MODELLO PER LA PREVISIONE POLLINICA. Stefano Marchesi Direzione Tecnica Centro Tematico Regionale Ambiente Salute

MATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari

Università degli Studi di Bergamo Intelligenza Artificiale (Codice: 38066) 12 Giugno 2019

Kernel Methods. Corso di Intelligenza Artificiale, a.a Prof. Francesco Trovò

Tecniche avanzate per la progettazione e la gestione dei sistemi produttivi

Architettura degli elaboratori Ricapitolando (ciascuna freccia rappresenta un procedimento, che vedremo)

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Computazione per l interazione naturale: macchine che apprendono

1. Il cognitivismo classico 2. L approccio innatistamodulare. 3. L approccio connessionista 4. Il neurocostruttivismo

Apprendimento Automatico

Elementi di Informatica. Introduzione. Cos è l informatica. Corso di Laurea in Ingegneria Biomedica aa 2003/2004. Ing.

Reti Neurali. Veronica Piccialli. Corso di MOBD - Roma 12 Novembre Università degli Studi di Roma Tor Vergata 1 / 77

Spazio e trasformazioni sensorimotorie

Richiami di Algebra di Commutazione

OTTIMIZZAZIONE in unione con COMPLEMENTI DI RICERCA OPERATIVA

Vivisezione di un algoritmo di machine learning. Francesco ESPOSITO Youbiquitous

Matroidi, algoritmi greedy e teorema di Rado

SCHEMA DI COLLOCAZIONE delle monografie disposte a scaffale aperto

Richiamo di Concetti di Apprendimento Automatico ed altre nozioni aggiuntive

COMPLEMENTI DI RICERCA OPERATIVA

per il riconoscimento ottico dei caratteri

Metodi supervisionati di classificazione

Algebra di Boole e reti logiche. 6 ottobre 2017

Prof. Giorgio Poletti

REGISTRI D'ESAME CODICE ESAME CORSO DI LAUREA NOME DEL CORSO LAUREA CFU

Classificazione Mario Guarracino Data Mining a.a. 2010/2011

Algebra Booleana. 13. Rif:

OTTIMIZZAZIONE in unione con COMPLEMENTI DI RICERCA OPERATIVA OTTIMIZZAZIONE DISCRETA

QUANTIZZATORE VETTORIALE

Ingegneria Elettrica Politecnico di Torino. Luca Carlone. ControlliAutomaticiI LEZIONE I

OTTIMIZZAZIONE in unione con OTTIMIZZAZIONE DISCRETA e COMPLEMENTI DI RICERCA OPERATIVA

Sistemi Neurali Artificiali applicati alla Robotica e alla BioRobotica

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

Le reti neurali: una metodologia per l'apprendimento automatico

Metodi supervisionati di classificazione

Analogia con le macchine e con i programmi. Esempi di applicazioni hardware e software con evidente base logica

Modelli generativi per sequenze: Recurrent Temporal Restricted Boltzmann Machines

Reti logiche: analisi, sintesi e minimizzazione Esercitazione. Venerdì 9 ottobre 2015

12.1 IL PROBLEMA DEL CAMMINO MINIMO: L ALGORITMO DI DIJKSTRA

CALCOLO NUMERICO. Prof. Di Capua Giuseppe. Appunti di Informatica - Prof. Di Capua 1

Corsi di Laurea in Scienze Biologiche Prova scritta di Informatica e Statistica Generale (A). 05/07/2006

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

Memoria associativa e dinamica del riconoscimento: introduzione al modello di Hopfield

Teoria e Tecniche del Riconoscimento

Machine Learning GIORGIO GAMBOSI UNIVERSITÀ DI ROMA TOR VERGATA

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Fasi di creazione di un programma

Introduzione alla Ricerca Operativa. Cos è la Ricerca Operativa? Modellazione di problemi decisionali Fasi di uno studio di RO Applicazioni della RO

Algebra e circuiti elettronici

Tecniche di riconoscimento statistico

Modelli matematici e Data Mining

Laboratorio di Matematica e Informatica 1

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Rappresentazione in virgola fissa (fixed-point) Rappresentazione di Numeri Reali. Conversione decimale-binario di numeri non interi

Transcript:

istemi di Elaborazione dell Informazione 76 Reti Neurali in Generale Le Reti Neurali Artificiali sono studiate sotto molti punti di vista. In particolare, contributi alla ricerca in questo campo provengono da: Biologia (Neurofisiologia) Informatica (Intelligenza Artificiale) Matematica (Ottimizzazione, Proprietà di approssimazione) Statistica (Regressione, Classificazione) Ingegneria (Pattern Classification, Teoria del Controllo) Economia (Studio di serie temporali) Fisica (Sistemi Dinamici) Psicologia (Apprendimento e Scienze Cognitive)

istemi di Elaborazione dell Informazione 77 Reti Neurali in Generale Bisogna distinguere due motivazioni diverse nello studiare Reti Neurali Artificiali: 1. riprodurre (e quindi comprendere) il cervello umano modellare tutto o almeno parti del cervello umano in modo affidabile riprodurre fedelmente fenomeni neurofisiologici verificare sperimentalmente se il modello proposto riproduce i dati biologici 2. estrarre i principi fondamentali di calcolo utilizzati dal cervello non importa riprodurre il cervello umano, ma solo evincere quali sono i principi fondamentali di calcolo che esso utilizza semplificazioni ed astrazioni del carvello umano sono permesse, anzi, sono lo strumento principale di lavoro produrre un sistema artificiale che sia eventualmente diverso dal cervello umano ma che riproduca alcune delle sue funzioni, magari in modo più veloce ed efficiente (metafora del volo: aereo contro uccello)

istemi di Elaborazione dell Informazione 78 Reti Neurali in Generale A noi interessa la seconda motivazione. I modelli di Reti Neurali Artificiali proposti in questo ambito sono molteplici e con scopi diversi. As esempio, esistono modelli per l apprendimento supervisionato (Classificazione, Regressione, Serie Temporali,...); l apprendimento non supervisionato (Clustering, Data Mining, Self-Organization maps,...); realizzare Memorie Associative;... Tali modelli, in generale, differiscono per topologia della rete funzione calcolata dal singolo neurone algoritmo di apprendimento modalità di apprendimento (utilizzo dei dati di apprendimento)

istemi di Elaborazione dell Informazione 79 Reti Neurali in Generale Quando è opportuno utilizzare una Rete Neurale Artificiale? l input è ad alta dimensionalità (discreto e/o a valori reali) l output è a valori discreti (classificazione) o a valori reali (regressione) l output è costituito da un vettore di valori i dati possono contenere rumore la forma della funzione target è totalmente sconosciuta la soluzione finale non deve essere compresa da un esperto umano ( black-box problem ) Esempi di campi applicativi riconoscimento del parlato classificazione di immagini predizione di serie temporali in finanza controllo di processi industriali

istemi di Elaborazione dell Informazione 80 Reti Neurali Artificiali Le Reti Neurali Artificiali si ispirano al cervello umano: Il cervello umano è costituito da circa 10 loro; neuroni fortemente interconnessi fra Ogni neurone possiede un numero di connessioni che va da circa 10 10 ; a circa Il tempo di risposta di un neurone è circa 0.001 secondi; Considerando che per riconoscere il contenuto di una scena un umano impiega circa 0.1 secondi, ne consegue che il cervello umano sfrutta pesantemente il calcolo parallelo: infatti, in questo caso, non può effettuare più di 100 calcoli seriali [0.1/0.001=100].

istemi di Elaborazione dell Informazione 81 Neurone Biologico

istemi di Elaborazione dell Informazione 82 Neurone Biologico

istemi di Elaborazione dell Informazione 83 Neurone Biologico

istemi di Elaborazione dell Informazione 84 Neurone Biologico

istemi di Elaborazione dell Informazione 85 Neurone Artificiale Alternativa 1: hard-threshold iperpiano!! x 1 w 1 x 0 = 1 x 2 x n... w 2 w n w 0 Σ n net = Σ w i x i=0 i 1 o = σ(net) = sign(net) 1 + ē net Alternativa 2: neurone sigmoidale funzione derivabile x 1 w 1 x 0 = 1 x 2 x n... w 2 w n w 0 Σ n net = Σ w i x i=0 i o = σ(net) = 1 1 + ē net

istemi di Elaborazione dell Informazione 86 Rete Neurale Biologica (schema)

istemi di Elaborazione dell Informazione 87 Reti Neurali Artificiali Una Rete Neurale Artificiale è un sistema costituito da unità interconnesse che calcolano funzioni (numeriche) non-lineari: le unità di input rappresentano le variabili di ingresso; le unità di output rappresentano le variabili di uscita; le unità di nascoste (se ve ne sono) rappresentano variabili interne che codificano (dopo l apprendimento) le correlazioni tra le variabili di input relativamente al valore di output che si vuole generare. sulle connessioni fra unità sono definiti pesi adattabili (dall algoritmo di apprendimento).

istemi di Elaborazione dell Informazione 88 Reti Neurali Feed-forward (un solo livello nascosto) target t...... t 1 t 2 t k t c output z z 1 z 2... z k... z c output w kj...... y 1 y 2 y j y nh nascoste w ji...... x 1 x 2 x i x d input x...... x 1 x 2 x i x d input x 1 w 1 x 2 x n w 2... w n x 0 = 1 w 0 Σ n net = Σ w i x i=0 i 1 o = σ(net) = 1 + ē net

istemi di Elaborazione dell Informazione 89 Reti Neurali Feed-forward e Superfici di Decisione

istemi di Elaborazione dell Informazione 90 Singolo Neurone con Hard-Threshold Singolo Neurone con Hard-Threshold: iperpiani! che possiamo riscrivere come "! $#! $# # $# # $# % & se effettuiamo le segenti trasformazioni # ' (*) +# '-, ( ) Faremo riferimento a tale neurone (e all algoritmo di apprendimento associato) come Perceptron Problemi: Quale è il potere computazionale di un Perceptron? Come definire un algoritmo di apprendimento?

istemi di Elaborazione dell Informazione 91 Funzioni Booleane Consideriamo input binari e funzioni booleane. Ogni funzione booleana può essere rappresentata tramite gli operatori or,and, not (in effetti, questo non è necessario se usiamo il nand o il nor) Può un Perceptron implementare l operatore or?

istemi di Elaborazione dell Informazione 92 Funzioni Booleane Consideriamo input binari e funzioni booleane. Ogni funzione booleana può essere rappresentata tramite gli operatori or,and, not (in effetti, questo non è necessario se usiamo il nand o il nor) Può un Perceptron implementare l operatore or? Si! Es.,, Può un Perceptron implementare l operatore and?

istemi di Elaborazione dell Informazione 93 Funzioni Booleane Consideriamo input binari e funzioni booleane. Ogni funzione booleana può essere rappresentata tramite gli operatori or,and, not (in effetti, questo non è necessario se usiamo il nand o il nor) Può un Perceptron implementare l operatore or? Si! Es.,, Può un Perceptron implementare l operatore and? Si! Es.,,

istemi di Elaborazione dell Informazione 94 Funzioni Booleane Consideriamo input binari e funzioni booleane. Ogni funzione booleana può essere rappresentata tramite gli operatori or,and, not (in effetti, questo non è necessario se usiamo il nand o il nor) Può un Perceptron implementare l operatore or? Si! Es.,, Può un Perceptron implementare l operatore and? Si! Es.,, L operatore not si realizza banalmente con un Perceptron con una singola connessione (fare per esercizio). Esiste una funzione booleana semplice che non può essere realizzata da un Perceptron? (l abbiamo già vista quando abbiamo calcolato la VC-dimension di!!)

) ) istemi di Elaborazione dell Informazione 95 Funzione non-linearmente separabili XOR: funzione non linearmente separabile! input 0 0 XOR 0 1 1 0 1 1 f() = +1 f() = 1 f() = 1 f() = +1 una funzione è linearmente separabile se esiste un iperpiano che separa gli ingressi positivi (+1) da quelli negativi (-1)

istemi di Elaborazione dell Informazione 96 Apprendimento di funzioni linearmente separabili Assumiamo di avere esempi di funzioni linearmente separabili. Algoritmo di Apprendimento per il Perceptron ingresso: insieme di apprendimento, dove 1. inizializza il vettore dei pesi al vettore nullo (tutte le componenti a 0); 2. ripeti (a) seleziona (a caso) uno degli esempi di apprendimento (b) se allora

istemi di Elaborazione dell Informazione 97 Apprendimento per Perceptron Interpretazione geometrica Falso Negativo o >90 x x x w w o <90 w (t out) > 0 t = +1 out = 1 w = w + x out = +1 Falso Positivo x o <90 x x w w o >90 (t out) < 0 t = 1 out = +1 x w = w x w out = 1

istemi di Elaborazione dell Informazione 98 Apprendimento per Perceptron Non necessariamente un singolo passo di apprendimento 2(b) riuscirà a modificare il segno dell output: potrebbero servire molti passi. Per rendere più stabile l apprendimento si aggiunge un coefficiente di apprendimento con e preferibilmente Questo evita che il vettore dei pesi subisca variazioni troppo violente ogni volta che il passo 2(b) viene eseguito, e quindi cerca di evitare che esempi precedentemente ben classificati diventino classificati erroneamente a causa della forte variazione del vettore dei pesi. Se l insieme di apprendimento è LINEARMENTE SEPARABILE, si dimostra che l algoritmo di apprendimento per il Perceptron termina con una soluzione in un numero finito di passi, altrimenti CICLA in un insieme di vettori peso non necessariamente ottimali (cioè che commettono il minimo numero possibile di errori)

istemi di Elaborazione dell Informazione 99 Apprendimento per Perceptron: esempio es. target es.! target : 1 (4,5) 1 2 (6,1) 1 soglia 1 (1,4,5) 1 2 (1,6,1) 1 3 (4,1) -1 3 (1,4,1) -1 4 (1,2) -1 4 (1,1,2) -1 vettore dei pesi: supponiamo di partire con pesi random : e pesi input target out errore nuovi pesi (0,1,-1) (1,4,5) 1 (1,6,1) 1 (1,4,1) -1 (1,1,2) -1

istemi di Elaborazione dell Informazione 100 Apprendimento per Perceptron: esempio pesi input target out errore nuovi pesi (0,1,-1) (1,4,5) 1-1 2 (1,5,4) (1,5,4) (1,6,1) 1 1 0 nessun cambiamento (1,5,4) (1,4,1) -1 1-2 (0,1,3) (0,1,3) (1,1,2) -1 1-2 (-1,0,1)

istemi di Elaborazione dell Informazione 101 Apprendimento per Perceptron: esempio pesi input target out errore nuovi pesi (-1,0,1) (1,4,5) 1 1 0 nessun cambiamento (-1,0,1) (1,6,1) 1? (-1) 2 (0,6,2) (0,6,2) (1,4,1) -1 1-2 (-1,2,1) (-1,2,1) (1,1,2) -1 1-2 (-2,1,-1)

istemi di Elaborazione dell Informazione 102 Apprendimento per Perceptron: esempio pesi input target out errore nuovi pesi (-2,1,-1) (1,4,5) 1-1 2 (-1,5,4) (-1,5,4) (1,6,1) 1 1 0 nessun cambiamento (-1,5,4) (1,4,1) -1 1-2 (-2,1,3) (-2,1,3) (1,1,2) -1 1-2 (-3,0,1)

istemi di Elaborazione dell Informazione 103 Apprendimento per Perceptron: esempio pesi input target out errore nuovi pesi (-3,0,1) (1,4,5) 1 1 0 nessun cambiamento (-3,0,1) (1,6,1) 1-1 2 (-2,6,2) (-2,6,2) (1,4,1) -1 1-2 (-3,2,1) (-3,2,1) (1,1,2) -1 1-2 (-4,1,-1)

istemi di Elaborazione dell Informazione 104 Apprendimento per Perceptron: esempio pesi input target out errore nuovi pesi (-4,1,-1) (1,4,5) 1-1 2 (-3,5,4) (-3,5,4) (1,6,1) 1 1 0 nessun cambiamento (-3,5,4) (1,4,1) -1 1-2 (-4,1,3) (-4,1,3) (1,1,2) -1 1-2 (-5,0,1)

istemi di Elaborazione dell Informazione 105 Apprendimento per Perceptron: esempio pesi input target out errore nuovi pesi (-5,0,1) (1,4,5) 1? (-1) 2 (-4,4,6) (-4,4,6) (1,6,1) 1 1 0 nessun cambiamento (-4,4,6) (1,4,1) -1 1-2 (-5,0,5) (-5,0,5) (1,1,2) -1 1-2 (-6,-1,3)

istemi di Elaborazione dell Informazione 106 Apprendimento per Perceptron: esempio pesi input target out errore nuovi pesi (-6,-1,3) (1,4,5) 1 1 0 nessun cambiamento (-6,-1,3) (1,6,1) 1-1 2 (-5,5,4) (-5,5,4) (1,4,1) -1 1-2 (-6,1,3) (-6,1,3) (1,1,2) -1 1-2 (-7,0,1)

istemi di Elaborazione dell Informazione 107 Apprendimento per Perceptron: esempio pesi input target out errore nuovi pesi (-7,0,1) (1,4,5) 1-1 2 (-6,4,6) (-6,4,6) (1,6,1) 1 1 0 nessun cambiamento (-6,4,6) (1,4,1) -1 1-2 (-7,0,5) (-7,0,5) (1,1,2) -1 1-2 (-8,-1,3)

istemi di Elaborazione dell Informazione 108 Apprendimento per Perceptron: esempio pesi input target out errore nuovi pesi (-8,-1,3) (1,4,5) 1 1 0 nessun cambiamento (-8,-1,3) (1,6,1) 1-1 2 (-7,5,2) (-7,5,2) (1,4,1) -1 1-2 (-8,1,3) (-8,1,3) (1,1,2) -1-1 0 nessun cambiamento

istemi di Elaborazione dell Informazione 109 Apprendimento per Perceptron: esempio pesi input target out errore nuovi pesi (-8,1,3) (1,4,5) 1 1 0 nessun cambiamento (-8,1,3) (1,6,1) 1 1 0 nessun cambiamento (-8,1,3) (1,4,1) -1-1 0 nessun cambiamento (-8,1,3) (1,1,2) -1-1 0 nessun cambiamento