neural network learning rules perceptron hebbian learning
Denne grundige opplæringen om læringsregler for nevrale nettverk forklarer Hebbian Learning og Perceptron Learning Algorithm med eksempler:
I vår forrige opplæring diskuterte vi om Kunstig nevralt nettverk som er en arkitektur av et stort antall sammenkoblede elementer som kalles nevroner.
Disse nevronene behandler den mottatte inngangen for å gi ønsket produksjon. Nodene eller nevronene er koblet av innganger, tilkoblingsvekt og aktiveringsfunksjoner.
Hovedegenskapene til et nevralt nettverk er dets evne til å lære. Nevrale nettverk trener seg med kjente eksempler. Når nettverket blir trent, kan det brukes til å løse de ukjente verdiene av problemet.
=> Les gjennom hele opplæringsserien for maskinlæring
Neural Network lærer gjennom ulike læringsopplegg som er kategorisert som veiledet eller uten tilsyn.
I overvåkede læringsalgoritmer er målverdiene kjent for nettverket. Den prøver å redusere feilen mellom ønsket utgang (mål) og den faktiske utgangen for optimal ytelse. I algoritmer uten tilsyn, er målverdiene ukjente, og nettverket lærer av seg selv ved å identifisere de skjulte mønstrene i inngangen ved å danne klynger, etc.
En ANN består av 3 deler, dvs. input, skjult lag og output lag. Det er et enkelt inngangslag og utgangslag, mens det kanskje ikke er noe skjult lag eller 1 eller flere skjulte lag som kan være tilstede i nettverket. Basert på denne strukturen er ANN klassifisert i et enkeltlags-, flerlags-, feed-forward- eller tilbakevendende nettverk.
Hva du vil lære:
- Viktig ANN-terminologi
- Sammenligning av læringsregler for nevrale nettverk
- Konklusjon
Viktig ANN-terminologi
Før vi klassifiserer de forskjellige læringsreglene i ANN, la oss forstå noen viktige terminologier knyttet til ANN.
python multiple hvis utsagn på en linje
# 1) Vekter: I et ANN er hvert nevron koblet til de andre nevronene gjennom koblingskoblinger. Disse koblingene har en vekt. Vekten har informasjon om inngangssignalet til nevronet. Vektene og inngangssignalet brukes til å få en utgang. Vektene kan betegnes i en matriseform som også kalles en Connection matrix.
Hvert nevron er koblet til hvert annet nevron i neste lag gjennom forbindelsesvekter. Derfor, hvis det er 'n' noder og hver node har 'm' vekter, vil vektmatrisen være:
W1 representerer vektvektoren som starter fra node 1. W11 representerer vektvektoren fra 1St.noden til det forrige laget til 1St.noden til neste lag. På samme måte representerer vi vektvektoren fra “ith” prosesseringselementet (nevron) til “jth” prosesseringselementet i neste lag.
# 2) Skjevhet : Skjevheten legges til nettverket ved å legge til et inngangselement x (b) = 1 i inngangsvektoren. Skjevheten har også en vekt betegnet med w (b).
Bias spiller en viktig rolle i beregningen av nevronens utgang. Skjevheten kan enten være positiv eller negativ. En positiv skjevhet øker netto inngangsvekt, mens den negative skjevheten reduserer nettinngangen.
# 3) Terskel: En terskelverdi brukes i aktiveringsfunksjonen. Nettoinngangen sammenlignes med terskelen for å få utdataene. I NN defineres aktiveringsfunksjonen basert på terskelverdien og utdata beregnes.
Terskelverdien er:
# 4) Læringsgrad : Det er betegnet med alfa?. Læringsgraden varierer fra 0 til 1. Den brukes til vektjustering under læringsprosessen til NN.
# 5) Momentum Factor : Det legges til for raskere konvergens av resultatene. Momentfaktoren legges til vekten og brukes vanligvis i backpropagation-nettverk.
Sammenligning av læringsregler for nevrale nettverk
Læringsmetoder -> | Gradient Nedstigning | Hebbisk | Konkurransedyktig | Stokastisk | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
EPOCH 2 | |||||||||||
Type arkitektur || | |||||||||||
Fremføring av enkeltlag | ADALINE Hopfield Perceptron | Associative Hukommelse Hopfield | Lineær vektor Kvantisering | ||||||||
Multilayer Feed Forward | Kaskade Sammenheng Flersjiktsmating Framover Radiell skjevhet Funksjon | Neokognitron | |||||||||
Tilbakevendende | Gjentatte nevrale Nettverk | Toveis Auto Associative Hukommelse Hjernestatus - i en boks Hopfield | Tilpasningsdyktig Resonanssteori | Boltzmann Maskin Cauchy Maskin |
Klassifiseringen av ulike læringstyper av ANN er vist nedenfor.
Klassifisering av veiledede læringsalgoritmer
- Gradient Nedstigning
- Stokastisk
# 1) Gradient Descent Learning
I denne typen læring skjer feilreduksjonen ved hjelp av vekter og aktiveringsfunksjonen til nettverket. Aktiveringsfunksjonen skal kunne differensieres.
Justering av vekter avhenger av feilgradienten E i denne læringen. Backpropagation-regelen er et eksempel på denne typen læring. Dermed er vektjusteringen definert som
# 2) Stokastisk læring
I denne læringen justeres vektene på en sannsynlig måte.
Klassifisering av algoritmer uten tilsyn
- Hebbisk
- Konkurransedyktig
# 1) Hebbisk læring
Denne læringen ble foreslått av Hebb i 1949. Den er basert på korrelativ justering av vekter. Inngangs- og utgangsmønsterparene er assosiert med en vektmatrise, W.
Transponeringen av utgangen tas for vektjustering.
# 2) Konkurransedyktig læring
Det er en vinner som tar all strategi. I denne typen læring, når et inngangsmønster sendes til nettverket, konkurrerer alle nevronene i laget, og bare de vinnende nevronene har vektjusteringer.
Mc Culloch-Pitts Neuron
Også kjent som M-P Neuron, dette er det tidligste nevrale nettverket som ble oppdaget i 1943. I denne modellen er nevronene koblet sammen med tilkoblingsvekt, og aktiveringsfunksjonen brukes i binær. Terskelen brukes til å bestemme om nevronet vil skyte eller ikke.
Funksjonen til MP neuronen er:
Hebbisk læringsalgoritme
Hebb Network ble uttalt av Donald Hebb i 1949. I følge Hebbs regel er det funnet at vektene øker proporsjonalt med produktet av input og output. Det betyr at i et Hebb-nettverk, hvis to nevroner er sammenkoblet, kan vektene assosiert med disse nevronene økes ved endringer i det synaptiske gapet.
Dette nettverket er egnet for bipolare data. Hebbisk læringsregel brukes vanligvis på logiske porter.
Vektene er oppdatert som:
W (ny) = w (gammel) + x * y
Treningsalgoritme for hebbisk læringsregel
Treningstrinnene til algoritmen er som følger:
- I utgangspunktet er vektene satt til null, dvs. w = 0 for alle inngangene i = 1 til n og n er det totale antallet inngangsneuroner.
- La oss være resultatet. Aktiveringsfunksjonen for innganger er vanligvis satt som en identitetsfunksjon.
- Aktiveringsfunksjonen for utgang er også satt til y = t.
- Vektjusteringene og skjevheten justeres til:
- Trinnene 2 til 4 gjentas for hver inngangsvektor og utgang.
Eksempel på hebbisk læringsregel
La oss implementere logiske OG-funksjoner med bipolare innganger ved hjelp av Hebbian Learning
X1 og X2 er innganger, b er forspenningen tatt som 1, målverdien er utgangen fra logisk OG drift over innganger.
Inngang | Inngang | Partiskhet | Mål |
---|---|---|---|
X1 | X2 | b | Y |
1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 |
-1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 |
#1) I utgangspunktet er vektene satt til null og skjevhet er også satt til null.
W1 = w2 = b = 0
#to) Første inngangsvektor tas som (x1 x2 b) = (1 1 1) og målverdien er 1.
De nye vektene vil være:
# 3) Ovennevnte vekter er de endelige nye vektene. Når den andre inngangen sendes, blir disse de første vektene.
# 4) Ta den andre inngangen = (1 -1 1). Målet er -1.
# 5) Tilsvarende beregnes de andre inngangene og vektene.
Tabellen nedenfor viser alle innspillene:
Innganger | Partiskhet | Målutgang | Vektendringer | Bias Endringer | Nye vekter | ||||
---|---|---|---|---|---|---|---|---|---|
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 | to | 0 |
-1 | 1 | 1 | -1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | 1 | 1 | -1 | to | to | -to |
Hebb Net for OG-funksjon
Perceptron læringsalgoritme
Perceptron Networks er enkeltlags feed-forward-nettverk. Disse kalles også Single Perceptron Networks. Perceptron består av et input lag, et skjult lag og output lag.
Inngangslaget er koblet til det skjulte laget gjennom vekter som kan være hemmende eller exciterende eller null (-1, +1 eller 0). Aktiveringsfunksjonen som brukes er en binær trinnfunksjon for inngangslaget og det skjulte laget.
Resultatet er
Y = f (y)
Aktiveringsfunksjonen er:
Vektoppdateringen skjer mellom det skjulte laget og utgangslaget for å matche målutgangen. Feilen beregnes ut fra den faktiske utgangen og ønsket utgang.
Hvis utgangen samsvarer med målet, skjer ingen vektoppdatering. Vektene ble innledningsvis satt til 0 eller 1 og justert suksessivt til en optimal løsning er funnet.
Vektene i nettverket kan innstilles til alle verdier i utgangspunktet. Perceptron-læringen vil konvergere til vektvektoren som gir riktig effekt for alt input-treningsmønster, og denne læringen skjer i et endelig antall trinn.
Perceptron-regelen kan brukes til både binære og bipolare innganger.
Læringsregel for enkeltutgangsperceptron
#1) La det være 'n' treningsinngangsvektorer og x (n) og t (n) er assosiert med målverdiene.
#to) Initialiser vekter og skjevhet. Sett dem til null for enkel beregning.
# 3) La læringsgraden være 1.
# 4) Inngangslaget har identitetsaktiveringsfunksjon så x (i) = s (i).
# 5) Slik beregner du nettverkets utgang:
# 6) Aktiveringsfunksjonen brukes over nettinngangen for å oppnå en utgang.
# 7) Basert på utgangen, sammenlign nå ønsket målverdi (t) og den faktiske utgangen.
# 8) Fortsett iterasjonen til det ikke er noen vektendring. Stopp når denne tilstanden er oppnådd.
Læringsregel for flere utgangsperceptroner
#1) La det være 'n' treningsinngangsvektorer og x (n) og t (n) er assosiert med målverdiene.
#to) Initialiser vekter og skjevhet. Sett dem til null for enkel beregning.
# 3) La læringsgraden være 1.
# 4) Inngangslaget har identitetsaktiveringsfunksjon så x (i) = s (i).
# 5) For å beregne utgangen for hver utgangsvektor fra j = 1 til m, er nettoinngangen:
# 6) Aktiveringsfunksjonen brukes over nettinngangen for å oppnå en utgang.
# 7) Basert på utgangen, sammenlign nå ønsket målverdi (t) og den faktiske effekten og foreta vektjusteringer.
w er vektvektoren til forbindelsesforbindelsene mellom i-inngang og jth-utgangsneuron og t er målutgangen for utgangsenheten j.
# 8) Fortsett iterasjonen til det ikke er noen vektendring. Stopp når denne tilstanden er oppnådd.
Eksempel på Perceptron læringsregel
Implementering av AND-funksjon ved bruk av et Perceptron-nettverk for bipolare innganger og utganger.
Inndatamønsteret vil være x1, x2 og bias b. La startvektene være 0 og skjevhet 0. Terskelen er satt til null og læringsgraden er 1.
OG port
X1 | X2 | Mål |
---|---|---|
1 | 1 | 1 |
1 | -1 | -1 |
-1 | 1 | -1 |
-1 | -1 | -1 |
#1) X1 = 1, X2 = 1 og målutgang = 1
W1 = w2 = wb = 0 og x1 = x2 = b = 1, t = 1
Nettoinngang = y = b + x1 * w1 + x2 * w2 = 0 + 1 * 0 + 1 * 0 = 0
Da terskelen er null derfor:
Herfra får vi, output = 0. Sjekk nå om output (y) = target (t).
y = 0 men t = 1, noe som betyr at disse ikke er like, og derfor skjer vektoppdatering.
De nye vektene er 1, 1 og 1 etter at den første inngangsvektoren er presentert.
grunnleggende java intervju spørsmål og svar
#to) X1 = 1 X2 = -1, b = 1 og mål = -1, W1 = 1, W2 = 2, Wb = 1
Nettoinngang = y = b + x1 * w1 + x2 * w2 = 1 + 1 * 1 + (-1) * 1 = 1
Nettoutgangen for inngang = 1 vil være 1 fra:
Derfor samsvarer ikke målet = -1 med den faktiske utgangen = 1. Vektoppdateringer finner sted.
Nå er nye vekter w1 = 0 w2 = 2 og wb = 0
På samme måte, ved å fortsette med neste sett med innganger, får vi følgende tabell:
Inngang | Partiskhet | Mål | Netto inngang | Beregnet produksjon | Vektendringer | Nye vekter | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
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 | to | 0 |
-1 | 1 | 1 | -1 | to | 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 |
EPOCHS er syklusen av inngangsmønstre som mates til systemet til det ikke er behov for vektendring og iterasjonen stopper.
Widrow Hoff Learning Algorithm
Også kjent som Delta-regelen , følger den gradient nedstigningsregelen for lineær regresjon.
Den oppdaterer tilkoblingsvektene med forskjellen mellom målet og utgangsverdien. Det er den minst gjennomsnittlige firkantede læringsalgoritmen som faller inn under kategorien til den overvåkede læringsalgoritmen.
Denne regelen følges av ADALINE (Adaptive Linear Neural Networks) og MADALINE. I motsetning til Perceptron stopper ikke gjentakelsene til Adaline-nettverk, men det konvergerer ved å redusere den minste gjennomsnittlige kvadratfeilen. MADALINE er et nettverk av mer enn en ADALINE.
Motivet til delta-læringsregelen er å minimere feilen mellom utdata og målvektor.
Vektene i ADALINE-nettverk er oppdatert av:
Minst gjennomsnittlig kvadratfeil = (t- yi)to, ADALINE konvergerer når den minste gjennomsnittlige kvadratfeilen er nådd.
Konklusjon
I denne opplæringen har vi diskutert de to algoritmene, dvs. Hebbian Learning Rule og Perceptron Learning Rule. Den hebbiske regelen er basert på regelen om at vektvektoren øker proporsjonalt med inngangs- og læringssignalet, dvs. utgangen. Vektene økes ved å legge produktet av inngang og utgang til den gamle vekten.
W (ny) = w (gammel) + x * y
Anvendelsen av Hebb-regler ligger i mønsterassosiasjon, klassifisering og kategoriseringsproblemer.
Perceptron-læringsregelen kan brukes på både enkeltutgang og flere utgangsklassers nettverk. Målet med perceptron-nettverket er å klassifisere inngangsmønsteret i en bestemt medlemsklasse. Input neurons og output neuron er koblet sammen gjennom lenker som har vekter.
Vektene justeres for å matche den faktiske produksjonen med målverdien. Læringsgraden er satt fra 0 til 1 og bestemmer skalerbarheten av vekter.
Vektene er oppdatert i henhold til:
Bortsett fra disse læringsreglene, lærer maskinlæringsalgoritmer gjennom mange andre metoder, dvs. overvåket, uten tilsyn, forsterkning. Noen av de andre vanlige ML-algoritmene er Back Propagation, ART, Kohonen Self Organizing Maps, etc.
Vi håper du likte alle veiledningene fra denne Machine Learning Series !!
=> Besøk her for den eksklusive maskinlæringsserien
Anbefalt lesing
- En komplett guide til kunstig nevralt nettverk innen maskinlæring
- Typer maskinlæring: Overvåket vs Uovervåket læring
- Data Mining Vs Machine Learning Vs Artificial Intelligence Vs Deep Learning
- Testing av nettverkssikkerhet og beste verktøy for nettverkssikkerhet
- De 11 mest populære maskinlæringsverktøyene i 2021
- Machine Learning Tutorial: Introduksjon til ML og dets applikasjoner
- De 15 beste verktøyene for nettverksskanning (nettverk og IP-skanner) av 2021
- Topp 30 nettverkstestverktøy (diagnostiske verktøy for nettverksytelse)