RETI NEURALI ASSOCIATIVE Mitja Perus Il modello di rete neurale di Hopfield è descritto dalle seguenti equazioni che rappresentano la dinamica dell’attività dei neuroni: N q i (t 2 t 1 δt) J ijq j (t 1 ) i 1 oppure q(t 2 ) Jq(t 1 ) a cui si associa la legge di apprendimento di Hebb definita dalle seguenti equazioni: P J ij vik v kj k 1 oppure J v k v kT P k 1 qi attività corrente dell’i-esimo neurone q (q1 ,..., q N ) stato della rete con N neuroni v ik attività dell’i-esimo neurone che prende parte alla k v codifica del k-esimo pattern . L’equazione q(t 2 ) Jq(t 1 ) descrive la sommatoria dei segnali pesati dalla forza delle connessioni sinaptiche (Jij) che un neurone riceve in ingresso da tutti gli altri neuroni. k kT J v v L’equazione stabilisce che la forza di ciascuna P k 1 connessione sinaptica viene aumentata quando i suoi due neuroni sono entrambi attivi o inattivi, e viene diminuita se la loro attività risulta scorrelata. Le correlazioni neurali afferenti a ciascun pattern e immagazzinate simultaneamente sono sommate su tutti i pattern immagazzinati (P). La matrice J viene chiamata “matrice memoria”. Abbiamo visto che la computazione collettiva della rete può essere vista attraverso la minimizzazione della funzione energia 1 N H- 2 i 1 N 1 N J ijq i q j - 2 i 1 j1 N v v q q j1 k 1 k i k j i j Riscriviamo ora le equazioni in modo continuo secondo la posizione r e al tempo t: q( r2 , t 2 t 1 δt) J( r1 , r2 )q( r1 , t 1 )d r1 P J( r1 , r2 ) v k (r1 )v k (r2 ) k 1 Il q output richiamo della Jq input Jq . memoria è effettuato Questo può essere analizzato come segue: P k k q( r2 , t 2 ) J( r1 , r2 )q ( r1 , t 1 )d r1 v ( r1 )v ( r2 )q ( r2 , t 1 )d r1 k 1 v (r )q(r , t )dr v (r ) v (r )q(r , t )dr v (r ) ... 1 1 1 1 1 2 1 2 2 1 1 1 1 P ... v ( r1 )q ( r1 , t 1 )d r1 v ( r2 ) P Av ( r2 ) B 1 dove A 1 (“segnale”) B 0 (“rumore”) 2 da 1 q Dobbiamo scegliere un input che sia molto simile a v piuttosto che agli altri v k con k 1. q Nello stesso tempo, l’input dovrebbe essere ortogonale a k v tutti gli altri con k 1 . q In questo caso, converge all’attrattore termini danno una somma trascurabile B. Così v1 v1 mentre gli altri viene richiamato. Reti neurali olografiche Se al modello appena descritto aggiungiamo l’evoluzione oscillatoria dell’attività neuronale otteniamo un modello biologicamente più plausibile . Allora le variabili della rete neurale diventano a valori complessi : q j q j0e i j j fase. Sutherland, Manger, Soucek e altri hanno simulato con successo la generalizzazione quantistica del modello di Hopfield con data set concreti. Il risultato è un modello olografico di rete neurale che si pone a metà strada tra le ANN classiche e le QNN. Il loro modello si può rappresentare così: Una sequenza di k coppie di vettori di input-output è stata utilizzata per l’apprendimento. Ciascuna componente di input e di output oscilla con una specifica ampiezza di attività e con una specifica fase (esponente). La k-esima coppia di input-output è la seguente: vettore di input : k k i1k k i 2k k i Nk s (s1 e , s 2 e ,..., s N e ) i -1 vettore di output : k k k i1k k i 2k k i M o (o1 e , o 2 e ,..., o M e ) Per codificare questi pattern, li lasciamo “interferire” in un modo che è matematicamente equivalente all’interferenza ottica della “object wave” (OW) e della “reference wave” (RW). Nell’olografia la OW è l’onda che è direttamente riflessa dall’oggetto la cui immagine sarà memorizzata nell’ologramma. La RW è l’onda indiretta (riflessa attraverso uno specchio). Queste due onde, che trasportano le informazioni sull’oggetto da due differenti punti di vista, vengono fatte interagire sulla piastra olografica. L’interazione costruttiva o distruttiva determina il grado locale di trasparenza ottica della placca olografica. Nel caso delle reti olografiche ciò corrisponde alle correlazioni tra i pattern (le componenti di memoria). Matematicamente, una piccola porzione dell’onda è equivalente all’attività di un neurone, e l’interazione delle onde è equivalente all’interazione tra neuroni con attività oscillatorie. Utilizzando una legge di apprendimento analoga a quella di P k k Hebb, simile all’equazione J ij vi v j , calcoliamo la forza di k 1 connessione tra due neuroni h e j: N J hj s o e k 1 k h k j i ( hk kj ) Ciascun Jhj codifica la sovrapposizione delle ampiezze delle correlazioni degli input-output locali e le differenze di fase e angolazione nell’esponente. In questo modo la matrice di tutte le correlazioni delle ampiezze moltiplicata con le corrispondenti differenze di fase rappresenta un ologramma , cioè la memoria. Nell’olografia reale, un’immagine viene ricostruita dall’ologramma mandando una nuova onda di riferimento (la cosiddetta chiave) attraverso la lastra olografica. Nel modello di rete neurale olografica simulata da Sutherland, un pattern memorizzato (es. k=1) può essere ricostruito dall’ologramma neurale , analogamente all’equazione Av1 ( r2 ) B , facendo interagire un input chiave con la memoria: N N P k k ' ' i h' ' iθ h k k - i(θ h j ) ' 1 i h' o J s J hjs he s h o j e s h e o je h 1 h 1 k 1 Scegliamo un input s’h simile a s1h , e ’h simile a 1h. In tal caso, se gli s sono normalizzati sarà s’h s1h 1 e e i h' e i h1 1. Gli apici nelle variabili significano valori vicini ai valori delle variabili senza apici. Il metodo di richiamo olografico di un pattern è simile al metodo di richiamo della rete di Hopfield classica, perché soddisfa le stesse condizioni. Memorie associative olografiche analogiche si possono implementare per via ottica, acustica, quantoelettronica e forse quantobiologica. L’olografia rappresenta un ponte fra reti neurali e sistemi quantistici. Reti neurali associative quantistiche A partire dai modelli appena descritti introduciamo il loro corrispettivo quantistico, con le fasi implicitamente incorporate nelle funzioni d’onda Aexp(i ) con A ampiezza. Le equazioni della rete neurale vengono semplicemente “tradotte” in un formalismo quantistico in modo da preservare la capacità di trasporto dell’informazione. Consideriamo le seguenti corrispondenze ( ): q q vk k J G J v k v kT P k 1 P G( r1 , r2 ) k (r1 )* k (r2 ) k 1 Queste equazioni sono matematicamente equivalenti perché la loro dinamica collettiva è simile: da un lato abbiamo neuroni e dall’altro elementi quantistici (.) ed interazioni G(.). Tenendo conto di questa lista di corrispondenze, tutte le descrizioni fatte per le reti neurali classiche e olografiche sono anche valide nel modello quantistico. Per prima cosa vengono codificati i pattern in specifici stati quantici. Poi viene prodotta un’interferenza fra questi stati quantistici, che crea una forma di memoria quantistica. Infine per ricostruire un pattern quantistico è necessario che lo stato, descritto dalla funzione d’onda, collassi. La dinamica dell’interazione degli stati quantici è descritta dalla seguente equazione: (r2 , t 2 ) G( r1 , t 1 , r2 , t 2 )(r1 , t 1 )d r1 dt 1 oppure (t 2 ) G(t 1 ) e vediamo la corrispondenza q(t 2 ) Jq(t 1 ) (t 2 ) G(t 1 ) L’apprendimento della rete (“trasformazione di interferenza”) è dato da: P G( r1 , t 1 , r2 , t 2 ) k (r1 , t1 ) * k (r2 , t 2 ) k 1 oppure P G( r1 , r2 ) k (r1 ) * k (r2 ) k 1 k dove sono autofunzioni d’onda, stati quantistici energeticamente stabili. Supponiamo quindi di aver codificato una qualche informazione all’interno di essi: le funzioni d’onda sono diventate dei “quantum pattern”. In questo caso la matrice G costituisce la cosiddetta “quantum memory”. Nota . G è denominata in questo modo perché funge da “propagatore” . Infatti in meccanica quantistica le funzioni di Green G si trovano nell’equazione (x 2 , t 2 ) i G(x 2 , t 2 ; x, t )(x, t )d 3 x (*) e sono dette propagatore perchè sono lo strumento matematico attraverso il quale la funzione d’onda si muove attraverso spazio e tempo. Quando G è nota ed è nota la funzione d’onda iniziale, la dinamica del sistema è nota grazie alla (*). Come per le reti neurali classiche, il processo di apprendimento è il risultato dell’interazione quantistica di neuroni ( r , t) . quantistici detti qubits, descritto dalla funzione Le interazioni sono descritte dai pesi G( r1 , t1 , r2 , t 2 ) che sono gli elementi della matrice quantistica “hebbiana” G. Il metodo di richiamo della quantum memory è realizzato da un “collasso” della funzione d’onda: P k * k ( r2 , t 2 t 1 t) G( r1 , r2 ) ( r1 , t 1 )d r1 ( r1 ) ( r2 ) ( r1 , t 1 )d r1 k 1 1 ( r1 ) * ( r1 , t 1 )d r1 1 ( r2 ) 2 ( r1 ) * ( r1 , t 1 )d r1 2 ( r2 ) ... ... P ( r1 ) * ( r1 , t 1 )d r1 P ( r2 ) A 1 ( r2 ) B dove A = 1 (“segnale”), B = 0 (“rumore”) e vediamo quindi la corrispondenza Av ( r2 ) B A 1 (r2 ) B 1 E’ stato necessario scegliere un input che sia più simile a 1 di qualunque altro k , k1. Allo stesso modo, gli altri k deve essere quasi ortogonale a tutti . In questo caso, converge all’attrattore-pattern quantistico , e gli altri termini danno una somma trascurabile B. 1 1 Pertanto il pattern viene richiamato dalla memoria, ossia misurato. Se la condizione che l’input deve essere simile ad uno dei pattern memorizzati (o almeno più che algli altri pattern memorizzati) non viene soddisfatta, la risposta della rete non sarà univoca e il pattern non verrà richiamato. RIASSUMENDO: Sia nel caso quantistico che in quello neurale classico, il nuovo input viene fatto interagire con la memoria, moltiplicando il vettore di input per la matrice memoria G o J. Oppure, localmente,le componenti che descrivono le attività dei neuroni/qubits, che codificano l’input, vengono moltiplicate con i pesi di connessione P G( r1 , t 1 , r2 , t 2 ) k (r1 , t1 ) * k (r2 , t 2 ) k 1 che codificano la memoria (correlazioni di tutti i possibili pattern appresi). Poiché la matrice di memoria hebbiana è una sovrapposizione di autocorrelazioni di singoli pattern, possiamo espandere la moltiplicazione in una serie. Ciascun termine della serie corrisponde ad un pattern immagazzinato che interagisce con l’input. Se scegliamo un input simile ad uno già in memoria, il termine corrispondente viene amplificato (per “risonanza”), simultaneamente gli altri vengono soppressi e si ha il collasso al pattern immagazzinato più vicino. Il termine “risonante” dà l’output, ossia la quantità misurata alla fine che corrisponde ad una specifica autofunzione, mentre simultaneamente gli altri vengono soppressi. Se le condizioni di similarità non venissero soddisfatte, l’output sarebbe una sovrapposizione di tutti i pattern in memoria e l’input, cioè una mistura indistinta di pattern, ossia un’interferenza incomprensibile di autofunzioni. E’ normale che la rete faccia predizioni su situazioni nuovi ma simili a quelle già apprese. CONCLUSIONI Poiché questo algoritmo è realizzabile in ogni sistema dotato di dinamica collettiva, si può dire che sia relativamente universale. La differenza fra le variabili neurali classiche e quelle quantistiche è che le seconde sono complesse ed incorporano la fase. La procedura di richiamo della memoria quantistica è un caso speciale della usuale misura quantistica. La differenza è che nel nostro caso le autofunzioni hanno uno specifico significato con contento informativo. Possiamo assumere che le reti neurali biologiche cooperino a livello quantistico, su base microtubulare. Si può pensare che nel cervello le reti neurali facciano scattare il collasso della funzione d’onda e quindi trasformino la dinamica quantistica a valori complessi nella dinamica neurale classica deterministica a valori reali. Questa trasformazione fra dinamica quantistica e dinamica classica durante il collasso della funzione d’onda è probabilmente innescata dall’interazione con l’ambiente. Riassumendo, i passi dell’algoritmo sono: k - costruzione (codifica) di pattern quantistici (r , t ) - costruzione del propagatore G che lavora come memoria - equazione eventualmente iterativa (output = memoria * input) - ricostruzione dalla memoria G su nuove istanze. Qui l’insieme usuale completo di autostati ortonormali è usato in modo “fuzzy”: invece di ubbidire all’ortogonalità esatta della teoria quantistica si lavora con dati quasi ortogonali.