Reti Neurali
|
|
|
- Amedeo Castellano
- 9 anni fa
- Visualizzazioni
Transcript
1 Reti Neurali In una piccola ditta di assemblaggio di circuiti integrati è appena arrivata una partita di chip logici con due piedini di input e uno di output, di cui purtroppo s è persa la bolla di accompagnamento: non si sa né da dove arrivino i chip né che funzione abbiano Un tecnico di laboratorio conduce alcuni esperimenti su coppie di input di voltaggio prese a caso, e l output è dato dalla tabella sotto Per ottenere un responso affidabile sarebbero necessari almeno un centinaio di esperimenti simili, ma purtroppo fare questi esperimenti ha danneggiato un numero non indifferente di chip, e quindi si è deciso di utilizzare un modello matematico per simulare la risposta dei chip sulla base delle risposte già date Si utilizzi la rete neurale in figura sotto e il set di apprendimento nella tabella sopra per individuare un insieme di pesi sui lati che possa ben approssimare gli esperimenti già fatti Si calcolino le uscite della rete con le coppie di input (0,0), (0,1), (1,0), (1,1) e si stabilisca che tipo di chip è stato consegnato alla ditta strato di input strato nascosto strato di output Traccia 1 Si utilizzi dapprima l algoritmo Multistart visto nel laboratorio precedente per determinare un buon punto iniziale Si utilizzi poi l algoritmo del gradiente o quello di Newton con una tolleranza ε > 0 molto bassa e un numero massimo di iterazioni molto alto per trovare un buon ottimo locale 2 Si noti che gli algoritmi utilizzati risultano molto lenti per via del fatto che la ricerca esatta dei sottoproblemi unidimensionali prende molto tempo Si implementi una ricerca unidimensionale di backtracking e si paragonino i risultati con quelli ottenuti in precedenza Documento preparato da Leo Liberti 1
2 Soluzione Si considerino i valori di output associati a ogni neurone x = (x 1, x 2, x 3, x 4, x 5 ) dove x i è l output dell i-esimo neurone; si considerino inoltre i pesi sulle sinapsi u = (u 13, u 14, u 23, u 24, u 35, u 45 ) Siano y = (y 1, y 2 ) i valori di input ai neuroni 1, 2 nello strato di input, e sia z = x 5 l output della rete Sia h : R 2 R la mappa y z data dalla rete neurale, parametrizzata da u Per una formalizzazione di questa rappresentazione, si veda il Riquadro 1 Sia ϕ(ξ) = eξ e ξ e ξ +e ξ la funzione di attivazione Si ha: z = x 5 = ϕ(u 35 x 3 + u 45 x 4 ) x 3 = ϕ(u 13 x 1 + u 23 x 2 ) x 4 = ϕ(u 14 x 1 + u 24 x 2 ) x 1 = ϕ(y 1 ) x 2 = ϕ(y 2 ) Pertanto si può scrivere z = h(u, y) come: h(u, y) = ϕ(u 35 ϕ(u 13 ϕ(y 1 ) + u 23 ϕ(y 2 )) + u 45 ϕ(u 14 ϕ(y 1 ) + u 24 ϕ(y 2 ))) Si tratta quindi di risolvere il problema: min u 5 z i h(u, y i ) 2, dove (y i, z i ) sono le triple date in tabella nel testo del problema i=1 Ordiniamo u come (u 13, u 14, u 23, u 24, u 35, u 45 ) Nei file di Matlab si troverà naturalmente la notazione vettoriale u(1),, u(6) Il codice per l algoritmo del gradiente è dato dai file gradm, linesearchm, steepestdescentm; il codice per l algoritmo Multistart è in multistartm Tutti questi file possono essere trovati nel testo del laboratorio precedente La funzione di attivazione è data da: % file activationm function phival = activation(xi) phival = (exp(xi) - exp(-xi)) / (exp(xi) + exp(-xi)); La funzione h è data da: % file hmapm function hval = hmap(u, y) hval = activation(u(5)*activation(u(1)*activation(y(1)) + u(2)*activation(y(2))) + u(6)*activation(u(3)*activation(y(1)) + u(4)*activation(y(2)))); Documento preparato da Leo Liberti 2
3 Infine, la funzione obiettivo da minimizzare è data da: % file neuralnetm function xval = neuralnet(u) y = [ 01, 01; 09, 09; 00, 095; 095, 01 ]; z = [ 01; 005; 098 ; 095 ]; n = length(z); xval = 0; t = zeros(2,1); for i = 1:n t(1) = y(i,1); t(2) = y(i,2); xval = xval + (z(i) - hmap(u, t))^2; end Si ottiene: >> [ustar, fstar, k] = multistart( neuralnet, 6, 01, 300) ustar = fstar = k = 301 >> [ustar, fstar, tol, k] = steepestdescent( neuralnet, u, 001, 100) ustar = fstar = tol = k = 101 >> hmap(ustar, [0;0]) ans = 0 >> hmap(ustar, [0;1]) ans = >> hmap(ustar, [1;0]) ans = >> hmap(ustar, [1;1]) ans = Si conclude che i chip sono probabilmente delle porte logiche XOR Si noti che la funzione XOR non è lineare, quindi non è sufficiente utilizzare i metodi di classificazione lineare Si veda nella figura sotto: non esiste un iperpiano che separa i punti neri dai Documento preparato da Leo Liberti 3
4 punti bianchi (le linee tratteggiate sono iperpiani separatori che però non riescono a classificare correttamente tutti i punti) Si invita il lettore a provare lo stesso esercizio anche con la funzione di attivazione sigmoidale ψ(ξ) definita nel Riquadro 1 Matlab dispone di demo interessanti sulle reti neurali (si veda nell online help) Si ricorda infine che esistono i comandi Matlab (non implementati su Octave) newff, train, sim Il seguente materiale è tratto dall header del file newffm Here is a problem consisting of inputs P and targets T that we would like to solve with a network P = [ ]; T = [ ]; Here a two-layer feed-forward network is created The network s input ranges from [0 to 10] The first layer has five TANSIG neurons, the second layer has one PURELIN neuron The TRAINLM network training function is to be used net = newff([0 10],[5 1],{ tansig purelin }); Here the network is simulated and its output plotted against the targets Y = sim(net,p); plot(p,t,p,y, o ) Here the network is trained for 50 epochs output is plotted Again the network s nettrainparamepochs = 50; net = train(net,p,t); Y = sim(net,p); plot(p,t,p,y, o ) Documento preparato da Leo Liberti 4
5 Riquadro 1 La fase di apprendimento delle reti neurali, tramite l algoritmo di back-propagation, è in sostanza la soluzione iterativa di un problema di minimi quadrati per mezzo dell algoritmo del gradiente Si consideri un modello neurale multistrato modellato da un grafo K-partito G = (V, E) dove V è partizionato in V 1,, V K, E in E 1,, E K 1 e ogni (V k, V k+1, E k ) (k K 1) è un grafo bipartito completo I nodi di questo grafo sono i neuroni, e i lati le sinapsi, come indicato nella figura sotto E 1 PSfrag replacements V 1 V 2 V K Ad ogni lato del grafo è associato un peso u sj k, dove k K è lo strato e {s, j} indica il lato, con s V k e j V k+1 Ad ogni vertice si associa un valore di output x j k, dove k è lo strato j è il vertice in V k Il valore di input del j-esimo vertice nel k + 1-esimo strato è una funzione lineare dei valori di output allo strato precedente: V k s=1 usj k xs k, per j V k+1 L output del j-esimo vertice nel k + 1-esimo strato è una funzione ϕ del suo input, detta funzione di attivazione Quindi V k x j k+1 = ϕ j V k+1, 2 k K 1 u sj k xs k s=1 Di solito si utilizza la funzione di attivazione ϕ(ξ) = eξ e ξ, oppure la funzione sigmoidale ψ(ξ) = e ξ +e ξ 1 Si assume che lo strato k = 1 sia lo strato di input dell intera rete neurale: i vertici del 1+e ξ primo strato hanno un valore di input dato dall utente, che codifica l input della rete I valori di output dell ultimo strato forniscono la risposta della rete In pratica, la rete è una mappa h, parametrizzata dal vettore dei pesi sui lati u, che trasforma un vettore di input x 1 in un vettore di output x K, in modo che x K = h(u, x 1 ) Supponiamo di avere un insieme di m coppie input/output T = {(y i, z i ) i m} La fase di apprendimento della rete neurale fa sì che i pesi u vengano modificati affinché a ogni input corrisponda l output desiderato Al termine di questa fase, la rete è pronta per l uso: si spera che ad ogni nuovo vettore di input (di cui non si conosce l output a priori) la rete fornisca un output sensato in base alle coppie in T che ha già visto prima L algoritmo di back-propagation utilizzato per l apprendimento non è altro che l algoritmo del gradiente applicato strato per strato al problema di minimi quadrati min u m z i h(u, y i ) 2 i=1 Il fatto che le variabili siano i pesi u e che h in generale può essere nonlineare e nonconvessa rende l intero problema nonconvesso Si consideri poi che nei problemi pratici m è di solito un numero molto grande; gli approcci risolutivi devono quindi limitarsi ad algoritmi molto semplici (come per l appunto quello del gradiente) e certe volte applicati addirittura in modo stocastico (il gradiente viene computato solo per un sottoinsieme casuale delle componenti del vettore) Figura 1: Problema di ottimizzazione nelle reti neurali Documento preparato da Leo Liberti 5
Intelligenza Artificiale. Soft Computing: Reti Neurali Generalità
Intelligenza Artificiale Soft Computing: Reti Neurali Generalità Neurone Artificiale Costituito da due stadi in cascata: sommatore lineare (produce il cosiddetto net input) net = S j w j i j w j è il peso
Introduzione alle Reti Neurali
Introduzione alle Reti Neurali Stefano Gualandi Università di Pavia, Dipartimento di Matematica email: twitter: blog: [email protected] @famo2spaghi http://stegua.github.com Reti Neurali Terminator
Machine Learning:Reti Neurali. Sommario
Machine Learning:Reti Neurali Sommario Apprendimento nel percettrone a sigmoide Reti feed-forward multistrato Apprendimento nel percettrone multistrato: back-propagation Conclusioni Apprendimento nel percettrone
Algoritmi di classificazione supervisionati
Corso di Bioinformatica Algoritmi di classificazione supervisionati Giorgio Valentini DI Università degli Studi di Milano 1 Metodi di apprendimento supervisionato per problemi di biologia computazionale
Backpropagation in MATLAB
Modello di neurone BACKPROPAGATION Backpropagation in MATLAB Prof. Beatrice Lazzerini Dipartimento di Ingegneria dell Informazione Via Diotisalvi 2, 56122 Pisa La funzione di trasferimento, che deve essere
Corso di Intelligenza Artificiale A.A. 2016/2017
Università degli Studi di Cagliari Corsi di Laurea Magistrale in Ing. Elettronica Corso di Intelligenza rtificiale.. 26/27 Esercizi sui metodi di apprendimento automatico. Si consideri la funzione ooleana
Apprendimento statistico (Statistical Learning)
Apprendimento statistico (Statistical Learning) Il problema dell apprendimento Inquadriamo da un punto di vista statistico il problema dell apprendimento di un classificatore Un training set S={(x,y ),,(x
Apprendimento statistico (Statistical Learning)
Apprendimento statistico (Statistical Learning) Il problema dell apprendimento Inquadriamo da un punto di vista statistico il problema dell apprendimento di un classificatore Un training set S={(x,y ),,(x
Regressione Lineare e Regressione Logistica
Regressione Lineare e Regressione Logistica Stefano Gualandi Università di Pavia, Dipartimento di Matematica email: twitter: blog: [email protected] @famo2spaghi http://stegua.github.com 1 Introduzione
Programmare con MATLAB c Parte 5 Cicli: for e while
Programmare con MATLAB c Parte 5 Cicli: for e while Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 La notazione due punti 2 Ciclo: for 3 Ciclo con controllo: while
Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari
Esercizi su algebra lineare, fattorizzazione LU e risoluzione di sistemi lineari 4 maggio Nota: gli esercizi più impegnativi sono contrassegnati dal simbolo ( ) Esercizio Siano 3 6 8 6 4 3 3 ) determinare
Equazioni e sistemi non lineari
Equazioni e sistemi non lineari Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Ricerca degli zeri di una funzione Problema e definizioni Metodo di Newton-Raphson
Reti Neurali in Generale
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
Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 19 settembre 2011
Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 19 settembre 2011 L esame consiste di 4 domande aperte e 10 esercizi a risposta multipla. Per gli esercizi ci sono
Otacon22 HgComo. Reti neurali artificiali
Otacon22 HgComo Reti neurali artificiali Chi sono? Daniele Iamartino ( aka Otacon22 ) Membro del team HgComo Studente/sperimentatore Futura matricola del PoliMi, ex liceale con tesina sulle reti neurali!
Equazioni e sistemi non lineari
Equazioni e sistemi non lineari Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 Ricerca degli zeri di una funzione Problema e definizioni Metodo di Newton-Raphson
2.3 Cammini ottimi. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1
. Cammini ottimi E. Amaldi Fondamenti di R.O. Politecnico di Milano .. Cammini minimi e algoritmo di Dijkstra Dato un grafo orientato G = (N, A) con una funzione di costo c : A c ij R e due nodi s e t,
Capitolo 1. Esercizi a.a Esercizi. Esercizio 1.1 Dimostrare che il metodo iterativo
Capitolo Esercizi a.a. 206-7 Esercizi Esercizio. Dimostrare che il metodo iterativo x k+ = Φ(x k ), k = 0,,..., se convergente a x, deve verificare la condizione di consistenza x = Φ(x ). Ovvero, la soluzione
Complementi di Matematica e Calcolo Numerico A.A Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie
Complementi di Matematica e Calcolo Numerico A.A. 2010-2011 Laboratorio 11 - Metodi numerici per equazioni differenziali ordinarie Cosideriamo il seguente Problema di Cauchy: Trovare una funzione y : I
RETI NEURALI MATLAB & OCTAVE. Benzi Francesco
RETI NEURALI MATLAB & OCTAVE Benzi Francesco Neural Network Toolbox di Matlab Funzionalità offerte: - Approssimazione di funzioni (non lineari) - Pattern Recognition & Classificazione - Clustering - Serie
2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) protocolli reti IP memorizzazione compatta di
Esame di Calcolo Numerico per Informatica A.A. 2010/11: testo soluzioni Proff. S. De Marchi e M. R. Russo 12 luglio 2011
Esame di Calcolo Numerico per Informatica A.A. 200/: testo soluzioni Proff. S. De Marchi e M. R. Russo 2 luglio 20 L esame consiste di 4 domande aperte e 0 esercizi a risposta multipla. Per gli esercizi
Funzione di risposta di una RNA - Parte 2
Reti Neurali Artificiali per lo studio del mercato Università degli studi di Brescia - Dipartimento di metodi quantitativi Marco Sandri ([email protected]) Funzione di risposta di una RNA - Parte
ISTRUZIONI PER LA CONSEGNA DEI FILE MATLAB
Calcolo Numerico ed Elementi di Analisi - Allievi AEROSPAZIALI Proff. S. Micheletti, S. Perotto A.A. 20/202, Appello 28 Gennaio 203 NOME... COGNOME... MATRICOLA... DOCENTE... AULA... PC... Ver.A I seguenti
INTRODUZIONE AI SISTEMI DI CLASSIFICAZIONE
INTRODUZIONE AI SISTEMI DI CLASSIFICAZIONE CON RETI NEURALI di G. Masala INTRODUZIONE Sistema di classificazione o riconoscimento Un sistema di classificazione [1][2] o di riconoscimento, considerato in
2.2 Alberi di supporto di costo ottimo
. Alberi di supporto di costo ottimo Problemi relativi ad alberi hanno numerose applicazioni: progettazione di reti (comunicazione, teleriscaldamento,...) memorizzazione compatta di sequenze (DNA) diffusione
Laboratorio di Calcolo Numerico
Laboratorio di Calcolo Numerico Lezione 3 Padova, April 4th 2016 F. Piazzon Department of Mathematics. Doctoral School in Mathematical Sciences, Applied Mathematics Area Outline Lab. 3-2 of 16 1 Costrutti
OTTIMIZZAZIONE LINEARE MULTICRITERIO
OTTIMIZZAZIONE LINEARE MULTICRITERIO NOTAZIONE Siano x ed y vettori di R n indicati estesamente con x x x x 1 Μ i Μ n, y y1 Μ yi Μ y n e si ponga N = {1,2,, n}. Scriveremo allora: x y ( x è diverso da
Esercizio 1. Esercizio 2
Sia data la matrice A A(α) = Esercizio α 2 2α 2 2, α R.) determinare per quali valori del parametro reale α é verificata la condizione necessaria e sufficiente di convergenza per il metodo di Jacobi;.2)
LA PROGRAMMAZIONE MATEMATICA (p.m.)
LA PROGRAMMAZIONE MATEMATICA (p.m.) Un problema di programmazione matematica è un problema di ottimizzazione riconducibile alla seguente espressione generale: ricercare i valori delle variabili x 1, x
Esercizi di Programmazione Lineare
Esercizi di Programmazione Lineare 1 grafica Si consideri il seguente problema di programmazione lineare: max 3x 1 + 2x 2 s.t. + 2x 1 + x 2 4 2x 1 + x 2 2 + x 1 x 2 1 x 1, x 2 0 a) Risolvere il problema
Calcolo Numerico - Prova Matlab 19 luglio 2013
9 luglio 0 () tempo a disposizione per completare la prova: ora; () lo svolgimento della prova deve essere salvato in file denominati cognomenome#m; () è fatto assoluto divieto di aprire applicazioni diverse
3.6 Metodi basati sui piani di taglio
3.6 Metodi basati sui piani di taglio Problema generale di Programmazione Lineare Intera (PLI) con A matrice m n e b vettore n 1 razionali min{ c t x : x X = {x Z n + : Ax b} } Sappiamo che esiste una
Sommario. 1 Specifiche della soluzione. Davide Anastasia, Nicola Cogotti. 27 dicembre 2005
Utilizzo delle reti neurali di tipo MLP e RBF per l approssimazione di funzioni reali di variabile reale note mediante coppie di punti (x,y) in presenza di rumore Davide Anastasia, Nicola Cogotti 27 dicembre
Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 20 giugno 2011
Esame di Calcolo Numerico per Informatica A.A. 2010/11 Proff. S. De Marchi e M. R. Russo 20 giugno 2011 L esame consiste di 4 domande aperte e 10 esercizi a risposta multipla. Per gli esercizi ci sono
Introduzione agli Algoritmi 4. Problemi. Dal Problema alla Soluzione
Sommario Problemi e soluzioni Definizione informale di algoritmo e esempi Proprietà degli algoritmi Input/Output, Variabili Algoritmi senza input o output 1 2 Problema Definizione (dal De Mauro Paravia):
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 5
LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 5 Prof. Rosario Cerbone [email protected] a.a. 2005-2006 Ottimizzazione di circuiti combinatori In questa lezione vengono riassunti i concetti
Matroidi, algoritmi greedy e teorema di Rado
Matroidi, algoritmi greedy e teorema di Rado per il corso di Laboratorio di Algoritmi e Ricerca Operativa Dott. Alberto Leporati / Prof.ssa Enza Messina Dipartimento di Informatica, Sistemistica e Comunicazione
Algoritmi di ricerca locale
Algoritmi di ricerca locale Utilizzati in problemi di ottimizzazione Tengono traccia solo dello stato corrente e si spostano su stati adiacenti Necessario il concetto di vicinato di uno stato Non si tiene
Kernel Methods. Corso di Intelligenza Artificiale, a.a Prof. Francesco Trovò
Kernel Methods Corso di Intelligenza Artificiale, a.a. 2017-2018 Prof. Francesco Trovò 14/05/2018 Kernel Methods Definizione di Kernel Costruzione di Kernel Support Vector Machines Problema primale e duale
Lezione introduttiva su reti neurali e SVM Veronica Piccialli. Corso di Ottimizzazione a.a (seconda parte)
Lezione introduttiva su reti neurali e SVM Veronica Piccialli Corso di Ottimizzazione a.a. 2009-10 (seconda parte) Ottimizzazione Statistica Fisica Biologia Reti Neurali Matematica Psicologia Informatica
Introduzione al Column Generation Caso di Studio: il Bin Packing Problem
Introduzione al Column Generation Caso di Studio: il Bin Packing Problem November 15, 2014 1 / 26 Introduzione Il column generation è una metodologia che può essere usata per risolvere problemi di ottimizzazione
Routing IP. IP routing
Routing IP IP routing IP routing (inoltro IP): meccanismo per la scelta del percorso in Internet attraverso il quale inviare i datagram IP routing effettuato dai router (scelgono il percorso) Routing diretto
PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA
PROGRAMMAZIONE DISCIPLINARE PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA 1. Competenze: le specifiche competenze di base disciplinari previste dalla
Ricerca Operativa. G. Liuzzi. Lunedí 20 Aprile 2015
1 Lunedí 20 Aprile 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR Rilassamento di un problema Rilassare un problema di Programmazione Matematica vuol dire trascurare alcuni (tutti i)
5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate. min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n
5.6 Metodo di penalità e metodo basato sulle funzioni lagrangiane aumentate Consideriamo il generico problema di PNL min f(x) s.v. c i (x) 0 i I c i (x) = 0 i E (1) x R n dove f e le c i sono di classe
Metodi iterativi per equazioni nonlineari.
Metodi iterativi per equazioni nonlineari. Alvise Sommariva Università degli Studi di Padova Dipartimento di Matematica 9 aprile 2016 Alvise Sommariva Introduzione 1/ 14 Introduzione Si supponga sia f
