Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
DIVERGENZA CONTRASTIVA
L'idea è di minimizzare la discrepanza fra la distribuzione empirica dei dati (training set) e la distribuzione del modello (pattern generati dalla rete quando non è vincolata dai dati). Dopo l'esperienza, pongo il quesito di ipotizzare altri n casi e generare dei valori plausibili di ipotesi (che assomiglino a quelli visti in fase di training).
C'è quindi una fase positiva (data driven; in cui ho i dati vincolati nel layer visibile) in cui mostro dati al modello, calcolo ipotesi (attivo unità nascoste) e calcolo le correlazioni pairwise tra queste unità.
Poi nella fase negativa (model driven) il modello è libero di generare dati, niente è vincolato: parto da uno stato causale e campiono (Gibbs sampling) tutte le variabili (sia hidden che visibili) finché non arrivo ad un punto di equilibrio. Noi vogliamo che le correlazioni delle due fasi siano simili!
Calcolare la distribuzione del modello è...
computazionalmente dispendioso, quindi la approssimiamo usandole "distorsioni" dei dati prodotte dal modello.
Algoritmo per ciascun pattern di training:
-
Fase positiva:
- Il pattern è presentato alla rete ("vincolato" [clamped] nei neuroni visibili v).
- L'attivazione dei neuroni nascosti h viene calcolata in un singolo step usando la funzione di attivazione stocastica.
- Calcoliamo le correlazioni < v+ h+ > fra le unità visibili e le unità nascoste. Ci sono unità attive allo stesso tempo?
-
Fase negativa:
- Partendo dalle attivazioni delle unità nascoste calcolate durante la fase positiva, si generano le attivazioni nel layer visibile usando la funzione di attivazione stocastica.
- Partendo da queste nuove attivazioni visibili, ricalcoliamo le attivazioni nascoste.
- Calcoliamo le correlazioni < v - h - > fra le unità visibili e le unità nascoste. Il vettore di variabili visibili [V] conterrà dei pattern
generati dal modello (che dovrebbero assomigliare a quelli visti durante il training -> V(t) deve assomigliare il più possibile a V(0) che è il vettore vincolato ai dati).
3. Aggiornamento dei pesi: AWA. I pesi vengono cambiati secondo la regola: ht hv v
Se i valori finale e iniziale sono molto diversi, vuol dire che le connessioni (i pesi) sono errati e mi distorcono i dati. Importante è la generalizzazione (catturare tutta la complessità di una distribuzione), in modo da evitare over-fitting.
Posso anche non aspettare l'equilibrio e fermarmi prima -> Divergenza Contrastiva Livello 1 (CD-1): Come segnale della fase negativa prendo le correlazioni calcolate subito dopo aver attivato le variabili nascoste (non le correlazioni che otterrei all'equilibrio).
OTTIMIZAZZIONE DELLA FUNZIONE DI ENERGIA TRA HOPFIELD E BOLTZMANN-RESTRICTED
Rete di Hopfield: una volta presentato un pattern di training -> abbasso l'energia di questo pattern; e
alzol'energia di tutti i pattern che non sono uguali a quello di training; assomigliano. È un pattern un po' casuale.
Boltzmann Restricted Machines: una volta presentato un pattern di training -> abbasso l'energia di questo pattern. E alzo l'energia di configurazioni simili (prodotte da distorsioni della rete su questo pattern: ad esempio ad ogni passaggio della Divergenza Contrastiva). Ad esempio, dopo aver presentato alla rete un input di training, ad esso verrà associata bassa energia perché è una configurazione che vogliamo diventi molto probabile! Una volta che la rete proverà a ricreare l'input basandosi sul suo modello interno potrebbe creare una informazione parziale, in cui sono palesi le perdite di features. Questo è dovuto alle distorsioni che la rete induce. Per far capire alla rete dove sta sbagliando: alzo l'energia di questa configurazione per evitare che la cosa si riproponga (ottimizzo localmente).
L'energia associata a ciascun pattern di training). Ma come ci comportiamo se la rete crea una configurazione a bassa energia che però è differente dal pattern presentato? La DC-1 non permette l'analisi di dati così "lontani". Per ottimizzare la funzione di energia anche a punti distanti dal pattern che sto mostrando, dopo alcuni cicli di DC-1 aumento il range dell'algoritmo (ad esempio con DC-10), dando libertà alla rete di fare molti più passaggi e di distorcere di più l'informazione. Dandomi così la possibilità di alzare l'energia di configurazioni lontane.
ESTRARRE FEATURES VISIVE DA IMMAGINI NATURALI CON RBM
Macchina di Boltzmann-R = Apprendimento non supervisionato da un insieme di patches (40 x 40 pixel ->1600 neuroni visibili e 1000 neuroni nascosti) di immagini naturali.
Il patches veniva sbiancato, e dato alla rete; essa doveva poi creare una copia più fedele possibile del
Dato. Possiamo visualizzare la forza delle connessioni sinaptiche per capire meglio che tipo di feature abbia estratto ciascun neurone nascosto: prima dell'apprendimento rispondevano in maniera random, ma dopo l'apprendimento abbiamo notato che essi si erano specializzati. Se osserviamo i loro campi recettivi notiamo connessioni neutre per la maggior parte, ma notiamo anche la presenza di connessioni eccitatorie e inibitorie, che rivelano preferenze diverse per l'orientamento di barre. I neuroni hanno estratto features che fungono da elementi basilari per la creazione di immagini di paesaggi.
Questo funzionamento è esattamente quello che avviene nella corteccia visiva primaria dei mammiferi (per rispecchiare anche la funzione topografica della corteccia dovremmo aggiungere delle piccole connessioni tra neuroni).
MODELLI CONNESSIONISTI LOCALISTICI
- Non apprendono: connettività e pesi vengono prestabiliti.
- Ogni nodo nella rete corrisponde ad
Una rappresentazione con un ruolo specifico (es., unità per le lettere) -> rappresentazioni localistiche.
- I livelli di rappresentazione devono essere decisi a priori.
- Enfasi sulla simulazione di dati comportamentali.
Sono stati sviluppati come modelli teorici della percezione della cognizione -> simulazione al computer per simulare fenomeni percettivi e cognitivi.
IL "PANDEMONIUM" DI SELFRIDGE
Feature demons: analizzano il segnale visivo in parallelo, e ognuno manda un segnale che si combina in detettori di lettere (una lettera sarà una combinazione di attributi).
La combinazione di caratteristiche può attivare più lettere (più lettere si attiveranno in parallelo perché condividono alcune caratteristiche), almeno una lettera però sarà più attiva rispetto alle altre.
La decisione avviene scegliendo il detettore con la risposta più forte (chi strilla di più). Sembra una rete competitiva.
MODELLO AD
ATTIVAZIONE INTERATTIVA
Più strati di interazione. Un primo livello con gli attributi visivi, un secondo livello con le lettere (più lettere che possono essere attivate contemporaneamente), e un ulteriore livello, quello delle parole. Conteneva 300 parole inglesi. È il primo modello in cui viene ipotizzato che il feedback tra livelli abbiano un ruolo specifico (fondamentale per capire fenomeni percettivi). Da dove vengono gli effetti del contesto? Come percepiamo facilmente stimoli ambigui? Quello che noi percepiamo è in parte influenzato dal contesto.
Esempio: 4 slot di features (blocchi di nodi, che rappresentano le 4 input posizioni spaziali su cui compaiono le lettere) -> ognuno manda segnale allo strato delle lettere. Non ci sono collegamenti tra slot (no collegamenti in parallelo). L’interazione avviene grazie al feedback degli strati superiori. Poi lettere mandano allo strato unico (strato-parole). Anche altre lettere riceveranno le connessioni che hanno
Attivato una specifica lettera. Anche se c'è conflitto (sia a livello delle lettere che delle parole), se lasciamo la rete a competere per un po', dopo un certo periodo si troverà un equilibrio. Le connessioni sono sia eccitatorie che inibitorie. Quindi la lettera T manderà una connessione eccitatoria ad una parola che inizia per T, ma inibitoria ad una parola che inizia per C ad esempio. Devo "settare" il peso delle connessioni. Ogni connessione (eccitatoria, inibitoria, feedback) avrà un valore differente. L'attivazione della lettera quando è inserita in una parola (piuttosto che da sola o inserita in una non-parola) è maggiore perché riceve feedback dal nodo delle parole; la sua "energia" è maggiore perché la sua attivazione fluisce fino al livello massimo -> effetto della superiorità della parola.
Effetti del contesto. Come decidiamo quando siano in ambiguità?
L'attivazione sale per entrambe le possibilità plausibili (indipendentemente dal senso della parola) ma subito dopo si attiva (a livello delle parole) la parola più plausibile; questa, tramite il suo feedback, aumenta la forza della connessione. Il feedback risolve l'ambiguità (grazie ai segnali top-down). Le parole che conosciamo fungono da "aspettativa". Elaborazione top-down e contorni illusori Andando ad analizzare i neuroni in V1 (primo stadio di elaborazione corticale dopo il Talamo) mentre si presentavano stimoli con contorni illusori. In V1 (dove risiedono neuroni che rispondono alle barre orientate) dobbiamo registrare i neuroni che hanno campi recettivi spazialmente allineati alla posizione in cui vogliamo presentare un contorno illusorio. Quando una linea passa al centro del campo recettivo del neurone la sua risposta è massima, e diminuisce via via che ci allontaniamo (un tipico neurone visivo che risponde alla barra). QuandoMisuriamo lo stesso neurone, ma nella condizione in cui c'è il contorno illusorio (non c'è nessuna linea) che passa nel suo campo recettivo, il neurone si attiva, anche se di fatto non c'è niente (si attiva molto meno di una vera linea, ma la modalità di attivazione è uguale). Non dipende da altri stimoli nell'immagine, ma da quelli che creano il contorno illusorio. Se ruotiamo gli angoli della figura, e sparisce il contorno illusorio, il neurone si attiva pochissimo, quasi zero.
L'attivazione del neurone su contorno illusorio è più bassa come abbiamo detto, ma arriva anche più tardi (120 ms) rispetto a quello su linea vera (50 ms). Ha una dinamica diversa! Forse il segnale arriva da un'altra parte? E impiega più tempo... Andiamo a vedere cosa succede all'area visiva V2? (dove continua l'elaborazione visiva)
In V2 c'è un'attivazione per il contorno illusorio dopo 50 ms
(quindi prima di V1, quella a V1 funge quindi da feedback! Non da feed-forward). Il segnale che genera il contorno illusorio è