Università di Foggia
Dipartimento di Scienze Biomediche
Prof. Crescenzio Gallo
c.gallo@unifg.it
Reti neurali artificiali con Mathematica
Ulteriori pensieri (artificiali?)
Lezione 10
Introduzione
Come già discusso nella lezione 1, questo corso non poteva sperare di coprire ogni aspetto delle reti neurali artificiali. La categoria sempre più ampia della neuroscienza computazionale ha ancor più contributi da offrire all'argomento, così come le scienze cognitive, l'informatica, la linguistica ed anche la filosofia.
Questo lezioni hanno l'obiettivo di introdurre le idee e le limitazioni delle reti neurali artificiali. Abbiamo dato uno sguardo a come i sistemi fisici e fisiologici possono essere imitati con la matematica, come creare macchine che sembrano fare la stessa cosa che fanno gli esseri umani con meccanismi simili. Questo genere di cose ci permette di scoprire ulteriormente i processi che rendono gli esseri tali.
Ma, naturalmente, ci sono innumerevoli altri modelli e sistemi per fare questo.
Il nostro obiettivo principale nelle lezioni scorse è stato il metodo di apprendimento backpropagation. Questo sistema, basato su ciò che è fondamentalmente il comportamentismo (premiare la rete quando si ottiene un modello corretto, punirla o regolarla quando fallisce). Ci sono altri modelli di rete disponibili, ciascuno che tenta di catturare qualche aspetto dei processi del cervello.
Inoltre, ci sono tentativi di integrazione di questi modelli per pervenire ad una comprensione autocosciente dei processi del cervello. Succederà mai? Solo il tempo potrà dirlo.
Altri modelli neurali
Ecco un breve riassunto di altri modelli di reti neurali insieme ad alcune brevi note su ciascuno.
Functional Link Networks
Le Functional link networks (FLN, reti a collegamento funzionale) sostituiscono alcuni o tutti i collegamenti tra i nodi (cioè i link) con elaborazioni più complicata della semplice diretta trasmissione del segnale del link e la relativa moltiplicazione dei pesi.
Un esempio potrebbe essere una rete in cui vengono utilizzati i pesi per una Espansione di Fourier per rappresentare una complicata funzione spaziale o variabile nel tempo. Ogni collegamento funzionale rappresenta il contributo di una particolare onda sinusoidale al modello generale (in termini di ampiezza, frequenza e fase, per esempio).
Figura 1. Esempio di una 'functional link network'. Altre reti funzionali combinano input multipli (cioè ) ) e trasmettono il loro output. In questo modo è stato risolto in precedenza il problema XOR, con l'aggiunta di una funzione f( tale che
La nostra soluzione originaria al problema XOR era una sorta di FLN. Il terzo ingresso era stato formato moltiplicando direttamente i due ingressi e trasmettendoli al nodo di integrazione.
Ecco un interessante applicazione di FLN alle reti di alimentazione e distribuzione di energia elettrica (http://www.iitk.ac.in/ee/power/nn.shtml).
Macchine di Boltzman e reti di Hopfield
Hopfield ha applicato la teoria dei sistemi dinamici al problema della non linearità nelle reti neurali. La teoria dei sistemi dinamici (a volte indicata come Teoria del Caos, ma non sempre correttamente) utilizza l'idea che alcuni sistemi non lineari tendono a stabilizzarsi intorno a dei cosiddetti attrattori per tutta la loro durata. Hopfield ha mostrato come questi punti stabili potrebbero essere utili nelle reti artificiali, soprattutto per quanto riguarda la correzione degli errori, il che ci permette di capire come una rete potrebbe essere in grado di 'riempire' le informazioni mancanti per associazione.
Le reti di Hopfield contano sulla distribuzione di energia attraverso la rete. L'obiettivo di questa rete è la minimizzazione di una funzione energia, la minimizzazione di errori o differenze tra i pattern di ingresso ed i corrispondenti output corretti.
Le macchine di Boltzman sono un'estensione della rete Hopfield di base che utilizza il simulated annealing per trovare una soluzione al problema di minimizzazione.
Queste reti sono state ampiamente studiate e sviluppate da Stephen Grossberg.
Reti bayesiane e probabilistiche
Le idee basate sull'annealing e gli attrattori di cui sopra provengono da una classe di reti conosciute come reti probabilistiche. Questo tipo di reti è basato su una certa quantità di non-determinismo fisico e, come tale, ha una componente probabilistica.
Le reti bayesiane si basano su nozioni di probabilità condizionata. Il lavoro di Bayes si è focalizzato sulla stima dei parametri per una distribuzione sconosciuta utilizzando le informazioni disponibili in quella che è conosciuta come una distribuzione a priori. Possiamo costruire una rete neurale in cui queste informazione preventiva condiziona gli ingressi prima dell'elaborazione, a volte chiamata rete neurale probabilistica.
Reti feedback e ricorrenti
Feedback e ricorrenza sono due parole per, in sostanza, la stessa cosa: sistemi in cui l'uscita viene reinserita in input dopo una qualche elaborazione.
Figura 2. Una rete con feedback. In questo esempio l'unità di uscita rientra verso le unità nascoste. Ci sono innumerevoli modi per eseguire effettivamente il feedback: questo è solo un esempio.
Reti a risonanza adattiva (Adaptive Resonance Theory, ART)
Una preoccupazione riguardante la backpropagation discussa fino ad ora è che non riesca a spiegare le nuove informazioni. Quando la nostra rete ha erroneamente identificato Freud come Sun Ra non siamo riusciti a correggerla in modo che l'errore non si ripetesse. C'è una dicotomia costante tra imparare e verificare. La teoria della risonanza adattiva tenta di scomporla, consentendo alla rete di (auto)apprendere al volo. La rete ART usa diversi dei concetti di cui sopra, incluso il feedback e la ricorrenza.
Ci sono diversi membri della famiglia ART; il principale è noto come ART-1.
Daniel Tauritz ha un'ampia rassegn sulle reti ART e le loro varianti all'indirizzo http://web.mst.edu/~tauritzd/art/
'Brain State in a Box' (BSB, stato del cervello in una scatola)
Si tratta della rete nonlineare, associativa, a minimizzazione energetica di James Anderson.
Questo modello influente integra idee svariate da approcci diversi alle le reti neurali (Boltzman/Hopfield, Feedback, apprendimento associativo) in un unico modello.
Purtroppo non vi è molto sul BSB nel suo sito attuale, ma ci sono poche risorse web disponibili.
È interessante notare che il gruppo musicale Neural Network ha pubblicato un CD intitolato Brain-state-in-a-box nel 1994.
Altri utili concetti
Computational Learning Theory (teoria dell'apprendimento computazionale)
Nel campo dell'informatica le reti neurali hanno invaso/influenzato il campo della teoria dell'apprendimento computazionale. CoLT tratta fondamentalmente di sistemi che fanno previsioni sul futuro sulla base di esperienze passate.
Si può facilmente vedere come le reti neurali artificiali rientrino bene in questo campo.
Gli studiosi della CoLT hanno creato un sito dedicato all'indirizzo http://www.learningtheory.org/
Support Vector Machines (macchine a sostegno vettoriale)
Un tema attualmente 'caldo' nell'apprendimento e nelle reti neurali sono le cosiddette support vector machines. Le SVM sono un ramo della teoria del kernel, CoLT e loro derivati.
Materiale può essere trovato qui http://www.support-vector.net/ e qui http://www.kernel-machines.org/
Sistemi Fuzzy
I sistemi fuzzy sono strettamente correlati ai sistemi probabilistici di cui sopra. L'idea generale è quella di utilizzare le informazioni statistiche sul mondo per rendere decisioni non del tutto binarie. Al posto delle tipiche risposte logiche 'SI' e 'NO' si usa un livello di confidenza, cioè: "quanto siamo sicuri?".
Si può vedere un accenno di questo tipo di approccio nella classificazione dei musicisti presentata in precedenza (la rete era certa con probabilità p = 0.67 che Freud fosse Sun Ra).
La 'International Fuzzy Systems Association' è presente sul web a http://www.isc.meiji.ac.jp/~ifsatkym/
I sistemi evolutivi (Evolutionary Systems)
I sistemi evolutivi sono sistemi variabili nel tempo la cui configurazione o stato cambia nel tempo, di solito lungo le linee del tradizionale cambiamento genetico degli esseri viventi.
Interi campi si sono sviluppati intorno agli algoritmi genetici e la programmazione genetica. L'idea di base ruota attorno alla rappresentazione di un sistema come materiale genetico, assegnando uno 'stato di benessere' al fenotipo prodotto da quel materiale e accoppiando le rappresentazioni che sono considerate più 'in forma'. I loro discendenti sono poi sottoposti allo stesso processo fino a che non viene raggiunto un livello medio di benessere desiderato. Questa popolazione ora può 'risolvere' il problema presentato dalla rappresentazione.
Per anni Alan Meyrowitz ha mantenuto il 'Genetic Algorithm Archive' a http://www.nrl.navy.mil/aic/
Neuroinformatica
Infine, c'è un movimento verso l'integrazione attraverso la vasta gamma di modelli, immagini e dati fisiologici del cervello. Questo settore emergente, la neuroinformatica (vedi la bioinformatica per la giusta ispirazione) sta tentando di integrare fra loro diverse scale (dalle singole unità a tutto il cervello e il comportamento) e grandi quantità e tipi di dati sul cervello.
Come abbiamo visto in questo modulo, siamo in grado di simulare i processi elettrochimici di un neurone in modo preciso, ma facciamo ipotesi e semplificazioni quando ci muoviamo 'su' in scala verso le reti neurali. Quando ci si sposta a monte della catena verso, ad esempio, raggruppamenti di reti neurali e collezioni funzionali di questi assemblaggi devono essere fatte ulteriori ipotesi che siano (si spera) informate dalla nostra conoscenza sui livelli più bassi e ciò che è e non è davvero importante ai livelli più alti.
Ci sono gruppi dedicati a questo campo, http://www.neuroinf.org/ per esempio, istituti http://www.ini.unizh.ch/, e anche il NIH (National Institute of Health, il Ministero della Salute statunitense) è sceso in campo all'indirizzo http://www. nimh.nih.gov/.
Un gruppo promettente opera presso l'Università del Sud California (USC) sotto la guida del pionieristico ricercatore Michael Arbib.
Del loro lavoro, il Neural Simulation Language (NSL, linguaggio di simulazione neurale) sembra un eccitante passo verso il futuro, cercando di andare oltre i semplice pesi e matrici per una descrizione completa dei sistemi e della loro connettività. Questa sembra essere la 'giusta' direzione per il futuro della comprensione e simulazione del cervello.
Bibliografia
Questa è una lista ragionata di articoli utilizzati nella preparazione di queste lezioni.
[1] Anderson, JA, 1995,An Introduction to Neural Networks, MIT Press, Cambridge MA.
Un ottimo testo introduttivo, con una serie di capitoli chiara ed intuitiva di algebra lineare.
[2] Arbib, MA, 1989, The Metaphorical Brain 2, Wiley, New York.
Un interessante libro sulla modellizzazione del cervello. Informazioni storiche e buona visione d'insieme.
[3] Chen, CH, 1996, Fuzzy Logic and Neural Network Handbook,McGraw-Hill, New York.
Una raccolta di tecniche utili, molto utilizzate, per le reti neurali, sistemi di sensori e di riconoscimento.
[4] Caudill, M and Butler, C, 1990, Naturally Intelligent Systems, MIT Press, Cambridge MA.
Un altro libro con un buon quadro generale, adatto ai non specialisti.
[5] Fodor, JA, 2000, The Mind Doesn't Work That Way, MIT Press, Cambridge.
Un testo di non facile lettura. Si tratta di una risposta al libro How the Mind Works di Pinker.
[6] Freeman, JA, 1994, Simulating Neural Networks with Mathematica, Addison-Wesley, Reading MA.
Fonte primaria di ispirazione per la programmazione presente in queste lezioni. Purtroppo, è fuori stampa.
[7] Hebb, D,. 1949, The Organization of Behaviour, Wiley, New York.
Fonte primaria sull'apprendimento con rinforzo.
[8] Hothersall, D, 1995, History of Psychology, McGraw Hill, New York.
Per gli amanti della storia della psicologia.
[9] Kandel, ER, Schwartz, JH, and Jessell, TM, 1991, Principles of Neural Science, Elsevier, New York.
Il testo di riferimento per la scienza neurale.
[10] Levitan, IB and Kaczmarek, LK, 2002, The Neuron, Oxford University Press, Cambridge.
Una completa rubrica di informazioni sulla biologia cellulare e molecolare del neurone.
[11] McCulloch, WS, Pitts, W, 1943, 'A logical calculus of the ideas immanent in nervous activity', Bulletin of Mathematical Biophysics, vol. 5, pp 115–133.
La fonte primaria, dove tutto ebbe inizio...
[12] Minsky, ML, Papert, SA, 1969. Perceptrons: An Introduction to Computational Geometry, MIT Press, Cambridge MA.
Il libro che quasi chiuse l'intera impresa delle reti neurali. Nella nuova edizione gli autori sostengono il contrario, ma è un po' tardi...
[13] Pinker, S, 1997, How the Mind Works, WW Norton, New York.
Non molto condivisibile ma è, almeno, una teoria ben strutturata.
[14] Pollack, JB, 1989. 'No harm intended', Journal of Mathematical Psychology, vol. 33, pp 358–365.
Un commento sul Perceptron rivisto. Buono per comprendere la politica che c'è dietro la scienza.
[15] Pratt, W, 1978, Digital Image Processing, John Wiley & Sons, New York.
Un classico testo di riferimento sull'elaborazione delle immagini.
[16] Rosenblatt, F, 1959, ‘Two theorems of statistical separability in the perceptrton’, Proceedings of a Symposium on the Mechanization of Thought Processes, Her Majesty's Stationary Office, London, pp. 421–456.
Fonte primaria sul perceptron.
[17] Rosenblatt, F, 1962, Principles of Neurodynamics, Spartan Books, New York.
Idem
[18] Rumelhart, DE and McClelland JL, 1988, Parallel Distributed Processing, MIT Press, Cambridge MA.
Un classico in due volumi sul'elaborazione parallela distribuita usato come introduzione al settore.
[19] Swanson, LW, 2003, Brain Architecture, Oxford University Press, Cambridge.
Un testo davvero completo, utile per capire le basi delle reti neurali.
[20] Trappenberg, TP, 2002, Fundamentals of Computational Neuroscience, Oxford University Press, Cambridge.
Un buon testo dal punto di vista della modellizzazione biologica.