Ghid pentru CNN Deep Learning

Publicat: 2022-10-14

Capacitatea inteligenței artificiale de a reduce decalajul dintre abilitățile umane și cele ale mașinilor a crescut dramatic. Atât profesioniștii, cât și amatorii se concentrează pe multe fațete ale domeniului pentru a obține rezultate excelente. Domeniul vederii computerizate este una dintre numeroasele astfel de discipline.

Cuprins

Programele noastre AI și ML în SUA

Master of Science în Machine Learning și AI de la LJMU și IIITB Program Executive PG în învățare automată și inteligență artificială de la IIITB
Pentru a explora toate cursurile noastre, vizitați pagina noastră de mai jos.
Cursuri de învățare automată

Domeniul își propune să ofere computerelor capacitatea de a vedea și înțelege lumea ca oamenii și de a utiliza această înțelegere pentru diverse sarcini, inclusiv recunoașterea imaginilor și video, analiza și clasificarea imaginilor, recrearea media, sistemele de recomandare, procesarea limbajului natural etc. Rețeaua neuronală convoluțională este algoritmul principal utilizat pentru a dezvolta și a perfecționa îmbunătățirile învățării profunde în viziunea computerizată în timp. Să aflăm mai multe despre algoritmul de învățare profundă!

Obțineți certificare de învățare automată de la cele mai bune universități din lume. Câștigă programe de master, Executive PGP sau Advanced Certificate pentru a-ți accelera cariera.

Ce este Convolution Neural Network?

O rețea neuronală convoluțională sau CNN este o metodă de învățare profundă care poate prelua o imagine de intrare, acordă importanță diferitelor elemente și obiecte în imagine, cum ar fi ponderile și prejudecățile care pot fi învățate, și poate face distincția între ele. Comparativ vorbind, un CNN necesită substanțial mai puțină preprocesare decât alte tehnici de clasificare. CNN are capacitatea de a învăța aceste filtre și proprietăți, în timp ce, în tehnicile primitive, filtrele sunt proiectate manual.

Arhitectura unui CNN este influențată de modul în care este organizat cortexul vizual și seamănă cu rețeaua de conectivitate a neuronilor din creierul uman. Neuronii individuali reacţionează la stimuli numai în această zonă restrânsă a câmpului vizual, cunoscută sub numele de Câmpul Receptiv. O serie de astfel de suprapuneri acoperă întreg câmpul vizual.

Arhitectura rețelei neuronale de convoluție

Arhitectura rețelelor neuronale convoluționale diferă de cea a rețelelor neuronale convenționale. O rețea neuronală obișnuită transformă o intrare, trecând-o prin mai multe straturi ascunse. Fiecare strat constă dintr-un set de neuroni legați de toți neuronii din stratul de sub el. Stratul final de ieșire complet conectat este locul unde sunt reprezentate predicțiile.

Rețelele neuronale convoluționale sunt structurate puțin diferit. Straturile sunt mai întâi aranjate în trei dimensiuni: lățime, înălțime și adâncime. În plus, doar o parte din neuronii din stratul următor sunt conectați la cei din stratul de mai jos. Rezultatul va fi apoi condensat într-un singur vector de scor de probabilitate și grupat împreună cu stratul de convoluție.

CNN este format din două părți:

Extragerea caracteristicilor din straturi ascunse

Rețeaua va efectua o serie de operațiuni convoluționale și de pooling în această secțiune pentru a detecta caracteristicile. Aici rețeaua ar identifica dungile unui tigru, două urechi și patru picioare dacă ai avea o imagine a unuia.

Clasificarea secţiunii

Pe lângă aceste caracteristici recuperate, straturile de convoluție vor funcționa ca un clasificator în acest caz. Acestea vor da probabilitatea ca obiectul imaginii să se potrivească cu predicția algoritmului.

Extragerea caracteristicilor

Una dintre componentele cheie ale CNN este convoluția. Combinarea matematică a două funcții pentru a obține o a treia funcție este denumită convoluție. Combină două seturi de date. O hartă de caracteristici este creată prin efectuarea de convoluție a datelor de intrare în cazul unui CNN folosind un filtru sau un nucleu. Convoluția se realizează prin deplasarea filtrului peste intrare. Fiecare locație efectuează o înmulțire a matricei și însumează rezultatul pe harta caracteristicilor.

Facem mai multe convoluții la intrare, folosind un filtru diferit pentru fiecare operație. Ca rezultat, sunt produse diferite hărți de caracteristici. Ieșirea stratului de convoluție este în cele din urmă asamblată folosind toate aceste hărți de caracteristici.

Ca orice altă rețea neuronală, folosim un proces de activare pentru a face ieșirea noastră neliniară, unde funcția de activare este folosită pentru a trimite ieșirea convoluției într-o rețea neuronală convoluțională.

Tipuri de rețele neuronale de convoluție

Stratul de convoluție:

Componenta de bază a CNN este stratul de convoluție. Acesta suportă cea mai mare parte a sarcinii de calcul în rețea. Acest strat face un produs punctual între două matrice, dintre care una este nucleul, o colecție de parametri învățați, iar cealaltă este zona constrânsă a câmpului receptiv. În comparație cu o imagine, nucleul este mai mic în spațiu, dar mai adânc. Aceasta indică faptul că lățimea și înălțimea kernei vor fi mici din punct de vedere spațial dacă imaginea constă din trei canale; totuși, adâncimea va crește la toate cele trei canale.

Miezul se deplasează pe înălțimea și lățimea imaginii în timpul trecerii înainte, creând o reprezentare a imaginii acelei regiuni receptive. Ca rezultat, este creată o reprezentare bidimensională a imaginii numită hartă de activare, care dezvăluie răspunsul nucleului în fiecare locație din imagine. Un pas este un nume pentru dimensiunea glisantă a nucleului.

Strat de grupare:

Acest strat reduce doar puterea de calcul necesară procesării datelor. Se realizează prin reducerea în continuare a dimensiunilor matricei evidențiate. Încercăm să extragem trăsăturile dominante dintr-o mică parte a cartierului din acest strat.

Average-pooling și Max-pooling sunt două tipuri diferite de strategii de pooling.

Spre deosebire de Max-pooling, care pur și simplu ia cea mai mare valoare dintre toți cei din regiunea de pooling, Average-pooling face o medie a tuturor valorilor din regiunea de pooling.

Avem acum o matrice cu elementele cheie ale imaginii după punerea în comun a straturilor, iar această matrice are dimensiuni și mai mici, ceea ce va fi de mare ajutor în etapa următoare.

Strat complet conectat:

O metodă ieftină de învățare a permutărilor neliniare ale caracteristicilor de nivel înalt furnizate de rezultatul stratului convoluțional este adăugarea unui strat complet conectat. În acea zonă, stratul Fully-Connected învață acum o funcție care poate să nu fie liniară.

După ce îl convertim într-un format adecvat pentru perceptronul nostru cu mai multe niveluri, vom aplatiza imaginea de intrare într-un vector coloană. O rețea neuronală feed-forward primește ieșirea aplatizată, iar propagarea inversă este utilizată pentru fiecare iterație de antrenament. Modelul poate clasifica imaginile folosind metoda de clasificare Softmax prin identificarea caracteristicilor dominante și specifice de nivel scăzut în multe epoci.

Straturi de non-liniaritate:

Straturile de neliniaritate sunt deseori incluse imediat după stratul convoluțional pentru a adăuga neliniaritate hărții de activare, deoarece convoluția este o operație liniară, iar imaginile nu sunt liniare.

Operațiile neliniare vin sub o varietate de forme, cele mai comune fiind:

Sigmoid

Formula matematică pentru neliniaritatea sigmoidului este () = 1/(1+e ). Demolează un număr cu valoare reală în intervalul între 0 și 1. Gradientul unui sigmoid devine aproape zero atunci când activarea este fie la coadă, ceea ce este o caracteristică sigmoidală foarte nefavorabilă. Propagarea inversă va ucide efectiv gradientul dacă gradientul local devine prea mic. În plus, să presupunem că intrarea către neuron este exclusiv pozitivă. În acest caz, ieșirea sigmoidală va fi fie exclusiv pozitivă, fie exclusiv negativă, ceea ce duce la o dinamică în zig-zag a actualizărilor gradientului pentru greutate.

Tanh

Tanh condensează un număr cu valoare reală în intervalul [-1, 1]. La fel ca neuronii sigmoizi, activarea se saturează, dar spre deosebire de ei, ieșirea sa este centrată pe zero.

ReLU

Rectified Linear Unit (ReLU) a câștigat recent multă popularitate. Ea efectuează calculul funcției ()=max (0,). Pentru a spune altfel, activarea există doar la praguri zero. ReLU accelerează convergența de șase ori și este mai de încredere decât sigmoid și tanh.

Din păcate, ReLU poate fi fragil în timpul antrenamentului, ceea ce este un dezavantaj. Un gradient puternic îl poate actualiza, împiedicând neuronul să se actualizeze în continuare. Cu toate acestea, putem face acest lucru alegând o rată de învățare adecvată.

Bloguri populare de învățare automată și inteligență artificială

IoT: istorie, prezent și viitor Tutorial de învățare automată: Învățați ML Ce este algoritmul? Simplu și Ușor
Salariu inginer robotic în India: toate rolurile O zi din viața unui inginer de învățare automată: ce fac ei? Ce este IoT (Internet of Things)
Permutare vs combinație: diferența dintre permutare și combinație Top 7 tendințe în inteligența artificială și învățarea automată Învățare automată cu R: tot ce trebuie să știți

Începeți ghidul pentru CNN Deep Learning cu UpGrad

Înscrieți-vă pentru Master of Science în Machine Learning și Inteligență Artificială la UpGrad, în colaborare cu LJMU.

Programul de certificat pregătește studenții pentru rolurile tehnice actuale și viitoare, oferind subiecte relevante pentru industrie. Proiectele reale, studiile de caz multiple și cadrele universitare internaționale oferite de experți în domeniu sunt, de asemenea, puternic accentuate în program.

Înregistrându-vă, puteți profita de funcțiile exclusive ale UpGrad, cum ar fi monitorizarea rețelei, sesiunile de studiu și suportul pentru învățare la 360 de grade.

Ce este algoritmul de învățare profundă al CNN?

Modul în care funcționează CNN este de a obține o imagine, de a-i atribui o pondere în funcție de diferitele elemente din imagine și apoi de a le separa unele de altele. În comparație cu alți algoritmi de învățare profundă, CNN necesită o preprocesare extrem de mică a datelor.

Ce diferențiază CNN de deep learning?

Învățarea profundă este folosită mai des în marketing pentru a suna mai profesionist decât este. Există numeroase varietăți de rețele neuronale profunde, inclusiv CNN. CNN-urile sunt foarte apreciate datorită numeroaselor lor utilizări avantajoase în identificarea imaginilor.

De ce este CNN superioară celui complet conectat?

Convoluțiile nu au conexiuni dense și nu toate nodurile de intrare au un impact asupra fiecărui nod de ieșire. Datorită acestui fapt, straturile convoluționale pot învăța acum cu mai multă flexibilitate. În plus, există mai puține greutăți pe strat, ceea ce aduce beneficii intrărilor de dimensiuni mari, cum ar fi datele de imagine.

CNN este folosit doar pentru poze?

Da. Orice matrice de date 2D și 3D poate fi procesată folosind CNN.