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.