Table of Contents[Hide][Show]
Cov kev kawm sib sib zog nqus hu ua "graph neural networks" (GNNs) ua haujlwm hauv daim duab sau. Cov tes hauj lwm no tsis ntev los no tau pom siv nyob rau hauv ntau qhov chaw, suav nrog lub zeem muag hauv computer, cov lus pom zoo, thiab kev ua kom zoo ntawm kev sib txuas, rau npe rau ob peb tug.
Tsis tas li ntawd, cov tes hauj lwm no tuaj yeem siv los sawv cev cov txheej txheem nyuaj, suav nrog kev sib raug zoo, kev sib tham ntawm cov protein-protein, cov duab qhia paub, thiab lwm yam hauv ntau qhov kev kawm.
Qhov chaw tsis yog euclidean yog qhov chaw cov ntaub ntawv graph ua haujlwm, sib piv rau lwm hom ntaub ntawv xws li duab. Txhawm rau txheeb xyuas cov nodes, kwv yees qhov sib txuas, thiab cov ntaub ntawv pawg, siv cov duab tsom xam.
Hauv kab lus no, peb yuav tshuaj xyuas Graph Neural Network Hauv kev nthuav dav, nws hom, nrog rau muab cov piv txwv zoo siv PyTorch.
Yog li, Graph yog dab tsi?
Ib daim duab yog hom ntaub ntawv tsim los ntawm cov nodes thiab vertices. Cov kev sib txuas ntawm ntau cov nodes yog txiav txim los ntawm cov vertices. Yog hais tias cov kev taw qhia yog qhia nyob rau hauv cov nodes, lub graph yog hais tias yuav tsum tau coj; txwv tsis pub, nws yog undirected.
Ib daim ntawv thov zoo ntawm cov duab yog qauv kev sib raug zoo ntawm ntau tus neeg hauv ib social network. Thaum cuam tshuam nrog cov xwm txheej nyuaj, xws li kev sib txuas thiab kev sib pauv, cov duab qhia tau zoo heev.
Lawv tau ua haujlwm los ntawm cov kev pom zoo, kev tshuaj xyuas semantic, kev txheeb xyuas kev sib raug zoo, thiab kev paub txog cov qauv
. Tsim cov graph-raws li kev daws teeb meem yog qhov chaw tshiab uas muaj kev nkag siab zoo ntawm cov ntaub ntawv nyuaj thiab sib cuam tshuam.
Graph Neural Network
Graph neural networks yog tshwj xeeb neural network hom uas tuaj yeem ua haujlwm ntawm daim duab cov ntaub ntawv. Graph embedding thiab convolutional neural networks (CNNs) muaj kev cuam tshuam loj rau lawv.
Graph Neural Networks tau ua haujlwm hauv cov haujlwm uas suav nrog kev kwv yees ntawm qhov, ntug, thiab cov duab.
- CNN's yog siv los faib cov duab. Ib yam li ntawd, txhawm rau kwv yees ib chav kawm, GNNs raug siv rau lub pixel grid uas sawv cev rau cov qauv duab.
- Cov ntawv categorization siv cov kev sib txuas ntawm neural. GNNs kuj tseem siv nrog cov duab kos duab uas txhua lo lus hauv kab lus yog ib qho ntawm.
Txhawm rau kwv yees cov nodes, npoo, lossis ua tiav cov duab, cov neural network tau siv los tsim GNNs. Kev twv ua ntej ntawm qib node, piv txwv li, tuaj yeem daws qhov teeb meem zoo li spam nrhiav.
Kev kwv yees txuas txuas yog ib qho xwm txheej hauv cov lus pom zoo thiab tej zaum yuav yog ib qho piv txwv ntawm qhov teeb meem kev twv ua ntej.
Graph Neural Network Hom
Ntau hom neural network muaj nyob, thiab Convolutional Neural Networks muaj nyob rau hauv feem ntau ntawm lawv. Peb yuav kawm txog GNNs uas paub zoo tshaj plaws hauv ntu no.
Graph Convolutional Networks (GCNs)
Lawv yog cov piv rau classic CNNs. Nws tau txais cov yam ntxwv los ntawm kev saib cov nodes nyob ze. Kev ua kom muaj nuj nqi yog siv los ntawm GNNs los ntxiv cov tsis-linearity tom qab sib sau cov node vectors thiab xa cov zis mus rau txheej tuab.
Nws yog tsim los ntawm Graph convolution, ib txheej txheej, thiab tsis yog kawm ua kom muaj nuj nqi, hauv qhov tseem ceeb. GCNs tuaj nyob rau hauv ob hom loj: Spectral Convolutional Networks thiab Spatial Convolutional Networks.
Graph Auto-Encoder Networks
Nws siv tus encoder los kawm seb yuav ua li cas los sawv cev cov duab thiab tus decoder los sim rov tsim kho cov duab kos. Nws muaj ib tug bottleneck txheej txuas lub encoder thiab decoder.
Txij li nws pib-encoders ua txoj haujlwm zoo ntawm kev tuav cov chav kawm sib npaug, lawv tau siv ntau zaus hauv kev kwv yees txuas.
Recurrent Graph Neural Networks (RGNNs)
Hauv ntau qhov kev sib txuas lus, qhov twg ib leeg muaj ntau qhov kev sib raug zoo, nws kawm tau qhov zoo tshaj plaws diffusion qauv thiab tuaj yeem tswj cov duab. Txhawm rau kom ua kom du thiab txo qis tshaj qhov ntsuas, cov khoom siv niaj hnub siv rau hauv daim ntawv ntawm cov duab neural network.
Txhawm rau kom tau txais txiaj ntsig zoo dua, RGNNs yuav tsum muaj lub zog ua haujlwm tsawg dua. Lawv yog siv rau tiam ntawv, kev paub hais lus, tshuab txhais lus, duab piav qhia, video tagging, thiab sau ntawv sau.
Gated Neural Graph Networks (GGNNs)
Thaum nws los txog rau kev ua haujlwm ntev ntev, lawv ua tau zoo tshaj RGNNs. Los ntawm suav nrog ntawm node, ntug, thiab lub rooj vag ntawm lub cev ntawm kev nyob ntev, gated graph neural networks txhim kho cov duab rov qab neural networks.
Cov rooj vag ua haujlwm zoo ib yam li Gated Recurrent Units (GRUs) uas lawv tau siv los rov qab thiab tsis nco qab cov ntaub ntawv hauv ntau theem.
Siv Graph Neural Network siv Pytorg
Qhov teeb meem tshwj xeeb uas peb yuav tsom mus rau yog qhov teeb meem tshwm sim ntawm node categorization. Peb muaj lub social network loj heev hu ua musae-github, uas tau muab tso ua ke los ntawm qhib API, rau GitHub cov neeg tsim khoom.
Edges qhia txog kev sib koom ua ke ntawm kev sib raug zoo ntawm cov nodes, uas sawv cev rau cov neeg tsim khoom (cov neeg siv lub platform) uas tau ua lub hnub qub nyob rau hauv tsawg kawg 10 qhov chaw cia khoom (nco ntsoov tias lo lus kev sib nrig sib qhia txog kev sib raug zoo).
Raws li cov node qhov chaw, lub hnub qub repositories, chaw ua hauj lwm, thiab email chaw nyob, node yam ntxwv yog retrieved. Kev kwv yees yog tias tus neeg siv GitHub yog tus tsim lub vev xaib lossis a machine learning developer yog peb txoj haujlwm.
Lub npe txoj haujlwm ntawm txhua tus neeg siv tau ua lub hauv paus rau qhov kev ua haujlwm no.
Txhim kho PyTorch
Yuav pib, peb thawj zaug yuav tsum tau nruab PyTorch. Koj tuaj yeem teeb tsa nws raws li koj lub tshuab los ntawm no. Nov yog kuv li:
Importing modules
Tam sim no, peb import cov tsim nyog modules
Ntshuam thiab Tshawb cov ntaub ntawv
Cov kauj ruam hauv qab no yog nyeem cov ntaub ntawv thiab teeb tsa thawj tsib kab thiab tsib kab kawg ntawm cov ntawv sau.
Tsuas yog ob ntawm plaub kab - lub node tus id (ie, neeg siv) thiab ml_target, uas yog 1 yog tias tus neeg siv yog ib tug tswv cuab ntawm lub tshuab kev kawm zej zog thiab 0 lwm yam - muaj feem xyuam rau peb nyob rau hauv qhov teeb meem no.
Muab hais tias tsuas muaj ob chav kawm xwb, tam sim no peb tuaj yeem paub tseeb tias peb txoj haujlwm yog qhov teeb meem kev faib tawm binary.
Raws li qhov tshwm sim ntawm qhov tsis sib xws ntawm cov chav kawm tseem ceeb, tus neeg cais tawm tuaj yeem xav tias chav kawm twg yog feem ntau es tsis yog ntsuas cov chav kawm tsis muaj npe, ua rau cov chav kawm sib npaug lwm qhov tseem ceeb los xav txog.
Plotting lub histogram (frequency distribution) qhia ib co kev tsis sib xws vim tias muaj tsawg chav kawm los ntawm kev kawm tshuab (label = 1) dua li ntawm lwm chav kawm.
Feature encoding
Cov nodes cov yam ntxwv qhia peb txog cov yam ntxwv uas cuam tshuam nrog txhua qhov. Los ntawm kev siv peb txoj kev los encode cov ntaub ntawv, peb tuaj yeem encode cov yam ntxwv tam sim ntawd.
Peb xav siv txoj kev no los encapsulate ib feem me me ntawm lub network (hais, 60 nodes) rau zaub. Cov cai muaj nyob ntawm no.
Tsim thiab nthuav cov duab kos
Peb yuav siv lub teeb geometric. cov ntaub ntawv los tsim peb daim duab.
Txhawm rau ua qauv ib daim duab nrog cov khoom sib txawv (xaiv tau), cov ntaub ntawv uas yog cov khoom siv Python yooj yim yog siv. Los ntawm kev siv cov chav kawm no thiab cov cwj pwm hauv qab no - tag nrho cov uas yog lub teeb tensors - peb yuav tsim peb cov duab kos.
Daim ntawv ntawm tus nqi x, uas yuav muab faib rau lub encoded node nta, yog [number of nodes, number of features].
Cov duab ntawm y yog [tus naj npawb ntawm cov nodes], thiab nws yuav raug siv rau cov ntawv sau npe.
ntug index: Yuav kom piav qhia txog cov duab tsis qhia, peb yuav tsum tau nthuav dav cov thawj ntug indices thiaj li tso cai rau lub hav zoov ntawm ob qhov sib txawv qhia cov npoo uas txuas tib ob lub nodes tab sis taw tes rau qhov sib txawv.
Ib khub ntawm ntug, ib qho taw qhia los ntawm node 100 mus rau 200 thiab lwm qhov los ntawm 200 mus rau 100, yog yuav tsum tau, piv txwv li, ntawm nodes 100 thiab 200. Yog hais tias lub ntug indices muab, ces qhov no yog yuav ua li cas lub undirected graph yuav sawv cev. [2,2 * tus naj npawb ntawm thawj ntug] yuav yog daim ntawv tensor.
Peb tsim peb txoj kev kos duab los tso saib daim duab. Thawj kauj ruam yog los hloov peb txoj kev sib koom ua ke rau hauv NetworkX daim duab, uas tuaj yeem kos siv NetworkX.draw.
Ua peb tus qauv GNN thiab cob qhia nws
Peb pib los ntawm encoding tag nrho cov ntaub ntawv los ntawm executing encode cov ntaub ntawv nrog lub teeb = False thiab ces hu construct graph nrog lub teeb = False los tsim tag nrho cov duab. Peb yuav tsis sim kos daim duab loj no vim kuv xav tias koj tab tom siv lub tshuab hauv zos uas muaj peev txheej tsawg.
Qhov ncauj qhov ntswg, uas yog binary vectors uas txheeb xyuas cov nodes nyob rau txhua lub ntsej muag tshwj xeeb uas siv tus lej 0 thiab 1, tuaj yeem siv los ceeb toom rau theem kev cob qhia uas cov nodes yuav tsum tau suav nrog hauv kev cob qhia thiab qhia txog theem kev xav uas cov nodes yog cov ntaub ntawv xeem. Torch geometric.transforms.
Kev sib cais ntawm node-theem tuaj yeem ntxiv tau siv lub npog ntsej muag kev cob qhia, daim npog ntsej muag, thiab kuaj lub ntsej muag lub ntsej muag ntawm chav kawm AddTrainValTestMask, uas tuaj yeem siv los coj daim duab thiab pab kom peb qhia seb peb xav kom peb lub qhov ncauj qhov ntswg tsim.
Peb tsuas yog siv 10% rau kev cob qhia thiab siv 60% ntawm cov ntaub ntawv raws li qhov kev sim teeb tsa thaum siv 30% raws li kev siv tau.
Tam sim no, peb yuav teeb tsa ob GCNConv txheej, thawj qhov uas muaj cov txiaj ntsig tso tawm suav nrog qhov sib npaug ntawm tus naj npawb ntawm cov yam ntxwv hauv peb daim duab raws li cov khoom nkag.
Hauv txheej thib ob, uas muaj cov khoom tso tawm sib npaug ntawm peb cov chav kawm, peb siv lub relu ua kom muaj nuj nqi thiab muab cov yam ntxwv latent.
Ntug Performance index thiab ntug qhov hnyav yog ob ntawm ntau txoj kev xaiv x uas GCNConv tuaj yeem lees txais hauv kev ua haujlwm tom ntej, tab sis hauv peb qhov xwm txheej, peb tsuas yog xav tau thawj ob qhov sib txawv.
Txawm hais tias peb tus qauv yuav muaj peev xwm kwv yees cov chav kawm ntawm txhua qhov ntawm cov duab kos, peb tseem yuav tsum tau txiav txim siab qhov tseeb thiab qhov poob rau txhua qhov sib cais nyob ntawm theem.
Piv txwv li, thaum lub sij hawm kev cob qhia, peb tsuas yog xav siv cov txheej txheem kev cob qhia los txiav txim qhov tseeb thiab kev kawm poob, thiab yog li qhov no yog qhov uas peb lub qhov ncauj qhov ntswg tuaj yeem siv tau.
Txhawm rau xam qhov tsim nyog poob thiab raug, peb yuav txhais cov haujlwm ntawm qhov npog qhov ncauj qhov ntswg thiab qhov tseeb qhov tseeb.
Kev cob qhia tus qauv
Tam sim no peb tau txhais lub hom phiaj kev cob qhia uas yuav siv lub teeb. Adas yog tus tswv optimizer.
Peb yuav ua qhov kev cob qhia rau qee lub sijhawm thaum ua kom pom qhov tseeb ntawm qhov tseeb.
Peb kuj npaj qhov kev kawm poob thiab qhov tseeb thoob plaws lub sijhawm sib txawv.
Disadvantages ntawm Graph Neural Network
Kev siv GNNs muaj ob peb qhov tsis zoo. Thaum twg los ntiav GNNa thiab yuav ua li cas los txhim kho qhov kev ua tau zoo ntawm peb cov qauv kev kawm tshuab yuav ua kom pom tseeb rau peb tom qab peb muaj kev nkag siab zoo dua ntawm lawv.
- Thaum GNNs yog cov sib txuas ntiav, feem ntau nrog peb txheej, feem ntau cov neural networks tuaj yeem nkag mus tob los txhim kho kev ua haujlwm. Peb tsis muaj peev xwm ua tau ntawm kev txiav ntug ntawm cov ntaub ntawv loj vim qhov kev txwv no.
- Nws yog qhov nyuaj dua rau kev cob qhia tus qauv ntawm cov duab, txij li lawv cov qauv kev ua haujlwm yog dynamic.
- Vim tias cov nqi siv nyiaj ntau ntawm cov tes hauj lwm no, kev ntsuas tus qauv rau kev tsim khoom nthuav tawm cov teeb meem. Scaling GNNs rau kev tsim khoom yuav nyuaj yog tias koj cov qauv duab loj thiab nyuaj.
xaus
Ob peb xyoos dhau los, GNNs tau tsim los ua cov cuab yeej muaj zog thiab muaj txiaj ntsig zoo rau cov teeb meem kev kawm tshuab hauv daim duab sau. Cov ntsiab lus tseem ceeb ntawm graph neural networks tau muab rau hauv kab lus no.
Tom qab ntawd, koj tuaj yeem pib tsim cov dataset uas yuav siv los cob qhia thiab ntsuas tus qauv. Txhawm rau kom nkag siab tias nws ua haujlwm li cas thiab nws muaj peev xwm npaum li cas, koj tuaj yeem mus deb dua thiab cob qhia nws siv ntau hom dataset.
Zoo siab Coding!
Sau ntawv cia Ncua