Tafole ea likateng[Pata][Bontša]
Mekhoa e tebileng ea ho ithuta e tsejoang e le "graph neural networks" (GNNs) e sebetsa sebakeng sa graph. Marang-rang ana morao tjena a fumane ts'ebeliso libakeng tse fapaneng, ho kenyeletsoa pono ea khomphutha, litsamaiso tsa khothaletso, le ts'ebeliso ea combinatorial, ho bolela tse 'maloa.
Ntle le moo, marang-rang ana a ka sebelisoa ho emela litsamaiso tse rarahaneng, ho kenyeletsoa marang-rang a sechaba, marang-rang a liprotheine tsa protheine, li-graph tsa tsebo, le tse ling mafapheng a 'maloa a thuto.
Sebaka seo eseng sa euclidean ke moo data ea graph e sebetsang teng, ho fapana le mefuta e meng ea data joalo ka litšoantšo. E le ho arola li-node, ho bolela esale pele li-link, le data ea lihlopha, ho sebelisoa tlhahlobo ea graph.
Sehloohong sena, re tla hlahloba Graph Neural Network ka botlalo, mefuta ea eona, hammoho le ho fana ka mehlala e sebetsang e sebelisang PyTorch.
Joale, Graph ke eng?
Kerafo ke mofuta oa sebopeho sa data se entsoeng ka li-node le vertices. Likamano pakeng tsa li-node tse fapa-fapaneng li khethoa ke li-vertices. Haeba tataiso e bontšoa ka li-node, ho thoe kerafo e laoloa; ho seng joalo, ha e laeloe.
Tšebeliso e ntle ea kerafo ke ho etsa mohlala oa likamano lipakeng tsa batho ba fapaneng ho netweke tsa phedisano. Ha u sebetsana le maemo a rarahaneng, a kang li-link le phapanyetsano, li-graph li thusa haholo.
Li sebelisoa ke litsamaiso tsa likhothaletso, tlhahlobo ea semantic, tlhahlobo ea marang-rang ea sechaba, le kananelo ea mohlala
. Ho theha tharollo e thehiloeng ho kerafo ke tšimo e ncha e fanang ka kutloisiso e nang le temohisiso ea lintlha tse rarahaneng le tse amanang.
Kerafo Neural Network
Marang-rang a graph neural ke mefuta e ikhethileng ea neural network e ka sebetsang ka sebopeho sa data ea graph. Ho kenya li-graph le marang-rang a convolutional neural (CNNs) ho na le tšusumetso e kholo ho tsona.
Graph Neural Networks e sebelisoa mesebetsing e kenyelletsang li-node tsa ho bolela esale pele, mecheng le li-graph.
- Li-CNN li sebelisetsoa ho hlophisa litšoantšo. Ka mokhoa o ts'oanang, ho bolela esale pele sehlopha, li-GNN li sebelisoa ho grid ea pixel e emelang sebopeho sa graph.
- Karohano ea mongolo o sebelisa marang-rang a pheta-phetoang a neural. Li-GNN li boetse li sebelisoa le meaho ea li-graph moo lentsoe le leng le le leng polelong e leng node.
Bakeng sa ho bolela esale pele li-node, mecheng, kapa li-graph tse felletseng, marang-rang a neural a sebelisoa ho theha li-GNN. Ho bolela esale pele boemong ba node, mohlala, ho ka rarolla bothata bo kang ho lemoha spam.
Khokahano ea ho bolela esale pele ke taba e tloaelehileng litsamaisong tsa khothaletso mme e ka ba mohlala oa bothata ba ho bolela esale pele ka bohlale.
Mefuta ea Neural Network ea Kerafo
Ho na le mefuta e mengata ea marang-rang ea neural, 'me Convolutional Neural Networks e teng ho bongata ba eona. Re tla ithuta ka li-GNN tse tsebahalang haholo karolong ena.
Graph Convolutional Networks (GCNs)
Li bapisoa le li-CNN tsa khale. E fumana litšobotsi ka ho sheba li-node tse haufi. Ts'ebetso ea ts'ebetso e sebelisoa ke li-GNN ho kenyelletsa li-non-linearity ka mor'a ho kopanya li-node vectors le ho romela tlhahiso ho lera e teteaneng.
E entsoe ka Graph convolution, lera le melang, le ts'ebetso ea ts'ebetso eo e seng ea baithuti, ha e le hantle. Li-GCN li tla ka mefuta e 'meli ea mantlha: Spectral Convolutional Networks le Spatial Convolutional Networks.
Marang-rang a Kerafo-Encoder
E sebelisa encoder ho ithuta mokhoa oa ho emela li-graph le decoder ho leka ho etsa li-graph tse kenang bocha. Ho na le lera la botlolo le kopanyang encoder le decoder.
Kaha li-encoder li etsa mosebetsi o motle haholo oa ho sebetsana le boemo bo leka-lekaneng, hangata li sebelisoa ho bolela esale pele lihokelo.
Marang-rang a Recurrent Graph Neural Networks (RGNNs)
Marang-rang a nang le likamano tse ngata, moo node e le 'ngoe e nang le likamano tse ngata, e ithuta mokhoa o nepahetseng oa ho hasanya 'me e khona ho laola li-graph. E le ho eketsa boreleli le ho fokotsa ho feta-parameterization, li- regularizers li sebelisoa ka mokhoa ona oa marang-rang a graph neural.
E le ho fumana liphetho tse ntle, li-RGNN li hloka matla a fokolang a ho sebetsa. Li sebelisoa bakeng sa ho hlahisa mongolo, temoho ea puo, phetolelo ea mochini, tlhaloso ea litšoantšo, ho fana ka litekete tsa video, le kakaretso ea mongolo.
Gated Neural Graph Networks (GGNNs)
Ha ho tluoa mesebetsing e itšetlehileng ka nako e telele, e feta RGNNs. Ka ho kenyelletsa li-node, moeli, le liheke tsa nakoana ho itšetlehileng ka nako e telele, marang-rang a marang-rang a graph neural a ntlafatsa marang-rang a graph neural network.
Liheke li sebetsa ka mokhoa o ts'oanang le li-Gated Recurrent Units (GRUs) ka hore li tloaetse ho hopola le ho lebala data ka mekhahlelo e fapaneng.
Ho kenya ts'ebetsong Graph Neural Network ho sebelisa Pytorch
Taba e ikhethileng eo re tla tsepamisa maikutlo ho eona ke taba e tloaelehileng ea ho arola li-node. Re na le sebaka se seholo sa marang-rang sa metsoalle se bitsoang musae-github, e neng e hlophisitsoe ho tloha ho API e bulehileng, bakeng sa baetsi ba GitHub.
Likarolo li bonts'a likamano tsa balateli ba bobeli lipakeng tsa li-node, tse emelang batho ba ntlafatsang (basebelisi ba sethala) ba kentseng linaleli bonyane libakeng tsa polokelo ea 10 (hlokomela hore lentsoe mutual le supa kamano e sa lebelloang).
Ho ipapisitsoe le sebaka sa node, polokelo ea linaleli, mohiri, le aterese ea lengolo-tsoibila, litšoaneleho tsa node lia khutlisoa. Ho bolela esale pele hore na mosebelisi oa GitHub ke moqapi oa webo kapa a mohlahisi oa ho ithuta ka mochini ke mosebetsi oa rona.
Sehlooho sa mosebetsi sa mosebelisi e mong le e mong se sebelitse e le motheo oa ts'ebetso ena ea sepheo.
Ho kenya PyTorch
Ho qala, re lokela ho qala ka ho kenya PyTorch. U ka e lokisa ho latela mochine oa hau ho tloha Mona. Ea ka ke ena:
Ho kenya li-module
Hona joale, re kenya li-module tse hlokahalang
Ho kenya le ho Lekola data
Mohato o latelang ke ho bala lintlha le ho rala mela e mehlano ea pele le mela e mehlano ea ho qetela ho tloha faeleng ea li-label.
Ke litšiea tse peli ho tse 'nè - id ea node (ke hore, mosebedisi) le ml_target, e leng 1 haeba mosebedisi e le setho sa setjhaba sa ho ithuta ka mochine mme 0 ho seng joalo - e leng ea bohlokoa ho rona boemong bona.
Kaha ho na le lihlopha tse peli feela, joale re ka kholiseha hore mosebetsi oa rona ke taba ea binary classification.
Ka lebaka la ho se leka-lekane ho hoholo ha sehlopha, mokhethoa a ka nka feela hore na sehlopha se seholo ke sefe ho fapana le ho lekola sehlopha se nang le maemo a tlase, a etsa hore ho leka-lekana ha sehlopha e be ntlha e 'ngoe ea bohlokoa e lokelang ho nahanoa.
Ho rera histogram (kabo ea khafetsa) ho senola ho se leka-lekane ho itseng hobane ho na le litlelase tse fokolang ho tsoa ho thuto ea mochini (leibole=1) ho feta ho tsoa lihlopheng tse ling.
Feature Encoding
Litšobotsi tsa li-node li re tsebisa ka tšobotsi e amanang le node ka 'ngoe. Ka ho kenya ts'ebetsong mokhoa oa rona oa ho kenyelletsa data, re ka kenyelletsa litšobotsi tseo hang-hang.
Re batla ho sebelisa mokhoa ona ho kenyelletsa karolo e nyane ea marang-rang (e re, li-node tse 60) bakeng sa pontšo. Khoutu e thathamisitsoe mona.
Ho rala le ho hlahisa kerafo
Re tla sebelisa torch geometric. data ho aha graph ea rona.
Ho etsa mohlala oa graph e le 'ngoe e nang le thepa e fapaneng (ea boikhethelo), data e leng ntho e bonolo ea Python e sebelisoa. Ka ho sebelisa sehlopha sena le litšoaneleho tse latelang - tseo kaofela e leng lisebelisoa tsa torch - re tla theha ntho ea rona ea graph.
Sebopeho sa boleng ba x, se tla abeloa likarolo tsa node tse kentsoeng, ke [palo ea li-node, palo ea likarolo].
Sebopeho sa y ke [palo ea li-node], 'me se tla sebelisoa ho li-labels tsa node.
edge index: E le hore re hlalose kerafo e sa lebelloang, re hloka ho holisa li-indices tsa mantlha e le ho lumella ho ba teng ha likarolo tse peli tse fapaneng tse hokahanyang li-node tse peli tse tšoanang empa li supa ka mahlakoreng a fapaneng.
Likarolo tse peli, tse supang ho tloha node ea 100 ho ea ho 200 le tse ling ho tloha ho 200 ho ea ho tse 100, ka mohlala, pakeng tsa li-node 100 le 200. Haeba li-indices tse ka thōko li fanoa, joale ke kamoo graph e sa lebelloang e ka emeloa kateng. [2,2*nomoro ea mathōko a mantlha] e tla ba foromo ea tensor.
Re theha mokhoa oa rona oa ho hula kerafo ho bonts'a kerafo. Mohato oa pele ke ho fetola marang-rang a rona a homogeneous ho graph ea NetworkX, e ka huloang ka ho sebelisa NetworkX.draw.
Etsa mohlala oa rona oa GNN 'me u o koetlise
Re qala ka ho kenya khoutu eohle ea data ka ho kenya data ea encode ka light=False ebe re bitsa construct graph with light=False ho haha graph kaofela. Re ke ke ra leka ho taka kerafo ena e kholo hobane ke nahana hore u sebelisa mochini oa lehae o nang le lisebelisoa tse fokolang.
Li-mask, tseo e leng li-vectors tsa binary tse khethollang hore na ke li-node life tsa maske ka 'ngoe a sebelisa linomoro tsa 0 le 1, li ka sebelisoa ho tsebisa mokhahlelo oa koetliso hore na ke li-node life tse lokelang ho kenyeletsoa nakong ea koetliso le ho bolela mohato oa boithuto hore na lintlha tsa tlhahlobo ke life. Toche geometric.fetola.
Karohano ea boemo ba node e ka eketsoa ho sebelisoa mask a koetliso, val mask, le thepa ea mask ea tlhahlobo ea sehlopha sa AddTrainValTestMask, se ka sebelisoang ho nka graph le ho re nolofalletsa ho hlakisa hore na re batla hore limaske tsa rona li hahuoe joang.
Re mpa re sebelisa 10% bakeng sa koetliso le ho sebelisa 60% ea data e le tlhahlobo e behiloeng ha re ntse re sebelisa 30% e le sete ea netefatso.
Joale, re tla beha mekhahlelo e 'meli ea GCNConv, ea pele e nang le palo ea likarolo tse lekanang le palo ea likarolo ho kerafo ea rona e le likarolo tsa ho kenya.
Karolong ea bobeli, e nang le li-node tsa tlhahiso tse lekanang le palo ea lihlopha tsa rona, re sebelisa ts'ebetso ea ts'ebetso ea relu le ho fana ka likarolo tse patehileng.
Index ea Edge le boima ba 'mele ke tse peli ho tse ngata tseo GCNConv e ka li amohelang mosebetsing oa pele, empa boemong ba rona, re hloka feela mefuta e 'meli ea pele.
Leha taba ea hore mohlala oa rona o tla khona ho bolela esale pele sehlopha sa node e 'ngoe le e' ngoe ho kerafo, re ntse re hloka ho tseba ho nepahala le tahlehelo bakeng sa sete ka 'ngoe ka thoko ho latela mohato.
Mohlala, nakong ea koetliso, re batla feela ho sebelisa lithupelo tse behiloeng ho bona bonnete le tahlehelo ea koetliso, ka hona mona ke moo limaske tsa rona li tlang ho sebetsa hantle.
Ho bala tahlehelo e nepahetseng le ho nepahala, re tla hlalosa mesebetsi ea tahlehelo e sirelelitsoeng le ho nepahala ha mask.
Koetlisa mohlala
Kaha joale re se re hlalositse sepheo sa koetliso seo toche e tla sebelisoa ka sona. Adam ke master optimizer.
Re tla tsamaisa lithupelo bakeng sa palo e itseng ea linako re ntse re beile leihlo ho nepahala ha netefatso.
Re boetse re rera tahlehelo le ho nepahala ha lithupelo ho pholletsa le linako tse fapaneng.
Mathata a Graph Neural Network
Ho sebelisa li-GNN ho na le mathata a 'maloa. Nako ea ho hira GNNa le mokhoa oa ho ntlafatsa ts'ebetso ea mefuta ea rona ea ho ithuta ka mochini re tla hlakisetsoa ka bobeli kamora hore re e utloisise hamolemo.
- Le ha li-GNN e le marang-rang a sa tebang, hangata a na le likarolo tse tharo, marang-rang a mangata a neural a ka teba ho ntlafatsa ts'ebetso. Ha re khone ho sebetsa ka mokhoa o ikhethileng ho li-dataset tse kholo ka lebaka la moeli ona.
- Ho thata haholo ho koetlisa mohlala ho kerafo, kaha matla a bona a sebopeho a matla.
- Ka lebaka la litšenyehelo tse phahameng tsa computational tsa marang-rang ana, ho phahamisa mohlala oa tlhahiso ho hlahisa mathata. Ho lekanya li-GNN bakeng sa tlhahiso ho tla ba thata haeba sebopeho sa hau sa kerafo se seholo ebile se rarahane.
fihlela qeto e
Lilemong tse 'maloa tse fetileng, li-GNN li tsoetse pele ho ba lisebelisoa tse matla le tse sebetsang bakeng sa litaba tsa ho ithuta ka mochini sebakeng sa kerafo. Tlhaloso ea mantlha ea marang-rang a graph neural e fanoe sehloohong sena.
Kamora moo, o ka qala ho theha dataset e tla sebelisoa ho koetlisa le ho leka mohlala. Ho utloisisa hore na e sebetsa joang le hore na e khona ho etsa eng, u ka ea hole haholo 'me ua e koetlisa u sebelisa mofuta o fapaneng oa dataset.
Thabile Coding!
Leave a Reply