Neurala nätverk används i stor utsträckning i bildigenkänningsuppgifter på grund av deras förmåga att lära sig komplexa mönster. Denna fallstudie utforskar genomförandeprocessen, inklusive detaljerade beräkningar som är involverade i att utbilda ett neuralt nätverk för bildklassificering.

Utforma det neurala nätverket

Nätverket består av ett ingångsskikt, ett dolt lager och ett utgångsskikt. För enkelhet, överväga en liten datamängd med bilder som representeras av 4 pixlar vardera. Ingångsskiktet har 4 neuroner, det dolda lagret har 3 neuroner, och utgångsskiktet har 2 neuroner som representerar två klasser.

Initial vikter och fördomar

Vikter initieras slumpmässigt. Till exempel är vikterna mellan ingång och dolda lager:

  • ]]11[] = 0,2
  • ]] 12 = -0.3
  • ]] 13[] = 0,4
  • ]] 21 = -0,5
  • ] 22[] = 0,1
  • ]] 23 = -0.2
  • ]31[] = 0,3
  • ] 32 = -0.4
  • ] 33 = 0,2

Fördomar är inställda på noll initialt för enkelhet.

Framåt förökning och beräkningar

Med tanke på en ingångsbild med pixelvärden [0,5, 0,2, 0,1, 0,7] beräknas de dolda lageringångarna 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

Tillämpa en aktiveringsfunktion, såsom sigmoid, är de dolda lagerutgångarna:

]][[]= 1/1+ e[]]-0.08]]) ≈ 0.52

]]] H2[ = 1/1+ e[]]0.25[]]]) ≈ 0.43

]][[ = 1/1+ e[]]-0.09[]]]) ≈ 0.52

Utgångarna används sedan som ingångar till utgångsskiktet, där vikter tillämpas på liknande sätt på beräkningsklass sannolikheter.

Beräkna fel och uppdatera vikter

Anta att den sanna klassen är klass 1, representerad som [1, 0]. Utgångsskiktet beräknar:

]1[ = 1/1+ e]]-z[]][][]])

Där z ]1 är den viktade summan av dolda utgångar. Felet beräknas som:

Förlust = 0,5 * (mål - utgång)]] 2]

Med hjälp av gradient nedstigning uppdateras vikter baserat på fel- och inlärningsgraden, till exempel 0.1.

Sammanfattning av beräkningar

Denna process upprepar för flera epoker, justera vikter för att förbättra noggrannheten. Detaljerade beräkningar involverar matris multiplikationer, aktiveringsfunktioner och felderivat, som är avgörande för att träna neurala nätverk effektivt.