IA 101
Ce sunt CNN-urile (Rețele Neuronale Convolutionale)?

Poate v-ați întrebat vreodată cum reușesc Facebook sau Instagram să recunoască automat fețele dintr-o imagine sau cum vă permite Google să căutați pe web fotografii similare doar prin încărcarea unei fotografii proprii. Aceste funcții sunt exemple de vedere computerizată și sunt alimentate de rețele neuronale convolutionale (CNN). Dar ce sunt exact rețelele neuronale convolutionale? Să facem o analiză aprofundată a arhitecturii unei CNN și să înțelegem cum funcționează.
Ce sunt Rețelele Neuronale?
Înainte de a începe să discutăm despre rețelele neuronale convolutionale, să definim mai întâi o rețea neuronală obișnuită. Există un alt articol pe tema rețelelor neuronale, așa că nu vom intra prea mult în detalii aici. Cu toate acestea, pentru a le defini pe scurt, acestea sunt modele computaționale inspirate de creierul uman. O rețea neuronală funcționează prin preluarea datelor și manipularea lor prin ajustarea “greutăților”, care sunt presupuneri despre modul în care caracteristicile de intrare sunt legate între ele și clasa obiectului. Pe măsură ce rețeaua este antrenată, valorile greutăților sunt ajustate și acestea vor converge, sperăm, către greutăți care captează cu acuratețe relațiile dintre caracteristici.
Acesta este modul în care funcționează o rețea neuronală feed-forward, iar CNN-urile sunt alcătuite din două jumătăți: o rețea neuronală feed-forward și un grup de straturi convolutionale.
Ce sunt Rețelele Neuronale Convolutionale (CNN)?
Ce sunt “convoluțiile” care au loc într-o rețea neuronală convolutională? O convoluție este o operație matematică care creează un set de greutăți, creând practic o reprezentare a părților imaginii. Acest set de greutăți se numește un kernel sau un filtru. Filtrul creat este mai mic decât imaginea de intrare completă, acoperind doar o subsecțiune a imaginii. Valorile din filtru sunt înmulțite cu valorile din imagine. Filtrul este apoi mutat pentru a forma o reprezentare a unei noi părți a imaginii, iar procesul este repetat până când întreaga imagine a fost acoperită.
O altă modalitate de a gândi despre acest lucru este să imaginați un zid de cărămizi, cu cărămizile reprezentând pixelii din imaginea de intrare. O “fereastră” este trasă înainte și înapoi de-a lungul zidului, care este filtrul. Cărămizile care sunt vizibile prin fereastră sunt pixelii care își multiplică valorile cu valorile din filtru. Din acest motiv, această metodă de creare a greutăților cu un filtru este adesea numită tehnica “ferestrelor alunecătoare”.
Ieșirea din filtrele mutate pe toată imaginea de intrare este o matrice bidimensională care reprezintă întreaga imagine. Această matrice se numește “hartă de caracteristici”.
De ce Convoluțiile sunt Esențiale
Care este scopul creării convoluțiilor, oricum? Convoluțiile sunt necesare pentru că o rețea neuronală trebuie să poată interpreta pixelii dintr-o imagine ca valori numerice. Funcția straturilor convolutionale este de a converti imaginea în valori numerice pe care rețeaua neuronală le poate interpreta și, ulterior, extrage tipare relevante din ele. Rolul filtrelor din rețeaua convolutională este de a crea o matrice bidimensională de valori care poate fi transmisă în straturile ulterioare ale rețelei neuronale, care vor învăța tiparele din imagine.
Filtre și Canale

Foto: cecebur via Wikimedia Commons, CC BY SA 4.0 (https://commons.wikimedia.org/wiki/File:Convolutional_Neural_Network_NeuralNetworkFeatureLayers.gif)












