In un precedente post abbiamo visto il principio di funzionamento generale di una rete neurale controllata, introducendo in particolare la struttura matematica.
Paragonando la rete neurale a una autovettura potremmo pensare che la struttura descritta precedentemente possa essere paragonata a motore e telaio, quindi la parte “fondamentale”. Questa volta vedremo, invece, quali sono gli “optional”.
Abbiamo già visto nel precedente post la formula dell’aggiornamento dei pesi, la quale presentava un termine chiamato learning rate (eta)
Questo parametro è compreso nell’intervallo (0,1] e serve per aumentare la velocità di convergenza verso il minimo della funzione. Solitamente si utilizza il valore 0.35 ma non è una regola fissa: esso va settato a seconda della rete e quindi dopo aver scelto la struttura della rete bisogna farsi un po’ il callo per trovare il valore ottimale.
La struttura della funzione dell’errore E può presentare zone in cui il minimo si trovi in zone molto profonde (con pendenza molto alta, come in un “canyon”) o in cui la pendenza sia molto lieve. In entrambi i casi si rischia di avere un processo di apprendimento molto lento: nel primo caso è possibile “saltare” i canyon da una sponda all’altra, nel secondo il minimo viene raggiunto con passi molto piccoli. In questi casi può dimostrarsi utile l’inserimento di una piccola spinta alla variazione dei pesi: il termine di momento aggiunto (in sostanza è un termine di inerzia) lo si nota nel secondo membro della
dove α (il parametro di momento) va da 0 a 1; il valore più usato è 0.9. In questo modo (se per esempio utilizzassimo 0.9) in caso di pendii troppo ripidi il metodo eviterebbe di saltare da una parte all’altra troppo spesso e in caso di pendii poco ripidi il learning rate (η) raddoppierebbe in modo tale da accelerare la discesa.
Alcuni ricercatori hanno raggiunto lo stesso risultato agendo direttamente sul learning rate. In sostanza essi lo fanno variare linearmente a seconda che l’errore ( E (w) ) sia diminuito o aumentato dopo un certo numero di step.
La scelta dei pesi iniziali rimane fondamentale. Il metodo del gradiente può rischiare di bloccarsi nel caso in cui un minimo apparente non sia altro che l’inizio di una discesa di un pendio estremamente ripido. Se scegliamo una distribuzione di pesi troppo larga le sigmoidi possono saturarsi già all’inizio e il sistema si blocca in un minimo locale qualsiasi (o su una “pianura”) vicino all’inizio. Un’ottima strategia consiste nello scegliere i pesi random in modo tale che la magnitudine della tipica unità h è meno – ma non eccessivamente – di 1.
In uno dei prossimi post vedremo di fare qualche esempio pratico usando matlab.