Reducerea zgomotului în imagini folosind Autocoders - ▷ Cursuri de programare de la 0 la

reducerea

Obiective:

  1. Înțelegeți principiul de bază al funcționării unei rețele neuronale artificiale
  2. Înțelegeți tipul de rețele neuronale artificiale numite Autocodere
  3. Utilizați Autocoders pentru a reduce zgomotul din imagini

Autocodificatorii sunt un tip special de rețea neuronală artificială (ANN). De aceea, pentru a înțelege autocodificatorii, este mai bine să aveți mai întâi o idee despre cum funcționează un ANN.

ANN Bazele

ANN-urile sunt modele de calcul inspirate din rețelele neuronale biologice. Într-un mod simplificat, un ANN poate fi împărțit în trei componente principale: un strat de intrare, mai multe straturi ascunse și un strat de ieșire (vezi Figura 1). Setul tuturor straturilor ascunse poate fi înțeles ca o funcție care depinde de mai mulți parametri necunoscuți a priori, numiți greutăți ale neuronilor. Pentru a găsi valorile acestor greutăți, ANN trebuie instruit.

figura 1: Stratul de intrare poate fi compus, de exemplu, din valorile pixelilor unei imagini. Straturile ascunse pot fi înțelese ca o anumită funcție G care depinde de greutățile wi, valorile de intrare Xi. Funcția G transformă valorile la intrare și în funcție de tipul de ANN poate reveni la ieșire o altă imagine sau probabilitatea ca imaginea de la intrare să aparțină unei anumite clase definite anterior.

Pentru a aprofunda acest subiect al rețelelor neuronale, este recomandat să citiți cursul în linkul de mai jos (introduceți linkul)

Autocodificatoare

După cum sa menționat anterior, autocodificatorii sunt un caz particular al ANN. Particularitatea acestora este că intrarea este de obicei exact aceeași cu ieșirea. Folosind exemplul anterior, dacă imaginea unui 0 este trecută în intrare, Autocoderul va afișa imaginea unui zero cât mai aproape posibil de imaginea intrării (Fig. 2). În acest moment este valabil să ne întrebăm: care este utilitatea unei astfel de rețele neuronale? Pentru a răspunde la această întrebare trebuie să înțelegem un pic mai bine arhitectura autocodificatorilor. Principala diferență cu rețelele convenționale este că straturile intermediare (straturile ascunse) își reduc mai întâi dimensiunea (Encoder) și apoi îl cresc din nou (Decoder) simetric (Fig. 2)

Figura 2: Arhitectura generală a unui Autoencoder.

Datorită arhitecturii acestui ANN, stratul de mijloc este o reprezentare compactă a variabilelor de intrare. Astfel, straturile care alcătuiesc codificatorul vor crea o versiune mai compactă a imaginii originale, în timp ce straturile care alcătuiesc decodorul vor încerca să restabilească imaginea originală din versiunea sa compactă. O aplicație interesantă a acestui tip de algoritm constă în obținerea de imagini de înaltă rezoluție din imagini cu rezoluție mică. O altă aplicație, în afara scopului de procesare a imaginii, este reducerea dimensiunilor în problemele în care există sute de variabile dependente. În acest sens, Autocoderii s-au dovedit a fi o tehnică alternativă și mai robustă decât PCA (Principal Component Analysis).