neural network learning rules perceptron hebbian learning
Denna djupgående handledning om neurologiska nätverksinlärningsregler förklarar hebbisk inlärning och algoritm för Perceptron Learning med exempel:
I vår tidigare handledning diskuterade vi om Artificiellt neuralt nätverk vilket är en arkitektur av ett stort antal sammankopplade element som kallas neuroner.
Dessa nervceller bearbetar den mottagna ingången för att ge önskad effekt. Noder eller nervceller är länkade med ingångar, anslutningsvikter och aktiveringsfunktioner.
Huvudegenskapen för ett neuralt nätverk är dess förmåga att lära sig. Neurala nätverk tränar sig med kända exempel. När nätverket blir utbildat kan det användas för att lösa de okända värdena på problemet.
=> Läs igenom hela serien för maskininlärning
Neural Network lär sig genom olika inlärningsscheman som kategoriseras som övervakat eller övervakat lärande.
I övervakade inlärningsalgoritmer är målvärdena kända för nätverket. Den försöker minska felet mellan önskad utgång (mål) och den faktiska utgången för optimal prestanda. I icke-övervakade inlärningsalgoritmer är målvärdena okända och nätverket lär sig av sig själv genom att identifiera de dolda mönstren i ingången genom att bilda kluster etc.
Ett ANN består av 3 delar, dvs. ingång, dolt lager och utgångsskikt. Det finns ett enda inmatningsskikt och utdatalager medan det kanske inte finns något dolt lager eller 1 eller flera dolda lager som kan finnas i nätverket. Baserat på denna struktur klassificeras ANN i ett enda lager-, flerskikts-, feed-forward- eller återkommande nätverk.
Vad du kommer att lära dig:
- Viktigt ANN-terminologi
- Jämförelse av inlärningsregler för neuralt nätverk
- Slutsats
Viktigt ANN-terminologi
Innan vi klassificerar de olika inlärningsreglerna i ANN, låt oss förstå några viktiga terminologier relaterade till ANN.
# 1) vikter: I ett ANN är varje neuron ansluten till de andra nervcellerna via anslutningslänkar. Dessa länkar har en vikt. Vikten har information om insignalen till neuronet. Vikten och insignalen används för att få en utgång. Vikten kan betecknas i en matrisform som också kallas en anslutningsmatris.
Varje neuron är ansluten till alla andra neuroner i nästa lager genom anslutningsvikter. Följaktligen, om det finns 'n' -noder och varje nod har 'm' -vikter, kommer viktmatrisen att vara:
W1 representerar viktvektorn med början från nod 1. W11 representerar viktvektorn från 1stnoden i föregående skikt till 1stnoden i nästa lager. På samma sätt representerar vi viktvektorn från 'ith' -behandlingselementet (neuron) till 'jth' -behandlingselementet i nästa lager.
# 2) Bias : Bias läggs till nätverket genom att lägga till ett ingångselement x (b) = 1 i ingångsvektorn. Bias bär också en vikt betecknad med w (b).
Bias spelar en viktig roll vid beräkning av neuronets produktion. Bias kan antingen vara positiv eller negativ. En positiv förspänning ökar nettoingångsvikten medan den negativa förspänningen minskar nettoinmatningen.
hur man använder en kö i java
# 3) Tröskelvärde: Ett tröskelvärde används i aktiveringsfunktionen. Nettoutgången jämförs med tröskeln för att få utmatningen. I NN definieras aktiveringsfunktionen baserat på tröskelvärdet och utdata beräknas.
Tröskelvärdet är:
# 4) Inlärningshastighet : Det betecknas med alfa?. Inlärningshastigheten varierar från 0 till 1. Den används för viktjustering under inlärningsprocessen för NN.
# 5) Momentum Factor : Det läggs till för snabbare konvergens av resultat. Momentfaktorn läggs till vikten och används vanligtvis i backpropagation-nätverk.
Jämförelse av inlärningsregler för neuralt nätverk
Inlärningsmetoder -> | Gradient Nedstigning | Hebbiska | Konkurrenskraftig | Stokastisk | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
EPOCH 2 | |||||||||||
Typ av arkitektur || | |||||||||||
Single Layer Feedforward | ADALINE Hopfield Perceptron | Associativ Minne Hopfield | Linjär vektor Kvantisering | ||||||||
Flerskiktsmatning framåt | Kaskad Korrelation Flerskiktsflöde Fram Radiell förspänning Fungera | Neokognitron | |||||||||
Återkommande | Återkommande neurala Nätverk | Dubbelriktad Auto Associativ Minne Hjärna-tillstånd-i-en-låda Hopfield | Anpassningsbar Resonansteori | Boltzmann Maskin Cauchy Maskin |
Klassificeringen av olika inlärningstyper av ANN visas nedan.
Klassificering av övervakade inlärningsalgoritmer
- Gradient Nedstigning
- Stokastisk
# 1) Gradient Descent Learning
I denna typ av inlärning sker felreduceringen med hjälp av vikter och aktiveringsfunktionen i nätverket. Aktiveringsfunktionen bör vara differentierbar.
Justering av vikter beror på felgradienten E i denna inlärning. Backpropagation-regeln är ett exempel på denna typ av inlärning. Således definieras viktjusteringen som
# 2) Stokastiskt lärande
I detta lärande justeras vikterna på ett probabilistiskt sätt.
Klassificering av algoritmer utan inlärning utan tillsyn
- Hebbiska
- Konkurrenskraftig
# 1) Hebbiskt lärande
Detta lärande föreslogs av Hebb 1949. Det bygger på korrelativ justering av vikter. Inmatnings- och utgångsmönsterparen är associerade med en viktmatris, W.
Transponeringen av utgången tas för viktjustering.
# 2) Konkurrenskraftigt lärande
Det är en vinnare som tar all strategi. I denna typ av inlärning, när ett inmatningsmönster skickas till nätverket, tävlar alla nervceller i skiktet och endast de vinnande neuronerna har viktjusteringar.
Mc Culloch-Pitts Neuron
Även känt som M-P Neuron, detta är det tidigaste neurala nätverket som upptäcktes 1943. I den här modellen är neuronerna anslutna med anslutningsvikter och aktiveringsfunktionen används i binär. Tröskeln används för att avgöra om neuronen ska avfyras eller inte.
Funktionen hos M-P-neuronen är:
Hebbian Learning Algorithm
Hebb Network uttalades av Donald Hebb 1949. Enligt Hebbs regel befunnits vikterna öka proportionellt mot produkten av input och output. Det betyder att i ett Hebb-nätverk om två neuroner är sammankopplade, kan vikterna i samband med dessa neuroner ökas genom förändringar i det synaptiska gapet.
Detta nätverk är lämpligt för bipolär data. Den hebbiska inlärningsregeln tillämpas vanligtvis på logiska grindar.
Vikterna uppdateras som:
W (ny) = w (gammal) + x * y
Träningsalgoritm för hebbisk inlärningsregel
Träningsstegen i algoritmen är som följer:
- Ursprungligen sätts vikterna till noll, dvs w = 0 för alla ingångar i = 1 till n och n är det totala antalet inmatade neuroner.
- Låt oss vara resultatet. Aktiveringsfunktionen för ingångar ställs vanligtvis in som en identitetsfunktion.
- Aktiveringsfunktionen för utgång är också inställd på y = t.
- Viktjusteringarna och förspänningen justeras till:
- Stegen 2 till 4 upprepas för varje inmatningsvektor och utmatning.
Exempel på hebbisk inlärningsregel
Låt oss implementera logisk OCH-funktion med bipolära ingångar med Hebbian Learning
X1 och X2 är ingångar, b är förspänningen som 1, målvärdet är utsignalen från logisk OCH-drift över ingångar.
Inmatning | Inmatning | Partiskhet | Mål |
---|---|---|---|
X1 | X2 | b | Y |
ett | ett | ett | ett |
ett | -1 | ett | -1 |
-1 | ett | ett | -1 |
-1 | -1 | ett | -1 |
# 1) Ursprungligen är vikterna inställda på noll och förspänning är också satt till noll.
W1 = w2 = b = 0
#två) Första inmatningsvektorn tas som (x1 x2 b) = (1 1 1) och målvärdet är 1.
De nya vikterna kommer att vara:
# 3) Ovanstående vikter är de sista nya vikterna. När den andra ingången passeras blir dessa de initiala vikterna.
# 4) Ta den andra ingången = (1 -1 1). Målet är -1.
# 5) På samma sätt beräknas de andra ingångarna och vikterna.
Tabellen nedan visar alla inmatningar:
Ingångar | Partiskhet | Målutgång | Viktförändringar | Biasförändringar | Nya vikter | ||||
---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | Y | ? w1 | ? w2 | ? b | W1 | W2 | b |
ett | ett | ett | ett | ett | ett | ett | ett | ett | ett |
ett | -1 | ett | -1 | -1 | ett | -1 | 0 | två | 0 |
-1 | ett | ett | -1 | ett | -1 | -1 | ett | ett | -1 |
-1 | -1 | ett | -1 | ett | ett | -1 | två | två | -2 |
Hebb Net för AND-funktion
Perceptron Learning Algorithm
Perceptron Networks är ett-skikts feed-forward-nätverk. Dessa kallas också Single Perceptron Networks. Perceptron består av ett inmatningsskikt, ett dolt lager och utgående lager.
Inmatningsskiktet är anslutet till det dolda lagret genom vikter som kan vara hämmande eller exciterande eller noll (-1, +1 eller 0). Den aktiveringsfunktion som används är en binär stegfunktion för inmatningsskiktet och det dolda lagret.
Utgången är
Y = f (y)
Aktiveringsfunktionen är:
Viktuppdateringen sker mellan det dolda lagret och det utgående lagret för att matcha målutmatningen. Felet beräknas baserat på den faktiska utgången och den önskade utgången.
Om utgången matchar målet sker ingen viktuppdatering. Vikten sätts initialt till 0 eller 1 och justeras successivt tills en optimal lösning hittas.
Vikten i nätverket kan ställas in till valfria värden från början. Perceptron-inlärningen konvergerar till viktvektorn som ger korrekt effekt för alla inmatningsövningar och detta lärande sker i ett begränsat antal steg.
Perceptron-regeln kan användas för både binära och bipolära ingångar.
Inlärningsregel för Perceptron för enstaka utdata
# 1) Låt det finnas 'n' träningsingångsvektorer och x (n) och t (n) är associerade med målvärdena.
#två) Initiera vikterna och förspänningen. Ställ in dem på noll för enkel beräkning.
# 3) Låt inlärningshastigheten vara 1.
# 4) Ingångsskiktet har identitetsaktiveringsfunktion så x (i) = s (i).
# 5) Så här beräknar du nätverkets resultat:
# 6) Aktiveringsfunktionen tillämpas över nätingången för att erhålla en utgång.
# 7) Basera nu på utdata, jämför det önskade målvärdet (t) och den faktiska utgången.
# 8) Fortsätt iterationen tills det inte finns någon viktförändring. Stoppa när detta tillstånd har uppnåtts.
Inlärningsregel för Perceptron för flera utdata
# 1) Låt det finnas 'n' träningsingångsvektorer och x (n) och t (n) är associerade med målvärdena.
#två) Initiera vikterna och förspänningen. Ställ in dem på noll för enkel beräkning.
# 3) Låt inlärningshastigheten vara 1.
# 4) Ingångsskiktet har identitetsaktiveringsfunktion så x (i) = s (i).
# 5) För att beräkna utgången för varje utgångsvektor från j = 1 till m är nettoingången:
# 6) Aktiveringsfunktionen tillämpas över nätingången för att erhålla en utgång.
# 7) Basera nu på utdata, jämför det önskade målvärdet (t) och den faktiska effekten och gör viktjusteringar.
w är viktvektorn för anslutningsförbindelserna mellan ith-ingång och jth-utgångsneuron och t är målutgången för utgångsenheten j.
# 8) Fortsätt iterationen tills det inte finns någon viktförändring. Stoppa när detta tillstånd har uppnåtts.
Exempel på Perceptron Learning Rule
Implementering av OCH-funktionen med hjälp av ett Perceptron-nätverk för bipolära in- och utgångar.
Ingångsmönstret blir x1, x2 och bias b. Låt initialvikterna vara 0 och bias vara 0. Tröskeln är satt till noll och inlärningshastigheten är 1.
OCH Gate
X1 | X2 | Mål |
---|---|---|
ett | ett | ett |
ett | -1 | -1 |
-1 | ett | -1 |
-1 | -1 | -1 |
# 1) X1 = 1, X2 = 1 och målutgång = 1
W1 = w2 = wb = 0 och x1 = x2 = b = 1, t = 1
Nettoingång = y = b + x1 * w1 + x2 * w2 = 0 + 1 * 0 + 1 * 0 = 0
Eftersom tröskeln är noll därför:
Härifrån får vi, output = 0. Kontrollera nu om output (y) = target (t).
y = 0 men t = 1 vilket betyder att dessa inte är desamma, därför görs viktuppdatering.
De nya vikterna är 1, 1 och 1 efter att den första inmatningsvektorn presenterats.
#två) X1 = 1 X2 = -1, b = 1 och mål = -1, W1 = 1, W2 = 2, Wb = 1
Nettoingång = y = b + x1 * w1 + x2 * w2 = 1 + 1 * 1 + (-1) * 1 = 1
Nettoutgången för ingång = 1 blir 1 från:
Därför matchar målet = -1 inte med den faktiska utgången = 1. Viktuppdateringar äger rum.
Nu är nya vikter w1 = 0 w2 = 2 och wb = 0
På samma sätt får vi följande tabell genom att fortsätta med nästa uppsättning ingångar:
Inmatning | Partiskhet | Mål | Nettoingång | Beräknad produktion | Viktförändringar | Nya vikter | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | t | yin | Y | ? w1 | ? w2 | ? b | W1 | W2 | wb |
EPOCH 1 | |||||||||||
ett | ett | ett | ett | 0 | 0 | ett | ett | ett | ett | ett | ett |
ett | -1 | ett | -1 | ett | ett | -1 | ett | -1 | 0 | två | 0 |
-1 | ett | ett | -1 | två | ett | ett | -1 | -1 | ett | ett | -1 |
-1 | -1 | ett | -1 | -3 | -1 | 0 | 0 | 0 | ett | ett | -1 |
ett | ett | ett | ett | ett | ett | 0 | 0 | 0 | ett | ett | -1 |
ett | -1 | ett | -1 | -1 | -1 | 0 | 0 | 0 | ett | ett | -1 |
-1 | ett | ett | -1 | -1 | -1 | 0 | 0 | 0 | ett | ett | -1 |
-1 | -1 | ett | -1 | -3 | -1 | 0 | 0 | 0 | ett | ett | -1 |
EPOCHS är cykeln för inmatningsmönster som matas till systemet tills det inte krävs någon viktförändring och iterationen stoppar.
hur man gör webbläsartestning
Widrow Hoff Learning Algorithm
Också känd som Delta-regeln , det följer gradientnedstigningsregeln för linjär regression.
Den uppdaterar anslutningsvikterna med skillnaden mellan målet och utgångsvärdet. Det är den minst genomsnittliga fyrkantiga inlärningsalgoritmen som faller under kategorin för den övervakade inlärningsalgoritmen.
Denna regel följs av ADALINE (Adaptive Linear Neural Networks) och MADALINE. Till skillnad från Perceptron slutar inte italierna av Adaline-nätverk utan konvergerar genom att minska det minst genomsnittliga kvadratfelet. MADALINE är ett nätverk av mer än en ADALINE.
Motivet med delta-inlärningsregeln är att minimera felet mellan utdata och målvektor.
Vikten i ADALINE-nätverk uppdateras av:
Minsta medelkvadratfel = (t- yi)två, ADALINE konvergerar när det minsta medelkvadratfelet uppnås.
Slutsats
I denna handledning har vi diskuterat de två algoritmerna, dvs. Hebbian Learning Rule och Perceptron Learning Rule. Hebbiska regeln baseras på regeln att viktvektorn ökar proportionellt mot ingångs- och inlärningssignalen, dvs. utgången. Vikten ökas genom att lägga till produkten från in- och utgången till den gamla vikten.
W (ny) = w (gammal) + x * y
Tillämpningen av Hebb-regler ligger i mönsterassociation, klassificering och kategoriseringsproblem.
Perceptron-inlärningsregeln kan tillämpas på både enstaka utdata och flera utgångsklassers nätverk. Målet med perceptron-nätverket är att klassificera inmatningsmönstret i en viss medlemsklass. Ingångsneuronerna och utgångsneuronerna är anslutna via länkar med vikter.
Vikten justeras för att matcha den faktiska effekten med målvärdet. Inlärningshastigheten ställs in från 0 till 1 och bestämmer skalbarheten för vikter.
Vikterna uppdateras enligt:
Bortsett från dessa inlärningsregler lär sig maskininlärningsalgoritmer genom många andra metoder, dvs övervakad, utan tillsyn, förstärkning. Några av de andra vanliga ML-algoritmerna är Back Propagation, ART, Kohonen Self Organizing Maps, etc.
Vi hoppas att du gillade alla tutorials från denna maskininlärningsserie !!
=> Besök här för den exklusiva maskininlärningsserien
Rekommenderad läsning
- En komplett guide till artificiellt neuralt nätverk inom maskininlärning
- Typer av maskininlärning: Övervakad vs Övervakad inlärning
- Data Mining Vs Machine Learning Vs Artificial Intelligence Vs Deep Learning
- Testning av nätverkssäkerhet och bästa verktyg för nätverkssäkerhet
- 11 mest populära maskininlärningsverktyg 2021
- Maskininlärningshandledning: Introduktion till ML och dess tillämpningar
- 15 bästa verktyg för nätverksskanning (nätverks- och IP-skanner) 2021
- Topp 30 Network Testing Tools (Network Performance Diagnostic Tools)