L’algoritmo di backpropagation in una rete neurale

L’algoritmo di backpropagation in una rete neurale

5 Febbraio 2020 ai 1

Nel Machine Learning, in particolare nel deep learning, l’algoritmo di backpropagation ( backprop, BP ) è un algoritmo ampiamente utilizzato nella formazione di reti neurali feedforward per l’apprendimento supervionato (supervised learning). Esistono generalizzazioni della backpropagation per altre reti neurali artificiali (ANNs) e vengono definita genericamente “backpropagation”.

Esempio di funzionamento di un algoritmo backprogagation

Le reti neurale più avanzate

Le reti neurale più avanzate si contraddistinguono per la presenza di cicli che hanno un grosso impatto sulle capacità di apprendimento e previsione della rete. In questo caso, la rete neurale, passa attraverso i seguenti passaggi:

1. L’inizializzazione dei “pesi” in maniera casuale

2. La propagarazione dei dati iniziali con relativa moltiplicazione per i “pesi”, per poi passare i risultati attraverso la funzione di attivazione

3. La comparazione dei risultati ottenuti con quelli supervisionati

4 la valutazione dell’errore per capire la bontà dei “pesi” adottati

5 Fase di effettiva backpropagation di aggiustamento dei “pesi” se necessario

Infine gli step da 1 a 5 vengono ripetuti e i pesi vengono aggiornati dopo ogni osservazione

Conclusione

Quando tutto il trainset è presentato alla rete abbiamo un’epoca di apprendimento, l’algoritmo di backpropagation può essere interrotto quando l’errore diventa sufficientemente piccolo, deciso a nostra discrezione. In buona sostanza addestrare una rete neurale significa modificare in maniera ricorsiva parametri, ossia i “pesi” che vengono inizialmente attribuiti in maniera casuale e poi aggiustati ogni volta che abbiamo una nuova epoca di aprendo.

Quindi la back propagation prevede due fasi: una che procede in avanti ed una che procede all’indietro, la fase che precede in avanti presenta un esempio alla rete neurale, poi compara con l’uscita effettiva e calcola l’errore; la fase che procede all’indietro propaga l’errore indietro nella rete aggiustando i pesi.

Il termine backpropagation si riferisce rigorosamente solo all’algoritmo per il calcolo del gradiente, non al modo in cui il gradiente viene utilizzato; ma il termine è spesso usato vagamente per riferirsi all’intero algoritmo di apprendimento, incluso il modo in cui viene utilizzato il gradiente.

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *