Denna djupgående handledning om regler för inlärning av neurala nätverk förklarar Hebbisk inlärning och Perceptrons inlärningsalgoritm med exempel:
I vår tidigare handledning diskuterade vi om Artificiellt Neuralt Nätverk, som är en arkitektur med ett stort antal sammankopplade element som kallas neuroner.
Dessa neuroner bearbetar den mottagna inmatningen för att ge den önskade utgången. Noderna eller neuronerna är sammankopplade genom ingångar, anslutningsvikter och aktiveringsfunktioner.
Den viktigaste egenskapen hos ett neuralt nätverk är dess förmåga till inlärning. De neurala nätverken tränar sig själva med hjälp av kända exempel. När nätverket tränas kan det användas för att lösa problemets okända värden.
=> Läs igenom den kompletta utbildningsserien om maskininlärning
De neurala nätverken lär sig genom olika inlärningsscheman som kategoriseras som övervakad eller oövervakad inlärning.
I övervakade inlärningsalgoritmer är målvärdena kända för nätverket. Det försöker minska felet mellan det önskade resultatet (målet) och det faktiska resultatet för optimal prestanda. I algoritmer för oövervakad inlärning är målvärdena okända och nätverket lär sig självt genom att identifiera de dolda mönstren i inmatningen genom att bilda kluster osv.
En ANN består av tre delar, dvs. inmatning, dolt skikt och utmatningsskikt. Det finns ett enda inmatningsskikt och ett enda utmatningsskikt medan det inte kan finnas något dolt skikt eller ett eller flera dolda skikt som kan finnas i nätverket. Baserat på denna struktur klassificeras ANN i ett enlagers-, flerskikts-, feed-forward- eller recurrent-nätverk.
- Viktig ANN-terminologi
- Komparation av inlärningsregler för neurala nätverk
- Klassificering av övervakade inlärningsalgoritmer
- #1) Gradient Descent Learning
- #2) Stokastisk inlärning
- Klassificering av algoritmer för oövervakad inlärning
- #1) Hebbisk inlärning
- #2) Konkurrensinlärning
- Mc Culloch-Pitts neuron
- Hebbisk inlärningsalgoritm
- Exempel på Hebbian Learning Rule
- Perceptroninlärningsalgoritm
- Exempel på Perceptrons inlärningsregel
- Widrow Hoff Learning Algorithm
- Slutsats
Viktig ANN-terminologi
Innan vi klassificerar de olika inlärningsreglerna i ANN, ska vi förstå några viktiga terminologier som är relaterade till ANN.
#1) Vikter: I en ANN är varje neuron ansluten till de andra neuronerna genom anslutningslänkar. Dessa länkar har en vikt. Vikten har information om ingångssignalen till neuronen. Vikterna och ingångssignalen används för att få fram en utgångssignal. Vikterna kan anges i form av en matris som också kallas för en anslutningsmatris.
Varje neuron är ansluten till varje annan neuron i nästa lager genom anslutningsvikter. Om det finns ”n” noder och varje nod har ”m” vikter blir viktmatrisen:
W1 representerar viktvektorn som börjar från nod 1. W11 representerar viktvektorn från den första noden i det föregående lagret till den första noden i nästa lager. På samma sätt representerar wij viktvektorn från det ”i:e” bearbetningselementet (neuron) till det ”j:e” bearbetningselementet i nästa lager.
#2) Förspänning: Förspänningen läggs till nätverket genom att lägga till ett inmatningselement x (b) = 1 i inmatningsvektorn. Bias har också en vikt som betecknas med w (b).
Bias spelar en viktig roll vid beräkningen av neuronens utgång. Förspänningen kan antingen vara positiv eller negativ. En positiv bias ökar nettoinmatningsvikten medan en negativ bias minskar nettoinmatningen.
#3) Tröskelvärde: Ett tröskelvärde används i aktiveringsfunktionen. Nettoinmatningen jämförs med tröskelvärdet för att få utmatningen. I NN definieras aktiveringsfunktionen utifrån tröskelvärdet och utgången beräknas.
Tröskelvärdet är:
#4) Inlärningshastighet: Den betecknas med alfa ? Inlärningsgraden varierar mellan 0 och 1. Den används för viktjustering under NN:s inlärningsprocess.
#5) Momentumfaktor: Den läggs till för snabbare konvergens av resultaten. Momentumfaktorn läggs till vikten och används i allmänhet i backpropagationsnätverk.
Komparation av inlärningsregler för neurala nätverk
Inlärningsmetoder.> | Gradient Descent | Hebbian | Competitive | Stochastic | ||
---|---|---|---|---|---|---|
Typ av arkitektur || |
||||||
Enkla lager Feedforward | ADALINE Hopfield Perceptron |
Associativ Memory Hopfield |
Linear Vector Quantization |
|||
Multilayer Feed Forward | Kaskad Korrelation Multilayer Feed Forward Radial Bias Function |
Neokognitron | ||||
Rekurrent | Rekurrent Neural Network |
Bidirektionell Auto Associativ Minne Hjärna- State- In-a- Box Hopfield |
Adaptive Resonance Theory |
Boltzmann Machine Cauchy Machine |
Klassificeringen av olika inlärningstyper av ANN visas nedan.
Klassificering av övervakade inlärningsalgoritmer
- Gradient Descent
- Stochastisk
#1) Gradient Descent Learning
I den här typen av inlärning sker felminskningen med hjälp av nätets vikter och aktiveringsfunktion. Aktiveringsfunktionen bör vara differentierbar.
Justeringen av vikterna beror på felgradienten E vid denna inlärning. Backpropagationsregeln är ett exempel på denna typ av inlärning. Således definieras viktjusteringen som
#2) Stokastisk inlärning
I denna inlärning justeras vikterna på ett probabilistiskt sätt.
Klassificering av algoritmer för oövervakad inlärning
- Hebbisk
- Kompetitiv
#1) Hebbisk inlärning
Denna inlärning föreslogs av Hebb 1949. Den bygger på korrelativ justering av vikter. Ingångs- och utgångsmönsterparen är förknippade med en viktmatris, W.
Transponeringen av utgångsmönstret används för viktjustering.
#2) Konkurrensinlärning
Det är en strategi där vinnaren tar allt. I denna typ av inlärning, när ett inmatningsmönster skickas till nätverket, konkurrerar alla neuronerna i lagret och endast de vinnande neuronerna får viktjusteringar.
Mc Culloch-Pitts neuron
Också känd som M-P neuron, är detta det tidigaste neurala nätverket som upptäcktes 1943. I den här modellen är neuronerna sammankopplade genom anslutningsvikter och aktiveringsfunktionen används binärt. Tröskelvärdet används för att avgöra om neuronen kommer att starta eller inte.
M-P-neuronens funktion är:
Hebbisk inlärningsalgoritm
Hebbiskt nätverk angavs av Donald Hebb 1949. Enligt Hebbs regel konstateras vikterna öka proportionellt till produkten av input och output. Det innebär att i ett Hebb-nätverk om två neuroner är sammankopplade kan de vikter som är kopplade till dessa neuroner ökas genom förändringar i det synaptiska gapet.
Detta nätverk är lämpligt för bipolära data. Den hebbiska inlärningsregeln tillämpas i allmänhet på logiska grindar.
Vikterna uppdateras på följande sätt:
W (new) = w (old) + x*y
Träningsalgoritm för den hebbiska inlärningsregeln
Träningsstegen i algoritmen är följande:
- Initialt sätts vikterna till noll, dvs.d.v.s. w =0 för alla ingångar i =1 till n och n är det totala antalet ingångsneuroner.
- Låt s vara utgången. Aktiveringsfunktionen för ingångarna ställs i allmänhet in som en identitetsfunktion.
- Aktiveringsfunktionen för utgången ställs också in till y= t.
- Viktjusteringarna och bias justeras till:
- Steg 2 till 4 upprepas för varje ingångsvektor och utgång.
Exempel på Hebbian Learning Rule
Låt oss implementera logisk AND-funktion med bipolära ingångar med hjälp av Hebbian Learning
X1 och X2 är ingångar, b är förspänningen som tas som 1, målvärdet är utgången av den logiska AND-operationen över ingångarna.
Input | Input | Bias | Target | |
---|---|---|---|---|
X1 | X2 | b | y | |
1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | |
-1 | 1 | 1 | -1 | |
-1 | -1 | 1 | -1 |
#1) Ursprungligen, vikterna till noll och bias till noll.
W1=w2=b=0
#2) Första inmatningsvektorn tas som = och målvärdet är 1.
De nya vikterna blir:
#3) Ovanstående vikter är de slutliga nya vikterna. När den andra inmatningen passerar blir dessa de ursprungliga vikterna.
#4) Ta den andra inmatningen = . Målet är -1.
#5) På samma sätt beräknas de andra inmatningarna och vikterna.
Tabellen nedan visar alla indata:
Hebbenät för AND-funktionen
Perceptroninlärningsalgoritm
Perceptronnät är feed-forward-nät med ett enda lager. De kallas också Single Perceptron Networks. Perceptronen består av ett ingångsskikt, ett dolt skikt och ett utgångsskikt.
Ingångsskiktet är kopplat till det dolda skiktet genom vikter som kan vara hämmande eller exciterande eller noll (-1, +1 eller 0). Aktiveringsfunktionen som används är en binär stegfunktion för inmatningslagret och det dolda lagret.
Utgången är
Y= f (y)
Aktiveringsfunktionen är:
Viktuppdateringen av vikterna sker mellan det dolda lagret och utmatningslagret för att matcha målutgången. Felet beräknas utifrån den faktiska utgången och den önskade utgången.
Om utgången matchar målet sker ingen viktuppdatering. Vikterna sätts initialt till 0 eller 1 och justeras successivt tills en optimal lösning har hittats.
Vikterna i nätverket kan initialt sättas till valfria värden. Perceptroninlärningen kommer att konvergera till en viktvektor som ger korrekt utdata för alla inmatningsmönster och denna inlärning sker i ett ändligt antal steg.
Perceptronregeln kan användas för både binära och bipolära inmatningar.
Läranderegel för Perceptron med enkel utgång
#1) Låt det finnas ”n” träningsingångsvektorer och x (n) och t (n) är förknippade med målvärdena.
#2) Initialisera vikterna och bias. Sätt dem till noll för enkel beräkning.
#3) Låt inlärningshastigheten vara 1.
#4) Ingångsskiktet har identisk aktiveringsfunktion så x (i)= s ( i).
#5) För att beräkna nätets utgång:
#6) Aktiveringsfunktionen appliceras över nätets ingång för att få en utgång.
#7) Baserat på utgången jämförs nu det önskade målvärdet (t) och den faktiska utgången.
#8) Fortsätt iterationen tills det inte sker någon viktförändring. Stanna när detta villkor har uppnåtts.
Läranderegel för Perceptron med flera utgångar
#1) Låt det finnas ”n” träningsingångsvektorer och x (n) och t (n) är förknippade med målvärdena.
#2) Initialisera vikterna och bias. Sätt dem till noll för enkel beräkning.
#3) Låt inlärningshastigheten vara 1.
#4) Ingångsskiktet har identisk aktiveringsfunktion 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 nätinmatningen följande:
#6) Aktiveringsfunktionen appliceras över nätinmatningen för att erhålla en utgång.
#7) Jämför nu utifrån utmatningen det önskade målvärdet (t) och den faktiska utmatningen och gör viktjusteringar.
w är viktvektorn för anslutningslänkarna mellan den i:e ingångs- och den j:e utmatningsneuronen och t är målutmatningen för utmatningsenheten j.
#8) Fortsätt iterationen tills det inte sker någon viktförändring. Stanna när detta villkor är uppnått.
Exempel på Perceptrons inlärningsregel
Implementering av AND-funktionen med hjälp av ett Perceptronnätverk för bipolära ingångar och utgångar.
Inmatningsmönstret blir x1, x2 och bias b. Låt de initiala vikterna vara 0 och bias vara 0. Tröskelvärdet är inställt på noll och inlärningshastigheten är 1.
AND Gate
X1 | X2 | Mål |
---|---|---|
1 | 1 | 1 |
1 | -1 | -1 |
-1 | 1 | -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
Nätinmatning= y =b + x1*w1+x2*w2 = 0+1*0 +1*0 =0
Då tröskelvärdet är noll, är därför:
Från detta får vi utgången = 0. Kontrollera nu om utdata (y) = mål (t).
y = 0 men t= 1 vilket innebär att dessa inte är samma, därför sker viktuppdatering.
De nya vikterna är 1, 1 och 1 efter att den första inmatningsvektorn har presenterats.
#2) X1= 1 X2= -1 , b= 1 och mål = -1, W1=1 ,W2=2, Wb=1
Nettoinmatning= y =b + x1*w1+x2*w2 = 1+1*1 + (-1)*1 =1
Nettoutputet för input= 1 kommer att bli 1 från:
Därmed stämmer återigen mål = -1 inte överens med det faktiska resultatet =1. Viktuppdateringar äger rum:
Nu är de nya vikterna w1 = 0 w2 =2 och wb =0
Samma sak genom att fortsätta med nästa uppsättning indata får vi följande tabell:
EPOCHS är cykeln av inmatningsmönster som matas in i systemet tills det inte krävs någon viktändring och iterationen upphör.
Widrow Hoff Learning Algorithm
Också känd som Delta Rule, den följer gradient descent rule för linjär regression.
Den uppdaterar anslutningsvikterna med skillnaden mellan mål- och utgångsvärdet. Det är en inlärningsalgoritm för minsta medelvärde i kvadrat som faller under kategorin övervakad inlärningsalgoritm.
Denna regel följs av ADALINE (Adaptive Linear Neural Networks) och MADALINE. Till skillnad från Perceptron slutar inte iterationerna i Adaline-nätverken, utan konvergerar genom att minska det minsta medelkvadratfelet. MADALINE är ett nätverk av mer än en ADALINE.
Motivet för deltainlärningsregeln är att minimera felet mellan utgången och målvektorn.
Vikterna i ADALINE-nätverken uppdateras genom:
Minsta medelkvadratfel = (t- yin)2, ADALINE konvergerar när det minsta medelkvadratfelet är uppnått.
Slutsats
I den här handledningen har vi diskuterat de två algoritmerna, det vill säga den hebbiska inlärningsregeln och perceptrons inlärningsregel. Den hebbiska regeln bygger på regeln att viktvektorn ökar proportionellt mot inmatningen och inlärningssignalen dvs. utgången. Vikterna ökas genom att produkten av input och output läggs till den gamla vikten.
W (new) = w (old) +x*y
Hebb-reglerna tillämpas på problem med mönsterassociation, klassificering och kategorisering.
Perceptroninlärningsregeln kan tillämpas på nätverk med både en enda output och flera outputklasser. Målet med perceptronnätet är att klassificera inmatningsmönstret i en viss medlemsklass. Ingångsneuronerna och utgångsneuronerna är kopplade genom länkar med vikter.
Vikterna justeras för att matcha den faktiska utgången med målvärdet. Inlärningshastigheten är inställd från 0 till 1 och bestämmer vikternas skalbarhet.
Vikterna uppdateras enligt:
Avstånd från dessa inlärningsregler lär sig maskininlärningsalgoritmer genom många andra metoder, t.ex. övervakad, oövervakad och 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 handledningar från denna serie om maskininlärning!
=> Besök här för den exklusiva serien om maskininlärning