neural network learning rules perceptron hebbian learning
Questo tutorial approfondito sulle regole di apprendimento della rete neurale spiega l'apprendimento di Hebbian e l'algoritmo di apprendimento di Perceptron con esempi:
Nel nostro precedente tutorial abbiamo discusso di Rete neurale artificiale che è un'architettura di un gran numero di elementi interconnessi chiamati neuroni.
Questi neuroni elaborano l'input ricevuto per fornire l'output desiderato. I nodi o neuroni sono collegati da input, pesi di connessione e funzioni di attivazione.
La caratteristica principale di una rete neurale è la sua capacità di apprendere. Le reti neurali si addestrano con esempi noti. Una volta che la rete viene addestrata, può essere utilizzata per risolvere i valori sconosciuti del problema.
=> Leggi la serie completa di formazione sull'apprendimento automatico
La rete neurale apprende attraverso vari schemi di apprendimento che sono classificati come apprendimento supervisionato o non supervisionato.
Negli algoritmi di apprendimento supervisionato, i valori target sono noti alla rete. Cerca di ridurre l'errore tra l'output desiderato (target) e l'output effettivo per prestazioni ottimali. Negli algoritmi di apprendimento senza supervisione, i valori target sono sconosciuti e la rete apprende da sola identificando i modelli nascosti nell'input formando cluster, ecc.
Una ANN è composta da 3 parti, ovvero input, livello nascosto e livello di output. C'è un singolo livello di input e un livello di output mentre potrebbero non esserci livelli nascosti o 1 o più livelli nascosti che potrebbero essere presenti nella rete. Sulla base di questa struttura, la ANN è classificata in reti a livello singolo, multistrato, feed-forward o ricorrenti.
Cosa imparerai:
- Importante terminologia ANN
- Confronto delle regole di apprendimento della rete neurale
- Conclusione
Importante terminologia ANN
Prima di classificare le varie regole di apprendimento in RNA, comprendiamo alcune importanti terminologie relative alla RNA.
# 1) Pesi: In una ANN, ogni neurone è connesso agli altri neuroni tramite collegamenti di connessione. Questi collegamenti hanno un peso. Il peso contiene informazioni sul segnale di ingresso al neurone. I pesi e il segnale di ingresso vengono utilizzati per ottenere un'uscita. I pesi possono essere indicati in una forma di matrice chiamata anche matrice di connessione.
Ogni neurone è connesso a ogni altro neurone dello strato successivo tramite pesi di connessione. Quindi, se ci sono 'n' nodi e ogni nodo ha pesi 'm', la matrice dei pesi sarà:
W1 rappresenta il vettore peso a partire dal nodo 1. W11 rappresenta il vettore peso da 1stnodo dello strato precedente all'1stnodo del livello successivo. Allo stesso modo, wij rappresenta il vettore del peso dall'elemento di elaborazione 'i-esimo' (neurone) all'elemento di elaborazione 'jth' dello strato successivo.
# 2) Bias : Il bias viene aggiunto alla rete aggiungendo un elemento di input x (b) = 1 nel vettore di input. Il bias porta anche un peso indicato con w (b).
Il bias gioca un ruolo importante nel calcolo dell'output del neurone. Il bias può essere positivo o negativo. Un bias positivo aumenta il peso netto dell'input mentre il bias negativo riduce l'input netto.
# 3) Soglia: Nella funzione di attivazione viene utilizzato un valore di soglia. L'input netto viene confrontato con la soglia per ottenere l'output. In NN, la funzione di attivazione viene definita in base al valore di soglia e viene calcolata l'uscita.
Il valore di soglia è:
# 4) Tasso di apprendimento : È indicato con alfa?. Il tasso di apprendimento varia da 0 a 1. Viene utilizzato per la regolazione del peso durante il processo di apprendimento di NN.
# 5) Fattore di Momentum : Viene aggiunto per una più rapida convergenza dei risultati. Il fattore di quantità di moto viene aggiunto al peso ed è generalmente utilizzato nelle reti di backpropagation.
Confronto delle regole di apprendimento della rete neurale
Metodi di apprendimento -> | Discesa in gradiente | Hebbian | Competitivo | Stocastico | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
EPOCH 2 | |||||||||||
Tipo di architettura || | |||||||||||
Feedforward a strato singolo | ADALINE Hopfield Perceptron | Associativo Memoria Hopfield | Vettore lineare Quantizzazione | ||||||||
Feed Forward multistrato | Cascata Correlazione Feed multistrato Inoltrare Bias radiale Funzione | Neocognitron | |||||||||
Ricorrente | Neurale ricorrente Rete | Bidirezionale Auto Associativo Memoria Brain-State-In-a-Box Hopfield | Adattivo Teoria della risonanza | Boltzmann Macchina Cauchy Macchina |
La classificazione dei vari tipi di apprendimento di ANN è mostrata di seguito.
Classificazione degli algoritmi di apprendimento supervisionato
- Discesa in gradiente
- Stocastico
# 1) Apprendimento della discesa in gradiente
In questo tipo di apprendimento, la riduzione dell'errore avviene con l'ausilio di pesi e la funzione di attivazione della rete. La funzione di attivazione dovrebbe essere differenziabili.
La regolazione dei pesi dipende dal gradiente di errore E in questo apprendimento. La regola di backpropagation è un esempio di questo tipo di apprendimento. Pertanto la regolazione del peso è definita come
# 2) Apprendimento stocastico
In questo apprendimento, i pesi vengono regolati in modo probabilistico.
Classificazione degli algoritmi di apprendimento senza supervisione
- Hebbian
- Competitivo
# 1) Hebbian Learning
Questo apprendimento è stato proposto da Hebb nel 1949. Si basa sulla regolazione correlativa dei pesi. Le coppie di pattern di input e output sono associate a una matrice di peso, W.
La trasposizione dell'output viene presa per la regolazione del peso.
# 2) Apprendimento competitivo
È un vincitore che prende tutta la strategia. In questo tipo di apprendimento, quando un pattern di input viene inviato alla rete, tutti i neuroni nello strato competono e solo i neuroni vincenti hanno aggiustamenti di peso.
Mc Culloch-Pitts Neuron
Conosciuta anche come M-P Neuron, questa è la prima rete neurale scoperta nel 1943. In questo modello, i neuroni sono collegati da pesi di connessione e la funzione di attivazione è utilizzata in binario. La soglia viene utilizzata per determinare se il neurone si attiverà o meno.
La funzione del neurone M-P è:
Hebbian Learning Algorithm
Hebb Network fu affermato da Donald Hebb nel 1949. Secondo la regola di Hebb, i pesi aumentano proporzionalmente al prodotto di input e output. Significa che in una rete Hebb se due neuroni sono interconnessi, i pesi associati a questi neuroni possono essere aumentati dai cambiamenti nel divario sinaptico.
Questa rete è adatta per dati bipolari. La regola di apprendimento Hebbian viene generalmente applicata alle porte logiche.
I pesi vengono aggiornati come:
W (nuovo) = w (vecchio) + x * y
Algoritmo di formazione per la regola di apprendimento di Hebbian
Le fasi di addestramento dell'algoritmo sono le seguenti:
- Inizialmente, i pesi sono impostati su zero, cioè w = 0 per tutti gli input i = 1 an e n è il numero totale di neuroni di input.
- Sia l'output. La funzione di attivazione degli ingressi è generalmente impostata come funzione di identità.
- Anche la funzione di attivazione dell'uscita è impostata su y = t.
- Le regolazioni del peso e il bias sono regolati per:
- I passaggi da 2 a 4 vengono ripetuti per ogni vettore di input e output.
Esempio di regole di apprendimento di Hebbian
Implementiamo la funzione AND logica con input bipolari utilizzando Hebbian Learning
X1 e X2 sono input, b è il bias preso come 1, il valore target è l'output dell'operazione logica AND sugli input.
Ingresso | Ingresso | Bias | Bersaglio |
---|---|---|---|
X1 | X2 | b | Y |
1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 |
-1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 |
# 1) Inizialmente, i pesi sono impostati su zero e anche il bias è impostato su zero.
W1 = w2 = b = 0
#Due) Il primo vettore di input è preso come (x1 x2 b) = (1 1 1) e il valore target è 1.
I nuovi pesi saranno:
il modo migliore per scaricare l'audio da youtube
# 3) I pesi di cui sopra sono i nuovi pesi finali. Quando viene passato il secondo input, questi diventano i pesi iniziali.
# 4) Prendi il secondo input = (1 -1 1). L'obiettivo è -1.
# 5) Allo stesso modo, vengono calcolati gli altri input e pesi.
La tabella seguente mostra tutti gli input:
Ingressi | Bias | Uscita target | Cambiamenti di peso | Cambiamenti di pregiudizio | Nuovi pesi | ||||
---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | Y | ? w1 | ? w2 | ? b | W1 | W2 | b |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | -1 | 1 | -1 | 0 | Due | 0 |
-1 | 1 | 1 | -1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | 1 | 1 | -1 | Due | Due | -Due |
Hebb Net per la funzione AND
Algoritmo di apprendimento di Perceptron
Le reti Perceptron sono reti feed-forward a livello singolo. Questi sono anche chiamati Single Perceptron Networks. Il Perceptron è costituito da un livello di input, uno nascosto e uno di output.
Lo strato di input è connesso allo strato nascosto tramite pesi che possono essere inibitori o eccitativi o zero (-1, +1 o 0). La funzione di attivazione utilizzata è una funzione passo binario per il livello di input e il livello nascosto.
L'output è
Y = f (y)
La funzione di attivazione è:
L'aggiornamento del peso avviene tra il livello nascosto e il livello di output per abbinare l'output di destinazione. L'errore viene calcolato in base all'output effettivo e all'output desiderato.
Se l'output corrisponde al target, non avviene alcun aggiornamento del peso. I pesi vengono inizialmente impostati su 0 o 1 e regolati successivamente fino a trovare una soluzione ottimale.
I pesi nella rete possono essere inizialmente impostati su qualsiasi valore. L'apprendimento di Perceptron converge al vettore del peso che fornisce l'output corretto per tutti gli schemi di addestramento di input e questo apprendimento avviene in un numero finito di passaggi.
La regola Perceptron può essere utilizzata sia per ingressi binari che bipolari.
Regola di apprendimento per Perceptron a uscita singola
# 1) Siano presenti “n” vettori di input di addestramento e x (n) et (n) sono associati ai valori target.
#Due) Inizializza i pesi e il bias. Impostali a zero per un facile calcolo.
# 3) Lascia che il tasso di apprendimento sia 1.
# 4) Lo strato di input ha la funzione di attivazione dell'identità, quindi x (i) = s (i).
# 5) Per calcolare l'output della rete:
# 6) La funzione di attivazione viene applicata sull'ingresso netto per ottenere un'uscita.
miglior programma per monitorare cpu e gpu temp
# 7) Ora, in base all'output, confronta il valore target desiderato (t) e l'output effettivo.
# 8) Continua l'iterazione fino a quando non ci sono variazioni di peso. Fermati una volta raggiunta questa condizione.
Regola di apprendimento per Perceptron con output multipli
# 1) Siano presenti “n” vettori di input di addestramento e x (n) et (n) sono associati ai valori target.
#Due) Inizializza i pesi e il bias. Impostali a zero per un facile calcolo.
# 3) Lascia che il tasso di apprendimento sia 1.
# 4) Lo strato di input ha la funzione di attivazione dell'identità, quindi x (i) = s (i).
# 5) Per calcolare l'output di ciascun vettore di output da j = 1 a m, l'input netto è:
# 6) La funzione di attivazione viene applicata sull'ingresso netto per ottenere un'uscita.
# 7) Ora, in base all'output, confronta il valore target desiderato (t) e l'output effettivo ed effettua le regolazioni del peso.
w è il vettore di peso dei collegamenti di connessione tra i-esimo input e j-esimo neurone di output et è l'output di destinazione per l'unità di output j.
# 8) Continua l'iterazione fino a quando non ci sono variazioni di peso. Fermati una volta raggiunta questa condizione.
Esempio di regola di apprendimento di Perceptron
Implementazione della funzione AND utilizzando una rete Perceptron per ingressi e uscite bipolari.
Il pattern di input sarà x1, x2 e bias b. Lascia che i pesi iniziali siano 0 e il bias sia 0. La soglia è impostata su zero e il tasso di apprendimento è 1.
AND Gate
X1 | X2 | Bersaglio |
---|---|---|
1 | 1 | 1 |
1 | -1 | -1 |
-1 | 1 | -1 |
-1 | -1 | -1 |
# 1) X1 = 1, X2 = 1 e output di destinazione = 1
W1 = w2 = wb = 0 e x1 = x2 = b = 1, t = 1
Input netto = y = b + x1 * w1 + x2 * w2 = 0 + 1 * 0 + 1 * 0 = 0
Poiché la soglia è zero quindi:
Da qui otteniamo output = 0. Ora controlla se output (y) = target (t).
y = 0 ma t = 1 il che significa che non sono uguali, quindi ha luogo l'aggiornamento del peso.
I nuovi pesi sono 1, 1 e 1 dopo la presentazione del primo vettore di input.
#Due) X1 = 1 X2 = -1, b = 1 e target = -1, W1 = 1, W2 = 2, Wb = 1
Input netto = y = b + x1 * w1 + x2 * w2 = 1 + 1 * 1 + (-1) * 1 = 1
L'output netto per input = 1 sarà 1 da:
Pertanto, ancora una volta, target = -1 non corrisponde all'output effettivo = 1. Vengono effettuati aggiornamenti del peso.
Ora i nuovi pesi sono w1 = 0 w2 = 2 e wb = 0
Allo stesso modo, continuando con la serie successiva di input, otteniamo la seguente tabella:
Ingresso | Bias | Bersaglio | Input netto | Output calcolato | Cambiamenti di peso | Nuovi pesi | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | t | yin | Y | ? w1 | ? w2 | ? b | W1 | W2 | wb |
EPOCH 1 | |||||||||||
1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | 1 | 1 | -1 | 1 | -1 | 0 | Due | 0 |
-1 | 1 | 1 | -1 | Due | 1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | -1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | 1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
Gli EPOCHS sono il ciclo di modelli di input inviati al sistema fino a quando non è richiesta alcuna variazione di peso e l'iterazione si interrompe.
Algoritmo di apprendimento Widrow Hoff
Conosciuto anche come Regola delta , segue la regola della discesa del gradiente per la regressione lineare.
Aggiorna i pesi della connessione con la differenza tra il valore di destinazione e il valore di output. È l'algoritmo di apprendimento quadratico minimo che rientra nella categoria dell'algoritmo di apprendimento supervisionato.
Questa regola è seguita da ADALINE (Adaptive Linear Neural Networks) e MADALINE. A differenza di Perceptron, le iterazioni delle reti Adaline non si arrestano, ma convergono riducendo l'errore quadratico minimo medio. MADALINE è una rete di più di un ADALINE.
Lo scopo della regola di apprendimento delta è ridurre al minimo l'errore tra l'uscita e il vettore di destinazione.
I pesi nelle reti ADALINE vengono aggiornati da:
Errore quadratico minimo = (t- ynel)Due, ADALINE converge quando viene raggiunto l'errore quadratico medio minimo.
Conclusione
In questo tutorial, abbiamo discusso i due algoritmi, ovvero Hebbian Learning Rule e Perceptron Learning Rule. La regola Hebbian si basa sulla regola che il vettore del peso aumenta proporzionalmente al segnale di input e di apprendimento, ovvero l'uscita. I pesi vengono incrementati aggiungendo il prodotto dell'input e dell'output al vecchio peso.
W (nuovo) = w (vecchio) + x * y
L'applicazione delle regole di Hebb risiede nei problemi di associazione, classificazione e categorizzazione dei modelli.
La regola di apprendimento Perceptron può essere applicata sia alla rete di classi di output singole che a quelle multiple. L'obiettivo della rete perceptron è classificare il modello di input in una particolare classe membro. I neuroni di input e il neurone di output sono collegati tramite collegamenti con pesi.
I pesi vengono regolati per abbinare l'uscita effettiva con il valore target. Il tasso di apprendimento è impostato da 0 a 1 e determina la scalabilità dei pesi.
I pesi vengono aggiornati in base a:
Oltre a queste regole di apprendimento, gli algoritmi di apprendimento automatico apprendono attraverso molti altri metodi, ad esempio supervisionato, non supervisionato, rinforzo. Alcuni degli altri algoritmi ML comuni sono Back Propagation, ART, Kohonen Self Organizing Maps, ecc.
Ci auguriamo che tutti i tutorial di questa serie di machine learning ti siano piaciuti !!
=> Visita qui per l'esclusiva serie di machine learning
Lettura consigliata
- Una guida completa alla rete neurale artificiale nell'apprendimento automatico
- Tipi di machine learning: apprendimento supervisionato e non supervisionato
- Data mining vs machine learning vs intelligenza artificiale vs deep learning
- Test di sicurezza di rete e migliori strumenti di sicurezza di rete
- 11 strumenti software di machine learning più popolari nel 2021
- Tutorial sull'apprendimento automatico: introduzione al machine learning e alle sue applicazioni
- I 15 migliori strumenti di scansione in rete (scanner di rete e IP) del 2021
- Primi 30 strumenti di test di rete (strumenti di diagnostica delle prestazioni di rete)