Teburin Abubuwan Ciki[Boye][Nuna]
Dabarun ilmantarwa mai zurfi da aka sani da "tsararrun cibiyoyin sadarwa" (GNNs) suna aiki a cikin yankin jadawali. Waɗannan cibiyoyin sadarwa sun sami amfani kwanan nan a fannoni daban-daban, gami da hangen nesa na kwamfuta, tsarin masu ba da shawara, da haɓaka haɓakawa, don suna kaɗan.
Bugu da ƙari, ana iya amfani da waɗannan cibiyoyin sadarwa don wakiltar tsarin hadaddun, ciki har da cibiyoyin sadarwar jama'a, hanyoyin sadarwar hulɗar protein-protein, zane-zane na ilimi, da sauransu a fannonin karatu da dama.
Wurin da ba euclidean ba shine inda bayanan jadawali ke aiki, sabanin sauran nau'ikan bayanai kamar hotuna. Don rarraba nodes, tsinkaya hanyoyin haɗin gwiwa, da bayanan tari, ana amfani da nazarin jadawali.
A cikin wannan labarin, za mu bincika Graph Neural Network daki-daki, nau'ikan sa, da kuma samar da misalai masu amfani ta amfani da PyTorch.
To, menene Graph?
jadawali nau'in tsarin bayanai ne da aka yi da kuɗaɗe da ƙulla. Haɗin haɗin kai tsakanin nodes daban-daban an ƙaddara su ta hanyoyi. Idan an nuna jagorar a cikin nodes, an ce jadawali ya jagoranci; in ba haka ba, shi ne undirected.
Kyakkyawan aikace-aikacen jadawali shine tsara alaƙa tsakanin mutane daban-daban a cikin a social network. Lokacin da ake ma'amala da rikitattun yanayi, kamar haɗin kai da musayar, jadawali suna da taimako sosai.
Ana amfani da su ta hanyar tsarin shawarwari, bincike na ma'ana, bincike na hanyar sadarwar zamantakewa, da kuma gane tsari
. Ƙirƙirar mafita na tushen jadawali sabon filin ne wanda ke ba da fahimi fahimtar bayanai masu rikitarwa da alaƙa.
Graph Neural Network
Cibiyoyin sadarwar jijiyoyi na musamman nau'ikan cibiyar sadarwa ne na jijiyoyi waɗanda zasu iya aiki akan tsarin bayanan jadawali. Ƙirƙirar hoto da hanyoyin sadarwa na jijiyoyi (CNNs) suna da tasiri sosai a kansu.
Ana amfani da hanyoyin sadarwa na jijiyoyi a cikin ayyuka waɗanda suka haɗa da tsinkayar nodes, gefuna, da jadawalai.
- Ana amfani da CNN don rarraba hotuna. Hakazalika, don hasashen aji, ana amfani da GNNs zuwa grid pixel wanda ke wakiltar tsarin jadawali.
- Rarraba rubutu ta amfani da cibiyoyin sadarwa na jijiyoyi masu maimaitawa. Hakanan ana amfani da GNNs tare da zane-zanen zane inda kowace kalma a cikin jumla ta zama kumburi.
Domin yin hasashen nodes, gefuna, ko cikakkun hotuna, ana amfani da hanyoyin sadarwa na jijiyoyi don ƙirƙirar GNNs. Hasashen a matakin kumburi, alal misali, na iya magance matsala kamar gano spam.
Hasashen haɗin kai lamari ne na yau da kullun a cikin tsarin masu ba da shawara kuma yana iya zama misali na matsalar tsinkaya mai hikima.
Hotuna Nau'in Sadarwar Jijiya
Nau'o'in hanyoyin sadarwa na jijiyoyi da yawa sun wanzu, kuma hanyoyin sadarwa na jijiyoyi na Convolutional suna nan a yawancinsu. Za mu koyi game da sanannun GNNs a wannan bangare.
Hanyoyin Sadarwar Sadarwar Graph (GCNs)
Suna kwatankwacinsu da CNNs na gargajiya. Yana samun halaye ta kallon nodes na kusa. GNNs ne ke amfani da aikin kunnawa don ƙara rashin layi-layi bayan tara abubuwan kumburin kumburi da aika fitarwa zuwa babban Layer.
Ya ƙunshi juzu'in Graph, layin layi, da aikin kunnawa mara koyo, a zahiri. GCNs sun zo cikin manyan nau'ikan guda biyu: Spectral Convolutional Networks da Spatial Convolutional Networks.
Graph Auto-Encoder Networks
Yana amfani da maɓalli don koyan yadda ake wakiltar jadawali da dikodi don ƙoƙarin sake gina jadawalin shigarwa. Akwai ƙwanƙolin ƙoƙon da ke haɗa encoder da dikodi.
Tunda masu rikodin atomatik suna yin kyakkyawan aiki na sarrafa ma'auni, ana amfani da su akai-akai a cikin tsinkayar hanyar haɗin gwiwa.
Hanyoyin Sadarwar Jijiya na Maimaitawa (RGNNs)
A cikin cibiyoyin sadarwa masu alaƙa da yawa, inda kumburi ɗaya ke da alaƙa da yawa, yana koyan mafi kyawun tsarin watsawa kuma yana iya sarrafa jadawali. Don ƙara santsi da rage yawan juzu'i, ana amfani da na'urori na yau da kullun a cikin wannan nau'i na cibiyar sadarwa na jadawali.
Domin samun ingantattun sakamako, RGNNs suna buƙatar ƙarancin sarrafawa. Ana amfani da su don tsara rubutu, fahimtar magana, fassarar inji, bayanin hoto, alamar bidiyo, da taƙaitaccen rubutu.
Gated Neural Graph Networks (GGNNs)
Idan ya zo ga ayyuka masu dogaro na dogon lokaci, sun fi RGNNs yawa. Ta haɗa da kumburi, baki, da ƙofofin wucin gadi akan abubuwan dogaro na dogon lokaci, cibiyoyin sadarwar jadawali masu gated suna haɓaka cibiyoyin sadarwa na jadawali akai-akai.
Ƙofofin suna aiki daidai da Gated Recurrent Units (GRUs) ta yadda ake amfani da su don tunawa da manta bayanai a matakai daban-daban.
Aiwatar da Hotunan Neural Network ta amfani da Pytorch
Takamammen batun da za mu mai da hankali a kai shi ne batun rarrabuwar kawuna gama-gari. Muna da babbar hanyar sadarwar zamantakewa da ake kira musae-github, wanda aka tattara daga buɗaɗɗen API, don masu haɓaka GitHub.
Gefuna suna nuna alaƙar mabiyan juna tsakanin nodes, waɗanda ke wakiltar masu haɓakawa (masu amfani da dandamali) waɗanda suka yi tauraro a cikin aƙalla ma'ajiya 10 (lura cewa kalmar juna tana nuna alaƙar da ba ta dace ba).
Dangane da wurin kumburin, wuraren ajiyar tauraro, mai aiki, da adireshin imel, ana dawo da halayen kumburi. Hasashen idan mai amfani da GitHub mai haɓaka gidan yanar gizo ne ko a maginin na'ura shine aikin mu.
Matsayin aikin kowane mai amfani ya zama tushen wannan aikin niyya.
Sanya PyTorch
Don farawa, da farko muna buƙatar shigarwa PyTorch. Kuna iya saita shi bisa ga injin ku daga nan. Ga nawa:
Ana shigo da kayayyaki
Yanzu, muna shigo da abubuwan da ake buƙata
Shigo da Binciko bayanan
Mataki na gaba shine karanta bayanan da tsara layuka biyar na farko da layuka biyar na ƙarshe daga fayil ɗin lakabi.
Biyu ne kawai daga cikin ginshiƙai huɗu — id ɗin kumburi (watau mai amfani) da ml_target, wanda shine 1 idan mai amfani memba ne na ƙungiyar koyon injin da 0 in ba haka ba—sun dace da mu a wannan yanayin.
Ganin cewa azuzuwan guda biyu ne kawai, yanzu zamu iya tabbata cewa aikinmu batu ne na rarraba binaryar.
Sakamakon rashin daidaituwar aji mai mahimmanci, mai rarrabawa zai iya ɗauka kawai ajin wane ne mafi rinjaye maimakon kimanta ajin da ba a ba da shi ba, yana mai da ma'aunin ajin wani muhimmin al'amari da za a yi la'akari.
Yin ƙirƙira histogram (rabin mitoci) yana nuna rashin daidaituwa saboda akwai ƙarancin azuzuwan daga koyon injin (lakabi=1) fiye da na sauran azuzuwan.
Siffar Rubuce-rubucen
Halayen nodes suna sanar da mu fasalin da ke da alaƙa da kowane kumburi. Ta hanyar aiwatar da hanyarmu don ɓoye bayanai, za mu iya ɓoye waɗannan halayen nan take.
Muna so muyi amfani da wannan hanyar don ɓoye ƙaramin ɓangaren cibiyar sadarwa (ce, nodes 60) don nunawa. An jera lambar anan.
Zanewa da nuna hotuna
Za mu yi amfani da geometric torch. bayanai don gina jadawalinmu.
Don ƙirar jadawali ɗaya tare da kaddarorin daban-daban (na zaɓi), ana amfani da bayanai waɗanda abu ne mai sauƙi na Python. Ta hanyar amfani da wannan ajin da halaye masu zuwa—duk waɗanda ke da wutar lantarki ne—zamu ƙirƙiri abin zane na mu.
Siffar darajar x, wacce za a keɓe ga fasalulluka na kumburi, shine [yawan nodes, adadin fasali].
Siffar y ita ce [yawan nodes], kuma za a yi amfani da shi a kan alamun kumburi.
Fihirisar gefe: Domin bayyana jadawali mara jagora, muna buƙatar fadada fihirisar gefen asali don ba da damar wanzuwar gefuna guda biyu daban-daban waɗanda ke haɗa nodes guda biyu iri ɗaya amma suna nunawa a gaban kwatance.
Ana buƙatar gefuna guda biyu, ɗaya yana nunawa daga kumburi 100 zuwa 200 ɗayan kuma daga 200 zuwa 100, alal misali, tsakanin nodes 100 da 200. Idan an ba da fihirisar gefen, to wannan shine yadda za'a iya wakilta jadawali mara jagora. [2,2*yawan gefuna na asali] zai zama nau'in tensor.
Mun ƙirƙiri hanyar zanen mu don nuna jadawali. Mataki na farko shine mu canza hanyar sadarwar mu ta kamanni zuwa jadawali NetworkX, wanda za'a iya zana ta amfani da NetworkX.draw.
Yi samfurin mu na GNN kuma ku horar da shi
Za mu fara da ɓoye duk saitin bayanai ta hanyar aiwatar da bayanan ɓoye tare da haske = Ƙarya sannan kuma kiran ginshiƙi tare da haske = Ƙarya don gina dukkan jadawali. Ba za mu yi ƙoƙarin zana wannan babban jadawali ba saboda ina tsammanin kuna amfani da injin gida wanda ke da iyakacin albarkatu.
Masks, waxanda suke binariyoyi vectors waɗanda ke gano ko wane nau'in abin rufe fuska na kowane takamaiman abin rufe fuska ta amfani da lambobi 0 da 1, ana iya amfani da su don sanar da lokacin horo wanda ya kamata a haɗa nodes yayin horo da kuma faɗi lokacin ƙaddamarwa wane nodes ne bayanan gwaji. Torch geometric.sauyi.
Za a iya ƙara rarrabuwar matakin kumburi ta amfani da abin rufe fuska na horo, abin rufe fuska, da kaddarorin abin rufe fuska na ajin AddTrainValTestMask, waɗanda za a iya amfani da su don ɗaukar hoto da ba mu damar tantance yadda muke son gina abin rufe fuska.
Muna amfani da 10% kawai don horarwa kuma muna amfani da 60% na bayanai azaman saitin gwajin yayin amfani da 30% azaman saitin tabbatarwa.
Yanzu, za mu tara yadudduka na GCNConv guda biyu, na farkon wanda yana da ƙididdige fasalin fitarwa wanda yake daidai da adadin abubuwan da ke cikin jadawalinmu azaman fasalin shigarwa.
A cikin Layer na biyu, wanda ya ƙunshi nodes ɗin fitarwa daidai da adadin azuzuwan mu, muna amfani da aikin kunnawa relu kuma muna ba da sifofin ɓoye.
Fihirisar Edge da nauyin gefen biyu ne daga cikin zaɓuɓɓukan da yawa x waɗanda GCNConv zai iya karɓa a cikin aikin gaba, amma a halin da muke ciki, muna buƙatar kawai masu canji biyu na farko.
Duk da cewa samfurin mu zai iya yin tsinkaya ajin kowane kumburi a cikin jadawali, har yanzu muna buƙatar tantance daidaito da asarar kowane saiti dabam dangane da lokaci.
Misali, yayin horo, muna son amfani da tsarin horo ne kawai don tantance daidaito da asarar horo, don haka a nan ne abin rufe fuska ya zo da amfani.
Don ƙididdige asarar da ta dace da daidaito, za mu ayyana ayyukan asarar da aka rufe da daidaiton mashin.
Horar da samfurin
Yanzu mun bayyana dalilin horon da za a yi amfani da wutar lantarki. Adam a master optimizer.
Za mu gudanar da horon don takamaiman adadin lokuta yayin da muke sa ido kan ingancin tabbatarwa.
Muna kuma tsara hasarar da horon ya samu da kuma daidaito a cikin lokuta daban-daban.
Lalacewar Hotunan Neural Network
Amfani da GNNs yana da ƴan rashin amfani. Lokacin da za a yi amfani da GNna da yadda za a haɓaka aikin ƙirar ƙirar injin mu duka za a bayyana a gare mu bayan mun fahimci su sosai.
- Yayin da GNNs cibiyoyin sadarwa ne marasa zurfi, yawanci tare da yadudduka uku, yawancin cibiyoyin sadarwa na iya zurfafa don haɓaka aiki. Ba za mu iya yin aiki a matakin yankewa akan manyan bayanan bayanai ba saboda wannan iyakancewar.
- Yana da wahala a horar da samfuri akan jadawali, tun da tsarin tsarin su yana da ƙarfi.
- Saboda tsadar lissafin waɗannan hanyoyin sadarwa, ƙirƙira samfurin don samarwa yana ba da ƙalubale. Ƙimar GNNs don samarwa zai zama ƙalubale idan tsarin jadawalin ku yana da girma da rikitarwa.
Kammalawa
A cikin ƴan shekarun da suka gabata, GNNs sun haɓaka zuwa kayan aiki masu ƙarfi da inganci don lamuran koyon inji a cikin yanki mai hoto. An ba da babban bayyani na hanyoyin sadarwar jijiyoyi a cikin wannan labarin.
Bayan haka, za ku iya fara ƙirƙirar bayanan da za a yi amfani da su don horarwa da gwada samfurin. Don fahimtar yadda yake aiki da abin da yake iyawa, Hakanan zaka iya tafiya da yawa da horar da shi ta amfani da nau'in bayanan daban.
Kiyi Hakuri!
Leave a Reply