Reti Neurali (Parte I)

Documenti analoghi
Tecniche di riconoscimento statistico

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Metodi e Modelli per l Ottimizzazione Combinatoria Ripasso sulla Programmazione Lineare e il metodo del Simplesso (parte I)

Modelli matematici e Data Mining

Associazione tra caratteri quantitativi: gli indici di correlazione

1. riconoscere la risolubilità di equazioni e disequazioni in casi particolari

Risoluzione di problemi ingegneristici con Excel

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Informatica Teorica. Macchine a registri

Tecniche di riconoscimento statistico

ESTRAZIONE DI DATI 3D DA IMMAGINI DIGITALI. (Visione 3D)

UML I diagrammi implementativi

Corso di Laurea in Scienza dei Materiali Laboratorio di Fisica II ESPERIENZA DC1. Circuiti in corrente continua

Analisi della correlazione canonica

Le reti neurali artificiali. Giacomo Trudu aka Wicker25

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

TOP DOWN. Compiti in classe proposti Modulo 1 JUVENILIA SCUOLA. Iacobelli Ajme Marrone

I RADICALI QUADRATICI

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

STATISTICHE DESCRITTIVE Parte II

Problemi di Flusso: Il modello del Trasporto

Il campionamento e l inferenza. Il campionamento e l inferenza

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Il Modello di von Neumann (2) Prevede 3 entità logiche:

Un grafico utilizza i valori contenuti in un foglio di lavoro per creare una rappresentazione grafica delle relazioni esistenti tra loro;

Tramite questa procedura vengono emessi i documenti di trasporto relativi alla merce che facciamo produrre all esterno dell azienda.

Protocolli multimediali

Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1

codifica in virgola mobile (floating point)

APPUNTI ANALISI MATEMATICA

Procedura operativa per la gestione della funzione di formazione classi prime

MULTIPLAZIONE PCM MULTIPLAZIONE PCM 2

Analisi Univariata e Multivariata dei Dati Economici Bruno Ricca (Dipartimento di studi su risorse, impresa, ambiente e metodologie quantitative)

Algebra di Boole Algebra di Boole

Rappresentazioni numeriche

Manuale di Aggiornamento BOLLETTINO. Rel B. DATALOG Soluzioni Integrate a 32 Bit

Applicazioni lineari e diagonalizzazione. Esercizi svolti

Artificial Neural Network(ANN)

Architetture di rete. 4. Le applicazioni di rete

Elementi base per la realizzazione dell unità di calcolo

AutoritàEmittente CNS Contraente. Certificatore Accreditato. La firma digitale

Psiche e complessità. 4. L approccio bottom-up ai problemi

Lezione 4 a - Misure di dispersione o di variabilità

Corso di Sistemi Informativi Geografici. Presentazione del corso Maria Luisa Damiani A.A

I. Foglio di esercizi su vettori linearmente dipendenti e linearmente indipendenti. , v 2 = α v 1 + β v 2 + γ v 3. α v 1 + β v 2 + γ v 3 = 0. + γ.

convertitore D/A convertitore A/D

Generazione di Numeri Casuali- Parte 2

LA MEMORIA NEL CALCOLATORE

Esperienze di Apprendimento Automatico per il corso di Intelligenza Artificiale

Liceo Marie Curie (Meda) Scientifico Classico Linguistico PROGRAMMAZIONE DISCIPLINARE PER COMPETENZE

Il certificato di origine della autorità di certificazione radice UNIROMA3RootCA : acquisizione ed installazione

Corso di formazione ambientale Introduzione all utilizzo dei modelli previsionali per la valutazione dei livelli di campo elettromagnetico

CORSO DI STATISTICA (parte 1) - ESERCITAZIONE 5

Reti neurali applicate al Data mining

Definizione: Dato un sottoinsieme non vuoti di. Si chiama funzione identica o identità di in sé la funzione tale che.

Deep learning per il mondo business.

3 Geometria delle masse e momento di 2 ordine 3.3 Ellisse centrale d inerzia e nocciolo centrale d inerzia

Capacità. Capacità elettrica Condensatore Condensatore = sistema per immagazzinare energia (elettrica) Fisica II CdL Chimica

Metodo dei minimi quadrati e matrice pseudoinversa

EXCEL: FORMATTAZIONE E FORMULE

Grandezze fisiche e loro misura

Principi e Metodologie della Progettazione Meccanica

ACCESS. Database: archivio elettronico, dotato di un programma di interfaccia che facilita la registrazione e la ricerca dei dati.

Distribuzioni campionarie. Antonello Maruotti

OBIETTIVI DISCIPLINE PROFESSIONALIZZANTI I.P.I.A. (Allegato 5)

Lezioni di Ricerca Operativa 2 Dott. F. Carrabs

Algoritmi. Pagina 1 di 5

2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

APPENDICE - Pratiche di radiazione Polo ACI

Campionamento La statistica media campionaria e la sua distribuzione

Cuscinetti a strisciamento e a rotolamento

Applicazione dei PLC nei servizi di trasporto e distribuzione dell energia. Pietro Zambon Omron Electronics

La separazione elettrolitica di un metallo. Scheda di Laboratorio

RIGIDE LENTI A CONTATTO SFERICHE E ASFERICHE LENTI A CONTATTO CON SUPPORTO GRAFICO

MICROECONOMIA Teoria dell impresa

SCOPO DELL ANALISI DI CORRELAZIONE

Sistemi di unità di misura

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

Modalità di registrazione al Portale della Pubblica Amministrazione

INDICE. Vista Libretto Livello Digitale 2. Importazione di dati da strumento 3. Inserisci File Vari 5. Compensazione Quote 5.

RETI NEURALI (II PARTE)

MACHINE LEARNING e DATA MINING Introduzione. a.a.2015/16 Jessica Rosati jessica.rosati@poliba.it

Le nuove utenze di accesso a SICO (da quelle di ufficio a quelle personali)

Mini-Corso di Informatica

Weka Project. Weka. Weka Project. Formato.arff. Modalità di utilizzo di Weka. Formato.arff

Transcript:

Reti Neurali (Parte I) Corso di AA, anno 2017/18, Padova Fabio Aiolli 30 Ottobre 2017 Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 1 / 15

Reti Neurali Artificiali: Generalità Due motivazioni diverse hanno spinto storicamente lo studio di Reti Neurali Artificiali (RNA): Riproduzione (e quindi comprensione) del cervello umano modelli affidabili di tutto o almeno parte del cervello riproduzione fedele fenomeni neuro-fisiologici verifica sperimentale (il modello proposto riproduce i dati biologici?) Estrazione dei principi fondamentali di calcolo usati dal cervello umano non importa riprodurre il cervello ma solo evincere quali sono i principi fondamentali di calcolo utilizzati semplificazioni ed astrazioni permesse, anzi, strumento principale di lavoro produrre un sistema artificiale, eventualmente diverso dal cervello, che riproduca le sue funzioni, magari più veloci ed efficienti (metafora del volo aereo vs uccello ) Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 2 / 15

A noi interessa la seconda motivazione! In questo caso i modelli proposti sono molteplici e con scopi diversi: Apprendimento supervisionato (classificazione, regressione, serie temporali,...) Apprendimento non supervisionato (clustering, data mining, self-organized maps, memorie associative,...) Tali modelli possono differire per: Topologia della rete Funzione calcolata dal singolo neurone Algoritmo di apprendimento Modalità di apprendimento (utilizzo dei dati di apprendimento) Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 3 / 15

Quando usare una RNA? Caratteristiche del problema: Input: discreto e/o a valori reali, alta dimensionalità Output: vettore di valori discreti (classificazione) o reali (regressione) I dati (input e/o output) possono contenere rumore e la forma della funzione target totalmente sconosciuta Accettabile avere tempi lunghi di apprendimento e richiesta una veloce valutazione della funzione appresa La soluzione finale NON deve essere compresa da un esperto umano ( black box problem ) Esempi di campi applicativi: Riconoscimento del parlato (speech recognition) Classificazione di immagini (image classification) Predizione su serie temporali (time series prediction) Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 4 / 15

Confronto con il cervello umano Le RNA si ispirano al cervello umano: Il cervello è costituito da 10 11 neuroni fortemente interconnessi Ogni neurone è connesso con un altri 10 4 neuroni Il tempo di risposta di un neurone è 0.001 secondi Considerando che: Per riconoscere il contenuto di una scena un umano impiega 0.1 secondi Non può effettuare piú di 100 calcoli seriali [0.1/0.001 = 100] Ne consegue che.. Il cervello umano sfrutta pesantemente il calcolo parallelo. Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 5 / 15

Singolo neurone - Percepetron Consideriamo lo spazio degli iperpiani in R n (n dimensione dell input): H = {f (w,b) (x) = sign(w x + b) : w, x R n, b R} che possiamo riscrivere come: H = {f w (x ) = sign(w x ) : w, x R n } effettuando le seguenti trasformazioni: w = [b, w], x = [1, x] Faremo riferimento a tale neurone (e all algoritmo di apprendimento associato) come Perceptron. Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 6 / 15

Funzioni booleane e Perceptron Consideriamo input binari e funzioni booleane. Ogni funzione booleana può essere rappresentata tramite gli operatori or,and,not Può un Perceptron implementare la or? SI! Es. x {0, 1} n+1, w 0 = 0.5, {w i = 1} i=1,...,n Può un Perceptron implementare la and? SI! Es. x {0, 1} n+1, w 0 = n + 0.5, {w i = 1} i=1,...,n La not si realizza banalmente con un Perceptron avente una singola connessione (fare per esercizio) Quindi una qualsiasi funzione booleana può essere realizzata come combinazione di Perceptron! Esiste una funzione booleana semplice NON REALIZZABILE da un singolo Perceptron? SI, vista quando abbiamo parlato di VC-dim dello spazio di iperpiani in R n Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 7 / 15

Algoritmo di apprendimento del Percpetron Assumiamo di avere esempi di apprendimento linearmente separabili, ovvero tali che esiste un iperpiano che li possa separare. Perceptron Input: Insieme di apprendimento S = {(x, t)}, x R n+1, t { 1, +1}, η 0 (learning rate) 1 Inizializza il valore dei pesi w ad un vettore random 2 Ripeti (a) Seleziona (a caso) uno degli esempi di apprendimento (x, t) (b) Se o = sign(w x) t, allora w w + η(t o)x Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 8 / 15

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 Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 9 / 15

Osservazioni Non necessariamente un singolo passo di apprendimento (passo 2(b)) riuscirà a modificare il segno dell output, potrebbero servire più passi Il coefficiente η learning rate serve per rendere più stabile l apprendimento, ovvero evita che il vettore dei pesi subisca variazioni troppo violente quando il passo 2(b) viene eseguito 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 Sia R il raggio della più piccola iper-sfera centrata nell origine che contiene tutti gli esempi, i.e. x i <= R, sia γ il massimo valore tale che y i (w x i ) γ > 0, allora il numero di passi dell algoritmo del perceptron è limitato superiormente dal rapporto R 2 /γ 2. Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 10 / 15

Neurone Artificiale Alternativa 1: Hard-threshold 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 con sigmoide (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 Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 11 / 15

Reti Neurali Multistrato Una RNA multistrato (multi-layer NN) è un sistema costituito da unità interconnesse che calcolano funzioni (numeriche) non-lineari: Le unità di input rappresentano le variabili in ingresso Le unità di output rappresentano le variabili di uscita Le unità nascoste (se ve ne sono) rappresentano variabili interne che (dopo l apprendimento) codificano le correlazioni tra le variabili di input, relativamente al valore di output che si vuole generare Sulle connessioni tra unità sono definiti pesi adattabili (dall algoritmo di apprendimento) Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 12 / 15

Reti Neurali Multistrato target t output z z 1...... t 1 t 2 t k t c z 2... z k... z c output w kj x 1 w 1 x 0 = 1...... y 1 y 2 y j y nh nascost x 2 w 2... w n x n w 0 Σ n net = Σ w i x i=0 i 1 o = σ(net) = 1 + ē net w ji input x...... x 1 x 2 x i x d...... x 1 x 2 x i x d input Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 13 / 15

Superfici di decisione Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 14 / 15

Recap Nozioni Esercizi Perceptron Funzioni booleane e Perceptron Algoritmo di apprendimento del Perceptron Convergenza del Perceptron Introduzione alle reti neurali multi-strato Dare reti multi-strato basate su Perceptron con soglia hard e relativi pesi (senza usare apprendimento) che realizzino funzioni booleane semplici quali: A and (not B), A xor B,... Fabio Aiolli Reti Neurali (Parte I) 30 Ottobre 2017 15 / 15