neural network learning rules perceptron hebbian learning
Denne dybdegående tutorial om neurale netværkslæringsregler forklarer hebbisk læring og perceptron læringsalgoritme med eksempler:
I vores tidligere tutorial diskuterede vi om Kunstigt neuralt netværk som er en arkitektur af et stort antal sammenkoblede elementer kaldet neuroner.
Disse neuroner behandler det modtagne input for at give det ønskede output. Knudepunkterne eller neuronerne er forbundet med input, forbindelsesvægte og aktiveringsfunktioner.
Det vigtigste kendetegn ved et neuralt netværk er dets evne til at lære. De neurale netværk træner sig med kendte eksempler. Når netværket bliver uddannet, kan det bruges til at løse de ukendte værdier af problemet.
=> Læs gennem den komplette maskinlæringstræningsserie
Neural Network lærer gennem forskellige læringsordninger, der er kategoriseret som overvåget eller ikke-overvåget læring.
I overvågede læringsalgoritmer er målværdierne kendt af netværket. Det forsøger at reducere fejlen mellem det ønskede output (mål) og det faktiske output for optimal ydeevne. I ikke-overvågede læringsalgoritmer er målværdierne ukendte, og netværket lærer af sig selv ved at identificere de skjulte mønstre i input ved at danne klynger osv.
Et ANN består af 3 dele, dvs. input, skjult lag og outputlag. Der er et enkelt inputlag og outputlag, mens der muligvis ikke er noget skjult lag eller 1 eller flere skjulte lag, der kan være til stede i netværket. Baseret på denne struktur er ANN klassificeret i et enkelt lag, multilayer, feed-forward eller tilbagevendende netværk.
Hvad du lærer:
- Vigtig ANN-terminologi
- Sammenligning af neurale netværks læringsregler
- Konklusion
Vigtig ANN-terminologi
Før vi klassificerer de forskellige læringsregler i ANN, lad os forstå nogle vigtige terminologier relateret til ANN.
# 1) Vægte: I et ANN er hver neuron forbundet med de andre neuroner via forbindelseslink. Disse links har en vægt. Vægten har information om indgangssignalet til neuronen. Vægtene og indgangssignalet bruges til at få et output. Vægtene kan betegnes i en matrixform, der også kaldes en forbindelsesmatrix.
Hver neuron er forbundet til hver anden neuron i det næste lag gennem forbindelsesvægte. Derfor, hvis der er 'n' noder, og hver node har 'm' vægte, så vil vægtmatrixen være:
W1 repræsenterer vægtvektoren startende fra node 1. W11 repræsenterer vægtvektoren fra 1St.knudepunkt for det foregående lag til 1St.knudepunkt for det næste lag. Tilsvarende repræsenterer wij vægtvektoren fra 'ith' -behandlingselementet (neuron) til 'jth' -behandlingselementet i det næste lag.
# 2) Bias : Bias tilføjes til netværket ved at tilføje et inputelement x (b) = 1 i inputvektoren. Bias har også en vægt betegnet med w (b).
Bias spiller en vigtig rolle i beregningen af neuronets output. Bias kan enten være positiv eller negativ. En positiv bias øger nettoindgangsvægten, mens den negative bias reducerer nettoindgangen.
# 3) Tærskel: Der anvendes en tærskelværdi i aktiveringsfunktionen. Nettoudgangen sammenlignes med tærsklen for at få output. I NN defineres aktiveringsfunktionen ud fra tærskelværdien, og output beregnes.
Tærskelværdien er:
# 4) Læringsgrad : Det er betegnet med alfa?. Læringsgraden varierer fra 0 til 1. Den bruges til vægtjustering under læringsprocessen for NN.
# 5) Momentum Factor : Det tilføjes for hurtigere konvergens af resultater. Momentfaktoren føjes til vægten og bruges generelt i backpropagation-netværk.
Sammenligning af neurale netværks læringsregler
Læringsmetoder -> | Gradient Nedstigning | Hebbisk | Konkurrencedygtig | Stokastisk | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
EPOCH 2 | |||||||||||
Arkitekturtype || | |||||||||||
Single Layer Feedforward | ADALINE Hopfield Perceptron | Associativ Hukommelse Hopfield | Lineær vektor Kvantisering | ||||||||
Multilayer-feed fremad | Kaskade Korrelation Multilayer-feed Frem Radial bias Fungere | Neocognitron | |||||||||
Tilbagevendende | Tilbagevendende neurale Netværk | Tovejs automatisk Associativ Hukommelse Hjernestatus - i en boks Hopfield | Fleksibel Resonansteori | Boltzmann Maskine Cauchy Maskine |
Klassificeringen af forskellige læringstyper af ANN er vist nedenfor.
Klassificering af overvågede læringsalgoritmer
- Gradient Nedstigning
- Stokastisk
# 1) Gradient Descent Learning
I denne type læring finder fejlreduktionen sted ved hjælp af vægte og aktiveringsfunktionen af netværket. Aktiveringsfunktionen skal kunne differentieres.
Justeringen af vægte afhænger af fejlgradienten E i denne indlæring. Backpropagation-reglen er et eksempel på denne type læring. Vægtjusteringen er således defineret som
# 2) Stokastisk læring
I denne indlæring justeres vægtene på en sandsynlig måde.
Klassificering af ikke-overvågede læringsalgoritmer
- Hebbisk
- Konkurrencedygtig
# 1) Hebbisk læring
Denne læring blev foreslået af Hebb i 1949. Den er baseret på korrelativ justering af vægte. Indgangs- og outputmønsterparret er forbundet med en vægtmatrix, W.
Transponeringen af output tages til vægtjustering.
# 2) Konkurrencedygtig læring
Det er en vinder, der tager al strategi. I denne type læring, når et inputmønster sendes til netværket, konkurrerer alle neuroner i laget, og kun de vindende neuroner har vægtjusteringer.
Mc Culloch-Pitts Neuron
Også kendt som MP Neuron, dette er det tidligste neurale netværk, der blev opdaget i 1943. I denne model er neuronerne forbundet med forbindelsesvægte, og aktiveringsfunktionen bruges i binær. Tærsklen bruges til at bestemme, om neuronen vil affyre eller ej.
Funktionen af MP neuron er:
Hebbisk læringsalgoritme
Hebb-netværk blev udtalt af Donald Hebb i 1949. I henhold til Hebbs regel viser det sig, at vægtene stiger forholdsmæssigt med produktet af input og output. Det betyder, at i et Hebb-netværk, hvis to neuroner er sammenkoblet, kan vægten forbundet med disse neuroner øges ved ændringer i det synaptiske hul.
Dette netværk er velegnet til bipolære data. Den hebbiske læringsregel anvendes generelt til logiske porte.
Vægtene opdateres som:
W (ny) = w (gammel) + x * y
Træningsalgoritme til hebbisk læringsregel
Træningstrinnene i algoritmen er som følger:
- Oprindeligt blev vægtene indstillet til nul, dvs. w = 0 for alle indgange i = 1 til n, og n er det samlede antal inputneuroner.
- Lad os være output. Aktiveringsfunktionen for input er generelt indstillet som en identitetsfunktion.
- Aktiveringsfunktionen for output er også indstillet til y = t.
- Vægtjusteringerne og bias justeres til:
- Trin 2 til 4 gentages for hver inputvektor og output.
Eksempel på hebbisk læringsregel
Lad os implementere logisk OG-funktion med bipolære input ved hjælp af Hebbian Learning
X1 og X2 er input, b er bias taget som 1, målværdien er output fra logisk OG-drift over input.
Indgang | Indgang | Partiskhed | Mål |
---|---|---|---|
X1 | X2 | b | Y |
en | en | en | en |
en | -1 | en | -1 |
-1 | en | en | -1 |
-1 | -1 | en | -1 |
# 1) Oprindeligt er vægtene indstillet til nul, og bias er også indstillet til nul.
W1 = w2 = b = 0
#to) Første inputvektor tages som (x1 x2 b) = (1 1 1), og målværdien er 1.
De nye vægte vil være:
# 3) Ovennævnte vægte er de endelige nye vægte. Når det andet input sendes, bliver disse de første vægte.
# 4) Tag det andet input = (1 -1 1). Målet er -1.
# 5) Tilsvarende beregnes de andre input og vægte.
Tabellen nedenfor viser alle input:
Indgange | Partiskhed | Måloutput | Vægtændringer | Biasændringer | Nye vægte | ||||
---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | Y | ? w1 | ? w2 | ? b | W1 | W2 | b |
en | en | en | en | en | en | en | en | en | en |
en | -1 | en | -1 | -1 | en | -1 | 0 | to | 0 |
-1 | en | en | -1 | en | -1 | -1 | en | en | -1 |
-1 | -1 | en | -1 | en | en | -1 | to | to | -2 |
Hebb Net til OG-funktion
Perceptron læringsalgoritme
Perceptron Networks er enkeltlags feed-forward-netværk. Disse kaldes også Single Perceptron Networks. Perceptron består af et inputlag, et skjult lag og outputlag.
Indgangslaget er forbundet til det skjulte lag gennem vægte, der kan være hæmmende eller exciterende eller nul (-1, +1 eller 0). Den anvendte aktiveringsfunktion er en binær trinfunktion for inputlaget og det skjulte lag.
Outputtet er
tilføj et element til en array-java
Y = f (y)
Aktiveringsfunktionen er:
Vægtopdateringen finder sted mellem det skjulte lag og outputlaget for at matche måloutputtet. Fejlen beregnes ud fra den faktiske output og den ønskede output.
Hvis output matcher målet, finder der ingen vægtopdatering sted. Vægtene indstilles oprindeligt til 0 eller 1 og justeres successivt, indtil der findes en optimal løsning.
Vægtene i netværket kan indstilles til alle værdier i starten. Perceptron-læringen konvergerer til vægtvektoren, der giver korrekt output for alle input-træningsmønstre, og denne læring sker i et endeligt antal trin.
Perceptron-reglen kan bruges til både binære og bipolære input.
Læringsregel for perceptron med enkelt output
# 1) Lad der være 'n' træningsinputvektorer, og x (n) og t (n) er knyttet til målværdierne.
#to) Initialiser vægten og bias. Sæt dem til nul for nem beregning.
# 3) Lad læringshastigheden være 1.
# 4) Inputlaget har identitetsaktiveringsfunktion, så x (i) = s (i).
# 5) Sådan beregnes output fra netværket:
# 6) Aktiveringsfunktionen anvendes over nettoindgangen for at opnå en output.
# 7) Baseret på output, sammenlign nu den ønskede målværdi (t) og den faktiske output.
# 8) Fortsæt iterationen, indtil der ikke er nogen vægtændring. Stop, når denne betingelse er nået.
Læringsregel for flere output perceptron
# 1) Lad der være 'n' træningsinputvektorer, og x (n) og t (n) er knyttet til målværdierne.
#to) Initialiser vægten og bias. Sæt dem til nul for nem beregning.
# 3) Lad læringshastigheden være 1.
# 4) Inputlaget har identitetsaktiveringsfunktion, så x (i) = s (i).
# 5) For at beregne output for hver outputvektor fra j = 1 til m er nettoindgangen:
hvordan man åbner SWF-filer med Adobe Flash Player
# 6) Aktiveringsfunktionen anvendes over nettoindgangen for at opnå en output.
# 7) Baseret på output, sammenlign nu den ønskede målværdi (t) og den faktiske output, og foretag vægtjusteringer.
w er vægtvektoren for forbindelsesforbindelserne mellem ith input og jth output neuron og t er target output for outputenheden j.
# 8) Fortsæt iterationen, indtil der ikke er nogen vægtændring. Stop, når denne betingelse er nået.
Eksempel på Perceptron-læringsregel
Implementering af AND-funktionen ved hjælp af et Perceptron-netværk til bipolære input og output.
Inputmønsteret vil være x1, x2 og bias b. Lad de oprindelige vægte være 0 og bias være 0. Tærsklen er sat til nul, og indlæringshastigheden er 1.
OG port
X1 | X2 | Mål |
---|---|---|
en | en | en |
en | -1 | -1 |
-1 | en | -1 |
-1 | -1 | -1 |
# 1) X1 = 1, X2 = 1 og måloutput = 1
W1 = w2 = wb = 0 og x1 = x2 = b = 1, t = 1
Nettoindgang = y = b + x1 * w1 + x2 * w2 = 0 + 1 * 0 + 1 * 0 = 0
Da tærsklen er nul derfor:
Herfra får vi output = 0. Kontroller nu, om output (y) = mål (t).
y = 0, men t = 1, hvilket betyder, at disse ikke er ens, derfor finder vægtopdatering sted.
De nye vægte er 1, 1 og 1, efter at den første inputvektor er præsenteret.
#to) X1 = 1 X2 = -1, b = 1 og mål = -1, W1 = 1, W2 = 2, Wb = 1
Nettoindgang = y = b + x1 * w1 + x2 * w2 = 1 + 1 * 1 + (-1) * 1 = 1
Nettoudgangen for input = 1 vil være 1 fra:
Derfor stemmer mål = -1 ikke overens med den faktiske output = 1. Vægtopdateringer finder sted.
Nu er nye vægte w1 = 0 w2 = 2 og wb = 0
På samme måde får vi følgende tabel ved at fortsætte med det næste sæt indgange:
Indgang | Partiskhed | Mål | Nettoindgang | Beregnet output | Vægtændringer | Nye vægte | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | t | yin | Y | ? w1 | ? w2 | ? b | W1 | W2 | wb |
EPOCH 1 | |||||||||||
en | en | en | en | 0 | 0 | en | en | en | en | en | en |
en | -1 | en | -1 | en | en | -1 | en | -1 | 0 | to | 0 |
-1 | en | en | -1 | to | en | en | -1 | -1 | en | en | -1 |
-1 | -1 | en | -1 | -3 | -1 | 0 | 0 | 0 | en | en | -1 |
en | en | en | en | en | en | 0 | 0 | 0 | en | en | -1 |
en | -1 | en | -1 | -1 | -1 | 0 | 0 | 0 | en | en | -1 |
-1 | en | en | -1 | -1 | -1 | 0 | 0 | 0 | en | en | -1 |
-1 | -1 | en | -1 | -3 | -1 | 0 | 0 | 0 | en | en | -1 |
EPOCHS er den cyklus af inputmønstre, der føres til systemet, indtil der ikke kræves nogen vægtændring, og iterationen stopper.
Enke Hoff læringsalgoritme
Også kendt som Delta-regel , følger den gradientnedstigningsregel for lineær regression.
Det opdaterer forbindelsesvægtene med forskellen mellem målet og outputværdien. Det er den mindst gennemsnitlige firkantede læringsalgoritme, der falder ind under kategorien for den overvågede læringsalgoritme.
Denne regel efterfølges af ADALINE (Adaptive Linear Neural Networks) og MADALINE. I modsætning til Perceptron stopper gentagelserne af Adaline-netværk ikke, men det konvergerer ved at reducere den mindst gennemsnitlige firkantede fejl. MADALINE er et netværk af mere end en ADALINE.
Motivet med delta-læringsreglen er at minimere fejlen mellem output og målvektor.
Vægtene i ADALINE-netværk opdateres af:
Mindste kvadratfejl = (t- yi)to, ADALINE konvergerer, når den mindst gennemsnitlige firkantede fejl er nået.
Konklusion
I denne vejledning har vi diskuteret de to algoritmer, dvs. Hebbian Learning Rule og Perceptron Learning Rule. Den hebbiske regel er baseret på reglen om, at vægtvektoren stiger proportionalt med input- og læringssignalet, dvs. output. Vægtene øges ved at tilføje produktet af input og output til den gamle vægt.
W (ny) = w (gammel) + x * y
Anvendelsen af Hebb-regler ligger i mønsterassociation, klassificering og kategoriseringsproblemer.
Perceptron-læringsreglen kan anvendes på både enkelt output og flere outputklassers netværk. Målet med perceptron-netværket er at klassificere inputmønsteret i en bestemt medlemsklasse. Inputneuronerne og outputneuronen er forbundet via forbindelser med vægte.
Vægtene justeres for at matche den faktiske output med målværdien. Læringshastigheden er indstillet fra 0 til 1, og den bestemmer vægtenes skalerbarhed.
Vægtene opdateres i henhold til:
Bortset fra disse indlæringsregler lærer maskinindlæringsalgoritmer gennem mange andre metoder, dvs. overvåget, ikke-overvåget, forstærkning. Nogle af de andre almindelige ML-algoritmer er Back Propagation, ART, Kohonen Self Organizing Maps osv.
Vi håber, du har nydt alle tutorials fra denne Machine Learning Series !!
=> Besøg her for den eksklusive maskinlæringsserie
Anbefalet læsning
- En komplet guide til kunstigt neuralt netværk inden for maskinlæring
- Typer af maskinindlæring: Overvåget vs Uovervåget læring
- Data Mining Vs Machine Learning Vs Artificial Intelligence Vs Deep Learning
- Netværkssikkerhedstest og de bedste netværkssikkerhedsværktøjer
- 11 mest populære maskinlæringssoftwareværktøjer i 2021
- Machine Learning Tutorial: Introduktion til ML og dens applikationer
- De 15 bedste værktøjer til netværksscanning (netværk og IP-scanner) i 2021
- Top 30 netværkstestværktøjer (diagnosticeringsværktøjer til netværksydelse)