Tecniche Di Visione Artificiale Appunti Dal Corso Studenti

download Tecniche Di Visione Artificiale Appunti Dal Corso Studenti

of 17

Transcript of Tecniche Di Visione Artificiale Appunti Dal Corso Studenti

1 Tecniche di visione artificiale Appunti dal corso studenti: Manghisi Vito Modesto. Docente: Prof. Francescomaria Marino.Politecnico di Bari 2010/2011La classificazione. Abbiamo visto che nel momento in cui si deve fare una classificazione essa viene basata su alcune features salienti. Il task della classificazione si pu scomporre in due compiti separati: 1.Individuazione o estrazione delle features salienti (preprocessing)che discriminano la presenza o nodiunaparticolaritnelloggetto.Questafaserisultaessereparimentideterminanterispettola fasediclassificazione.Lestrazioneelaindividuazionedellefeaturesinfattifondamentaleaifini della correttezza della classificazione successiva. Di fronte ad una immagine composta da una o tre matriciNxM(rilevantenumerodidati),risultapiconvenienteeffettuarelaclassificazionesulla base di un set di features che abbia una popolazione ristretta rispetto i dati completi dellimmagine. Dobbiamocapirecomeestrarrelefeaturessalienti,alfinediridurrelaridondanza(featuresche presentano caratteristiche gi presenti in altre features) ed ottenere una classificazione efficiente. 2.Classificazione (supponiamo per ora di tipo binario con un output 0-1). Ladifficoltdelprimosteprisiedenelfattocheilprimo edilsecondostepsonofortementecorrelati.Ad esempio se nel primo step estraggo i coefficienti di Fourier in una certa banda di frequenza, non detto che lasceltaeffettuataaquestolivellosiaottimaleperilclassificatorecheandradutilizzarenellafase2(il classificatore deve cio essere in grado di individuare tra le features quale descrive una tipologia A e quale una tipologia B). Ne risulta che i due task sono indipendenti ma comunque correlati. Sipupensaredirealizzareunclassificatorechefaunesameesaustivodellevariecaratteristiche applicandole a vari classificatori usando cos la forza bruta. Se sono di fronte ad una immagine posso estrarre da essa varie features, il metodo con cui si estraggono le informazioni dallimmagine corrisponde alla applicazione di una trasformazione su di essa (vedi figura 1) In questo modo da un segnale che la rappresentazione puntuale di un oggetto (coefficienti legati ai singoli pixel)otteniamolarappresentazioneinunaltrodominio,chenelcasodellatrasf.diFouriersonole componentiarmoniche(bidimensionali)delsegnale.Possoalloralavorareinmodomassivocercandodi definirequalitraquesticoefficientimegliodescrivonoilfenomenochevogliomappare,facendoneanche tuttelepossibilicombinazioni,ricercandoqualicoefficientimegliodescrivonoinunclassificatoreun fenomenoepoivalutarecosaaccadeperaltriclassificatori.Ingeneralesipupensaredidescrivereuna immaginecon quella che prendeil nomedella teroria dei residui, ovvero descriverelimmaginecon il suo valore completo, avere un set di atomi che sono ad esempio per la trasformata di fourier i valori assunti ad ognifrequenzapresentenellimmagine.Traquestiatomiindividuiamoquellochemeglioapprossima 2 limmagine che vogliamo descrivere a meno di un fattore proporzionale, cio se limmagine I i iiI c F =valuto quale dei

da solo meglio descrive limmagine di partenza, in questo modo ho una approssimazione alprimostadiochemiforniscelimmagine 0I commettendolerrore 0 oR I I = ,dove 0 0 0I a c = .Posso iterareilprocessodiapprossimazionefermandomiquandoalpassoottengounaapprossimazione inferioreadunacertatolleranza.Inquestomodohounaseriedivalorichemegliodescrivonoquesta situazione,questivalorisonodatidaicoefficienti ic egliindicicheindividuanogliatomi

.nelnostro casolatomounafunzione,nellafattispecielantitrasformateaquellafrequenza,latomoquindiuna immagine.Ilcoefficientedescrivequantodevoscalarequestaimmagine.Procedendoconlearmoniche ridurr sempre di pi lerrore fino ad ottenere un errore nullo. Quando mi fermer nel processo dovr memorizzare i vari coefficienti utilizzati e gli indici che individuano gliatomi.Inquestomodounaapprossimazionedellimmaginecomprimibileinuninsiemedicoppiedi numeri ( ,ic i ), in cui un numero un floating, e laltro numero un intero. Possoestenderequestoconcettoallutilizzodiunsecondodominiodidescrizionedelloggetto.Linsieme degli atomi che descrivono un aggetto attraverso lecoppie coefficiente indicecostituiscono un dizionario, coslinsiemedeicoefficientidellaseriediFouriercostituisceundizionariochehaunacorrispondenza biunivocaedesaustivaconlimmagine.Seoraapplicoallimmagineunaltratrasformata,neottengola rappresentazioneinunaltrodominiocaratterizzatodaaltriatomi.Possoaquestopuntoeffettuarela descrizione iterativa dellimmagine attraverso una ricerca degli atomi pi efficienti allinterno dellinsieme di tutti i dizionari, cio possibile che si individui latomo maggiormente descrittivo tra quelli appartenenti ad un dominio di trasformazione ed il successivo tra quelli appartenenti ad un altro. Alla fine del processo iterativo(quandoavrottenutolapprossimazionedesiderata)avrindividuatounaseriediatomiche potrannoappartenereapidizionari.Allafinedescriverlimmagineconuninsiemediatomi e di pesi i ia c ovverouninsiemedipesiediindicichepunterannoadundizionarioglobaleristretto rispetto lunione dei dizionari. (N.B.:in uno step successivo non potr mai ritrovarmi lo stesso atomo come descrittore, poich esso ortogonale al residuo). Possiamo fare un esempio pensando allalgebra vettoriale, e supponiamo di avere unimmagine di tre pixel caratterizzata da tre valori che sono un punto nello spazio tridimensionale, sia il punto P(5,2,5), una base di quastospaziovettorialelaterna{(1,0,0);(0,1,0);(0,0,1)},seoradevoscegliereunatomochemeglio descrive limmagine, esso il primo che con un peso pari a 5 mi da come descrizione (5,0,0), ottengo allora come descrizione i=1 e ci=5. 3 Ottengo il residuo che il minore di tutti gli altri che avrei dagli altri atomi. Sicomme ho un certo errore che maggiore di , itero il processo ricercando un altro atomo che in questo caso il terzo (i=3) con peso 3. In questo modo ho ridotto lerrore. Questo dizionario , fatto dai tre atomi consistente, poich da solo riesce adescriverequestarealt,perpossibileutilizzareunaltrodizionario,(unaltrabasedellospazio)ad esempio la terna {(0,2,3); (0,1,0); (1,0,0)}. Ora supponiamo di averea disposizionei duedizionari, sedevo fare la descrizione dellimmagine ho come dizionario globale quello in figura. Con un solo dizionario dopo il secondostephounresiduodatodalladifferenza(5.0.3)e(5.2.3),orainvecedopoilprimostepvadoa scegliere il 4 con coefficiente 1 commettendo errore nullo. Inpraticasipupensaredidescriverenelmodopicompattopossibilelafenomenologiadatrattareper poipassareallaclassificazione.laclassificazionesipufareconunaserieditecnichetralequalilereti neurali. Le reti neurali Una rete neurale un sistema che dato un certo inputnediscrimina lappartenenza o meno ad una certa classe, linput alla rete sar linsieme di dati che descrivono il fenomeno da classificare (banalmente i pixel dellimmagine,madatochelacomplessitdellareteneuraledipendedalnumerodidatiiningresso dobbiamo cercare di ridurre il numero delle features salienti in ingresso). La dimensione del primo stadio altri non che il numero di input in ingresso, questi input sono dei numeri. Lareteneuraleassociaunaseriediinputadunaseriediuscitedesiderate.Abbiamoche KX linsieme delle features che descrivono un oggetto, mentre dKY la classe a cui quelloggetto appartiene. La rete opera in due fasi distinte: -Addestramento(fa parte della fase di creazione del classificatore, nella quale fase, oltre definirne latopologia,ciodefinireadesempioquantineuroniposizionareinognistadioequantistadi utilizzare,sivannoadinserireallinternodeineuroniivalorideipesiconcuoivengonopesatele 4 informazioni che arrivano ad i singoli neuroni. Allinterno di questa prima fase possibile, ma non sempre,cheladdestramentosubiscaunaevoluzioneduranteilfunzionamentostessodellarete. Nellafasediaddestramentolaretevieneaffiancata(vedifigura)daunaintelligenzachevalutail comportamento della rete stessa. Se la rete fosse gi addestrata su un data train, essa con ingresso il data train fornirebbe in uscita le rispostecorrette dKY desiderate,conunratingdierrorepariaquellosceltoinfasedi addestramento. Durante la fase di addestramento, invece,lintelligenza esterna alla rete valuta se c corrispondenza tra luscita fornita dalla rete KYper un ingresso KXe quella desiderata dKY . Se la rete ha operato correttamente lintelligenza superiore non interviene, se invece viene rilevato unerrorelintelligenzaintervieneandandoavariareipesidellareteneurale,andandoad introdurreuncertowchefunzionedelluscitadellareteaprodottoediquellacheavrebbe dovuto produrre. -Fase di evoluzione. Struttura rete neurale Una rete neurale risulta composta da un insieme di neuroni o perceptroni che possono essere collegati con opportunetopologie.Ineuronisonotuttiuguali,essihannoilcomportamentocomunediaccumulare attraverso uno stadio di somma gli ingressi al neurone stesso. Tutti i neuroni a monte del neurone in esame hannodelleuscitechevannoiningressoalneuroneavalle,taliingressivengonomodulatidaipesie 5 sommatinelprimostadiodelneurone.Ilrisultatodiquestostadiovieneopportunamentesogliato,per dare luscita del neurone. Se la somma pesata superiore ad un certo teta, diremo che il neurone produce una segnale di attivazione, altrimenti diremo che produce un segnale di inibizione. NB: per ogni neurone i pesi in ingresso possono essere differenti. Luscita del sommatore ji iinet wx = Mentre luscita dal neurone ( ) y HS net u = E possibile effettuare una semplificazione dello schema rendendo loperatore di soglia indipendente dau , lo facciamo introducendo un ulteriore ingresso con valore costante pari a -1 e pesato con un peso pari au , ottenendo la schematizzazione in figura Ne otteniamo ji iinet w x u = , in questo modo la sogliatura viene fatta su net>0 e non pi su net-u >0, ilrisultatorimanelostesso,masvincolaloperazionedisogliaturadau .Inquestomodotuttiineuroni sono uguali e tutti i loro parametri particolari sono esternati nei pesi (uincluso). Ora devo solo valutare i pesi per i neuroni e non i pesi e la soglia. Dobbiamo quindi trovare lalgoritmo per configurare i pesi. Vediamo due esempi di classificazione: Nelsecondoesempiohobisognodifareunaclassificazionetrapiclassi(3),inquestocasoununico neurone non pu classificare tra pi di due classi (una di appartenenza ed una di non appartenenza), quindi 6 hobisognonellesempioditreneuroniinuscita,ognunodeiqualiclassifichilappartenenzaonoaduna delle tre classi. (Nellesempio A, B, C sono tre classificatori diversi !). Addestramento del neurone Pensiamo al momento al singolo neurone(il discorso per legato a tuttala rete). Il neurone effettua un accumulo pesato ed una operazione di soglia. Lo scopo dellafase di adattamento consiste nella eventuale correzione dei pesi in ingresso attraverso lintroduzione di un opportuno w. Il wi che va introdotto la quantit

dove il oeffiiente di pprendimento (lo pprofondiremo dopo) e =(yd-y) lerrore ommesso, quindi l orrezione sui pesi ostituit on un unio fttore di proporzionlit{suireltiviingressi.Vedimoqulisonolefsidelllgoritmodiddestramento. Possiamo osservare come compiuta questa modifica il neurone si comporti in modo corretto. Per prima cosa si deve creare un training set, cio un insieme di dati che serve alladdestramento della rete. Linsiemedevecontenereuncertonumerodicampionichelaretedeveclassificare(caratterizzati attraversoilorofeaturesvectors)associatiadelleetichettechedianolacorrettaclassificazionedei campioni (classificazione binaria). -Al primo passo si inizializzanoi vari wi con valori casuali, dopo di che si inserisce nella rete una delle Kcoppie,inbaseallaXkiningressolareteprodurrunauscitaYk,siconfrontaYkconYdk(nota dalletichettadiXk)esesonougualipassoalprossimoelemento,altrimentidevoprovvederea 7 correggereipesi.Lacorrezioneavvienesulsingolopesosommandoadessolerrorecompiuto moltiplicato per lingresso xi al singolo peso e per il coefficiente di apprendimento .-Unavoltaeffettuatalacorrezionesuipesisiprocedenellostessomodopertuttiivaloridel training set, ovvero si iterano i passi dal 3 al 5 per tutte le coppie del training set. Completato lddestrmento sul trining set si die he si omplett unepoca. -A questo punto si ripete la classificazione sul training set procedendo nello stesso modo con la realizzazione di epoche successive, ognuna che porta a certe correzioni sui pesi -Mnmnohesiproedeonleepohesihunprogressivriduzionedellerrorrtedell rete (in realt potrebbe anche oscillare, ma con un range di oscillazione che tende a diminuire), he ndr{ d ssestrsi su un pit{ fisiologi dell rete stess. Ci fermeremo nelliterre le epoche quando avremo raggiunto un error rate desiderato (in questo caso nel ciclo for di ogni epocavainseritouncontatorechesiincrementaincasodierrorediclassificazioneche onsentellfinediogniepodivereunvlutzionedellerrorrteottenutollepo preedente, il onttore si dovr{ poi zzerre llinizio di ogni nuov epo) o qundo avremo nnullto lerrore. Questo non significa che la rete abbia imparato a classificare, vediamo un esempio in cui al neurone sono associati solo dueingressi. Il neuronenellesempio fa la classificazionedi un oggetto chedescritto in un features space in 2, per cui loggetto viene descritto da due valori (un punto nel piano). La classificazione effettuatadunqueportaallasuddivisionedelpianoinduesemipiani.Insostanzailvalorediysar0o1 quando 11 1 2 2 2 12 210 ovvero0;i iiww x w x w x x xw wu u u > + > > +abbiamoquindidescritto la disequazione associata ad una retta nel piano. Questocifornisceuninformazionesuqualeilgradodicomplessitdiunclassificatorefinalizzatoa classificareuncertoobiettivoinfunzionedicomela classechesivuoleclassificarepuesseremappata nellospaziodeiparametrichedescrivonola classificazione.Inunospazioadueparametriposso pensarediaveredueclassiditipobinario,possiamo supporre di avereuna classificazioneche porti ad un valoredi1seentrambelecaratteristichesono verificate,questoequivaleallaimplementazionedi unaportaANDconlasuddivisionedelpianoindue semipianisuddivisidaunarettachedelimitaledue 8 aree, una prima in cui entrambe le condizioni verificate ed una seconda dove ci non accade. Con i pesi in figura ho2 10.5 1. x x > + (Pesi finali). (Iniziali w1=0, w2=2). Questocidicecheunsingoloneuronecondueingressiingradodi effettuarelasuddivisinediunpiano delle features in due semipiani separati da una retta. Vedremo degli esempi in cui non sufficiente una sola retta ed il classificatore dovr essere necessariamente pi complicato.Limiti del perceptron Laschemaappenavistofunzioneseilproblemalinearmenteseparabile,ovveroseipatternche identificanolappartenenzaadunaclassesono contenutiinunsemipianodellospaziodiingresso. Nelcasoincuihoingressin_dimensionali,ipattern devono essere separabili con un iperpiano. Se ho un ingressotridimensionalelaseparazioneavviene attraversounpiano.Ribadiamocheloschema funziona con un singolo neurone solo fino a quando leclassisonoseparabililinearmenteciodaun piano o un iperpiano. SicomprendeilsignificatodiquestaaffermazionesealpostodiimplementareunaANDsivuole implementare una XOR. In questo caso la rete neurale non sar implementabile con un singolo neurone, lo possiamoosservaregraficamentenotandochela classe da individuare non individuata da una singola retta.Dovrusarepineuroniinqualchemodo strutturatiperottenerequellechesonoletopologie multistrato.Avendounaideadiquellachesarla rappresentazionedellaclassenellospaziodelle features,decideremoquantisonoiparametri significativiiningresso(numerodiingressial neurone), noto invece come circoscrivere la classe (ad esempioconunpoligono)definiremoilnumerodi neuroni necessari e la loro organizzazione topologica. Inquestocasosarsufficientepensareadunaorganizzazioneditipo multistratoconopportunefunzionidiuscita,nellimmagineseguente vediamo alcune possibili funzioni di uscita, altre quella di HeavySide vista prima.Quandoandremoavederecomelalgoritmodiricalcolodeipesi opera,ciaccorgeremocheunvincolochenecessariamentequeste funzionidovrannorispettaresarlacontinuitdelladerivataedella funzione stessa. Questo vincolo dovr essere rispettato nella scelta della funzionediuscitacheciporteraselezionareunasigmoideaquesto scopo. Vediamo allora il modo di connettere i neuroni. 9 Reti multistrato Epossibileconnettereineuronianostropiacimento,masi osservacheunatopologiadiconnessione,cheintroducedelle semplificazioni nellalgoritmo di aggiornamento dei pesi e che non toglie genericit alla capacit della rete di descrivere un evento, quellacheprendeilnomedischemamultistrato.Inunoschema multilayerineuronisonoraggruppatiinpistratieineuronidi ognistratohannolacaratteristicadiriceveregliingressi provenientisolodaineuronidellostratoprecedente,edifornire le loro uscitesolo in ingresso allo strato successivo. Non quindi possibile un collegamento diretto tra due neuroni che siano in due strati non adiacenti, questa per non unalimitazionetopologica,poichovesiavesselanecessitdirealizzareuntrasferimentodelgenere sarebbesufficienteinserireunneuroneaddizionalenellostratointermedio(inrossoinfigura)conpeso unitario sulluscita (in ingresso al neurone intermedio) da trasferire allo stato successivo.Vediamo un esempio di rete a tre strati (in realt qui lo strato di input non rappresentato da neuroni, ma dai semplici oggetti in ingresso.Nelnostroesempiovogliamoimplementareuna classificazione di tipo XORin cui come gi detto il problema non linearmenteseparabile.Leretiatrestratisonoingradodi separare regioni convesse con numero di lati minore o uguale al numero di neuroni nello strato nascosto. Questastrutturaconsentediisolare zoneindividuatedaduerette.Selarete realizzataconunsoloneuronepossofare unaseparazionedeltiponellafigura(a) seguente, effettuando una separazione del pianoinduesemipiani,uno corrispondenteallaclasseAedunoalla classenonA.conunaltrarete analogapossofareunaclassificazionedeltipoinfigura(b).seorainvio leuscitediquestedueretiasingoloneuroneiningressoadunaltro neurone strutturato come la AND dellesempio precedente otterr come risultato limplementazione della XOR visualizzabile in figura(c). Epossibile,aumentandoil numerodineuroninello stratointermedio,aumen-tareilnumerodiretteo semiretteosegmentiche delimitanounaclassenellospaziodellefeatures,possibile visualizzareunesempionellafiguraseguente,incuiviene delimitata da tre segmenti una regione convessa con uno strato intermedio composto da tre neuroni. 10 Ingeneraleconunaarchitetturaa3straticonMneuroninello stratohiddenpossiamoindividuareleclassiinunospaziodelle featuresn_dimensionaledelimitandounaregioneconvessa racchiusaalpidaMsegmenti.Perindividuarelatopologiadi unareteneuralediquestotipopossocircoscriverenelpiano dellefeaturesunaregioneconvessadelimitatadaunpoligono convesso ed associarealla retta passante per ognuno dei lati un neuronecheseparerilpianoindue.Iproblemisorgonosele regionidadelimitarenonsonoconvesse.Supponiamoper comodit di trovarci ancora in uno spazio a due parametri. Seholasituazionenellafiguraaffianco,senonavessiglielementi inrossopotreisupporredidelimitarelareacon4segmenti (poligono verde) ad ognuno dei quali associato un neuronenello stratointermedio da mettere poi in AND nello strato finale. Questo tipo di classificazione conterrebbe allinterno anche gli oggetti rossi cheinvecenonappartengonoallaclassedeirettangolineri.Larea dadelimitareinrealtunpoligonoconcavoenonpossibile quindi effettuare la classificazione con una topologia a tre strati. Pereffettuareunaclassificazionecorrettadevodescrivereil poligono che circoscrive la classe con i tratti in azzurro, non quindipossibileracchiuderelaclasseinununicopoligono convesso, e la non convessit ci porterebbe con una rete a tre layer o ad includere oggetti estranei alla classe o ad escludere oggettiappartenentiallaclasse.Perprocederedovremo considerarelaclassecomeracchiusanellospaziodelle featuresdapisottoregioniconvesse,implementeremo quindiunapartedellareteneuraleperdelimitarelaclasse dellasottoregioneadestra(equindi4neuroninellostrato intermediocheconvergonoinunneuroneinunostratosuccessivoperdelimitarelaprimasottoregione convessa),edunasecondaparte(ancoradi4neuroninello strato nascosto convergenti in uno che implementa lAND) per delimitarelasecondasottoregioneconvessa.Sarpoi necessarioconsiderarelinsiemedelleduesottoregioniche sarottenutofacendoconvergereledueuscitedellultimo stratoinunneuroneaggiuntivopresenteinunquartostrato chefornirinuscitalORdelleduearee(lOrsar implementatoinmodosimileallANDsolocheoradobbiamo considerareilsemipianochedelimitatuttelecoppie(x,1)e (1,x)).Inquestomodosiamopassatiadunaarchitetturaa4 strati che sono in grado di separare regioni qualsiasi. Quindi al terzo strato avr tanti neuroni quanti sono i sottopoligoni convessi da considerare. Laggiunta di altri strati non migliora la capacit di classificazione.

11 Importanza della non linearit Lefunzionidiuscitasonoquellefunzionicheinpraticavannoamodularelasommatoriadegliingressi pesati prima che questa vada in uscita dal neurone. Queste funzioni introducono una non linearit, il fatto che la funzione sia non lineare ha una utilit fondamentale. Se la funzione fosse lineare e quindi introducesse una semplicerimodulazionelinearedellasommatoria, tuttoquellofinquivistosullutilitdiaggiungereuno stratoallareterisulterebbeinutile.Secifosseuna linearitsipotrebbepensarechelostratodiingresso inserisceuncertonumerodicampionidescrivibile comeun vettoreX,il vettore X(1xN) nel primo strato viene moltiplicato per una matrice W21 (NxM) dove M ilnumerodineuroninellostrato.Nella moltiplicazionematricepervettore(ottengoun vettore1xM)contantecomponentiquantisonogli ingressiaineuronidellostratosuccessivochesar caratterizzatodaunamatriceW32didimensioneMxLdovelilnumerodineuronidellostrato.Sela funzione di uscita non introduce discontinuit la trasformazione subita dai vettori in ingresso alla rete pu essere espressa con una unica trasformazione lineare data da ununica matrice Weq=W21W32(a meno di un eventualecoefficientediproporzionalitintrodottodallefunzionidiuscita)didimensioniNxL corrispondenteadununicolivellocompostodaLneuronisecondolatrasformazioneZ=WeqXelarete sarebbe sempre riconducibile ad una rete a due strati. E dunque lintroduzione di una non linearit che da valenza allorganizzazione multistrato e che consente di descrivere regioni non convesse. Addestramento della rete neurale Laddestramentopuessereeseguitocondiversemetodiche, lalgoritmochehapresopipiedeperladdestramentodireti multistratoquellodibackpropagation.Lalgoritmo applicabile su reti multistrato. Lingresso a questi neuroni deve avere un valore reale compreso tra 0 e 1 e la funzione di uscita deve esserenon linearee nella fattispecieha un andamento a sigmoide.Siprendelasigmoidepoichserviraverela continuitnelladerivataprima.Quandooperiamosulsingolo oggettodeltrainingXk,contantecomponentiquantisonogli elementi in ingresso alla rete (negli esempi che abbiamo fatto abbiamo visto essere 2, ovvero x1 e x2), adessoassociataluscitadesiderataYdK,eluscita ottenutadallareteYk,iltrainingsetdeveessere composto da oggetti con associata una YdK di entrambe le classi,altrimentilaretenonapprenderebbenulla.Nella figurahoqneuroninellostratodiingresso,pneuroni nellostratointermedioenneuroninellostratofinale. Quandolaretehapididuestratinoisiamoa conoscenzadelvalorecorrettoYdKinuscitafinale,se andiamoaconfrontarloconilvaloreinuscitaYk 12 possiamo capire se la classificazione corretta o se si deve applicare una correzione ai pesi, non siamo per ingradodicomprendereselerrorediclassificazionelegatoadunascorrettezzaneipesiiningressoal livello intermedio o allultimo livello. Se allora vado a correggere i pesi tra i primi due livelli e lerrore viene generato al livello successivo non riesco ad addestrare la rete (inoltre non sono in grado di valutare lerrore, equindilacorrezionedaapportareaipesi,allivellointermedio).Nonabbiamoinfattipossibilitdi verificarelacorrettezzadelleusciteailivelliintermedi.Lideaallabasedellabackpropagationquelladi andare a fare il tuning dei pesi procedendo dagli ultimi strati della rete verso quelli superiori.Vediamo comesi procede.Sul generico oggetto Xk da classificare lerrore nellultimo strato sar calcolato comelerrorequadraticoesarcalcolatocomelasommadeglierroricommessidatuttiglinneuronidi quellostrato 21( )nk kj kjjE t y== .Lerroreglobale(valutabileallafinediunepoca)sarinvecelasomma degli errori commessi su tutti gli oggetti del training_set sempre valutati sullultimo stadio 1MkiE E==. Suquestivaloriimposteremolacorrezionedeipesicercandodiazzerarequantipierroripossibili, lalgoritmo converger nel momento in cui lerrore globale sar minore di un certo fissato. Obiettivi della Back Propagation Lobiettivochesiprefiggeunareteneuralenon evidentemente la mera corretta classificazione del training set(neglieffettiiltrainingsetgiclassificato),ma raggiungereperlaretelacapacitdiclassificare correttamenteoggettidicuinonconoscelaclassedi appartenenza e che non ha gi avuto la possibilit di avere iningressonellafaseditraining.Ilprimoobiettivoperla retedunquelapprendimento.Perquestomotivo importanteinserireneltrainingsetdeglioggettichesiano efficacinellesemplificaretuttilepossibilitipologiedegli oggettidaclassificare.Seadesempiosiamodifrontead unaretefinalizzataadunaclassificazionedicaratteridiscrittura(OCR),seinfasediaddestramento inseriscocomeoggettilabelledsoloalcuneevenienzedellaa,infasedisuccessivaclassificazionedi fronteaduncarattereadifferentedalleevenienzepresentineltrainingsetprobabilechelarete fornisca una classificazione errata non riconoscendo in modo corretto il carattere; analogo discorso si pu faresuimmaginiripresedurantele24oredellagiornata,seinseriamoneltrainingsetsoloimmagini relative alle ore pi luminose probabile che di fronte ad immagini per le ore meno illuminate (ad esempio ilcrepuscolo)avrunaclassificazioneinconsistente.Perverificareseunareteaddestrataraggiungeun livellodiclassificazioneadeguatosuesempimaianalizzati,dinormavienecreatooltreiltrainingsetun insiemedi oggetti detto validation set contenentedei campioni che non sono inclusi nel training set. Tale validation set sar anchesso etichettato in base alla classe di appartenenza degli oggetti, e sar mandato in ingressoallareteneuraleinunafasesuccessivaaquelladiaddestramento.Questociconsentirdi verificareselareteingradodieffettuareunaclassificazioneconsistente,andandoavalutarelerrore globalesulsetdivalidazioneeverificando seanche esso inferioreallasogliacheabbiamoindividuato comevaloreperarrestarelafasediaddestramento,ovverocomeobiettivodiconvergenza.Eanche possibile, al termine di questa fase di validazione, prendere gli oggetti del set di validazione, su cui stato 13 commesso un errore di classificazionenella fase di validazione,ed inglobarli inun set di training allargato che viene utilizzato per una nuova fase di addestramento che dovrebbe condurre ad una rete pi efficiente. Perquellocheconcernelobiettivodiconvergenza,si deveottenerelaminimizzazionedellerroreglobali.Se supponiamochelerroreglobalesiaesprimibilein funzione della matrice dei pesi del livello in esame, e che siapossibileavereungraficochedescrivalavariazione dellerrorealvariaredeipesicomenellafiguraaffianco (evidentementenonpossibileunarappresentazione comequelladellafigurapoichlospaziodeipesi multidimensionale),alloraanalizzandoilgrafico osserviamochevisonoduepossibiliandamenti:ola variazione dellerrore positiva al crescere del peso, o la variazione dellerrore negativa al crescere del peso.Questaosservazioneciconsentediricavareunaregola per laggiornamento dei pesi: -nelprimocasose0jiEwc>cperottenereuna riduzionedellerrorenellafaseditraining dovremo impostare un w0.Ingeneralesar jijiEwwncA = c(regoladelgradiente), dove il coefficientedi apprendimento (learning rate). Ilcoefficientediapprendimentoesprimerinqualche modolavelocitconcuicisiapprossimaalminimo dellerrore,convalori elevatidisihaunospostamento maggioreversoilminimorispettoadunpiccolo. Lutilizzo di un elevato non per sinonimo di un avvicinamentoottimalealminimocomenonlo un valore basso.Nel primo caso infatti possibile che si vada oltre il minimo,passandoalpassosuccessivoinuna condizioneincuilacorrezionesuipesidisegno oppostoentrando in una condizione di oscillazione intornoalminimo.Inquestocasounapossibile soluzioneconsistenelvariareinfunzione 14 dellerrore,inmododaaccelerarelaconvergenzaallinizioeridurrele oscillazioniallafine,oppuresipu pensaredismorzareleoscillazioniconunfiltropassabassosuipesiconunacorrezionenellaforma: ( ) ( 1),ji j i jiw t x w t no o A = + A dove detto momentum.Nelsecondocasosihannoduecontroindicazioni,la primachelavelocitdiapprendimentominore,la secondache,datochelaformaquadraticache esprimelerrorerisultadistortadallafunzionediuscita, essa pu non presentare un profilo monotono e si corre ilrischiodifermarsiinunminimolocaleprimadi incontrareilminimoglobale,inquestocasooccorre ricominciaredacapoconnuovipesi.Nonesisteuna metodicapredeterminataperunasceltaottimalea prioridelfattorediapprendimento,sicompieuna scelta,sieffettualaddestramentodellareteesivaluta lerrorrateraggiunto.Sequestovaloreaccettabilesieffettualavalidazionevalutandolerrorratesul validationset,einbaseairisultatiottenutisidecideserieffettuareladdestramentosuuntrainingset allargato, oppure se lerror rate sul training set non accettabile vuol dire che si rimasti intrappolati in un minimolocaleequindiilvaloredelfattorediapprendimentovaaccresciuto.Ciaccorgiamoinvececheil valoreditalecoefficientetroppoaltoseosserviamounaoscillazionenellerrorrateiniterazioni successive del training. Vediamo allora come si procede nella correzione dei pesi dal punto di vista analitico.Abbiamo detto che la variazione da dare al singolo peso datadallavariazionedellerrorerispettoalsingolo pesomoltiplicataperilfattorediapprendimento cambiata di segno kjijiEwwn cA = c, sviluppando la derivata di funzioni composte abbiamo jkjij jinetEwnet wnccA = c c, essendo1pj ji iinet w x==, si ha jijinetxwc=c e quindi posto kjjEnetoc= c, otteniamo ji j iw x no A = . Restaaquestopuntodacalcolareilvaloredei jo . Osservandolespressionedi jo sivedeche ;jk kjj j jyE Enet y netocc c= = c c c ma 21( )nk kj kjjE t y== quindi 21( )2( );nkj kjjkkj kjj jt yEt yy y=c c= = c c 15 inseriremo il fattore -2 in ,epoich (1 ^ ) ( )'( ) ;j j jjj j jf e net y f netf netnet net netc c c= = = =c c c

otteniamo ( ) '( ).j kj j jt y f net o = Da questultima espressionesi evidenzia la necessit che la funzione di attivazionesia derivabile, ed per questo che in genere si sceglie la sigmoide come funzione di attivazione, poich essa ha la caratteristica di esserenonlineare(ricordiamolanecessitchelafunzioneintroducaunadiscontinuitalfinedi implementareunaretemultilayer)ediavereandamentocontinuoconladerivataprima.Possiamoin questo modo effettuare gli aggiornamenti dei pesi allultimo strato. Perprocederealcalcolodei jo neineuroniintermedi propaghiamolerroreallindietro.Seutilizzassimoil calcolofinquivistoavremmo( ) '( )i di i ix x f net o = dovenelcalcolodellaquantit( )kj jt y abbiamo sostituitoalluscitadesiderata kjt ilvalorediuscita intermedia desiderata dixe alluscita ottenuta il valore di quellochesarlingressoallostratosuccessivo ix .Qui pernonabbiamoadisposizioneivaloridesiderati intermedi e quindi procediamo andando ad approssimare lerrore compiuto a questo livello con la sommatoria delle correzioni j jiw o dellivellosuccessivo.Possiamo osservare che, quando si ha una classificazione corretta in uscita allultimo strato, il coefficiente jo calcolato nullo, equestofasichesianonullesialecorrezionideipesi sullultimo livello, sia quelle sui livelli precedenti dove il io sempre combinazione lineare dei jo . Possiamoricapitolarelalgoritmoperladdestramento della rete: Perquellocheriguardailprocessodi apprendimentopossiamofarealcune osservazionisuivaloridiinizializzazionedei pesi.16 Partendocondeivaloriinizialipiccolideipesi,essendolafunzionediattivazioneasigmoide,siosserva comeadeipiccolivalorideipesicorrispondaunvaloredellargomentodellafunzionediattivazione prossimoallozero.Perquestivaloridellargomentolafunzionediattivazionepresentaivaloripielevati della derivata prima e dunque questo porta ad una correzione maggiore sui pesi essendo w f(net). Generalizzazione Elacapacitdellaretediriconoscerestimoli leggermente diversi da quelli con cui stata addestrata. Pervalutarelacapacitdellaretedigeneralizzaregli esempidelTS,sidefinisceunaltroinsiemediesempi, detto Validation Set (VS). Terminato lapprendimento sul TS (ETS < ), si valuta lerrore sul VS (EVS). Supponiamodiavereglioggettiinfiguraecheessi debbano essere classificati rispetto ad una certa retta, se abbiamopochineuroninascosti,neldescriverela poligonalechetracciailconfinetraledueclassihoun numero ridotto di possibili spezzature della curva.Aumentandoilnumerodeineuroninascostiposso descriverelaclasseinmodopidettagliato,persegli elementideltrainingsetsonoquellirossiinfigura,ela descrizione troppo dettagliata, si corre il rischio di fare con troppi neuroni nascosti un fitting degli oggetti che li comprenda con precisione, e che non lasci quindi spazio allesottoclassiindividuatepercontenereelementi differentidaquellideltrainingset(avremmocioun erroreelevatosuglioggettialdifuorideltrainingseta seguito di un processo di overtraining) . Consideriamolafiguraadestraesupponiamodifare unaddestramentoconuncertonumerodiiterazioni. Supponiamoanchecheconilnostrotrainingsetal cresceredelnumerodiiterazionisiarriviadun comportamentoconerroresultrainingsetETS