Retelele neurale sunt utilizate pe scară largă în sarcinile de recunoaștere a imaginii datorită capacității lor de a învăța modele complexe. Acest studiu de caz explorează procesul de implementare, inclusiv calcule detaliate implicate în formarea unei rețele neuronale pentru clasificarea imaginii.

Proiectarea rețelei neuronale

Reteaua este formata dintr-un strat de intrare, un strat ascuns si un strat de iesire. Pentru simplitate, luati in considerare un set de date mic cu imagini reprezentate de 4 pixeli fiecare. Stratul de intrare are 4 neuroni, stratul ascuns are 3 neuroni, iar stratul de iesire are 2 neuroni reprezentand doua clase.

Greutatea iniţială şi biase

Greutatea este initializata aleatoriu. De exemplu, greutatea intre intrare si stratul ascuns este:

  • W[11 = 0,2
  • W[12 = -0,3
  • W[13 = 0,4
  • W[21 = -0.5
  • W[22 = 0,1
  • W[23 = -0,2
  • W[31 = 0,3
  • W[32 = -0,4
  • W[33 = 0,2

Biasele sunt setate la zero iniţial pentru simplitate.

Propagare și calcule forward

Având în vedere o imagine de intrare cu valori pixel [0,5, 0,2, 0,1, 0,7), intrările pe strat ascunse sunt calculate ca:

H[1 = (0,5) (0,5) (0,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,0.2) = 0,15 - 0,08 + 0,02 = 0,09

Aplicarea unei funcții de activare, cum ar fi sigmoid, ieșirile de strat ascunse sunt:

O[H1 = 1 / (1 + e[-0,08)

O[H2 = 1 / (1 + e[0.25)

O[H3 = 1 / (1 + e[-0,09)

Rezultatele sunt apoi utilizate ca intrări în stratul de ieșire, în cazul în care greutățile sunt aplicate în mod similar pentru calcularea probabilităților clasei.

Calcularea erorii și actualizarea greutăților

Să presupunem că adevărata clasă este clasa 1, reprezentată ca [1, 0]. Stratul de ieșire calculeaza:

[1 = 1 / (1 + e[-z1]]]]

În cazul în care z1 este suma ponderată a ieșirilor ascunse. Eroarea se calculează astfel:

Pierderea = 0,5 * (țintă - ieșire)2

Folosind coborârea gradientului, greutățile sunt actualizate pe baza erorii și a ratei de învățare, de exemplu, 0,1.

Rezumatul calculelor

Acest proces se repetă pentru mai multe epoci, ajustarea greutăți pentru a îmbunătăți acuratețea. Calculele detaliate implică multiplicarea matricei, funcțiile de activare și derivatele de eroare, care sunt esențiale pentru formarea rețelelor neuronale în mod eficient.