Main pageThe neural network bible
Introduktion til læring

I denne del af gennemføringen vil vi gennemgå det der ligger til grund for de neurale netværks effektivitet, nemlig deres evne til at lære. De neurale netværk der indtil nu er snakket om beskrev kun den strukturelle organisation der er i et neuralt netværk. Det er imidlertid ikke nok at have en netværk der ser flot ud, i starten vil ethvert neuralt netværk med uordnede synapsestyrker give nogle fuldstændigt ubrugelige resultater da synapsestyrkerne på ingen måde er tilpasset noget som helst. Hvis man satte dette netværk til at genkende et bogstav, ville det være det samme som at prøve at få en baby til at udtale Tirkondyrokien (Tir kån dyr råkin). Dette er fordi at hverken babyens eller netværkets synapser er blevet tilpasset til det omkringliggende miljø. Ligesom babyens hjerne må det kunstige neurale netværk først blive trænet til den opgave den/det skal løse.

Oplæringen af babyen vil vi imidlertid være nød til at overlade til pædagoger, da vi har et kunstigt neuralt netværk at opfostre.

Læring af neurale netværk er i Simon Haykins bog defineret på følgende måde:


 
Learning is a process by which the free parameters of a neural network are adapted through a process of stimulation by the environment in which the network is embedded. The type of learning is determined by the manner in which the parameter change takes plan.
 


Meningen med denne noget kryptiske, og engelske, tekst er at

  1. Det neurale netværk bliver modificeret af miljøet
  2. Synapsestyrkerne ændres som et resultat af modificeringen
  3. Netværket giver et andet, og helst bedre, svar på input

Ændringen af synapsestyrker bliver gjort på et væld af forskellige måder, den ene bedre end den anden, og alle tilpasset lige netop én slags netværk. En sådan måde at opdatere synapsestyrkerne på kaldes en træningsalgoritme, da den trin for trin beskriver hvordan netværket skal opdateres. Idéen med de mange træningsalgoritmer er at man gerne ville være i stand til på den bedste og mest tidsbesparende måde at tilpasse netværket dets optimale tilstand.

Træningsalgoritmer er en af de ting der bliver forsket allermest i indenfor neurale netværk, nutidens algoritmer er dog stadigvæk for klodsede og tager al for lang tid hvis der er tale om et større netværk. Vi vil dog også kun beskæftige os med netværk på et par få hundrede neuroner her.

Traeningstyper

Læring af neurale netværk kan inddeles i to områder, overvåget (supervised) og uovervåget (unsupervised). Indenfor disse to kategorier findes et utal af forskellige læremetoder, men vi vælger bare at beskrive de mest simple af dem. Til sidst vil vi vise hvordan man kan lave et bogstavgenkendingsprogram der bruger begge læringsmetoder.

Indenfor overvåget læring beskriver vi error-correction mens vi i uovervåget beskæftiger os med to former, nemlig Hebbian og Competetive læring.

« forrige - top - næste »


Bottom frame
Før du begynder at læse dette Error-correction læring Competitive læring Hebbian læring Andre metoder Programmering af træning Opgaver