Rete neurale artificiale: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Annullata la modifica 117867370 di 5.11.98.142 (discussione) rb
Etichetta: Annulla
Aggiunti link, correzioni minori ed info con citazioni e fonti.
Riga 9:
 
== Storia ==
L'ampia varietà di modelli non può prescindere dal costituente di base, il neurone artificiale proposto da [[Warren McCulloch|W.S. McCulloch]] e [[Walter Pitts]] in un famoso lavoro del [[1943]]: "''A logicalLogical calculusCalculus of the ideasIdeas immanentImmanent in nervousNervous activityActivity'' (Un calcolo logico delle idee immanenti ad un'attività nervosa),<ref>{{cita libro|autore=W. McCulloch, W. Pitts|titolo=A Logical Calculus of Ideas Immanent in Nervous Activity|ann=1943|editore=Bulletin of Mathematical Biophysics|pagine=5:115–133}}.Ripubblicato in: [https://www.cs.cmu.edu/~./epxing/Class/10715/reading/McCulloch.and.Pitts.pdf "A Logical Calculus of the Ideas Immanent in Nervous Activity"]. With [[Walter Pitts]]. In: ''Bulletin of Mathematical Biophysics'' Vol 5, pp 115–133. </ref> il quale schematizza un combinatore lineare a soglia, con dati binari multipli in entrata e un singolo dato binario in uscita: un numero opportuno di tali elementi, connessi in modo da formare una rete, è in grado di calcolare semplici [[Funzione booleana|funzioni booleane]].
 
Le prime ipotesi di apprendimento furono introdotte da [[Donald Olding Hebb|D. O. Hebb]] nel libro del [[1949]]: "''The organizationOrganization of behaviorBehaviour''" (L'organizzazione del comportamento),<ref>{{cita libro|titolo=The Organization of Behaviour|anno=1949|autore=D. O. Hebb|editore=John Wiley & Sons|isbn=978-0-471-36727-7}}</ref> nel quale vengono proposti collegamenti con i modelli complessi del cervello.
 
Nel [[1958]], [[János Neumann|J. Von Neumann]] nella sua opera "''The computerComputer and the brainBrain''",<ref>{{cita libro|titolo=Il computer e il cervello|autore=John Von Neumann|editore=Bompiani|anno=1999}}</ref> esamina le soluzioni proposte dai precedenti autori sottolineando la scarsa precisione che queste strutture possedevano per potere svolgere operazioni complesse.
 
Nello stesso anno, [[Frank Rosenblatt]] nelnella librorivista ''Psychological review'',<ref>{{cita pubblicazione|autore=Frank Rosenblatt|titolo=The Perceptron: A Probabilistic Model for Information Storage and Organization in the Brain|editore=Cornell Aeronautical Laboratory|rivista=Psychological Review, v65, No. 6|anno=1958|pagine=386–408}}</ref> introduce il primo schema di rete neurale, detto ''Perceptron'' ([[percettrone]]), antesignano delle attuali reti neurali, per il riconoscimento e la classificazione di forme, allo scopo di fornire un'interpretazione dell'organizzazione generale dei sistemi biologici. Il modello probabilistico di Rosenblatt è quindi mirato all'analisi, in forma matematica, di funzioni quali l'immagazzinamento delle informazioni, e della loro influenza sul riconoscimento dei pattern; esso costituisce un progresso decisivo rispetto al modello binario di McCulloch e Pitts, perché i suoi [[Sinapsi|pesi sinaptici]] sono variabili e quindi il percettrone è in grado di apprendere.
 
L'opera di Rosenblatt stimola una quantità di studi e ricerche che dura per un decennio, e suscita un vivo interesse e notevoli aspettative nella comunità scientifica, destinate tuttavia ad essere notevolmente ridimensionate allorché nel [[1969]] [[Marvin Minsky]] e [[Seymour Papert|Seymour A. Papert]], nell'opera "''Perceptrons. An introductionIntroduction to computationalComputational geometryGeometry''",<ref>{{cita libro|autore1=Marvin Minsky|autore2=Seymour Papert|titolo=Perceptrons. An Introduction to Computational Geometry|url=https://archive.org/details/perceptronsintro00mins|annooriginale=1987|editore=MIT Press|isbn=978-0-262-63111-2}}</ref> mostrano i limiti operativi delle semplici reti a due strati basate sul [[percettrone]], e dimostrano l'impossibilità di risolvere per questa via molte classi di problemi, ossia tutti quelli non caratterizzati da separabilità lineare delle soluzioni: questo tipo di rete neurale non è abbastanza potente:; non è infatti neanche in grado di calcolare la funzione ''or esclusivo'' ([[Disgiunzione esclusiva|XOR]]). A causa di queste limitazioni, al periodo di euforia dovuto ai primi risultati della [[cibernetica]] (come veniva chiamata negli [[Anni 1960|anni sessanta]]) segue un periodo di diffidenza durante il quale tutte le ricerche in questo campo non ricevono più alcun finanziamento dal governo degli [[Stati Uniti d'America]]; le ricerche sulle reti tendono, di fatto, a ristagnare per oltre un decennio, e l'entusiasmo iniziale risulta fortemente ridimensionato.
 
Il contesto matematico per addestrare le reti MLP (''Multi-Layers Perceptron'', ossia percettrone multistrato) fu stabilito dal matematico americano [[Paul Werbos]] nella sua tesi di dottorato ([[Ph.D.]]) del [[1974]]. Non fu dato molto peso al suo lavoro, tanto fu forte la confutazione dimostrata da Minsky e Papert anni prima, e solo l'intervento di [[J. J. Hopfield]], nel [[1982]], che in un suo lavoro studia dei modelli di riconoscimento di pattern molto generali, si oppose in modo diretto alla confutazione di Minsky riaprendo così degli spiragli per la ricerca in questo campo.
 
Uno dei metodi più noti ed efficaci per l'addestramento di tale classe di reti neurali è il cosiddetto algoritmo di [[retropropagazione dell'errore]] ("error backpropagation"), proposto nel [[1986]] da [[David Rumelhart|David E. Rumelhart]], G. Hinton e R. J. Williams, il quale modifica sistematicamente i pesi delle connessioni tra i nodi, così che la risposta della rete si avvicini sempre di più a quella desiderata. Tale lavoro fu prodotto riprendendo il modello creato da Werbos. L'algoritmo di retropropagazione (''backpropagation'' o BP) è una tecnica d'apprendimento tramite esempi, costituente una generalizzazione dell'algoritmo d'apprendimento per il percettrone sviluppato da Rosenblatt nei primi anni '60. Mediante questa tecnica era possibile, come detto, trattare unicamente applicazioni caratterizzabili come funzioni booleane linearmente separabili.
 
L'algoritmo di apprendimento si basa sul metodo della [[discesa del gradiente]] che permette di trovare un minimo locale di una funzione in uno [[Spazio (matematica)|spazio]] a N [[dimensione|dimensioni]]. I pesi associati ai collegamenti tra gli strati di neuroni si inizializzano a valori piccoli (ovvero molto inferiori ai valori reali che poi assumeranno) e casuali, e poi si applica la regola di apprendimento presentando alla rete dei pattern di esempio. Queste reti neurali sono poi capaci di generalizzare in modo appropriato, cioè di dare risposte plausibili per input che non hanno mai visto.
 
L'addestramento di uneuna rete neurale di tipo BP avviene in due diversi stadi: ''forward-pass'' e ''backward-pass''. Nella prima fase i vettori in input sono applicati ai nodi in ingresso con una propagazione in avanti dei segnali attraverso ciascun livello della rete (''forward-pass''). Durante questa fase i valori dei pesi sinaptici sono tutti fissati. Nella seconda fase la risposta della rete viene confrontata con l'uscita desiderata ottenendo il segnale d'errore. L'errore calcolato è propagato nella direzione inversa rispetto a quella delle connessioni sinaptiche. I pesi sinaptici infine sono modificati in modo da minimizzare la differenza tra l'uscita attuale e l'uscita desiderata (''backward-pass'').
 
Tale algoritmo consente di superare le limitazioni del percettrone e di risolvere il problema della separabilità non lineare (e quindi di calcolare la funzione XOR), segnando il definitivo rilancio delle reti neurali, come testimoniato anche dall'ampia varietà d'applicazioni commerciali: attualmente la BP rappresenta un algoritmo di largo uso in molti campi applicativi.