Capitolo 4: Descrizione quantitativa del neurone artificiale
4.3 Il neurone artificiale: analisi vettoriale
Considerando che la risposta data una semplice unitร lineare รจ:
๐ฆ = ๐ (โ ๐ค๐๐ฅ๐ ๐
๐
) ๐ = 1
questa relazione puรฒ essere vista come il prodotto interno tra il vettore ๐ฐ, rappresentante i valori sinaptici, e il vettore ๐ฑ degli input:
๐ฆ = ๐ฐ โ ๐ฑ
Il valore scalare ๐ฆ corrisponde alla risposta dell'unitร , ovvero una misura della somiglianza tra il vettore di input e il vettore dei valori sinaptici. Sapendo infatti che la norma di un vettore ne stabilisce la sua lunghezza
โ๐ฑโ = โ๐ฑ โ ๐ฑ = โ๐ฅ12+ ๐ฅ22+. . . +๐ฅ๐2
e che l'angolo ๐ (piรน precisamente il coseno) formato dai due vettori ๐ฐ e ๐ฑ รจ dato da:
๐๐๐ (๐) = ๐ฐ โ ๐ฑ โ๐ฐโโ๐ฑโ 0 โค ๐ โค ๐ [4.3.1] [4.3.2] [4.3.3] [4.3.4]
attraverso dei semplici calcoli algebrici, si giunge a definire il prodotto dato dalla [4.3.2] come
๐ฐ โ ๐ฑ = โ๐ฐโโ๐ฑโ๐๐๐ (๐)
Con questo si vuole affermare che se si immagina di traslare nello spazio i due vettori, mantenendo inalterata a loro lunghezza, allora il loro prodotto interno รจ proporzionale al coseno dell'angolo ๐ formatosi tra i due vettori nello spazio. Per questo se:
Quindi la risposta data dal neurone (il prodotto) sarร tanto maggiore quanto piรน piccola รจ la distanza angolare che vi รจ tra il vettore degli input e il vettore sinaptico all'interno del medesimo quadrante. Se la risposta di unโunitร risulta essere nulla allora i due vettori formano, tra di loro, un angolo di 90ยฐ (c.d. ortogonali); se invece la distanza risulta essere maggiore di 90ยฐ l'unitร assume valori negativi.
Un generico neurone che utilizza una funzione di attivazione a gradino ๐ฝ(๐ฅ) โ {0,1}36 e con una soglia fissata sul valore zero evidenzia perciรฒ se il vettore degli input si trova ad una distanza minore (la risposta risulta essere uguale ad 1) o maggiore (risposta uguale ad 0) di
36 Questa tipologia di unitร รจ chiamata neurone di McCulloch e Pitts (Floreano, Mattiussi, 2002). ๐ = 0ยฐ โ ๐๐๐ (๐) = 1
๐ = 90ยฐ โ ๐๐๐ (๐) = 0 ๐ = 180ยฐ โ ๐๐๐ (๐) = โ1
Figura 10: rappresentazione vettoriale di pesi sinaptici e pattern di input appartenenti ad un'unitร con due sinapsi Fonte: Floreano, Mattiussi, 2002
un angolo retto dal proprio vettore sinaptico. Da sottolineare รจ che in una rete con molte unitร , per osservare quale di questa possieda un vettore sinaptico simile al pattern di input, ci si deve basare sul livello di attivazione solamente se i vettori sinaptici sono stati normalizzati (Floreano, Mattiussi, 2002).
Generalmente una rete neurale artificiale รจ utilizzata per poter classificare dei pattern. Nel caso appena visto si sta trattando un neurone binario, ovvero unโunitร che opera una classificazione imparando ad attivarsi solamente se vi รจ un determinato gruppo di pattern in ingresso ma rimanendo inattiva in tutti gli altri casi. Per apprendere si deve sviluppare un vettore di valori sinaptici atto a tracciare una linea di demarcazione nello spazio dellโinput in modo tale che tutti i pattern di un gruppo si trovino da una parte della linea mentre tutti gli altri nel lato opposto. Se in un dato nodo sussistono solamente due connessioni in ingresso allora รจ opportuno parlare di linea di separazione, se ve ne sono tre si deve fare riferimento ad un
piano mentre se vi sono piรน di tre connessioni si fa riferimento ad un iperpiano di separazione
nello spazio dimensionale dell'input. Se si presenta una di queste tre opzioni per la classificazione dei gruppi di input in due categorie allora tale separazione puรฒ essere definita
lineare. Questo si presenta come un elemento importante anche per la scelta dell'architettura
relativa alla rete neurale artificiale; per esempio tutte le reti neurali che presentano solamente uno strato di sinapsi non riescono a classificare in modo adeguatamente corretto i vettori di input che non possano essere linearmente separabili (Floreano, Mattiussi, 2002).
Sia che si parli di linea, di piano o di iperpiano, questi sono tutti perpendicolari rispetto ai pesi sinaptici del singolo nodo. Nei grafici sottostanti si riporta la linea di separazione di uno spazio di input la quale viene caratterizzata da un neurone con due connessioni di ingresso poste uguali a 1. Nel grafico di sinistra la soglia ๐ รจ posta uguale a 1 mentre in quello di destra รจ uguale a 0. In entrambi i grafici si puรฒ individuare: la linea di separazione (linea grossa) e la linea del vettore sinaptico (linea tratteggiata).
Figura 11: Linea di separazione dello spazio di input in due neuroni con due connessioni d'ingresso. Nella figura a sinistra la soglia ๐ = 1 mentre in quello a destra la soglia ๐ = 0. La linea nera evidenzia la linea di separazione mentre la linea tratteggiata la direzione del vettore sinaptico.
Quindi un nodo ad attivazione bipolare il quale abbia due connessioni in ingresso, rende una risposta (o output) pari a:
๐ฆ = ๐ฝ(๐ด) = ๐ฝ (โ ๐ค๐๐ฅ๐โ ๐ ๐
)
mentre la linea di separazione che individua due regioni nelle quali in una ๐ด > 0 e nell'altra ๐ด < 0 รจ definibile secondo la relazione:
๐ค1๐ฅ1+ ๐ค2๐ฅ2โ ๐ = 0
con ๐ pari al valore della soglia. Procedendo algebricamente si ricava l'equazione:
๐ฅ2= ๐ ๐ค2 โ๐ค1 ๐ค2 ๐ฅ1
In questa relazione la soglia e i pesi sinaptici sono determinati dall'algoritmo di apprendimento. In ๐ด > 0 tutti i vettori di informazioni in input provocheranno un output pari a 1 mentre tutti gli altri pattern, classificati nella regione ๐ด < 0, avranno come output โ1.
Dallโultimo grafico riportato si puรฒ notare che se ๐ = 0 la soglia non รจ presente poichรจ la linea di separazione passa per l'origine dello spazio dell'input quindi il neurone potrebbe avere delle difficoltร nella separazione tra diverse distribuzioni di pattern. Impostando allora una casuale configurazione sinaptica iniziale e una serie di pattern di input per svolgere l'apprendimento, si deve muovere il vettore sinaptico in modo che la linea di separazione classifichi correttamente i pattern nei due gruppi.
La soglia ๐ puรฒ quindi essere definita come un peso sinaptico di valore ๐ legata ad unโunitร aggiuntiva in input che abbia unโattivazione costante pari a โ1. In questo caso il peso legato alla sinapsi prende il nome di bias (๐ค0) mentre il neurone aggiuntivo prende il nome di unitร di
bias (๐ฅ0). Ogni unitร allโinterno della rete neurale possiede una connessione di bias mentre le unitร di input non la posseggono in quanto la loro attivazione dipende dal corrispondente vettore di ingresso.
[4.3.6]
[4.3.7]
Con questo per poter attivare il neurone si utilizza la seguente notazione:
๐ฆ = ๐ฝ (โ ๐ค๐๐ฅ๐ ๐=0
)
Dove la sommatoria viene fatta partire da zero e ๐ฅ0= โ1. La soglia quindi viene vista come un ulteriore peso sinaptico derivante da un neurone sempre attivo; ciรฒ implica che, a seguito di un processo di apprendimento, essa puรฒ essere modificata come per gli altri pesi sinaptici della rete (Floreano, Mattiussi, 2002).