L’algoritmo di backpropagation in una rete neurale
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”.
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.
algoritmo artificiale backpropagation feedforward intelligenza intelligenza artificiale piccole medie imprese pmi trainset