Apprendimento e adattamento

Come affermato in precedenza, ANN è completamente ispirato al modo in cui funziona il sistema nervoso biologico, cioè il cervello umano. La caratteristica più impressionante del cervello umano è imparare, quindi la stessa caratteristica viene acquisita da ANN.

Che cos'è l'apprendimento in ANN?

Fondamentalmente, imparare significa fare e adattare il cambiamento in sé come e quando c'è un cambiamento nell'ambiente. ANN è un sistema complesso o più precisamente possiamo dire che è un sistema adattivo complesso, che può cambiare la sua struttura interna in base alle informazioni che lo attraversano.

Perché è importante?

Essendo un sistema adattivo complesso, l'apprendimento in ANN implica che un'unità di elaborazione è in grado di modificare il proprio comportamento di input / output a causa del cambiamento nell'ambiente. L'importanza dell'apprendimento in ANN aumenta a causa della funzione di attivazione fissa e del vettore di input / output, quando viene costruita una particolare rete. Ora per modificare il comportamento di input / output, dobbiamo regolare i pesi.

Classificazione

Può essere definito come il processo di apprendimento per distinguere i dati dei campioni in classi diverse trovando caratteristiche comuni tra i campioni delle stesse classi. Ad esempio, per eseguire l'addestramento di ANN, abbiamo alcuni campioni di addestramento con caratteristiche uniche e per eseguire i suoi test abbiamo alcuni campioni di prova con altre caratteristiche uniche. La classificazione è un esempio di apprendimento supervisionato.

Regole di apprendimento della rete neurale

Sappiamo che, durante l'apprendimento ANN, per modificare il comportamento di input / output, dobbiamo regolare i pesi. Quindi, è necessario un metodo con l'aiuto del quale è possibile modificare i pesi. Questi metodi sono chiamati regole di apprendimento, che sono semplicemente algoritmi o equazioni. Di seguito sono riportate alcune regole di apprendimento per la rete neurale:

Regola di apprendimento di Hebbian

Questa regola, una delle più antiche e semplici, è stata introdotta da Donald Hebb nel suo libro The Organization of Behavior nel 1949. È una sorta di apprendimento feed-forward e non supervisionato.

Basic Concept - Questa regola si basa su una proposta data da Hebb, che ha scritto -

"Quando un assone della cellula A è abbastanza vicino da eccitare una cellula B e prende parte ripetutamente o persistentemente all'attivazione, in una o entrambe le cellule si verifica un processo di crescita o un cambiamento metabolico in modo tale che l'efficienza di A, come una delle cellule che attivano B , è aumentato."

Dal postulato di cui sopra, possiamo concludere che le connessioni tra due neuroni potrebbero essere rafforzate se i neuroni si attivano contemporaneamente e potrebbero indebolirsi se si attivano in momenti diversi.

Mathematical Formulation - Secondo la regola di apprendimento di Hebbian, di seguito è riportata la formula per aumentare il peso della connessione ad ogni passo temporale.

$$ \ Delta w_ {ji} (t) \: = \: \ alpha x_ {i} (t) .y_ {j} (t) $$

Qui, $ \ Delta w_ {ji} (t) $ ⁡ = incremento di cui il peso della connessione aumenta al passo temporale t

$ \ alpha $ = il tasso di apprendimento positivo e costante

$ x_ {i} (t) $ = il valore di input dal neurone pre-sinaptico al passo temporale t

$ y_ {i} (t) $ = l'uscita del neurone pre-sinaptico allo stesso passo temporale t

Regola di apprendimento di Perceptron

Questa regola è un errore che corregge l'algoritmo di apprendimento supervisionato di reti feedforward a strato singolo con funzione di attivazione lineare, introdotto da Rosenblatt.

Basic Concept- Essendo di natura supervisionato, per calcolare l'errore, ci sarebbe un confronto tra l'uscita desiderata / target e l'uscita effettiva. Se viene rilevata una differenza, è necessario modificare i pesi della connessione.

Mathematical Formulation - Per spiegare la sua formulazione matematica, supponiamo di avere un numero 'n' di vettori di input finiti, x (n), insieme al suo vettore di output desiderato / target t (n), dove n = 1 a N.

Ora l'output 'y' può essere calcolato, come spiegato in precedenza sulla base dell'input netto, e la funzione di attivazione applicata su tale input netto può essere espressa come segue:

$$ y \: = \: f (y_ {in}) \: = \: \ begin {case} 1, & y_ {in} \:> \: \ theta \\ 0, & y_ {in} \: \ leqslant \: \ theta \ end {case} $$

Dove θ è la soglia.

L'aggiornamento del peso può essere effettuato nei seguenti due casi:

Case I - quando t ≠ y, poi

$$ w (nuovo) \: = \: w (vecchio) \: + \; tx $$

Case II - quando t = y, poi

Nessun cambiamento di peso

Regola di apprendimento delta (regola di Widrow-Hoff)

Viene introdotto da Bernard Widrow e Marcian Hoff, chiamato anche metodo Least Mean Square (LMS), per ridurre al minimo l'errore su tutti i modelli di allenamento. È una specie di algoritmo di apprendimento supervisionato con funzione di attivazione continua.

Basic Concept- La base di questa regola è l'avvicinamento in discesa in pendenza, che continua per sempre. La regola delta aggiorna i pesi sinaptici in modo da ridurre al minimo l'input netto all'unità di output e il valore target.

Mathematical Formulation - Per aggiornare i pesi sinaptici, la regola delta è data da

$$ \ Delta w_ {i} \: = \: \ alpha \ :. x_ {i} .e_ {j} $$

Qui $ \ Delta w_ {i} $ = cambio di peso per i- esimo ⁡pattern;

$ \ alpha $ = il tasso di apprendimento positivo e costante;

$ x_ {i} $ = il valore di input dal neurone pre-sinaptico;

$ e_ {j} $ = $ (t \: - \: y_ {in}) $, la differenza tra l'output desiderato / target e l'output effettivo ⁡ $ y_ {in} $

La regola delta sopra è solo per una singola unità di output.

L'aggiornamento del peso può essere effettuato nei seguenti due casi:

Case-I - quando t ≠ y, poi

$$ w (nuovo) \: = \: w (vecchio) \: + \: \ Delta w $$

Case-II - quando t = y, poi

Nessun cambiamento di peso

Regola di apprendimento competitivo (il vincitore prende tutto)

Riguarda l'addestramento senza supervisione in cui i nodi di output cercano di competere tra loro per rappresentare il modello di input. Per comprendere questa regola di apprendimento, dobbiamo comprendere la rete competitiva che viene fornita come segue:

Basic Concept of Competitive Network- Questa rete è proprio come una rete feedforward a livello singolo con connessione di feedback tra le uscite. Le connessioni tra le uscite sono di tipo inibitorio, indicate da linee tratteggiate, il che significa che i concorrenti non si sostengono mai.

Basic Concept of Competitive Learning Rule- Come detto in precedenza, ci sarà una competizione tra i nodi di output. Quindi, il concetto principale è che durante l'addestramento, l'unità di output con l'attivazione più alta per un dato pattern di input, sarà dichiarata vincitrice. Questa regola è anche chiamata Vincitore prende tutto perché solo il neurone vincente viene aggiornato e il resto dei neuroni rimane invariato.

Mathematical formulation - Di seguito sono riportati i tre fattori importanti per la formulazione matematica di questa regola di apprendimento -

  • Condition to be a winner - Supponiamo che se un neurone $ y_ {k} $ ⁡ ⁡ voglia essere il vincitore, allora ci sarebbe la seguente condizione:

    $$ y_ {k} \: = \: \ begin {case} 1 & if \: v_ {k} \:> \: v_ {j} \: for \: all \: j, \: j \: \ neq \: k \\ 0 & altrimenti \ end {cases} $$

Significa che se un neurone, diciamo $ y_ {k} $ ⁡, vuole vincere, il suo campo locale indotto (l'output dell'unità di somma), diciamo $ v_ {k} $, deve essere il più grande tra tutti gli altri neuroni nella rete.

  • Condition of sum total of weight - Un altro vincolo sulla regola dell'apprendimento competitivo è che la somma totale dei pesi per un particolare neurone di output sarà 1. Ad esempio, se consideriamo il neurone k poi -

    $$ \ displaystyle \ sum \ limits_ {j} w_ {kj} \: = \: 1 \: \: \: \: \: \: \: \: \: for \: all \: k $$

  • Change of weight for winner- Se un neurone non risponde al pattern di input, non avviene alcun apprendimento in quel neurone. Tuttavia, se un particolare neurone vince, i pesi corrispondenti vengono regolati come segue

    $$ \ Delta w_ {kj} \: = \: \ begin {cases} - \ alpha (x_ {j} \: - \: w_ {kj}), & if \: neuron \: k \: wins \\ 0, & if \: neuron \: k \: loss \ end {cases} $$

Qui $ \ alpha $ è il tasso di apprendimento.

Questo mostra chiaramente che stiamo favorendo il neurone vincente regolando il suo peso e se c'è una perdita di neuroni, non dobbiamo preoccuparci di riadattare il suo peso.

Regola di apprendimento Outstar

Questa regola, introdotta da Grossberg, riguarda l'apprendimento supervisionato perché i risultati desiderati sono noti. È anche chiamato apprendimento Grossberg.

Basic Concept- Questa regola viene applicata sui neuroni disposti in uno strato. È appositamente progettato per produrre l'output desideratod dello strato di p neuroni.

Mathematical Formulation - Le regolazioni del peso in questa regola vengono calcolate come segue

$$ \ Delta w_ {j} \: = \: \ alpha \ :( d \: - \: w_ {j}) $$

Qui d è l'output neuronale desiderato e $ \ alpha $ è il tasso di apprendimento.