Nella simulazione verrà implementato solamente il filtro per emicampi, in quanto è quello utilizzato nella interpretazione dei dati di Posner e colleghi del capitolo precedente.
I neuroni che compongono il filtro per emicampi, che abbiamo localizzato nel pulvinar, sono un poco più complessi di quelli della mappa pragmatica. Oltre alla variabile "stato di integrità" (S) essi dispongono della variabile "stato di eccitazione" (E). Tale variabile può essere settata in base a tre diverse condizioni:
- stato di riposo (E = 1);
- stato di eccitazione (E > 1);
- stato di inibizione (0 * E < 1 );
La selezione competitiva
La selezione attentiva avviene attraverso una competizione fra i due emicampi. Tipicamente la selezione competitiva viene implementata utilizzando delle connessioni laterali di tipo inibitorio: ogni unità è connessa con tutte le unità del proprio livello (o con un sottoinsieme, detto cluster) compresa l'unità stessa (Rumelhart & Zipser, in Rumelhart & McCLelland, 1986, pag. 162); tutte queste connessioni sono inibitorie, tranne quella che lega ogni cellula a se stessa che è di carattere ecciatatorio. Un risultato sostanzialmente simile può essere ottenuto attraverso l'utilizzo di due strati: ad ogni unità dello strato a monte corrisponde una sola unità dello strato a valle; ogni unità dello strato a monte ha una proiezione eccitatoria verso la corrispondente unità del livello a valle e delle connessioni inibitorie con tutte le altre.
Poiché la competizione riguarda i due emicampi utilizzeremo due strati da due cellule ciascuna: la cellula di sinistra del primo strato eccita la cellula a sinistra del secondo strato ed inibisce la cellula a destra del secondo strato; la cellula a destra del primo strato eccita la cellula a destra del secondo strato ed inibisce la cellula a sinistra del primo strato. Poichè se le due cellule del primo strato non sono in equilibrio una delle due cellule del secondo strato (quella controlaterale alla più forte del primo strato) riceverà un input negativo si è deciso di impostare un limite minimo, pari a 0.0, al valore di ogni cellula, tale che essa non possa assumere un valore negativo :
D2 = max (D1 - S1, 0); S2 = max (S1 - D1, 0);
Grazie a questa architettura sono possibili i seguenti pattern di attivazione:
D1 > S1 -> D2 = D1 - S1; S2 = 0;
D1 < S1 -> D2 = 0; S2 = S1 - D1;
D1 = S1 -> D2 = S2 = 0;
Questo significa che, in un dato istante t, un solo neurone del secondo strato può risultare acceso; in caso di perfetta parità entrambi i neuroni saranno spenti.
Ogniuno dei due nodi del primo strato riceve connessioni eccitatorie (di uguale intensità) dalla corrispondente metà dei neuroni dello strato che costituisce il filtro (in modo che gli n/2 neuroni di destra proiettino verso D1 e gli n/2 neuroni di sinistra proiettino verso S1). Ogniuno dei due nodi del secondo strato modifica, attraverso un'opportuna formula, il valore dello stato di eccitazione di ogni neurone della metà ipsilaterale del filtro.
Il valore dello stato di eccitazione, uguale per ogni unità di uno stesso emicampo, è così calcolata:
- per i neuroni di destra:
E = 1.0 * (1.0 + ln (Out (D2) + 1.0)) / (1.0 + ln (Out (S2) + 1.0)); - per i neuroni di sinistra:
E = 1.0 * (1.0 + ln (Out (S2) + 1.0)) / (1.0 + ln (Out (D2) + 1.0));
La funzione logaritmica è stata utilizzata al fine di evitare sbilanciamenti troppo pesanti, considerando anche la natura ricorsiva della rete. L'output delle cellule è stato aumentato di 1.0 al fine di evitare valori negativi:
Out (X) ³ 0.0 -> Out (X) + 1.0 ³ 1.0 -> Ln (Out (X) + 1.0) ³ 0.0;
Poiché lo stato di eccitazione delle cellule del filtro viene calcolato attraverso una moltiplicazione ed una divisione il valore ottenuto dal logaritmo è stato aumentato di 1.0; in questo modo il neurone spento non sortisce nessun effetto:
1.0 * (1.0 + ln (0.0 + 1.0)) = 1.0 * (1.0 + 0.0) = 1.0;
1.0 / (1.0 + ln (0.0 + 1.0)) = 1.0 / (1.0 + 0.0) = 1.0;