Table of Contents
Neural nettverk er mye brukt i bildegjenkjennelsesoppgaver på grunn av deres evne til å lære komplekse mønstre. Denne case studien utforsker implementeringsprosessen, inkludert detaljerte beregninger som er involvert i trening av et nevralt nettverk for bildeklassifisering.
Designe det nevrale nettverket
Nettverket består av et inngangslag, et skjult lag og et utgangslag. For enkelhet, vurdere et lite datasett med bilder representert med 4 piksler hver. Inngangslaget har 4 nevroner, det skjulte laget har 3 nevroner, og utgangslaget har 2 nevroner som representerer to klasser.
Første vekt og biaser
Vektene er initialisert tilfeldig. For eksempel er vektene mellom inngang og skjult lag:
- W11 = 0,2
- W12 = -0.3
- W13 = 0,4
- W21 = -0.5
- W22 = 0,1
- W23 = -0.2
- W31 = 0,3
- W32 = -0.4
- W33 = 0,2
Biaser er satt til null i utgangspunktet for enkelhet.
Fremoverutbreiing og beregninger
Gitt et inngangsbilde med pikselverdier [0,5, 0,2, 0,1, 0,7], beregnes de skjulte laginngangene som:
H]1 = (0.5(0.2) + (0.2(-0.3) + (0.1(0.4) = 0,1 - 0,06 + 0,04 = 0,08
H]2 = (0,5(-0.5) + (0.2(0.1) + (0.1(-0.2) = -0.25 + 0,02 - 0,02 = -0.25
H]3 = (0,5(0.3) + (0.2(-0.4) + (0.1(0.2) = 0,15 - 0,08 + 0,02 = 0,09
Ved å påføre en aktiveringsfunksjon, som sigmoid, er de skjulte lagutgangene:
OH1 = 1 / (1 + e]-0.08) ⁇ 0,52
OH2 = 1 / (1 + e]0.25]) ⁇ 0.43
O]H3 = 1 / (1 + e]-0.09) ⁇ 0,52
Utgangene blir så brukt som innganger til utgangslaget, hvor vektene på lignende måte påføres for å beregne klassesannsyn.
Beregne feil og oppdatere vekter
Antak at den sanne klassen er klasse 1, representert som [1, 0]. Utgangslaget beregner:
O1] = 1 / (1 + e]-z]]1]]
Hvor z]1 er den vektede summen av skjulte utganger. Feilen beregnes som:
Tap = 0,5 * (mål - utgang)]2
Ved hjelp av gradientnedstigning oppdateres vektene basert på feil- og læringshastigheten, for eksempel 0,1.
Sammendrag av beregninger
Denne prosessen gjentar for flere epoker, justere vekter for å forbedre nøyaktigheten. Detaljerte beregninger involverer matrisemultiplikasjoner, aktiveringsfunksjoner og feilderivater, som er avgjørende for trening av nevrale nettverk effektivt.