Percettroni

Reti neurali

Il modello di Hopfield può memorizzare meno pattern rispetto ad altri modelli, dal momento ha interferenze tra pattern diversi (permette di apprendere pattern simili tra loro) e manca la distinzione tra input e output dei neuroni. L’apprendimento è quindi limitato.

Le reti a strati sono una alternativa al modello di Hopfield. Sono composte da uno strato di neuroni in ingresso e uno in uscita. Il neurone booleano può essere usato per distinguere gli input in due classi. I neuroni in ingresso presentano valori continui, mentre quelli in uscita hanno valori booleani.

L’apprendimento nelle reti a strati è simile a quello di Hopfield. Ogni neurone ha un peso iniziale casuale. Avendo una serie di esempi con la corretta classificiazione, in corrispondenza di un certo caso in ingresso, la rete fornisce una classificazione (sopra o sotto soglia). Se la classificazione è sbagliata si modificano i pesi. L’apprendimento corrisponde alla modifica dei pesi similmente a Hopfield, ma in questo caso è casuale e dipende dalle risposte della rete. Aggiungendo un neurone in ingresso con peso w0=-T e x0=1 è possibile trovare automaticamente un valore dei pesi he consenta di realizzare la funzione desiderata.

Il percettrone è un classificatore binario che mappa i suoi ingressi x in un valore di output f(x) calcolato con , dove X è la funzione di output, <w,x> è il prodotto scalare, w è un vettore di pesi e b è una costante.

Con y output del percettrone, W vettore di pesi, yd risultato desiderato e E>0, si ripete la seguente sequenza finchè W non resta costante per un certo numero di volte:

  1. si applica il percettrone
  2. se y=yd, W(k+1) = W(k)
  3. se y < yd, W(k+1)=W(k) + Ex
  4. se y > yd, W(k+1) = W(k) - Ex
  5. Incrementa k

Nella fase di addestramento di aggiornano i pesi con 2 set, quello di training, che contiene un insieme di pesi usati per adattare i pesi della rete, e quello di test, per valutare la qualità dell’apprendimento.

L’algoritmo del percettrone è efficace solo se la rete ha due strati e si basa sul confronto tra output ottenuto e quello desiderato.

Esiste un algoritmo di apprendimento che si applica a neuroni continui, che possono essere usati per l’approssimazione di funzioni a valori reali.

I percettroni a piĂą strati vengono addestrati con un procedimento simile a quello per i percettroni semplici.

  1. si presenta un pattern del training set
  2. si veridica la risposta
  3. eventuale correzione dei pesi
  4. presentazione pattern successivo

Un percettrone a due stati può imparare un numero limitato di casi, e per questo per una maggiore classe di funzioni si devono introdurre strati intermedi.

MLP - Multilayer perceptron

Rete formata da uno o più strati interni di neuroni nascosti. Per questo tipo di reti si utilizza un metodo detto di retropropagazione del gradiente, con il quale si modificano i pesi del primo strato conoscendo l’output dell’ultimo strato, consente di calcolare le modifiche ai pesi verso i neuroni nascosti.

appevo