Redigerer
Kunstig nevralt nettverk
(avsnitt)
Hopp til navigering
Hopp til søk
Advarsel:
Du er ikke innlogget. IP-adressen din vil bli vist offentlig om du redigerer. Hvis du
logger inn
eller
oppretter en konto
vil redigeringene dine tilskrives brukernavnet ditt, og du vil få flere andre fordeler.
Antispamsjekk.
Ikke
fyll inn dette feltet!
==Oppbygning== Et nevralt nettverk er bygget opp av [[nevroner]], som i sin enkleste og eldste form også kalles perceptrons, og bindingene mellom disse og påtrykk fra foregående lag. Bindinger er i noen sammenhenger brukt om de enkelte vektene i nettverket, i andre sammenhenger er de brukt om de enkelte utganger fra foregående lag. I mange typer ''nevrale nettverk'' er det veldefinerte inngangsnoder (''inputvector''), som vektes og prosesseres med overføringsfunksjonen (''aktiveringsfunksjonen''), hvoretter de leveres til veldefinerte utgangsnoder (''outputvector''). Disse blir gjerne kalt Feed-forward nettverk hvis de ikke har læring aktivert. Det snakkes ofte om inngangsnoder og utgangsnoder som ikke har noen selvstendig overføringsfunksjon, samtidig som det snakkes om prosesserende noder i laget. Dette kan være forvirrende. Det er enklere å se på dette som en inngangsvektor og en utgangsvektor, hvor en matrise bringer inngangsvektoren over på formen til utgangsvektoren. I det etterfølgende beskrives et forovernett (''feed foreward net''). Hvis en legger til læring så vil dette fungere som et nett rettet motsatt vei og som propagerer feilverdier. I praktisk bruk er det imidlertid vanligere å flytte selve lærealgoritmen (''backpropalgoritmen'') inn i enheten som definerer det kunstige nevronet. ===Nevron=== Nevrale nettverk består av et stort antall relativt enkle noder, alle kjører den samme [[algoritme]]n. Opprinnelig var disse ment som en emulasjon av en enkelt [[nervecelle]] eller [[nevron]]. Hvert nevron kommuniserer med et subset av de andre kunstige nevronene i nettverket.<ref>{{cite book|last=Millington|first=Ian|title=Artificial intelligence for games|url=https://archive.org/details/artificialintell0000mill|year=2009|publisher=Morgan Kaufmann/Elsevier|location=Burlington, MA|isbn=978-0-12-374731-0|edition=2nd ed.|coauthors=Funge, John}}</ref> Hver input et nevron får fra andre nevroner har en vekt assosiert. Vekten sier hvor viktig denne inputen er for nevronet.<ref>{{Cite web|url=http://www.cse.unsw.edu.au/~billw/mldict.html#neuron|title=The Machine Learning Dictionary}}</ref> Nevroner har også en aktiveringsfunksjon som prosesserer summen av påtrykket, og et tilhørende bias. Bias fungerer som en terskel i et perceptron. Det er i noen tilfeller enklest å skille ut bias i en egen parameter, mens det i andre tilfeller er enklere å se på bias som et konstantpådrag i en av inngangsnodene. ===Aktiveringsfunksjon=== I nevrale nettverk beskriver aktiveringsfunksjonen outputoppførselen til et nevron. De fleste nevrale nettverk starter med å beregne den vektede summen av alle inngangene. Denne verdien (''total net input'') blir deretter vanligvis transformert ved hjelp av overføringsfunksjonen (''aktiveringsfunksjon'', ''squashing function''). En av de enkleste overføringsfunksjonene sier kun at hvis total net input er mindre enn 0, er output fra nevron 0, ellers output 1.<ref>{{Cite web|url=http://www.cse.unsw.edu.au/~billw/mldict.html#activnfn|title=The Machine Learning Dictionary}}</ref> Denne overføringsfunksjonen er tett opp mot funksjonen som finnes i enkelte former for biologisk nervevev, hvor en sier at nerven «fyrer» når potensialet kommer opp i et gitt nivå. Andre viktige funksjoner er en identitetsfunksjon, eller en slik med øvre og/eller nedre skranke. Slike funksjoner er så tilnærmet med en eller flere [[logaritme|logaritmiske funksjoner]] eller endog en [[hyperbolsk funksjon]]. Valget av den siste kommer av disses egenskaper i forbindelse med maskinlæring. ===Vekt=== En vekt, i et kunstig nevralt nettverk, er en parameter tilknyttet tilkoblingen mellom et nevron ''M'', til et annet nevron ''N''. Dette er omtrent det samme som bindingen til en [[synapse]] i et biologisk nevron. Vekten bestemmer hvor mye nevron ''N'' bryr seg om aktiveringen ''N'' får fra nevron ''M'', eller hvor mye av pådraget fra ''N'' som når frem til ''M''.<ref>{{Cite web|url=http://www.cse.unsw.edu.au/~billw/mldict.html#weight|title=The Machine Learning Dictionary}}</ref> I noen spesielle former for nettverk brukes det også ulineære overføringsfunksjoner istedenfor lineær vekting, men slike nettverk kan skrives om til to eller flere koblede nettverk med ulike overføringsfunksjoner. Slike nettverk brukes vanligvis i forbindelse med problemstillinger hvor en ønsker separasjon av datasett og ikke bare dekorrelering, det vil si dekorrelering over høyereordens komponenter. ===Bias=== I feedforward og noen andre nevrale nettverk er hvert nevron tilkoblet et fast bias, som også kan beskrives som et konstantpådrag, via en trenbar vekt. Dennes eksaktverdi er uvesentlig, men blir ofte satt til 1 eller -1. Fortegnet er uvesentlig om det kan trenes negative vekter. Dette gjør at hver skjulte enhet og outputenhet får et trenbart threshhold. Hvis eksaktverdien er -1 så blir threshold verdien til vekten knyttet til nevronets bias. ===Perceptron=== [[Image:Perceptronssvg.svg|thumb|alt=Hvordan et perceptron fungerer|Fig. 2: Et perceptron, med vekter <math> w_0,\dots, w_4</math> og treshold <math>T</math>]] Et perceptron er et enkelt kunstig nevron som har en aktiveringsfunksjon som tar total net input og gir 1 hvis dette er over en grense (treshold), eller 0 hvis ikke.<ref name="Rosenblatt1957" /> I noen sammenhenger er det praktisk å behandle alle nevrons som en perceptron. Det er litt forskjell i litteratur med hensyn på hva som kalles et perceptron. I noen tilfeller brukes begrepet om et enkelt kunstig nevron, i andre tilfeller om et helt lag av slike, i noen tilfeller om et nevron med lineær overføringsfunksjon, i andre tilfeller med en enkelt terskel. ===Grensefunksjon (threshold function)=== Output fra et perceptron er 0 hvis total net input til perceptronet er mindre enn grensen(threshold) T, ellers er output 1. <ref>{{Cite web|url=http://www.cse.unsw.edu.au/~billw/mldict.html#threshold|title=The Machine Learning Dictionary}}</ref>
Redigeringsforklaring:
Merk at alle bidrag til Wikisida.no anses som frigitt under Creative Commons Navngivelse-DelPåSammeVilkår (se
Wikisida.no:Opphavsrett
for detaljer). Om du ikke vil at ditt materiale skal kunne redigeres og distribueres fritt må du ikke lagre det her.
Du lover oss også at du har skrevet teksten selv, eller kopiert den fra en kilde i offentlig eie eller en annen fri ressurs.
Ikke lagre opphavsrettsbeskyttet materiale uten tillatelse!
Avbryt
Redigeringshjelp
(åpnes i et nytt vindu)
Denne siden er medlem av 3 skjulte kategorier:
Kategori:Artikler som trenger språkvask
Kategori:CS1-vedlikehold: Ekstra tekst
Kategori:Språkvask 2024-08
Navigasjonsmeny
Personlige verktøy
Ikke logget inn
Brukerdiskusjon
Bidrag
Opprett konto
Logg inn
Navnerom
Side
Diskusjon
norsk bokmål
Visninger
Les
Rediger
Rediger kilde
Vis historikk
Mer
Navigasjon
Forside
Siste endringer
Tilfeldig side
Hjelp til MediaWiki
Verktøy
Lenker hit
Relaterte endringer
Spesialsider
Sideinformasjon