Algoritmo di propagazione posteriore: una panoramica

Pubblicato: 2021-10-15

Le reti neurali sono state la parola più di tendenza nel mondo della tecnologia AI. E quando si parla di reti neurali, la retropropagazione è una parola su cui concentrarsi. L'algoritmo di backpropagation è uno dei blocchi fondamentali della rete neurale. Poiché qualsiasi rete neurale deve essere addestrata per l'esecuzione dell'attività, la backpropagation è un algoritmo utilizzato per l'addestramento della rete neurale. È una forma di algoritmo per l'apprendimento supervisionato che viene utilizzato per addestrare percettron di più livelli in una rete neurale artificiale.

Si considera la programmazione tipica dove vengono inseriti i dati e viene eseguita la logica della programmazione. Durante l'elaborazione, l'output viene ricevuto dall'utente. Ma questa uscita, in un certo senso, può influenzare la logica della programmazione. Questo è ciò che fa l'algoritmo di backpropagation. L'output influenzerà la logica e si tradurrà in un output migliore.

L'articolo si concentrerà sull'algoritmo di backpropagation e sul suo processo di lavoro.

Sommario

Importanza della retropropagazione

L'importanza della backpropagation risiede nel suo utilizzo nelle reti neurali. La progettazione di reti neurali richiede che i pesi vengano inizializzati solo all'inizio. Questi pesi sono alcuni valori casuali o qualsiasi variabile casuale che viene considerata per l'inizializzazione dei pesi. Poiché i pesi sono inseriti casualmente, è possibile che i pesi non siano quelli corretti. Ciò significa che i pesi non si adattano al modello. L'output del modello potrebbe essere diverso dall'output previsto. Di conseguenza, c'è un valore di errore elevato. Ma è sempre importante ridurre l'errore e pensare a come ridurre l'errore è una sfida. Il modello deve essere addestrato affinché ogni volta che si verificano questi tipi di scenari, è necessario modificare i parametri di conseguenza. E con la modifica dei parametri, il valore di errore verrà ridotto.

Pertanto, è necessario il training del modello e la backpropagation è uno di questi modi attraverso il quale un modello può essere addestrato in modo che vi siano valori di errore minimi.

Alcuni passaggi dell'algoritmo di backpropagation nelle reti neurali possono essere riassunti di seguito:

● Calcolo dell'errore: calcolerà la deviazione dell'output del modello dall'output effettivo del modello.

● Errore minimo: in questo passaggio, verrà verificato se l'errore generato è ridotto al minimo o meno.

● Aggiornamento dei parametri: il passaggio serve per aggiornare i parametri del modello. Se il modello genera un valore di errore molto elevato, è necessario aggiornare i suoi parametri,

come i pesi e le distorsioni. Il modello viene ricontrollato per l'errore e il processo viene ripetuto finché l'errore generato non viene ridotto al minimo.

● Modello finale: dopo un ripetuto processo di verifica e aggiornamento, l'errore viene ridotto al minimo e il modello è ora pronto per gli input. Gli input possono essere inseriti nel modello e gli output del modello possono essere analizzati.

La rete neurale di propagazione posteriore

In qualsiasi rete neurale, l' algoritmo di propagazione all'indietro cerca il valore minimo di errore. Ciò avviene attraverso la tecnica della discesa del gradiente o della regola delta, attraverso la quale si ricerca la funzione minima di errore dallo spazio dei pesi. Una volta identificati i pesi che riducono la funzione di errore, viene considerata la soluzione per il problema di apprendimento. Negli anni '60, quando l'algoritmo fu introdotto prima e poi negli anni successivi, la popolarità dell'algoritmo aumentò. La rete neurale può essere efficacemente addestrata attraverso questo algoritmo utilizzando un metodo della regola della catena. Se c'è un passaggio in avanti attraverso la rete neurale, allora un passaggio all'indietro viene eseguito dal parametro del modello attraverso la sua regolazione dei parametri come bias e pesi. Affinché l'algoritmo di propagazione all'indietro funzioni, è necessario definire prima la rete neurale.

Il modello della rete neurale

Se si considera un modello a 4 strati della rete neurale, allora sarà costituito dagli strati; lo strato di input, 4 neuroni progettati per gli strati nascosti e ci sarà 1 neurone progettato per lo strato di output.

Livello di input: il livello di input può essere semplice o complesso. Un semplice livello di input conterrà gli scalari e un livello di input complesso sarà costituito da matrici multidimensionali o vettori. I primi set di attivazione sono considerati uguali ai valori di ingresso.

Con il termine attivazione si intende il valore del neurone che risulta dopo l'applicazione della funzione di attivazione.

Livelli nascosti: utilizzo di determinati input ponderati come z^l nei livelli l e le attivazioni a^l nello stesso livello l. Le equazioni vengono generate per questi livelli come il livello 2 e il livello 3.

Le attivazioni per layer sono calcolate tramite l'utilizzo della funzione di attivazione f. La funzione di attivazione “f”, è una funzione non lineare che permette l'apprendimento di pattern complessi presenti nei dati da parte della rete.

Si forma una matrice di peso avente una forma di (n,m), dove il numero “n” indica i neuroni di uscita, mentre la “m” indica i neuroni di ingresso della rete neurale. Nel modello degli strati sopra menzionati, il numero di n sarà 2 e il numero di m sarà 4. Inoltre, il primo numero nell'indice del peso dovrebbe corrispondere all'indice del neurone che si trova nello strato successivo. Il secondo numero dovrebbe corrispondere all'indice neuronale del livello precedente della rete.

Livello di output: il livello di output è lo strato finale della rete neurale. Predice il valore del modello. Per la semplificazione dell'equazione viene utilizzata una rappresentazione matriciale.

Propagazione in avanti della rete neurale e sua valutazione

Le equazioni generate nella definizione della rete neurale costituiscono la propagazione in avanti della rete. Predice l'output del modello. In un algoritmo di propagazione in avanti, il passaggio finale coinvolto è la valutazione dell'output previsto rispetto all'output previsto. Se l'output previsto è "s" e l'output atteso è "y", allora s deve essere valutato rispetto a y. Per il set di dati di addestramento (x,y), x è l'input e y è l'output.

Una funzione di costo “C”, viene utilizzata per la valutazione di s rispetto a y. La funzione di costo può essere semplice come l'errore quadratico medio (MSE), o può essere complessa, come l'entropia incrociata. Sulla base del valore della C, il modello conosce di quanto i parametri dovrebbero essere regolati per avvicinarsi all'output atteso, che è y. Questo viene fatto attraverso l'algoritmo di propagazione indietro.

Algoritmo di backpropagation

L' algoritmo di backpropagation esegue ripetutamente la regolazione dei pesi nelle connessioni di rete al fine di ridurre al minimo la differenza tra gli output del modello e l'output previsto. È anche nell'algoritmo di backpropagation che è possibile creare nuove e utili funzionalità nella rete.

L'algoritmo di backpropagation mira anche a diminuire o minimizzare la funzione di costo definita della rete, ovvero C. Ciò avviene attraverso l'adeguamento di parametri come i bias e i pesi. Tale adeguamento da effettuare nei parametri è determinato attraverso i gradienti delle funzioni di costo rispetto a tutti quei parametri.

Il gradiente della funzione C nel punto x è definito come il vettore di tutte le derivate parziali che sono nella funzione di costo C in x.

La sensibilità alla variazione del valore di una funzione è misurata dalla derivata della funzione C rispetto alla variazione dell'argomento x. Ciò significa che è la derivata che dice dove si sta muovendo la funzione di costo C.

La modifica del parametro x è definita dal gradiente. Mostra le modifiche richieste nel parametro x per ridurre al minimo C. La regola della catena viene utilizzata per calcolare i gradienti. È il gradiente che permette l'ottimizzazione dei parametri.

Ecco come funziona l'algoritmo di backpropagation nel miglioramento e nell'addestramento della rete neurale. Serve ad essere una parte importante degli aspetti dell'apprendimento automatico. Essendo una parte essenziale dell'addestramento della rete neurale, è essenziale comprendere l'algoritmo di backpropagation. Se vuoi essere un esperto di machine learning e intelligenza artificiale, allora puoi dare un'occhiata al corso "Master of Science in Machine Learning & Artificial Intelligence" offerto da upGrad. Tutti i professionisti che lavorano possono beneficiare del corso. Sarai formato attraverso facoltà di esperti di IIIT Bangalore e anche di LJMU. L'apprendimento dei contenuti di oltre 650 ore ti aiuterà a prepararti per il futuro dell'IA. Qualsiasi domanda riguardante il corso è benvenuta.

Qual è il metodo utilizzato nell'algoritmo di propagazione all'indietro?

Il metodo utilizzato nell'algoritmo di propagazione all'indietro è la regola della catena.

Perché viene utilizzato l'algoritmo di propagazione indietro?

L'algoritmo di backpropagation viene utilizzato per ridurre al minimo l'errore del modello.

In che modo l'algoritmo di propagazione posteriore riduce al minimo l'errore della rete?

L'algoritmo di backpropagation tenta di regolare i parametri di conseguenza, riducendo al minimo l'errore.