Clár na nÁbhar[Folaigh][Taispeáin]
Feidhmíonn na teicníochtaí domhainfhoghlama ar a dtugtar “líonraí grafacha néaracha” (GNNanna) san fhearann graf. Le déanaí tá na líonraí seo in úsáid i réimsí éagsúla, lena n-áirítear fís ríomhaire, córais mholtóra, agus leas iomlán a bhaint as teaglama, chun roinnt a lua.
Ina theannta sin, is féidir na líonraí seo a úsáid chun córais chasta a léiriú, lena n-áirítear líonraí sóisialta, líonraí idirghníomhaíochta próitéine-próitéine, graif eolais, agus cinn eile i réimsí éagsúla staidéir.
Is é atá sa spás neamh-eiclídeach ná an áit a n-oibríonn sonraí graif, i gcodarsnacht le cineálacha eile sonraí amhail pictiúir. Chun nóid a rangú, naisc a thuar, agus sonraí braisle, úsáidtear anailís ghraif.
San Airteagal seo, scrúdóimid an Graf Líonra Neural go mion, a cineálacha, chomh maith le samplaí praiticiúla a chur ar fáil ag baint úsáide as PyTorch.
Mar sin, cad é Graf?
Is cineál struchtúir sonraí é graf atá comhdhéanta de nóid agus rinn. Déantar na naisc idir na nóid éagsúla a chinneadh ag na rinn. Má léirítear an treo sna nóid, deirtear go bhfuil an graf dírithe; ar shlí eile, tá sé neamhdhírithe.
Tá cur i bhfeidhm maith graif ag samhaltú na gcaidreamh i measc daoine éagsúla in a líonra sóisialta. Agus tú ag déileáil le cúinsí casta, mar naisc agus malartuithe, bíonn graif an-chabhrach.
Tá siad fostaithe ag córais mholta, anailís shéimeantach, anailís líonra sóisialta, agus aithint patrún
. Réimse úrnua é réitigh ghraf-bhunaithe a chruthú a thugann tuiscint léargasach ar shonraí casta agus idirghaolmhara.
Líonra Neural Graf
Is éard atá i líonraí néaracha graf ná cineálacha líonraí néaracha speisialaithe ar féidir leo oibriú ar fhormáid sonraí graf. Bíonn tionchar suntasach ag neadú graif agus líonraí néaracha comhraonta (CNNanna) orthu.
Úsáidtear Líonraí Néaracha Grafa i dtascanna a chuimsíonn nóid, imill agus graif a thuar.
- Úsáidtear CNN chun íomhánna a rangú. Ar an gcaoi chéanna, chun aicme a thuar, cuirtear GNNanna i bhfeidhm ar an eangach picteilín a léiríonn struchtúr an ghraif.
- Catagóiriú téacs ag baint úsáide as líonraí neural atarlaithe. Úsáidtear GNNanna freisin le hailtireachtaí graif nuair is nód é gach focal i bhfrása.
Chun nóid, imill, nó graif iomlána a thuar, úsáidtear líonraí néaracha chun GNNanna a chruthú. Is féidir le tuar ag leibhéal an nód, mar shampla, fadhb cosúil le brath turscair a réiteach.
Is gnáthchás é tuar naisc i gcórais mholtóra agus d’fhéadfadh sé a bheith ina shampla d’fhadhb tuar chiumhais tosaigh.
Cineálacha Líonra Neural Graf
Is iomaí cineál líonra néarúil atá ann, agus Líonraí Néaracha Comhdhlúite sa chuid is mó díobh. Foghlaimeoimid faoi na GNNanna is cáiliúla sa chuid seo.
Líonraí Comhráiteacha Graf (GCNanna)
Tá siad inchomparáide le CNNanna clasaiceacha. Faigheann sé tréithe trí bhreathnú ar nóid in aice láimhe. Úsáideann GNNanna an fheidhm gníomhachtaithe chun neamhlíneacht a chur leis tar éis veicteoirí nód a chomhiomlánú agus an t-aschur a sheoladh chuig an gciseal dlúth.
Tá sé comhdhéanta de Graf convolution, ciseal líneach, agus feidhm gníomhachtaithe neamhfhoghlaimeora, go bunúsach. Tagann GCNanna in dhá phríomhchineál: Líonraí Raonta Speictrim agus Líonraí Comhtháite Spásúlachta.
Graf Líonraí Ionchódóra Uathoibríoch
Úsáideann sé ionchódóir chun foghlaim conas graif agus díchódóir a léiriú chun iarracht a dhéanamh graif ionchuir a athchruthú. Tá ciseal bacainn ag nascadh an ionchódóra agus an díchódóra.
Ós rud é go ndéanann uath-ionchódóirí sár-jab chun cothromaíocht ranga a láimhseáil, is minic a úsáidtear iad chun naisc a thuar.
Líonraí Néaracha Graif Athfhillteacha (RGNNanna)
I líonraí ilghaolta, áit a bhfuil caidreamh iomadúla ag nód amháin, foghlaimíonn sé an patrún idirleata is fearr agus is féidir leis na graif a bhainistiú. D'fhonn an réidh a mhéadú agus ró-pharaiméadair a laghdú, úsáidtear rialtaitheoirí sa fhoirm seo de ghrafghréasán nóral.
Chun torthaí níos fearr a fháil, teastaíonn níos lú cumhachta próiseála ó RGNNanna. Úsáidtear iad chun téacs a ghiniúint, aithint cainte, aistriúchán meaisín, cur síos ar phictiúr, clibeáil físeáin agus achoimre téacs.
Líonraí Néaracha Grafa Geata (GGNNanna)
Maidir le tascanna cleithiúnacha fadtéarmacha, is fearr leo na RGNNanna. Trí nód, imeall, agus geataí ama a áireamh ar spleáchais fadtéarmacha, feabhsaíonn líonraí néaracha graf gated líonraí néaracha graif athfhillteacha.
Feidhmíonn na geataí mar an gcéanna le hAonaid Athfhillteacha Geata (GRUanna) sa mhéid is go mbíonn siad cleachta le sonraí a thabhairt chun cuimhne agus dearmad a dhéanamh orthu ag céimeanna éagsúla.
Líonra Neural Graf a chur i bhfeidhm ag baint úsáide as Pytorch
Is saincheist choitianta maidir le catagóiriú nód í an tsaincheist shonrach a mbeimid ag díriú uirthi. Tá líonra sóisialta sizable againn ar a dtugtar musae-ghithub, a tiomsaíodh ón API oscailte, d'fhorbróirí GitHub.
Léiríonn imill na caidrimh leanúna frithpháirteach idir na nóid, a léiríonn forbróirí (úsáideoirí ardán) a bhfuil réalta i 10 stór ar a laghad (tabhair faoi deara go léiríonn an focal frithpháirteach gaol neamhthreoraithe).
Bunaithe ar shuíomh an nód, stórtha réalta, fostóir, agus seoladh ríomhphoist, faightear tréithe nód. Ag tuar an bhfuil úsáideoir GitHub ina fhorbróir gréasáin nó ina forbróir meaisínfhoghlama is é ár dtasc.
Bhí teideal poist gach úsáideora mar bhunús don fheidhm spriocdhírithe seo.
Suiteáil PyTorch
Chun tús a chur, ní mór dúinn a shuiteáil ar dtús PyTorch. Is féidir leat é a chumrú de réir do mheaisín ó anseo. Seo mo cheann:
Modúil a iompórtáil
Anois, déanaimid na modúil riachtanacha a allmhairiú
Iompórtáil agus Fiosraigh na sonraí
Is é an chéim seo a leanas na sonraí a léamh agus na chéad chúig shraith agus na cúig shraith dheireanacha a bhreacadh ón gcomhad lipéid.
Níl ach dhá cheann de na ceithre cholún—aitheantas an nód (.i. úsáideoir) agus ml_target, is é sin 1 más ball den phobal meaisínfhoghlama an t-úsáideoir agus 0 murach sin — a bhaineann linne sa chás seo.
Ós rud é nach bhfuil ann ach dhá rang, is féidir linn a bheith cinnte anois gur saincheist aicmithe dhénártha é an tasc atá againn.
Mar thoradh ar mhíchothromaíochtaí suntasacha ranga, is féidir leis an aicmitheoir glacadh leis go díreach cé acu rang atá ina tromlach seachas an rang tearcionadaithe a mheas, rud a fhágann gur fachtóir ríthábhachtach eile é cothromaíocht ranga a chur san áireamh.
Nuair a dhéantar an histeagram (dáileadh minicíochta) a bhreacadh, léirítear roinnt éagothroime toisc go bhfuil níos lú ranganna ón meaisínfhoghlaim (lipéad=1) ná ó na ranganna eile.
Ionchódú Gné
Cuireann tréithe na nóid in iúl dúinn an ghné a bhaineann le gach nód. Trínár modh chun sonraí a ionchódú a chur i bhfeidhm, is féidir linn na tréithe sin a ionchódú láithreach.
Ba mhaith linn an modh seo a úsáid chun cuid bheag den líonra a chuimsiú (abair, 60 nód) lena thaispeáint. Tá an cód liostaithe anseo.
Grafa a dhearadh agus a thaispeáint
Bainfimid úsáid as tóirse geoiméadrach. sonraí chun ár ngraf a thógáil.
Chun graf amháin a shamhaltú le hairíonna éagsúla (roghnacha), úsáidtear sonraí atá ina réad Python simplí. Trí úsáid a bhaint as an aicme seo agus as na tréithe seo a leanas - ar teanntóirí tóirse iad go léir - cruthóimid ár ngraf oibiacht.
Is é foirm an luach x, a leithdháilfear ar na gnéithe nód ionchódaithe, ná [líon na nóid, líon na ngnéithe].
Is é [líon na nóid] cruth y, agus cuirfear i bhfeidhm é ar na lipéid nód.
innéacs ciumhais: Chun cur síos a dhéanamh ar ghraf neamhdhírithe, ní mór dúinn na hinnéacsanna imeall bunaidh a leathnú chun ligean do dhá chiumhais dhírithe ar leith a bheith ann a nascann an dá nóid chéanna ach a dhíríonn ar mhalairt treo.
Tá gá le péire imill, pointe amháin ó nód 100 go 200 agus an ceann eile ó 200 go 100, mar shampla, idir nóid 100 agus 200. Má chuirtear na hinnéacsanna imill ar fáil, is é seo mar is féidir an graf neamhdhírithe a léiriú. Is é [2,2* líon na n-imill bhunaidh] an fhoirm tensor.
Cruthaímid ár modh tarraingthe graif chun graf a thaispeáint. Is é an chéad chéim ná ár líonra aonchineálach a athrú go graf NetworkX, ar féidir é a tharraingt ansin ag baint úsáide as NetworkX.draw.
Déan ár múnla GNN agus cuir oiliúint air
Tosaímid leis an sraith iomlán sonraí a ionchódú trí shonraí ionchódaithe a dhéanamh le solas = Bréagach agus ansin glaoch ar construct graph le solas = Bréagach chun an graf iomlán a thógáil. Ní dhéanfaimid iarracht an graf mór seo a tharraingt mar tá mé ag glacadh leis go bhfuil tú ag úsáid meaisín áitiúil a bhfuil acmhainní teoranta aige.
Is féidir maisc, ar veicteoirí dénártha iad a shainaithníonn na nóid a bhaineann le gach maisc ar leith ag baint úsáide as na digití 0 agus 1, a úsáid chun fógra a thabhairt don chéim oiliúna cé na nóid ba chóir a áireamh le linn na hoiliúna agus chun an chéim tátail a insint cé na nóid atá ina sonraí tástála. Tóirse geoiméadrach.transforms.
Is féidir scoilt leibhéal nóid a chur leis ag baint úsáide as an masc traenála, masc val, agus airíonna masc tástála an ranga AddTrainValTestMask, ar féidir a úsáid chun graf a thógáil agus a chuireann ar ár gcumas a shonrú conas ba mhaith linn ár maisc a thógáil.
Ní dhéanaimid ach 10% a úsáid le haghaidh oiliúna agus úsáidimid 60% de na sonraí mar an tacar tástála agus 30% á n-úsáid mar an tacar bailíochtaithe.
Anois, déanfaimid dhá shraith GCNConv a chruachadh, agus tá comhaireamh gné aschuir ag an gcéad cheann acu atá comhionann le líon na ngnéithe inár ngraf mar ghnéithe ionchuir.
Sa dara sraith, ina bhfuil nóid aschuir atá comhionann le líon ár ranganna, cuirimid feidhm gníomhachtaithe relu i bhfeidhm agus soláthraímid na gnéithe folaigh.
Tá innéacs imeall agus meáchan imeall dhá cheann de na roghanna go leor x gur féidir le GCNConv glacadh leis sa fheidhm chun cinn, ach inár staid, ní mór dúinn ach an chéad dá athróg.
In ainneoin go mbeidh ár múnla in ann rang gach nód sa ghraf a thuar, ní mór dúinn fós cruinneas agus caillteanas gach sraithe a chinneadh ar leithligh ag brath ar an gcéim.
Mar shampla, le linn na hoiliúna, ní theastaíonn uainn ach an tacar oiliúna a úsáid chun cruinneas agus caillteanas oiliúna a chinneadh, agus mar sin is é seo an áit a bhfuil ár maisc áisiúil.
Chun an caillteanas agus an cruinneas cuí a ríomh, déanfaimid na feidhmeanna a bhaineann le caillteanas maisc agus cruinneas maisc a shainiú.
An múnla a oiliúint
Anois go bhfuil an cuspóir oiliúna sainithe againn lena n-úsáidfear an tóirse. Is máistir optimizer é Adam.
Déanfaimid an oiliúint ar feadh roinnt tréimhsí áirithe agus muid ag coinneáil súil ar chruinneas an bhailíochtaithe.
Breacaimid freisin caillteanais agus cruinneas na hoiliúna le linn tréimhsí éagsúla.
Míbhuntáistí a bhaineann le Líonra Neural Graf
Tá roinnt míbhuntáistí ag baint le húsáid GNNs. Cuirfear in iúl dúinn cathain is ceart GNA a úsáid agus conas feidhmíocht ár múnlaí meaisínfhoghlama a fheabhsú tar éis dúinn tuiscint níos fearr a bheith againn orthu.
- Cé gur líonraí éadomhain iad GNNanna, go hiondúil le trí shraith, is féidir leis an gcuid is mó de líonraí néaracha dul go domhain chun feidhmíocht a fheabhsú. Ní féidir linn feidhmiú chun tosaigh maidir le tacair shonraí móra mar gheall ar an teorannú seo.
- Tá sé níos deacra samhail a oiliúint ar ghraif, toisc go bhfuil a dinimic struchtúrach dinimiciúil.
- Mar gheall ar chostais arda ríomhaireachtúla na ngréasán seo, tá dúshláin ag baint le scálaiú an tsamhail le haghaidh táirgeadh. Beidh sé dúshlánach na GNNanna a scálú le haghaidh táirgeadh má tá struchtúr do ghraif ollmhór agus casta.
Conclúid
Le blianta beaga anuas, d'fhorbair GNNanna ina n-uirlisí cumhachtacha agus éifeachtacha le haghaidh saincheisteanna meaisínfhoghlama i bhfearann na graif. Tugtar forbhreathnú bunúsach ar líonraí néaracha graif san Airteagal seo.
Ina dhiaidh sin, is féidir leat tosú ar an tacar sonraí a chruthú a úsáidfear chun an tsamhail a oiliúint agus a thástáil. Chun tuiscint a fháil ar an gcaoi a bhfeidhmíonn sé agus a bhfuil sé in ann a dhéanamh, is féidir leat dul i bhfad níos faide agus oiliúint a chur air trí úsáid a bhaint as cineál eile tacar sonraí.
Códú Sona!
Leave a Reply