complete guide artificial neural network machine learning
Denne vejledning forklarer, hvad der er kunstigt neuralt netværk, hvordan fungerer et ANN, struktur og typer af ANN og neuralt netværksarkitektur:
I denne Maskinlæringstræning for alle , vi udforskede alt om Typer af maskinindlæring i vores tidligere tutorial.
Her, i denne vejledning, diskuterer du de forskellige algoritmer i neurale netværk sammen med sammenligningen mellem maskinindlæring og ANN. Før vi lærer, hvordan ANN bidrager til maskinindlæring, skal vi vide, hvad et kunstigt neuralt netværk er og kort viden om maskinindlæring.
Lad os udforske mere om maskinlæring og kunstigt neuralt netværk !!
=> Læs gennem den komplette maskinlæringstræningsserie
Hvad du lærer:
- Hvad er maskinlæring?
- Hvad er et kunstigt neuralt netværk?
- Struktur af et biologisk neuralt netværk
- Sammenligning af biologisk neuron og kunstig neuron
- Kendetegn ved ANN
- Struktur af ANN
- Aktiveringsfunktion
- Hvad er en kunstig neuron?
- Hvordan fungerer kunstig neuron?
- Grundlæggende modeller af ANN
- Neural netværksarkitektur
- Eksempel på kunstigt neuron netværk
- Sammenligning mellem maskinlæring og ANN
- Neurale netværk og dyb læring
- Kunstige neurale netværksapplikationer
- Begrænsninger af neurale netværk
- Konklusion
- Anbefalet læsning
Hvad er maskinlæring?
Machine Learning er et videnskabsfelt, der giver computere mulighed for at lære og handle uden at blive programmeret eksplicit. Det er et underområde af kunstig intelligens.
Hvad er et kunstigt neuralt netværk?
ANN er en ikke-lineær model, der er meget brugt i Machine Learning og har en lovende fremtid inden for kunstig intelligens.
Kunstigt neuralt netværk er analogt med et biologisk neuralt netværk. Et biologisk neuralt netværk er en struktur af milliarder af sammenkoblede neuroner i en menneskelig hjerne. Den menneskelige hjerne består af neuroner, der sender information til forskellige dele af kroppen som reaktion på en udført handling.
Svarende til dette er et kunstigt neuralt netværk (ANN) et computernetværk inden for videnskab, der ligner en menneskelig hjernes egenskaber. ANN kan modelleres som de oprindelige neuroner i den menneskelige hjerne, derfor kaldes ANN-behandlingsdele kunstige neuroner.
ANN består af et stort antal sammenkoblede neuroner, der er inspireret af hjernens funktion. Disse neuroner har evnerne til at lære, generalisere træningsdataene og udlede resultater fra komplicerede data.
Disse netværk bruges inden for områderne klassifikation og forudsigelse, mønster & trendidentifikationer, optimeringsproblemer osv. ANN lærer af træningsdataene (input og mål output kendt) uden nogen programmering.
Det lærte neurale netværk kaldes en ekspertsystem med evnen til at analysere information og besvare spørgsmålene i et bestemt felt.
Den formelle definition af ANN givet af Dr.Robert Hecht-Nielson, opfinder af en første neuro-computer, er:
“... et computersystem, der består af et antal enkle, meget sammenkoblede behandlingselementer, som behandler information ved hjælp af deres dynamiske tilstandsrespons på eksterne indgange”.
Struktur af et biologisk neuralt netværk
Et biologisk neuralt netværk består af:
- Soma: Dette kaldes også cellekroppen. Det er her cellekernen er placeret.
- Dendritter: Disse er trælignende netværk, der er forbundet til cellelegemet. Den er lavet af nervefibre.
- Axon: Axon bærer signalet fra cellekroppen. Den opdeles i tråde, og hver streng ender i en pærelignende struktur kaldet synaps. De elektriske signaler sendes mellem synapsen og dendrit.
(billede kilde )
Sammenligning af biologisk neuron og kunstig neuron
Biologisk neuron | Kunstig neuron |
---|---|
ML anvendes i e-handel, sundhedspleje, produktanbefalinger osv. | ANN anvendes inden for økonomidomæne, maskinindlæring og kunstig intelligens. |
Den er lavet af celler. | Cellerne svarer til neuroner. |
Det har dendriter, der er sammenkoblinger mellem cellekroppen. | Forbindelsesvægtene svarer til dendritter. |
Soma modtager input. | Soma svarer til netto inputvægt. |
Axon modtager signalet. | Outputtet fra ANN svarer til axon. |
Kendetegn ved ANN
- Ikke-lineæritet: Den mekanisme, der følges i ANN til generering af indgangssignalet, er ikke-lineær.
- Overvåget læring: Input og output kortlægges, og ANN trænes med træningsdatasættet.
- Uovervåget læring: Målet output er ikke givet, så ANN vil lære på egen hånd ved at opdage funktionerne i input mønstre.
- Adaptiv natur: Forbindelsesvægtene i noderne i ANN er i stand til at justere sig selv for at give det ønskede output.
- Biologisk neuronanalogi: ANN har en menneskelig hjerneinspireret struktur og funktionalitet.
- Fejltolerance: Disse netværk er meget tolerante, da informationen distribueres i lag, og beregning sker i realtid.
Struktur af ANN
Kunstige neurale netværk behandler elementer enten i form af algoritmer eller hardwareenheder modelleret efter den neuronale struktur af en hjerne hjernebark.
Disse netværk kaldes også simpelthen Neurale netværk. NN er dannet af mange lag. De flere lag, der er indbyrdes forbundne, kaldes ofte 'Multilayer Perceptron'. Neuronerne i et lag kaldes “Noder”. Disse knudepunkter har en 'aktiveringsfunktion'.
ANN har 3 hovedlag:
- Indgangslag: Inputmønstrene føres til inputlagene. Der er et inputlag.
- Skjulte lag: Der kan være et eller flere skjulte lag. Behandlingen, der finder sted i de indre lag, kaldes 'skjulte lag'. De skjulte lag beregner output baseret på 'vægte', som er 'summen af vægtede synapseforbindelser'. De skjulte lag forfiner input ved at fjerne overflødige oplysninger og sende oplysningerne til det næste skjulte lag til videre behandling.
- Outputlag: Dette skjulte lag forbinder til 'outputlaget', hvor output vises.
Aktiveringsfunktion
Aktiveringsfunktionen er en intern tilstand i en neuron. Det er en funktion af input, som neuronen modtager. Aktiveringsfunktionen bruges til at konvertere indgangssignalet på noden til ANN til et udgangssignal.
Hvad er en kunstig neuron?
Et kunstigt neuralt netværk består af stærkt sammenkoblede behandlingselementer kaldet knuder eller neuroner.
Disse neuroner arbejder parallelt og er organiseret i en arkitektur. Knudepunkterne er forbundet til hinanden ved hjælp af forbindelseslink. Hver neuron bærer en vægt, der indeholder information om indgangssignalet.
Hvordan fungerer kunstig neuron?
En kunstig neuron modtager en input. Disse input har en vægt kaldet “synapse”. Disse neuroner (også kaldet knuder) har 'aktiveringsfunktion'. Denne aktiveringsfunktion fungerer på input og behandler den for at give en output.
Den vægtede sum af indgange bliver et indgangssignal til aktiveringsfunktionen for at give en udgang. Disse indgangsvægte er justerbare, så det neurale netværk kan justere dets parametre for at give det ønskede output.
Få almindelige aktiveringsfunktioner, der bruges i kunstigt neuralt netværk, er:
# 1) Identitetsfunktion
Det kan defineres som f (x) = x for alle værdier af x. Dette er en lineær funktion, hvor output er det samme som input.
# 2) Binær trinfunktion
Denne funktion bruges i enkeltlagsnetværk til at konvertere nettoindgangen til output. Outputtet er binært, dvs. 0 eller 1. t repræsenterer tærskelværdien.
(billede kilde )
# 3) Bipolar trinfunktion
Den bipolære trinfunktion har bipolære udgange (+1 eller -1) til nettoindgangen. T repræsenterer tærskelværdien.
# 4) Sigmoidal funktion
Det bruges i backpropagation-netværk.
Det er af to typer:
- Binær Sigmoid-funktion: Det kaldes også som den unipolare sigmoidfunktion eller logistisk sigmoidfunktion. Området for sigmoidal funktionel er 0 til 1.
- Bipolar Sigmoid: Den bipolære sigmoidale funktion varierer fra -1 til +1. Det svarer til den hyperbolske tangensfunktion.
(billede kilde )
# 5) RampFunction
Det vægtet sum af input betyder det 'produkt af vægten af input og værdi af input' opsummeret sammen for alle input.
Lad jeg = {I1, I2, I3 ... In} være inputmønsteret til neuron.
Lad W = {W1, W2, W3 ... Wn} være den vægt, der er knyttet til hver indgang til noden.
Vægtet sum af input = Y = (? Wi * Ii) for i = 1 til n
Grundlæggende modeller af ANN
De kunstige neurale netværksmodeller består af 3 enheder:
- Vægte eller synaptiske forbindelser
- Læringsreglen, der bruges til justering af vægten
- Aktivering funktioner i neuronen
Neural netværksarkitektur
I ANN er neuronerne sammenkoblet, og output fra hver neuron er forbundet til den næste neuron gennem vægte. Arkitekturen for disse samtrafik er vigtig i et ANN. Dette arrangement er i form af lag, og forbindelsen mellem lagene og inden i laget er den neurale netværksarkitektur.
De mest kendte netværksarkitekturer er:
Bliv en spiltester gratis
- Single-Layer Feed-Forward Network
- Multi-Layer Feed-Forward Network
- Enkelt knude med sin egen feedback
- Enkeltlags tilbagevendende netværk
- Multi-Layer tilbagevendende netværk
Lad os se nærmere på hver af disse.
# 1) Single-Layer Feed-Forward Network
Et lag er et netværk dannet af neuroner. Disse neuroner er forbundet med de andre neuroner i det næste lag. For et enkelt lag er der kun input- og outputlagene. Indgangslaget er forbundet med udgangslagsnoder med vægte.
Alle inputknudepunkter er forbundet til hver af outputknudepunkterne. Udtrykket feed-forward viser, at der ikke sendes nogen feedback fra outputlaget til inputlaget. Dette danner et enkeltlags feed-forward-netværk.
(billede kilde )
# 2) Multi-Layer Feed-Forward Network
Multilagsnetværket består af et eller flere lag mellem input og output. Indgangslaget modtager bare et signal og bufferer det, mens udgangslaget viser output. Lagene mellem input og output kaldes de skjulte lag.
De skjulte lag er ikke i kontakt med det eksterne miljø. Med flere antal skjulte lag er outputresponsen mere effektiv. Knudepunkterne i det forrige lag er forbundet til hver knude i det næste lag.
Da der ikke er noget outputlag tilsluttet input eller skjulte lag, danner det et multi-lags feed-forward-netværk.
# 3) Enkelt knude med sin egen feedback
Netværket, hvor outputlagets output sendes tilbage som et input til inputlaget eller de andre skjulte lag kaldes Feedback Networks. I tilbagekoblingssystemer med en node er der et enkelt inputlag, hvor output omdirigeres tilbage som feedback.
# 4) Gentagelse af enkeltlagsnetværk
I et enkelt lag tilbagevendende netværk danner feedback-netværket en lukket sløjfe. I denne model modtager en enkelt neuron feedback til sig selv eller de andre neuroner i netværket eller begge dele.
# 5) Gentagelsesnetværk med flere lag
I Multi-Layer tilbagevendende netværk eksisterer flere skjulte lag, og output omdirigeres tilbage til neuronerne i de tidligere lag og andre neuroner i de samme lag eller samme neuron i sig selv.
Eksempel på kunstigt neuron netværk
Lad os tage nedenstående netværk med det givne input og beregne netinputneuronen og få output fra neuronen Y med aktiveringsfunktion som binær sigmoidal.
Indgangen har 3 neuroner X1, X2 og X3 og enkelt output Y.
Vægtene forbundet med input er: {0.2, 0.1, -0.3}
Indgange = {0,3, 0,5, 0,6}
Netindgang = {x1 * w1 + x2 * w2 + x3 * w3}
Nettoindgang = (0,3 * 0,2) + (0,5 * 0,1) + (0,6 * -0,3)
Nettoindgang = -0,07
Output for binær sigmoidal:
X er -0,07
Output bliver 0,517
Sammenligning mellem maskinlæring og ANN
Maskinelæring | Kunstigt neuralt netværk |
---|---|
Machine Learning lærer af inputdata og opdager outputdata mønstre af interesse. | ANN bruges i maskinlæringsalgoritmer til at træne systemet ved hjælp af synapser, noder og forbindelseslink. |
ML er en delmængde af feltet kunstig intelligens. | ANN er også en del af videnskabens kunstige intelligensfelt og en delmængde af maskinindlæring. |
ML-algoritmer lærer af data, der tilføres algoritmen med henblik på beslutningstagning. Nogle af disse algoritmer er klassificering. Klyngedannelse, tilknytning data mining. | ANN er en dyb læringsvidenskab, der analyserer dataene med logiske strukturer, som mennesker gør. Nogle af ANN-læringsordningerne er hebbisk, Perceptron, spredning af ryggen osv. |
ML-algoritmer har selvlæringsfunktioner, men vil kræve menneskelig indgriben, hvis resultatet er unøjagtigt. | ANN-algoritmer har muligheder for at justere sig selv ved hjælp af forbindelsesvægte, hvis resultatet viser sig at være forkert. |
ML algoritmer kræver programmering færdigheder, datastruktur og big data database viden. | ANN kræver også stærke færdigheder inden for matematik, sandsynlighed, datastrukturer osv. |
ML-programmer kan forudsige resultatet for indlærede datasæt og justere sig selv til nye data. | ANN kan lære og træffe intelligent beslutning på egen hånd for nye data, men det er dybere end maskinindlæring. |
Overvåget og ikke-overvåget læring falder ind under maskinlæring. | Læring som Kohenen, radial bias, feed-forward neuralt netværk falder ind under ANN. |
Nogle eksempler på ML er Google-søgeresultater osv. | Nogle eksempler på ANN er ansigtsgenkendelse, billedgenkendelse osv. |
Neurale netværk og dyb læring
Deep Learning-netværk indeholder flere skjulte lag mellem input og output. Disse netværk er kendetegnet ved dybden af de skjulte lag i dem. Indgangsdataene passerer gennem flere trin, før output vises.
Disse netværk adskiller sig fra det tidligere NN, såsom perceptron, som havde et enkelt skjult lag og blev kaldt Shallow Networks. Hvert skjult lag i det dybe læringsnetværk træner dataene med bestemte funktioner baseret på output fra det forrige lag.
Dataene passerer gennem mange lag af ikke-lineær funktion ved noden. Jo mere antallet af lag, jo mere komplekse funktioner kan genkendes, da det næste lag udfører sammenlægning af funktioner fra de tidligere lag.
Flere skjulte lag i netværket øger kompleksiteten og abstraktionen. Denne dybde betegnes også som et funktionshierarki. På grund af dette er dyb læringsnetværk i stand til at håndtere højdimensionelle data.
Nogle eksempler på dyb læringsnetværk inkluderer gruppering af millioner af billeder baseret på dets karakteristika og ligheder, filtrering af e-mail-meddelelser, anvendelse af filtre på meddelelser i CRM, identifikation af tale osv.
Deep Learning Networks kan trænes i både mærket og umærket datasæt. For det umærkede datasæt udfører netværkene som Boltzmann-selektionsmaskiner automatisk funktionsextraktion.
Netværket lærer automatisk ved at analysere input ved sampling og minimere forskellen i output og distribution af input. Det neurale netværk her finder sammenhænge mellem funktionerne og resultaterne.
De dybe læringsnetværk, der er trænet i mærkede data, kan anvendes på ustrukturerede data. Jo mere træningsdata der tilføres netværket, jo mere nøjagtige bliver de.
Netværks evne til at lære af umærket data er en fordel i forhold til de andre læringsalgoritmer.
Kunstige neurale netværksapplikationer
Neurale netværk er med succes brugt i en række forskellige løsninger som vist nedenfor.
# 1) Mønstergenkendelse: ANN bruges til mønstergenkendelse, billedgenkendelse, visualisering af billeder, håndskrift, tale og andre sådanne opgaver.
# 2) Optimeringsproblemer: Problemer som at finde den korteste rute, planlægning og fremstilling, hvor problembegrænsninger skal opfyldes, og der skal opnås optimale løsninger, bruger NN'er.
# 3) Prognose: NN kan forudsige resultatet for situationer ved at analysere tidligere tendenser. Applikationer som bank, aktiemarked, vejrudsigter bruger Neural Networks.
# 4) Kontrolsystemer: Kontrolsystemer såsom computerprodukter, kemiske produkter og robotteknologi bruger neurale netværk.
Begrænsninger af neurale netværk
Nedenfor er nogle af ulemperne ved neurale netværk.
- Disse netværk er sorte bokse for brugeren, da brugeren ikke har nogen roller undtagen at fodre input og observere output. Brugeren er uvidende om den træning, der sker i algoritmen.
- Disse algoritmer er ret langsomme og kræver mange iterationer (også kaldet epoker) for at give nøjagtige resultater. Dette skyldes, at CPU'en beregner vægtene, aktiveringsfunktionen for hver node separat, hvorved den spiser tid såvel som ressourcer. Det forårsager også et problem med en stor mængde data.
Konklusion
I denne vejledning lærte vi om kunstigt neuralt netværk, dets analogi med biologisk neuron og typer af neuralt netværk.
ANN falder ind under maskinlæring. Det er en beregningsmodel, der består af flere neuronknuder. Disse noder modtager input, behandler input ved hjælp af aktiveringsfunktion og sender output til de næste lag.
Indgangene er forbundet med forbindelseslinkvægte kaldet synapse. En grundlæggende ANN består af et inputlag, vægte, aktiveringsfunktion, skjult lag og et outputlag.
Aktiveringsfunktionerne bruges til at konvertere input til output. Nogle af dem er binære, bipolare, sigmoidale og en rampefunktion. Der er forskellige typer ANN såsom Single-Layer Feed Forward, Multilayer Feed Forward, Recurrent networks osv. Baseret på antallet af skjulte lag og feedbackmekanismer.
ANN med mange skjulte lag mellem input og output danner dyb læringsnetværk. De dybe læringsnetværk har høj kompleksitet og abstraktionsniveau, der gør dem i stand til at beregne højdimensionelle data med tusindvis af parametre.
ANN bruges inden for prognoser, billedbehandling, kontrolsystemer osv. Disse er med succes anvendt som en løsning på en række problemer inden for videnskab.
Vi håber, at denne tutorial forklarer alt hvad du behøver at vide om kunstige neurale netværk !!
=> Besøg her for den eksklusive maskinlæringsserie
Anbefalet læsning
- Data Mining Vs Machine Learning Vs Artificial Intelligence Vs Deep Learning
- Netværkssikkerhedstest og de bedste netværkssikkerhedsværktøjer
- Typer af maskinindlæring: Overvåget vs Uovervåget læring
- 11 mest populære maskinlæringssoftwareværktøjer i 2021
- Machine Learning Tutorial: Introduktion til ML og dens applikationer
- Vejledning til subnetmaske (subnetting) og IP-subnetberegner
- Vejledning til vurdering og styring af netværkssårbarhed
- De 15 bedste værktøjer til netværksscanning (netværk og IP-scanner) i 2021