Okuqukethwe[Fihla][Bonisa]
Amasu okufunda okujulile aziwa ngokuthi “amanethiwekhi e-graph neural” (GNNs) asebenza esizindeni segrafu. Lawa manethiwekhi asanda kuthola ukusetshenziswa emikhakheni eyahlukene, okuhlanganisa umbono wekhompyutha, izinhlelo zokuncoma, kanye nokwenza kahle okuhlangene, ukusho ezimbalwa.
Ngaphezu kwalokho, lawa manethiwekhi angasetshenziswa ukumela izinhlelo eziyinkimbinkimbi, okuhlanganisa amanethiwekhi omphakathi, amanethiwekhi okuxhumana amaprotheni-amaprotheni, amagrafu olwazi, nokunye emikhakheni eminingana yokufunda.
Isikhala esingeyona i-euclidean yilapho idatha yegrafu isebenza khona, ngokungafani nezinye izinhlobo zedatha njengezithombe. Ukuze uhlukanise ama-node, ubikezele izixhumanisi, kanye nedatha yeqoqo, ukuhlaziywa kwegrafu kuyasetshenziswa.
Kulesi sihloko, sizohlola iGrafu I-Neural Network ngokuningiliziwe, izinhlobo zayo, kanye nokuhlinzeka ngezibonelo ezisebenzayo usebenzisa i-PyTorch.
Ngakho, yini iGrafu?
Igrafu iwuhlobo lwesakhiwo sedatha esakhiwe amanodi nama-vertices. Ukuxhumana phakathi kwama-node ahlukahlukene kunqunywa ama-vertices. Uma isiqondiso sikhonjisiwe kuma-nodes, igrafu kuthiwa iqondiswe; ngaphandle kwalokho, ayiqondiswanga.
Ukusetshenziswa okuhle kwamagrafu ukumodela ubudlelwano phakathi kwabantu abahlukahlukene ku inethiwekhi Yokuxhumana. Lapho ubhekana nezimo eziyinkimbinkimbi, njengezixhumanisi nokuhwebelana, amagrafu ayasiza kakhulu.
Zisetshenziswa izinhlelo zokuncoma, ukuhlaziya i-semantic, ukuhlaziywa kwenethiwekhi yokuxhumana nabantu, nokuqashelwa kwephethini
. Ukudala izixazululo ezisekelwe kumagrafu kuyinkambu entsha sha enikeza ukuqonda okunokuqonda kwedatha eyinkimbinkimbi nehlobene.
Igrafu Neural Network
Amanethiwekhi we-Graph neural ayizinhlobo ezikhethekile zenethiwekhi ye-neural ezingasebenza ngefomethi yedatha yegrafu. Ukushumeka igrafu kanye namanethiwekhi e-convolutional neural (CNNs) kunomthelela omkhulu kukho.
I-Graph Neural Networks isetshenziswa emisebenzini ehlanganisa izindawo zokubikezela, imiphetho, namagrafu.
- Ama-CNN asetshenziselwa ukuhlukanisa izithombe. Ngokufanayo, ukubikezela ikilasi, ama-GNN asetshenziswa kugridi yephikseli emele ukwakheka kwegrafu.
- Ukuhlelwa kombhalo kusetshenziswa amanethiwekhi e-neural aphindaphindayo. Ama-GNN aphinde asetshenziswe nemidwebo yamagrafu lapho igama ngalinye emshweni liyinodi.
Ukuze ubikezele ama-node, imiphetho, noma amagrafu aphelele, amanethiwekhi e-neural asetshenziselwa ukudala ama-GNN. Ukubikezela ezingeni le-node, isibonelo, kungaxazulula inkinga efana nokutholwa kogaxekile.
Ukubikezela kwesixhumanisi kuyisimo esijwayelekile kumasistimu wokuncoma futhi kungase kube isibonelo senkinga yokuqagela ehlakaniphile.
Izinhlobo zenethiwekhi ye-Graph Neural
Kunezinhlobo eziningi zenethiwekhi ye-neural ezikhona, futhi i-Convolutional Neural Networks ikhona kwabaningi bazo. Sizofunda ngama-GNN aziwa kakhulu kule ngxenye.
I-Graph Convolutional Networks (GCNs)
Aqhathaniswa nama-CNN akudala. Ithola izici ngokubheka izindawo eziseduze. Umsebenzi wokwenza kusebenze usetshenziswa ama-GNN ukuze wengeze ukungewona umugqa ngemva kokuhlanganisa ama-node vectors nokuthumela okukhiphayo kusendlalelo esiminyene.
Yakhiwe nge-Graph convolution, isendlalelo somugqa, nomsebenzi wokuvula ongewona owomfundi, empeleni. Ama-GCN eza ngezinhlobo ezimbili eziyinhloko: I-Spectral Convolutional Networks kanye ne-Spatial Convolutional Networks.
Amanethiwekhi we-Auto-Encoder yegrafu
Isebenzisa isifaki khodi ukuze ifunde indlela yokumela amagrafu kanye nesikhiphi khodi ukuze sizame ukwakha kabusha amagrafu okokufaka. Kukhona isendlalelo sebhodlela exhuma isishumeki nesikhiphi khodi.
Njengoba izifaki khodi ezizenzakalelayo zenza umsebenzi omuhle kakhulu wokuphatha ibhalansi yekilasi, zivame ukusetshenziswa ekubikezelweni kwesixhumanisi.
I-Recurrent Graph Neural Networks (RGNNs)
Kumanethiwekhi okuxhumana okuningi, lapho indawo eyodwa inobudlelwano obuningi, ifunda iphethini yokusabalalisa efanelekile futhi ingaphatha amagrafu. Ukuze kwandiswe ubushelelezi futhi kuncishiswe ipharamitha ngaphezulu, ama-regulators asetshenziswa ngale ndlela yenethiwekhi ye-neural yegrafu.
Ukuze uthole imiphumela engcono, ama-RGNN adinga amandla amancane okucubungula. Zisetshenziselwa ukukhiqiza umbhalo, ukubonwa kwenkulumo, ukuhumusha ngomshini, incazelo yesithombe, ukumaka ividiyo, nokufingqa umbhalo.
I-Gated Neural Graph Networks (GGNNs)
Uma kuziwa emisebenzini encike esikhathini eside, idlula ama-RGNN. Ngokufaka i-node, unqenqema, namasango esikhashana ekuncikeni kwesikhathi eside, amanethiwekhi e-neural egrafu agayiwe athuthukisa amanethiwekhi e-neural egrafu aphindekayo.
Amasango asebenza ngendlela efanayo nama-Gated Recurrent Units (GRUs) ngoba asetshenziselwa ukukhumbula nokukhohlwa idatha ngezigaba ezihlukahlukene.
Ukusebenzisa i-Graph Neural Network usebenzisa i-Pytorch
Inkinga ethile esizogxila kuyo yinkinga evamile yokuhlukanisa ngezigaba. Sinenkundla yezokuxhumana enkulu ebizwa ngokuthi musae-github, eyahlanganiswa kusukela ku-API evuliwe, yabathuthukisi be-GitHub.
Amaphethelo abonisa ubudlelwano babalandeli obufanayo phakathi kwamanodi, amele onjiniyela (abasebenzisi benkundla) abanenkanyezi okungenani kumakhosombe ayi-10 (qaphela ukuthi igama elithi mutual libonisa ubudlelwano obungaqondile).
Ngokusekelwe endaweni yenodi, amakhosombe anenkanyezi, umqashi, nekheli le-imeyili, izici zenodi ziyabuyiswa. Ukubikezela uma umsebenzisi we-GitHub engunjiniyela wewebhu noma a unjiniyela wokufunda womshini kuwumsebenzi wethu.
Isihloko somsebenzi somsebenzisi ngamunye sisebenze njengesisekelo salo msebenzi wokukhomba.
Ifaka i-PyTorch
Ukuze siqale, sidinga kuqala ukufaka I-PyTorch. Ungakwazi ukumisa it ngokusho umshini wakho kusuka lapha. Nansi eyami:
Ukungenisa amamojula
Manje, singenisa amamojula adingekayo
Ukungenisa kanye nokuhlola idatha
Isinyathelo esilandelayo ukufunda idatha bese uhlela imigqa emihlanu yokuqala kanye nemigqa emihlanu yokugcina efayeleni lamalebula.
Amakholomu amabili kuphela kwamane—i-id yenodi (okungukuthi, umsebenzisi) kanye ne-ml_target, engu-1 uma umsebenzisi eyilungu lomphakathi wokufunda ngomshini futhi ongu-0 uma kungenjalo—abalulekile kithi kulesi simo.
Njengoba kunezigaba ezimbili kuphela, manje singaqiniseka ukuthi umsebenzi wethu uyinkinga yokuhlukaniswa okubili.
Njengomphumela wokungalingani kwekilasi okubalulekile, ohlukanisa ngezigaba angavele acabange ukuthi yisiphi isigaba esiyiningi kunokuba ahlole isigaba esingamelelwe kahle, enze ibhalansi yekilasi ibe enye into ebalulekile okufanele icatshangelwe.
Ukuhlela i-histogram (ukusabalalisa imvamisa) kuveza ukungalingani okuthile ngenxa yokuthi kukhona amakilasi ambalwa avela ekufundeni komshini (ilebula=1) kunakwamanye amakilasi.
Isici Sombhalo Wekhodi
Izici zamanodi zisitshela ngesici esihlotshaniswa nenodi ngayinye. Ngokusebenzisa indlela yethu yokubhala idatha, singakwazi ukufaka ikhodi ngokushesha lezo zici.
Sifuna ukusebenzisa le ndlela ukuze sihlanganise ingxenye encane yenethiwekhi (ake sithi, amanodi angama-60) ukuze siboniswe. Ikhodi ibhalwe lapha.
Ukuklama nokubonisa amagrafu
Sizosebenzisa ithoshi lejometri. idatha yokwakha igrafu yethu.
Ukwenza imodeli yegrafu eyodwa enezici ezihlukile (ongazikhethela), idatha eyinto elula yePython iyasetshenziswa. Ngokusebenzisa leli klasi kanye nezibaluli ezilandelayo—zonke okungamathoshi ethoshi—sizokwakha into yethu yegrafu.
Ifomu yenani elingu-x, elizokwabelwa izici zenodi ebhalwe ngekhodi, lithi [inombolo yamanodi, inani lezici].
Umumo ka-y yi-[inani lamanodi], futhi uzosetshenziswa kumalebula wenodi.
inkomba yonqenqema: Ukuze sichaze igrafu engaqondisiwe, sidinga ukunweba izinkomba zonqenqema zangempela ukuze sivumele ukuba khona kwamaphethelo amabili ahlukene axhuma ama-node amabili afanayo kodwa akhombe ezindaweni eziphambene.
Ipheya yemiphetho, eyodwa ekhomba ukusuka ku-node engu-100 kuya ku-200 kanti enye isuka ku-200 iye ku-100, iyadingeka, ngokwesibonelo, phakathi kwama-nodes 100 no-200. Uma izinkomba zomphetho zinikezwa, khona-ke yile ndlela igrafu engaqondisiwe engamelwa ngayo. [2,2*inombolo yamaphethelo asekuqaleni] kuzoba ifomu le-tensor.
Sakha indlela yethu yokudweba igrafu ukuze sibonise igrafu. Isinyathelo sokuqala ukuguqula inethiwekhi yethu ye-homogeneous ibe igrafu ye-NetworkX, engadwetshwa kusetshenziswa i-NetworkX.draw.
Yenza imodeli yethu ye-GNN futhi uyiqeqeshe
Siqala ngokufaka ikhodi yonke isethi yedatha ngokukhipha idatha yekhodi with light=False bese sibiza igrafu yokwakha nge-light=False ukwakha igrafu yonke. Ngeke sizame ukudweba le grafu enkulu ngoba ngicabanga ukuthi usebenzisa umshini wendawo onezinsiza ezilinganiselwe.
Izifihla-buso, okungamavekhtha anambambili akhomba ukuthi yimaphi ama-node okungemaski ethile ethile kusetshenziswa amadijithi angu-0 no-1, angasetshenziswa ukwazisa isigaba sokuqeqesha ukuthi imaphi ama-node okufanele afakwe phakathi nokuqeqeshwa kanye nokutshela isigaba sokusho ukuthi imaphi ama-node ayidatha yokuhlola. Ithoshi geometric.iguqula.
Ukuhlukaniswa kwezinga le-node kungangezwa kusetshenziswa imaski yokuqeqeshwa, imaski ye-val, kanye nezakhiwo zamamaski zokuhlola zekilasi le-AddTrainValTestMask, elingasetshenziswa ukuthatha igrafu futhi lisenze sikwazi ukucacisa ukuthi sifuna ukuthi imaski yethu yakhiwe kanjani.
Sisanda kusebenzisa u-10% ekuqeqesheni futhi sisebenzisa u-60% wedatha njengesethi yokuhlola kuyilapho sisebenzisa u-30% njengesethi yokuqinisekisa.
Manje, sizobeka izendlalelo ezimbili ze-GCNConv, esokuqala esinesibalo sesici sokukhipha esilingana nenani lezici kugrafu yethu njengezici zokufaka.
Kusendlalelo sesibili, esiqukethe ama-node okukhiphayo alingana nenani lamakilasi ethu, sisebenzisa umsebenzi wokwenza kusebenze i-relu futhi sinikeze izici ezicashile.
Inkomba ye-Edge nesisindo sonqenqema yizinketho ezimbili kweziningi i-GCNConv ezingazamukela emsebenzini oya phambili, kodwa esimweni sethu, sidinga kuphela okuguquguqukayo okubili kokuqala.
Ngaphandle kweqiniso lokuthi imodeli yethu izokwazi ukubikezela ikilasi lawo wonke ama-node kugrafu, sisadinga ukucacisa ukunemba nokulahlekelwa kwesethi ngayinye ngokuhlukile kuye ngesigaba.
Isibonelo, ngesikhathi sokuqeqeshwa, sifuna kuphela ukusebenzisa isethi yokuqeqeshwa ukuze sinqume ukunemba nokulahlekelwa kokuqeqeshwa, ngakho-ke kulapho imaski yethu isiza khona.
Ukuze ubale ukulahlekelwa okufanele nokunemba, sizochaza imisebenzi yokulahlekelwa okufihliwe kanye nokunemba okufihliwe.
Ukuqeqesha imodeli
Manje njengoba sesiyichazile inhloso yokuqeqeshwa okuzosetshenziswa ngayo ithoshi. UAdam ungumbungazi ovelele.
Sizoqhuba ukuqeqeshwa kwenani elithile lezinkathi kuyilapho sibheke ukunemba kokuqinisekisa.
Siphinde sihlele ukulahlekelwa nokunemba kokuqeqeshwa kuzo zonke izinkathi ezahlukene.
Ukubi kwe-Graph Neural Network
Ukusebenzisa ama-GNN kunokungalungi okumbalwa. Isetshenziswa nini i-GNNa nendlela yokuthuthukisa ukusebenza kwamamodeli ethu omshini wokufunda kuzocaciswa kokubili kithi ngemva kokuba siwaqonde kangcono.
- Nakuba ama-GNN engamanethiwekhi angajulile, ngokuvamile anezendlalelo ezintathu, amanethiwekhi amaningi e-neural angajula ukuze athuthukise ukusebenza. Asikwazi ukwenza kahle kakhulu kumadathasethi amakhulu ngenxa yalo mkhawulo.
- Kunzima kakhulu ukuqeqesha imodeli kumagrafu, njengoba amandla awo esakhiwo ayashintshashintsha.
- Ngenxa yezindleko eziphezulu zokubala zala manethiwekhi, ukukala imodeli yokukhiqiza kuletha izinselele. Ukukala ama-GNN ukuze akhiqize kuzoba yinselele uma ukwakheka kwegrafu yakho kukukhulu futhi kuyinkimbinkimbi.
Isiphetho
Eminyakeni embalwa edlule, ama-GNN athuthuke aba amathuluzi anamandla nasebenzayo ezinkinga zokufunda komshini esizindeni segrafu. Ukubuka konke okuyisisekelo kwamanethiwekhi e-neural network kunikezwa kulesi sihloko.
Ngemva kwalokho, ungaqala ukudala idathasethi ezosetshenziselwa ukuqeqesha nokuhlola imodeli. Ukuze uqonde ukuthi isebenza kanjani nokuthi ikwazi ukwenzani, ungadlulela phambili futhi uyiqeqeshe usebenzisa uhlobo oluhlukile lwedathasethi.
Ukubhala ngekhodi okuhle!
shiya impendulo