Ce este rețelele neuronale grafice? Explicații și aplicații [Cu diagrame]
Publicat: 2021-01-08Cuprins
Introducere
În ultima vreme, rețelele neuronale au câștigat o popularitate uriașă datorită aplicării și ușurinței de utilizare în domeniul recunoașterii modelelor și extragerii datelor. Aplicarea Deep Learning la sarcini precum detectarea obiectelor și recunoașterea vorbirii folosind tehnici precum CNN, RNN și autoencodere a adus o cantitate imensă de muncă în cercetarea și dezvoltarea rețelelor neuronale.
Aplicarea Deep Learning asupra datelor, cum ar fi imagini, text și videoclipuri, se realizează cu ușurință, deoarece se bazează pe date euclidiene. Dar aplicațiile în care datele sunt reprezentate ca grafice (non-euclidiene) cu relații foarte complexe între obiecte?
Aici introducem conceptul de rețele neuronale grafice (GNN). În acest articol, vom trece prin definițiile și elementele de bază ale graficelor și GNN-urilor și vom vedea unele dintre cele mai recente aplicații ale rețelelor neuronale ale graficelor.
Ce este un grafic?
Din titlul – Rețele neuronale grafice, vedem că partea cea mai fundamentală a GNN este un grafic.
În informatică, un grafic este definit ca o structură de date cu două componente. Noduri și muchii. Un grafic G, poate fi definit ca G = VE . Unde V este mulțimea vârfurilor și E sunt muchiile dintre ele. Termenul de vârfuri și noduri este adesea folosit interschimbabil. Dacă există vreo săgeată pe margini numită dependență direcțională, atunci este un grafic direcționat. Dacă nu, sunt grafice nedirecționate.
Sursă

Un grafic poate reprezenta mai multe lucruri – rețea de socializare, rețea de orașe, molecule etc. Luați în considerare următorul grafic care reprezintă o rețea de orașe. Orașele sunt reprezentate ca noduri, iar drumurile care le leagă sunt marginile.
Sursă
Folosind rețeaua de grafice de mai sus, putem rezolva mai multe probleme legate de aceste orașe, cum ar fi găsirea orașelor care sunt bine conectate sau găsirea celei mai scurte distanțe între două orașe.
Ce sunt rețelele neuronale grafice?
Deoarece graficele au puteri expresive extrem de puternice, ele câștigă atenția pe scară largă în domeniul învățării automate. Fiecare nod are asociată o încorporare. Această încorporare definește nodul în spațiul de date. Rețelele neuronale ale graficului se referă la arhitecturile rețelelor neuronale care funcționează pe un grafic.
Scopul principal al unei arhitecturi GNN este de a învăța o încorporare care conține informații despre vecinătatea sa. Folosind această încorporare, putem rezolva mai multe probleme cum ar fi etichetarea nodului, predicția nodurilor și a marginilor etc.
Cu alte cuvinte, rețelele neuronale grafice sunt o clasă suplimentară de metode de învățare profundă care sunt concepute pentru a efectua inferențe asupra datelor care sunt date de grafice. Acestea sunt aplicate pe grafice și pot efectua cu ușurință sarcini de predicție la nivel de nod, la nivel de margine și la nivel de grafic.
De ce nu CNN?
Principalul avantaj al GNN este că poate îndeplini sarcini pe care rețelele neuronale convoluționale (CNN) nu le-au îndeplinit. CNN-urile sunt folosite pentru a efectua sarcini precum detectarea obiectelor, clasificarea și recunoașterea imaginilor. Folosind straturi convoluționale ascunse și straturi de grupare, CNN realizează acest lucru.
Este dificil din punct de vedere computațional să efectuați CNN pe datele grafice, deoarece este o topologie foarte arbitrară și complexă, ceea ce înseamnă că nu există o localitate spațială. De asemenea, există o ordonare nefixată a nodurilor care face mai dificilă aplicarea CNN.
Rețele neuronale grafice
Astfel, se înțelege că așa cum este numit, GNN este o rețea neuronală care este aplicată direct graficelor, oferind o modalitate convenabilă pentru sarcini de predicție la nivel de margine, la nivel de nod și la nivel de grafic. Există în principal trei tipuri de rețele neuronale grafice:
- Rețeaua neuronală grafică recurentă
- Rețeaua convoluțională spațială
- Rețeaua convoluțională spectrală
Una dintre intuițiile GNN este că nodurile sunt definite de vecinii și conexiunile sale. O putem vizualiza imaginându-ne că dacă toți vecinii unui nod sunt îndepărtați, atunci nodul își va pierde toate informațiile. Astfel, conceptul de vecini ai unui nod și conexiunile la vecini definesc un nod.
Având în vedere acest lucru, să dăm fiecărui nod o stare (x) pentru a-și reprezenta conceptul. Putem folosi starea nodului (x) pentru a produce o ieșire (o), care este decizia despre concept. Starea finală (x_n) a nodului este numită „încorporarea nodului”. Sarcina principală a întregii rețele neuronale Graph este de a determina „înglobarea nodului” a fiecărui nod, analizând informațiile despre nodurile învecinate.
Să începem cu cea mai puternică versiune de GNN, Recurrent Graph Neural Network sau RecGNN
Rețeaua neuronală grafică recurentă
După cum sa menționat în lucrarea originală, RecGNN este construit cu o ipoteză a teoremei punctului fix de la Banach, care afirmă că: Fie (X,d) un spațiu metric complet și fie (T:X→X) o mapare de contracție. Atunci T are un punct fix unic (x∗) și pentru orice x∈X secvența T_n(x) pentru n→∞ converge către (x∗). Aceasta înseamnă că dacă aplic maparea T pe x de k ori, x^k ar trebui să fie aproape egal cu x^(k-1).
Rețeaua convoluțională spațială
Intuiția Spatial Convolutional Network este similară cu cea a CNN. După cum știm în CNN, ideea este de a efectua convoluția prin însumarea pixelilor vecini în jurul unui pixel central cu un filtru și greutăți învățate. Rețelele convoluționale spațiale adoptă o idee similară prin agregarea caracteristicilor nodurilor învecinate către nodul central.

Sursă
Rețeaua convoluțională spectrală
Spre deosebire de alte rețele neuronale grafice, acest tip de GNN are o bază puternică de matematică. Este dezvoltat pe teoria procesării semnalului grafic. Utilizează aproximarea polinomială Chebyshev pentru simplificare.
Ce poate face un GNN?
Problemele pe care le poate rezolva un GNN sunt clasificate în general în 3 categorii -
- Clasificarea nodurilor
- Link Prediction
- Clasificare grafică
Clasificarea nodurilor
implică în prezicerea înglobării nodului pentru fiecare nod într-un grafic. În astfel de cazuri, doar o parte a graficului este etichetată și, prin urmare, acesta este cunoscut sub numele de grafic semi-supravegheat. Unele aplicații sunt videoclipuri YouTube, recomandare de prieteni pe Facebook etc.
Link Prediction
sarcina principală este de a identifica relația dintre două entități într-un grafic și de a prezice dacă există vreo legătură între cele două entități. De exemplu, luați în considerare un sistem de recomandare în care unui model i se oferă un set de recenzii de către utilizatorii diferitelor produse. Sarcina este de a prezice preferințele utilizatorilor și de a regla sistemul de recomandare pentru a promova produse care se potrivesc cu interesul utilizatorilor.
Clasificare grafică
presupune clasificarea întregului grafic în mai multe categorii diferite. Este destul de similar cu sarcina de clasificare a imaginilor, dar ținta aici este în domeniul graficului. Există mai multe exemple de clasificare grafică, cum ar fi în chimie, unui model i se oferă o structură moleculară sub forma unui grafic și sarcina este de a clasifica ținta într-o anumită categorie.
Aplicații în timp real ale GNN
De la introducerea sa în 2018, GNN-urile au găsit destul de multe aplicații în timp real, care sunt rezumate mai jos.
Procesarea limbajului natural
GNN își găsește aplicațiile într-o mare varietate de aplicații NLP, cum ar fi Clasificarea sentimentelor, Clasificarea textului, Etichetarea secvenței. Ele sunt folosite în NLP datorită ușurinței sale de aplicare. Ele sunt, de asemenea, utilizate în analiza rețelelor sociale, cum ar fi predicția postărilor similare și recomandarea de conținut specific utilizatorilor.
Viziune pe computer
Computer Vision este un domeniu vast care a crescut rapid cu ajutorul Deep Learning în domenii precum Clasificarea imaginilor, Detectarea obiectelor etc. Cea mai populară aplicație fiind Rețelele Neurale Convoluționale. Dezactivat târziu, GNN-urile au fost aplicate și în acest domeniu. Deși aplicarea GNN în Computer Vision este în stadiu incipient, ea arată un potențial imens în următorii ani.

Ştiinţă
GNN-urile sunt, de asemenea, utilizate pe scară largă în știință, cum ar fi sistemele de fizică, predicția efectelor secundare și clasificarea bolilor. Chimiștii folosesc, de asemenea, GNN-urile pentru a studia structura grafică a compușilor și a moleculelor.
Alte Domenii
Aplicarea GNN nu se limitează numai la sarcinile de mai sus. Au existat mai multe încercări de aplicare a GNN într-o varietate de domenii, cum ar fi sistemele de recomandare, analiza rețelelor sociale etc.
Concluzie
În ultimii câțiva ani de când au fost introduse GNN-urile, acestea au devenit un instrument puternic și de încredere pentru a rezolva probleme care pot fi modelate prin grafice. Acest lucru se datorează flexibilității, puterii sale expresive și vizualizării ușoare. Astfel, GNN-urile sunt o soluție intuitivă pentru datele nestructurate cu o gamă largă de aplicații din lumea reală.
Dacă doriți să aflați mai multe despre GCN și caracteristicile și beneficiile sale, înregistrați-vă la upGrad Education Pvt. Ltd. Și cursul de studii postuniversitare și de diplomă de la IIITB privind învățarea automată și inteligența artificială. Acest curs despre Machine Learning și AI este conceput pentru studenți și profesioniști care lucrează.
Cursul oferă o colecție de studii de caz și sarcini, sesiuni de mentorat în industrie, statutul IIIT Bangalore Alumni, asistență pentru plasarea unui loc de muncă cu companii de top și, cel mai important, o experiență bogată de învățare.
Ce vrei să spui prin Rețea Neuronală?
Rețelele neuronale sunt algoritmi de rețea care ajută la identificarea tiparelor și sunt oarecum proiectați după creierul uman. Ei folosesc învățarea automată și inteligența artificială pentru a înțelege intrările senzoriale, categorizarea sau gruparea datelor brute. Toate statisticile reale, fie că sunt imagini, muzică, text sau serii cronologice, ar trebui traduse în caracterele pe care le recunoaște rețeaua neuronală, care sunt numerice și codificate în vectori. Ele ajută la clasificarea și gruparea datelor. Ei clasifică datele atunci când au un set de date etichetat și ajută la gruparea datelor neetichetate pe baza asemănărilor dintre intrările de exemplu. Ele fac parte din aplicațiile mai extinse de învățare automată care includ algoritmi pentru învățare prin consolidare, varietate și regresie.
Ce este o rețea neuronală convoluțională?
O rețea neuronală convoluțională, cunoscută și sub denumirea de CNN sau ConvNet, este o tehnică care poate realiza o imagine de intrare și poate acorda prioritate diferitelor elemente din imagine, precum și să facă distincția între ele. Cantitatea de procesare cerută de un CNN este semnificativ mai mică decât alți algoritmi. CNN a fost conceput cu ajutorul cortexului vizual și are un model similar cu neuronii din creierul nostru. Chiar și în CNN, neuronii individuali pot reacționa doar la impulsuri dintr-o zonă mică a câmpului vizual numit Câmpul Receptiv.
Prin ce diferă rețelele neuronale de învățarea automată?
Machine Learning este un set de algoritmi puternici care analizează datele, studiază din acestea și aplică ceea ce au studiat pentru a găsi modele interesante. O rețea neuronală, pe de altă parte, este un grup de tehnici utilizate în învățarea automată pentru a modela date folosind grafice ale neuronilor. O rețea neuronală aranjează algoritmii în așa fel încât să poată face judecăți fiabile pe cont propriu, în timp ce un model de învățare automată ia decizii pe baza a ceea ce a învățat din date. Ca rezultat, deși modelele de învățare automată pot învăța din date, acestea pot necesita o anumită interacțiune umană în stadiile incipiente. Rețelele neuronale nu necesită interacțiune umană, deoarece straturile stivuite din interiorul lor transmit informații prin ierarhii de concepte distincte, permițându-le să învețe din propriile greșeli.