Indietro Propagazione nella rete neurale: algoritmo di machine learning

Prima di apprendere la rete neurale di retropropagazione (BPNN), comprendiamo:

Cosa sono le reti neurali artificiali?

Una rete neurale è un gruppo di unità I/O connesse in cui ciascuna connessione ha un peso associato ai suoi programmi informatici. Ti aiuta a creare modelli predittivi da database di grandi dimensioni. Questo modello si basa sul sistema nervoso umano. Ti aiuta a condurre la comprensione delle immagini, l'apprendimento umano, il parlato del computer, ecc.

Cos'è la retropropagazione?

backpropagation è l'essenza dell'addestramento della rete neurale. È il metodo per ottimizzare i pesi di una rete neurale in base al tasso di errore ottenuto nell'epoca precedente (cioè l'iterazione). Una corretta messa a punto dei pesi consente di ridurre i tassi di errore e rendere il modello affidabile aumentandone la generalizzazione.

La propagazione all'indietro nella rete neurale è una forma abbreviata per "propagazione all'indietro degli errori". È un metodo standard per addestrare le reti neurali artificiali. Questo metodo aiuta a calcolare il gradiente di una funzione di perdita rispetto a tutti i pesi nella rete.

Come funziona l'algoritmo di backpropagation

L'algoritmo Back propagation nella rete neurale calcola il gradiente della funzione di perdita per un singolo peso tramite la regola della catena. Calcola in modo efficiente un livello alla volta, a differenza di un calcolo diretto nativo. Calcola il gradiente, ma non definisce come viene utilizzato il gradiente. Generalizza il calcolo nella regola delta.

Si consideri il seguente diagramma di esempio della rete neurale di Back Propagation per comprendere:

Algoritmo di backpropagation
Come funziona l'algoritmo di backpropagation
  1. Ingressi X, arrivano attraverso il percorso preconnesso
  2. L'input è modellato utilizzando i pesi reali W. I pesi vengono generalmente selezionati in modo casuale.
  3. Calcola l'output per ogni neurone dallo strato di input, agli strati nascosti, allo strato di output.
  4. Calcolare l'errore negli output
ErrorB= Actual Output – Desired Output
  1. Viaggia indietro dal livello di output al livello nascosto per regolare i pesi in modo tale da ridurre l'errore.

Continua a ripetere il processo fino a ottenere il risultato desiderato

Perché abbiamo bisogno della backpropagation?

I vantaggi più importanti della backpropagation sono:

  • La backpropagation è veloce, semplice e facile da programmare
  • Non ha parametri da regolare a parte i numeri di input
  • È un metodo flessibile in quanto non richiede conoscenze preliminari sulla rete
  • È un metodo standard che generalmente funziona bene
  • Non necessita di alcuna menzione particolare delle caratteristiche della funzione da apprendere.

Cos'è una rete Feed Forward?

Una rete neurale feedforward è una rete neurale artificiale in cui i nodi non formano mai un ciclo. Questo tipo di rete neurale ha uno strato di input, strati nascosti e uno strato di output. È il primo e più semplice tipo di rete neurale artificiale.

Tipi di reti di backpropagation

Due tipi di reti di backpropagation sono:

  • Propagazione statica all'indietro
  • Backpropagation ricorrente

Propagazione statica all'indietro

È un tipo di rete di backpropagation che produce una mappatura di un input statico per un output statico. È utile per risolvere problemi di classificazione statica come il riconoscimento ottico dei caratteri.

Backpropagation ricorrente

La propagazione posteriore ricorrente nel data mining viene alimentata fino al raggiungimento di un valore fisso. Successivamente, l'errore viene calcolato e propagato all'indietro.

La differenza principale tra entrambi questi metodi è: che la mappatura è rapida nella propagazione all'indietro statica mentre è non statica nella propagazione all'indietro ricorrente.

Storia della backpropagation

  • Nel 1961, il concetto di base della propagazione all'indietro continua fu derivato nel contesto della teoria del controllo da J. Kelly, Henry Arthur ed E. Bryson.
  • Nel 1969, Bryson e Ho fornirono un metodo di ottimizzazione del sistema dinamico a più stadi.
  • Nel 1974 Werbos affermò la possibilità di applicare questo principio ad una rete neurale artificiale.
  • Nel 1982 Hopfield presentò la sua idea di rete neurale.
  • Nel 1986, grazie allo sforzo di David E. Rumelhart, Geoffrey E. Hinton e Ronald J. Williams, la backpropagation ottenne il riconoscimento.
  • Nel 1993, Wan è stata la prima persona a vincere un concorso internazionale di riconoscimento di modelli con l'aiuto del metodo di backpropagation.

Punti chiave della backpropagation

  • Semplifica la struttura della rete mediante collegamenti ponderati con elementi che hanno il minimo effetto sulla rete addestrata
  • È necessario studiare un gruppo di valori di input e di attivazione per sviluppare la relazione tra gli strati di input e quelli delle unità nascoste.
  • Aiuta a valutare l'impatto che una determinata variabile di input ha sull'output della rete. La conoscenza acquisita da questa analisi dovrebbe essere rappresentata in regole.
  • La backpropagation è particolarmente utile per le reti neurali profonde che lavorano su progetti soggetti a errori, come il riconoscimento di immagini o vocale.
  • La backpropagation sfrutta la catena e le regole di alimentazione consentono alla backpropagation di funzionare con qualsiasi numero di uscite.

le migliori pratiche di Backpropagation

La propagazione all'indietro nella rete neurale può essere spiegata con l'aiuto dell'analogia dei "lacci delle scarpe".

Troppa poca tensione =

  • Non abbastanza vincolante e molto sciolto

Troppa tensione =

  • Troppi vincoli (sovrallenamento)
  • Impiegare troppo tempo (processo relativamente lento)
  • Maggiore probabilità di rottura

Tirare un laccio più dell'altro =

  • Disagio (bias)

Svantaggi dell'utilizzo della backpropagation

  • Le prestazioni effettive della backpropagation su un problema specifico dipendono dai dati di input.
  • L'algoritmo di propagazione posteriore nel data mining può essere piuttosto sensibile ai dati rumorosi
  • È necessario utilizzare l'approccio basato su matrice per la backpropagation anziché il mini-batch.

Sintesi

  • Una rete neurale è un gruppo di unità I/O connesse in cui ciascuna connessione ha un peso associato ai suoi programmi informatici.
  • La backpropagation è una forma abbreviata per "propagazione all'indietro degli errori". È un metodo standard per addestrare le reti neurali artificiali
  • Algoritmo di propagazione all'indietro in machine learning è veloce, semplice e facile da programmare
  • Una rete BPN feedforward è una rete neurale artificiale.
  • Due tipi di reti di backpropagation sono 1) Backpropagation statica 2) Backpropagation ricorrente
  • Nel 1961, il concetto di base della propagazione all'indietro continua fu derivato nel contesto della teoria del controllo da J. Kelly, Henry Arthur ed E. Bryson.
  • Propagazione all'indietro data mining semplifica la struttura della rete rimuovendo i collegamenti ponderati che hanno un effetto minimo sulla rete addestrata.
  • È particolarmente utile per le reti neurali profonde che lavorano su progetti soggetti a errori, come il riconoscimento di immagini o vocale.
  • Il più grande svantaggio della Backpropagation è che può essere sensibile ai dati rumorosi.