Et feedforward neuralt netværk er et kunstigt neuralt netværk, hvor forbindelser mellem noder ikke danner en loop [1] . Et sådant netværk er forskelligt fra et tilbagevendende neuralt netværk .
Feedforward neurale netværk var den første og enkleste type kunstige neurale netværk [2] . I dette netværk bevæger information sig kun i én retning fremad fra inputknudepunkterne, gennem de skjulte knudepunkter (hvis nogen) og til udgangsnoderne. Der er ingen cyklusser eller feedbacksløjfer i netværket [1] .
Den enkleste slags neurale netværk er enkeltlags perceptron-netværket, som består af et enkelt lag af udgangsnoder; hvis input går direkte til udgangene gennem en række skalaer. Summen af produkterne af vægte og input beregnes ved hver knude, og hvis værdien overstiger en tærskel (normalt 0), affyrer neuronen og antager en aktiveret værdi (normalt 1); ellers tager den den deaktiverede værdi (normalt -1). Neuroner med en sådan aktiveringsfunktion kaldes også kunstige neuroner eller lineære tærskelenheder. I litteraturen refererer begrebet perceptron ofte til netværk, der kun består af én af disse enheder. En lignende neuron blev beskrevet af Warren McCulloch og Walter Pitts i 1940'erne.
Perceptronen kan oprettes ved hjælp af alle værdier for de aktiverede og deaktiverede tilstande, så længe tærskelværdien ligger mellem dem.
Perceptroner kan trænes ved hjælp af en simpel indlæringsalgoritme, der almindeligvis omtales som delta-reglen . Den beregner fejlene mellem det beregnede output og prøveudgangene og bruger dem til at skabe vægtjusteringer og implementerer således en form for gradientnedstigning .
Enkeltlagsperceptroner er kun i stand til at lære lineært adskillelige strukturer; i 1969, i en berømt monografi kaldet Perceptrons , af Marvin Minsky og Seymour Papert , blev det vist, at et enkeltlags netværk af perceptroner ikke kunne lære XOR-funktionen (ikke desto mindre var flerlagsperceptroner kendt for at være i stand til at producere enhver mulig boolsk funktion ) .
Selvom enhedstærskelenheden er ret begrænset i sin beregningskraft, har det vist sig, at netværk af parallelle tærskelenheder kan tilnærme enhver kontinuerlig funktion fra det kompakte interval af reelle tal til intervallet [-1,1]. Dette resultat kan findes i Peter Auer, Harald Burgsteiner og Wolfgang Maass "Learning rule for very simple universal approximators bestående af et enkelt lag af perceptroner" [3] .
Et enkeltlags neuralt netværk kan beregne et kontinuerligt output i stedet for en trinvis funktion . Et almindeligt valg er den såkaldte logistiske funktion:
Med dette valg er enkeltlagsnetværket identisk med den logistiske regressionsmodel , der i vid udstrækning anvendes i statistisk modellering . Den logistiske funktion er også kendt som sigmoid-funktionen . Den har et kontinuert derivat, som gør det muligt at bruge det til backpropagation . Denne funktion foretrækkes også, fordi dens afledte er let at beregne:
(Det faktum, at f opfylder differentialligningen ovenfor, vises nemt ved at anvende kædereglen )
Denne klasse af netværk består af flere niveauer af computerenheder, normalt forbundet med en direkte forbindelse. Hver neuron i et lag har dirigerede forbindelser med neuroner i det næste lag. I mange applikationer bruger enheder i disse netværk sigmoid-funktionen som en aktiveringsfunktion.
Den universelle tilnærmelsessætning for neurale netværk siger, at enhver kontinuerlig funktion, der kortlægger intervaller med reelle tal til et eller andet output-reelt tal-interval, kan tilnærmes vilkårligt af en flerlagsperceptron med kun et skjult lag. Dette resultat er gyldigt for en lang række aktiveringsfunktioner, for eksempel for sigmoide funktioner.
Multilayer-netværk bruger mange læringsmetoder, hvoraf den mest populære er backpropagation. Her sammenlignes outputværdierne med det korrekte svar for at beregne værdien af en foruddefineret fejlfunktion. Fejlen returneres derefter gennem netværket på forskellige måder. Ved at bruge disse oplysninger justerer algoritmen vægten af hver forbindelse for at reducere værdien af fejlfunktionen med en lille mængde. Efter at have gentaget denne proces i et tilstrækkeligt stort antal træningscyklusser, vil netværket normalt konvergere til en tilstand, hvor regnefejlen er lille. I dette tilfælde kan vi sige, at netværket har lært en bestemt objektiv funktion . For at justere vægtene korrekt, bruges en generel ikke-lineær optimeringsteknik kaldet gradient descent. For at gøre dette beregner netværket den afledede af fejlfunktionen i forhold til netværksvægtene og ændrer vægtene på en sådan måde, at fejlen aftager (og dermed går ned ad overfladen af fejlfunktionen). Af denne grund kan backpropagation kun bruges i netværk med differentierbare aktiveringsfunktioner.
Generelt er problemet med at træne netværket til at arbejde effektivt selv på prøver, der ikke blev brugt som træning, et ret subtilt problem, der kræver yderligere metoder. Dette er især vigtigt i tilfælde, hvor kun et meget begrænset antal træningsprøver er tilgængelige [4] . Faren er, at netværket overlejrer træningsdataene og ikke formår at fange den sande statistiske proces, der genererer dataene. Computational learning theory beskæftiger sig med træning af klassifikatorer på en begrænset mængde data. I forbindelse med neurale netværk sikrer en simpel heuristik , kaldet tidlig stop, ofte, at netværket vil generalisere godt til eksempler uden for træningssættet.
Andre typiske problemer ved tilbageforplantningsalgoritmen er konvergenshastigheden og muligheden for at ramme det lokale minimum af fejlfunktionen. I dag er der praktiske teknikker, der gør backpropagation i flerlagsperceptroner til det foretrukne værktøj til mange maskinlæringsproblemer .
Du kan også bruge en række uafhængige neurale netværk modereret af en mellemmand, lignende adfærd forekommer i hjernen. Disse neuroner kan arbejde separat og klare en stor opgave, og resultaterne kan endelig kombineres [5] .