M'ndandanda wazopezekamo[Bisani][Show]
Njira zophunzirira mwakuya zomwe zimadziwika kuti "graph neural network" (GNNs) zimagwira ntchito mu graph domain. Maukondewa apeza kugwiritsidwa ntchito posachedwa m'magawo osiyanasiyana, kuphatikiza masomphenya apakompyuta, makina olimbikitsa, komanso kukhathamiritsa kophatikizana, kutchula ochepa.
Kuphatikiza apo, maukondewa atha kugwiritsidwa ntchito kuyimira machitidwe ovuta, kuphatikiza malo ochezera a pa Intaneti, ma protein-protein interaction network, ma graph a chidziwitso, ndi ena m'magawo angapo ophunzirira.
Malo omwe si a euclidean ndi pomwe ma graph amagwira ntchito, mosiyana ndi mitundu ina ya data ngati zithunzi. Pofuna kugawa ma node, kulosera maulalo, ndi data yamagulu, kusanthula ma graph kumagwiritsidwa ntchito.
M'nkhaniyi, tiwona Graph Neural Network mwatsatanetsatane, mitundu yake, komanso kupereka zitsanzo zothandiza ntchito PyTorch.
Ndiye, Graph ndi chiyani?
Grafu ndi mtundu wa data yopangidwa ndi mfundo ndi ma vertices. Kulumikizana pakati pa mfundo zosiyanasiyana kumatsimikiziridwa ndi ma vertices. Ngati chiwongolero chikuwonetsedwa mu nodes, graph imanenedwa kuti ikuwongoleredwa; mwinamwake, izo sizikulunjika.
Kugwiritsa ntchito bwino ma graph ndikutsanzira maubwenzi pakati pa anthu osiyanasiyana mu a malo ochezera a pa Intaneti. Polimbana ndi zovuta, monga maulalo ndi kusinthanitsa, ma graph ndi othandiza kwambiri.
Amagwiritsidwa ntchito ndi machitidwe opangira, kusanthula kwa semantic, kusanthula kwapaintaneti, komanso kuzindikira mawonekedwe
. Kupanga mayankho otengera ma graph ndi gawo latsopano lomwe limapereka chidziwitso chanzeru chazovuta komanso zogwirizana.
Chithunzi cha Neural Network
Graph neural network ndi mitundu yapadera ya neural network yomwe imatha kugwira ntchito pama graph data format. Kuyika ma graph ndi ma convolutional neural network (CNNs) kumakhudza kwambiri iwo.
Ma Graph Neural Networks amagwiritsidwa ntchito m'ntchito zomwe zimaphatikizapo kulosera zam'mbali, m'mphepete, ndi ma graph.
- Ma CNN amagwiritsidwa ntchito kugawa zithunzi. Momwemonso, kulosera kalasi, ma GNN amayikidwa pa gridi ya pixel yomwe imayimira mawonekedwe a graph.
- Kugawa malemba pogwiritsa ntchito maukonde obwerezabwereza. Ma GNN amagwiritsidwanso ntchito popanga ma graph pomwe liwu lililonse m'mawu ndi mfundo.
Kuti mulosere ma node, m'mphepete, kapena ma graph athunthu, ma neural network amagwiritsidwa ntchito kupanga ma GNN. Kuneneratu pamlingo wa node, mwachitsanzo, kumatha kuthetsa vuto ngati kuzindikira sipamu.
Kuneneratu za ulalo ndizochitika zomwe zimachitika pamakina olimbikitsa ndipo zitha kukhala chitsanzo chavuto lolosera mwanzeru.
Mitundu ya Neural Network ya Graph
Mitundu yambiri yama neural network ilipo, ndipo Convolutional Neural Networks ilipo mwa ambiri aiwo. Tiphunzira za ma GNN odziwika bwino mu gawoli.
Graph Convolutional Networks (GCNs)
Amafanana ndi ma CNN akale. Imapeza makhalidwe poyang'ana mfundo zapafupi. Ntchito yotsegula imagwiritsidwa ntchito ndi ma GNN kuti awonjezere kusagwirizana pambuyo pophatikiza ma node ma vectors ndikutumiza zotuluka kumalo wandiweyani.
Zimapangidwa ndi Graph convolution, mzere wozungulira, ndi ntchito yoyambitsa yopanda ophunzira, makamaka. Ma GCN amabwera m'mitundu iwiri ikuluikulu: Spectral Convolutional Networks ndi Spatial Convolutional Networks.
Graph Auto-Encoder Networks
Imagwiritsa ntchito encoder kuphunzira momwe imayimira ma graph ndi decoder kuyesa kupanganso ma graph olowera. Pali gawo la botolo lomwe limalumikiza encoder ndi decoder.
Popeza ma encoder odziyimira pawokha amachita ntchito yabwino kwambiri yoyendetsera bwino m'kalasi, amagwiritsidwa ntchito pafupipafupi pakulosera ulalo.
Recurrent Graph Neural Networks (RGNNs)
Mu maukonde amitundu yambiri, pomwe node imodzi imakhala ndi maubwenzi ambiri, imaphunzira njira yabwino yolumikizirana ndipo imatha kuyang'anira ma graph. Kuti muwonjezere kusalala ndikuchepetsa kupitilira-parameterization, zokhazikika zimagwiritsidwa ntchito mwanjira iyi ya graph neural network.
Kuti mupeze zotsatira zabwino, ma RGNN amafunikira mphamvu yocheperako. Amagwiritsidwa ntchito popanga mawu, kuzindikira mawu, kumasulira kwamakina, kufotokozera zithunzi, kuyika mavidiyo, komanso kufupikitsa mawu.
Gated Neural Graph Networks (GGNNs)
Zikafika pantchito zodalira nthawi yayitali, zimaposa ma RGNN. Mwa kuphatikiza ma node, m'mphepete, ndi zipata zanthawi yayitali pa kudalira kwanthawi yayitali, ma netiweki a graph neural amathandizira ma graph neural network.
Zipata zimagwira ntchito mofanana ndi Gated Recurrent Units (GRUs) chifukwa amagwiritsidwa ntchito kukumbukira ndi kuiwala deta mu magawo osiyanasiyana.
Kukhazikitsa Graph Neural Network pogwiritsa ntchito Pytorch
Nkhani yomwe tikhala tikuyang'ana kwambiri ndi nkhani yogawa ma node. Tili ndi malo ochezera a pa Intaneti omwe amatchedwa musae-github, yomwe idapangidwa kuchokera ku API yotseguka, kwa opanga GitHub.
M'mphepete amawonetsa maubwenzi omwe amatsatana pakati pa ma node, omwe amayimira opanga (ogwiritsa ntchito nsanja) omwe adakhala ndi nyenyezi zosachepera 10 (zindikirani kuti mawu akuti mutual akuwonetsa ubale wosagwirizana).
Kutengera malo a node, nkhokwe zokhala ndi nyenyezi, olemba anzawo ntchito, ndi imelo adilesi, mawonekedwe a node amatengedwa. Kuneneratu ngati wogwiritsa ntchito GitHub ndi wopanga masamba kapena a makina ophunzirira makina ndi ntchito yathu.
Mutu wa ntchito wa wogwiritsa ntchito aliyense udakhala ngati maziko a ntchitoyi.
Kukhazikitsa PyTorch
Kuti tiyambe, choyamba tiyenera kukhazikitsa PyTorch. Mukhoza sintha izo molingana ndi makina anu kuchokera Pano. Nayi yanga:
Kulowetsa ma module
Tsopano, timalowetsa ma modules ofunikira
Kulowetsa ndi Kuwona deta
Chotsatira ndikuwerenga deta ndikukonzekera mizere isanu yoyamba ndi mizere isanu yomaliza kuchokera pa fayilo ya zilembo.
Mizati iwiri yokha mwa inayi - id ya node (ie, wosuta) ndi ml_target, yomwe ndi 1 ngati wogwiritsa ntchito ali membala wa gulu lophunzirira makina ndi 0 mwinamwake - ndizofunika kwa ife panthawiyi.
Popeza pali makalasi awiri okha, tsopano titha kukhala otsimikiza kuti ntchito yathu ndi nkhani yamagulu awiri.
Chifukwa cha kusalinganika kwakukulu kwamagulu, wowerengerayo angangoganiza kuti ndi gulu liti lomwe ndi lalikulu m'malo mowunika gulu lomwe siliyimiriridwa, kupangitsa kuti kalasi ikhale yabwino kwambiri chinthu china chofunikira kuganizira.
Kukonza histogram (kugawa pafupipafupi) kumawonetsa kusalinganika chifukwa pali makalasi ochepera kuchokera ku kuphunzira kwamakina (lebulo=1) kusiyana ndi makalasi ena.
Encoding
Makhalidwe a node amatidziwitsa za mawonekedwe omwe amalumikizidwa ndi node iliyonse. Mwa kugwiritsa ntchito njira yathu yosungira deta, titha kuyika mawonekedwewo nthawi yomweyo.
Tikufuna kugwiritsa ntchito njirayi kuti titseke kagawo kakang'ono ka netiweki (titi, ma node 60) kuti tiwonetse. Khodiyo yalembedwa apa.
Kupanga ndi kuwonetsa ma graph
Tidzagwiritsa ntchito tochi ya geometric. data kuti apange graph yathu.
Kuti mupange graph imodzi yokhala ndi zinthu zosiyanasiyana (zosankha), deta yomwe ndi chinthu chosavuta cha Python imagwiritsidwa ntchito. Pogwiritsa ntchito kalasi iyi ndi zikhalidwe zotsatirazi - zonse zomwe ndi ma tochi - tipanga chinthu chathu cha graph.
Mawonekedwe a mtengo wa x, omwe adzaperekedwa kuzinthu zojambulidwa, ndi [chiwerengero cha node, chiwerengero cha mawonekedwe].
Mawonekedwe a y ndi [chiwerengero cha node], ndipo adzagwiritsidwa ntchito pa zilembo za node.
mlozera m'mphepete: Kuti tifotokoze graph yosadziwika, tifunika kukulitsa ma indices apachiyambi kuti tilole kukhalapo kwa mbali ziwiri zomwe zimagwirizanitsa mfundo ziwiri zomwezo koma kuloza mbali zosiyana.
Mphepete mwazitsulo, imodzi yolozera kuchokera ku mfundo 100 mpaka 200 ndi ina kuchokera ku 200 mpaka 100, ikufunika, mwachitsanzo, pakati pa node 100 ndi 200. Ngati zizindikiro za m'mphepete zimaperekedwa, ndiye izi ndi momwe graph yosasunthika ingaimirire. [2,2* chiwerengero cha m'mphepete mwapachiyambi] adzakhala mawonekedwe a tensor.
Timapanga njira yathu yojambulira graph kuti tiwonetse graph. Chinthu choyamba ndikusintha maukonde athu ofanana kukhala NetworkX graph, yomwe imatha kujambulidwa pogwiritsa ntchito NetworkX.draw.
Pangani chitsanzo chathu cha GNN ndikuchiphunzitsa
Timayamba ndikuyika deta yonse polemba ma encode data ndi light=False ndiyeno kuitana construct graph with light=False kumanga graph yonse. Sitingayese kujambula chithunzi chachikuluchi chifukwa ndikuganiza kuti mukugwiritsa ntchito makina am'deralo omwe ali ndi zinthu zochepa.
Masks, omwe ndi ma vector a binary omwe amazindikira kuti ndi ma node ati omwe ali pa chigoba chilichonse pogwiritsa ntchito manambala 0 ndi 1, atha kugwiritsidwa ntchito kudziwitsa gawo la maphunziro lomwe ma node ayenera kuphatikizidwa panthawi yophunzitsira ndikuwuza gawo lolozera zomwe node ndi data yoyesa. Torch geometric.transforms.
Kugawanika kwa node kungawonjezedwe pogwiritsa ntchito chigoba chophunzitsira, chigoba cha val, ndi masks oyesera a kalasi ya AddTrainValTestMask, yomwe ingagwiritsidwe ntchito kutenga graph ndi kutithandiza kufotokoza momwe tikufuna masks athu amangidwira.
Timangogwiritsa ntchito 10% pophunzitsa ndikugwiritsa ntchito 60% ya data ngati mayeso pomwe tikugwiritsa ntchito 30% ngati zotsimikizira.
Tsopano, tiyika zigawo ziwiri za GCNConv, yoyamba yomwe ili ndi kuchuluka kwa zomwe zimatuluka zomwe ndizofanana ndi kuchuluka kwa zomwe zili mu graph yathu monga zolowetsa.
Mu gawo lachiwiri, lomwe lili ndi ma node otulutsa ofanana ndi kuchuluka kwa makalasi athu, timagwiritsa ntchito relu activation ndikupereka mawonekedwe obisika.
Mlozera wam'mphepete ndi kulemera kwa m'mphepete ndi ziwiri mwazosankha zambiri x zomwe GCNConv ingavomereze pakugwira ntchito yakutsogolo, koma momwe tilili, timangofunika zosintha ziwiri zoyambirira.
Ngakhale kuti chitsanzo chathu chidzatha kulosera kalasi ya node iliyonse mu graph, tifunikabe kudziwa kulondola ndi kutayika kwa seti iliyonse mosiyana malinga ndi gawo.
Mwachitsanzo, panthawi yamaphunziro, timangofuna kugwiritsa ntchito maphunzirowa kuti tidziwe kulondola komanso kutayika kwa maphunziro, chifukwa chake ndipamene masks athu amakhala othandiza.
Kuti tiwerengere kutayika koyenera ndi kulondola, tidzafotokozera ntchito za kutayika kobisika ndi kulondola kwa mask.
Kuphunzitsa chitsanzo
Tsopano popeza tafotokozera cholinga cha maphunziro omwe nyaliyo idzagwiritsidwe ntchito. Adam ndi master optimizer.
Tidzachititsa maphunziro angapo nthawi ndikuyang'anitsitsa kutsimikizira kulondola.
Timakonzanso zotayika zamaphunzirowo komanso kulondola kwanthawi zosiyanasiyana.
Zoyipa za Graph Neural Network
Kugwiritsa ntchito ma GNN kuli ndi zovuta zingapo. Nthawi yogwiritsira ntchito GNNa ndi momwe tingalimbikitsire magwiridwe antchito amitundu yathu yophunzirira makina zonse zidzamveka bwino kwa ife tikadziwa bwino.
- Ngakhale ma GNN ndi ma netiweki osaya, nthawi zambiri amakhala ndi zigawo zitatu, ma neural network ambiri amatha kulowa mwakuya kuti agwire bwino ntchito. Sitingathe kuchita bwino kwambiri pamaseti akulu akulu chifukwa chocheperako.
- Zimakhala zovuta kuphunzitsa chitsanzo pa ma graph, chifukwa machitidwe awo amapangidwa ndi mphamvu.
- Chifukwa cha kukwera mtengo kwa ma netiweki awa, kukulitsa chitsanzo cha kupanga kumabweretsa zovuta. Kukulitsa ma GNNs kuti apange kudzakhala kovuta ngati mawonekedwe anu a graph ndi akulu komanso ovuta.
Kutsiliza
Pazaka zingapo zapitazi, ma GNN apanga zida zamphamvu komanso zogwira mtima zophunzirira makina pama graph domain. Kuwunikira kofunikira kwa ma graph neural network akuperekedwa m'nkhaniyi.
Pambuyo pake, mukhoza kuyamba kupanga deta yomwe idzagwiritsidwe ntchito pophunzitsa ndi kuyesa chitsanzo. Kuti mumvetsetse momwe zimagwirira ntchito komanso zomwe zimatha, mutha kupitanso patali ndikuziphunzitsa pogwiritsa ntchito mitundu ina ya dataset.
Makalata Odala!
Siyani Mumakonda