Articles

Rete neurale a retropropagazione: Spiegato con un semplice esempio

Posted on

Prima di imparare la Backpropagation, cerchiamo di capire:

Cosa sono le Reti Neurali Artificiali?

Una rete neurale è un gruppo di unità I/O connesse dove ogni connessione ha un peso associato ai suoi programmi informatici. Aiuta a costruire modelli predittivi da grandi basi di dati. Questo modello si basa sul sistema nervoso umano. Vi aiuta a condurre la comprensione delle immagini, l’apprendimento umano, il discorso al computer, ecc.

Cos’è la Backpropagation?

La Back-propagation è l’essenza dell’addestramento delle reti neurali. È il metodo di regolazione fine dei pesi di una rete neurale basato sul tasso di errore ottenuto nell’epoca precedente (cioè l’iterazione). La sintonizzazione corretta dei pesi permette di ridurre il tasso di errore e di rendere il modello affidabile aumentando la sua generalizzazione.

Backpropagation è una forma abbreviata per “propagazione all’indietro degli errori”. È un metodo standard di addestramento delle reti neurali artificiali. Questo metodo aiuta a calcolare il gradiente di una funzione di perdita rispetto a tutti i pesi della rete.

In questo tutorial, imparerai:

  • Cos’è la rete neurale artificiale?
  • Cos’è la Backpropagation?
  • Come funziona la Backpropagation
  • Perché abbiamo bisogno della Backpropagation?
  • Cos’è una rete Feed Forward?
  • Tipi di reti di Backpropagation
  • Storia della Backpropagation
  • Punti chiave della Backpropagation
  • Best practice Backpropagation
  • Svantaggi dell’uso della Backpropagation

Come funziona la Backpropagation: Algoritmo semplice

Considerate il seguente diagramma


Come funziona la retropropagazione

  1. Input X, arrivano attraverso il percorso preconnesso
  2. L’input è modellato usando pesi reali W. I pesi sono solitamente selezionati in modo casuale.
  3. Calcolare l’uscita per ogni neurone dallo strato di ingresso, agli strati nascosti, allo strato di uscita.
  4. Calcolare l’errore nelle uscite
ErrorB= Actual Output – Desired Output
  1. Tornare indietro dallo strato di uscita allo strato nascosto per regolare i pesi in modo che l’errore diminuisca.

Continua a ripetere il processo fino ad ottenere l’output 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 il numero di input
  • E’ un metodo flessibile in quanto non richiede una conoscenza preliminare della rete
  • E’ un metodo standard che generalmente funziona bene
  • Non ha bisogno di alcuna menzione speciale delle caratteristiche della funzione da imparare.

Cos’è una rete Feed Forward?

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

Tipi di reti a backpropagation

Due tipi di reti a backpropagation sono:

  • Static Back-propagation
  • Recurrent Backpropagation

Static back-propagation:

È 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.

Recurrent Backpropagation:

Recurrent backpropagation è alimentata in avanti fino a raggiungere un valore fisso. Dopo di che, l’errore viene calcolato e propagato all’indietro.

La differenza principale tra entrambi questi metodi è: che la mappatura è rapida nella back-propagation statica mentre è non statica nella backpropagation ricorrente.

Storia della Backpropagation

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

Punti chiave della backpropagation

  • Semplifica la struttura della rete attraverso elementi di collegamento ponderati che hanno il minor 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 di unità nascoste.
  • Aiuta a valutare l’impatto che una data variabile di input ha sull’output di una 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 a rischio di errore, come il riconoscimento delle immagini o del parlato.
  • La backpropagation sfrutta la catena e le regole di potenza permette alla backpropagation di funzionare con qualsiasi numero di output.

Buone pratiche di Backpropagation

La Backpropagation può essere spiegata con l’aiuto dell’analogia del “laccio della scarpa”

Troppa poca tensione =

  • Non abbastanza vincolante e molto sciolto

Troppa tensione =

  • Troppa costrizione (sovrallenamento)
  • Troppo tempo (processo relativamente lento)
  • Maggiore probabilità di rottura

Trazione di un laccio più dell’altro =

  • Disagio (bias)

Svantaggi dell’uso della Backpropagation

  • La performance effettiva della backpropagation su un problema specifico dipende dai dati di input.
  • La backpropagation può essere abbastanza sensibile ai dati rumorosi
  • È necessario utilizzare l’approccio basato sulla matrice per la backpropagation invece del mini-batch.

Summario

  • Una rete neurale è un gruppo di unità I/O connesse dove ogni connessione ha un peso associato ai suoi programmi informatici.
  • La backpropagation è una forma abbreviata per “propagazione all’indietro degli errori”. E’ un metodo standard per l’addestramento delle reti neurali artificiali
  • La backpropagation è veloce, semplice e facile da programmare
  • Una rete neurale feedforward è una rete neurale artificiale.
  • Due tipi di reti di backpropagation sono 1)Back-propagation statica 2) Backpropagation ricorrente
  • Nel 1961, il concetto di base della backpropagation continua è stato derivato nel contesto della teoria del controllo da J. Kelly, Henry Arthur, e E. Bryson.
  • La backpropagation semplifica la struttura della rete rimuovendo i link ponderati che hanno un effetto minimo sulla rete addestrata.
  • È particolarmente utile per le reti neurali profonde che lavorano su progetti a rischio di errore, come il riconoscimento delle immagini o del parlato.
  • Il più grande svantaggio della Backpropagation è che può essere sensibile per i dati rumorosi.

Lascia un commento

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