Мундариҷа[Пинҳон кардан][Намоиш]
Дар домени графикӣ усулҳои омӯзиши амиқ бо номи "шабакаи нейронҳои графикӣ" (GNNs) амал мекунанд. Ин шабакаҳо вақтҳои охир дар соҳаҳои гуногун, аз ҷумла биниши компютерӣ, системаҳои тавсиядиҳанда ва оптимизатсияи комбинаторӣ истифода мешаванд.
Илова бар ин, ин шабакаҳо метавонанд барои муаррифии системаҳои мураккаб, аз ҷумла шабакаҳои иҷтимоӣ, шабакаҳои мутақобилаи сафедаҳо ва сафедаҳо, графикҳои дониш ва ғайра дар якчанд соҳаҳои омӯзиш истифода шаванд.
Фазои ғайриевклидӣ дар муқоиса бо дигар намудҳои додаҳо ба монанди тасвирҳо, маълумотҳои графикӣ кор мекунанд. Барои тасниф кардани гиреҳҳо, пешгӯии пайвандҳо ва маълумоти кластер, таҳлили графикӣ истифода мешавад.
Дар ин мақола мо Графикро дида мебароем шабакаи Neural ба таври муфассал, намудҳои он, инчунин мисолҳои амалӣ бо истифода аз PyTorch.
Пас, График чист?
Графика як намуди сохтори додаҳост, ки аз гиреҳҳо ва қуллаҳо иборат аст. Пайвастҳои байни гиреҳҳои гуногун аз ҷониби қуллаҳо муайян карда мешаванд. Агар самт дар гиреҳҳо нишон дода шуда бошад, графикро равонашуда мегӯянд; дар акси ҳол, он бесамар аст.
Истифодаи хуби графикҳо моделсозии муносибатҳои байни шахсони гуногун дар як шабакаи иҷтимоӣ. Ҳангоми мубориза бо ҳолатҳои мураккаб, ба монанди пайвандҳо ва мубодила, графикҳо хеле муфиданд.
Онҳо аз ҷониби системаҳои тавсиявӣ, таҳлили семантикӣ, таҳлили шабакаҳои иҷтимоӣ ва шинохти намуна истифода мешаванд
. Эҷоди қарорҳои графикӣ як соҳаи навест, ки фаҳмиши амиқи маълумоти мураккаб ва бо ҳам алоқамандро пешниҳод мекунад.
Шабакаи нейронии графикӣ
Шабакаҳои нейронии графикӣ намудҳои махсуси шабакаҳои нейронӣ мебошанд, ки метавонанд дар формати додаҳои графикӣ кор кунанд. Ҷойгиркунии графикӣ ва шабакаҳои нейронҳои конволютсионӣ (CNN) ба онҳо таъсири назаррас доранд.
Шабакаҳои нейронҳои графикӣ дар вазифаҳое истифода мешаванд, ки пешгӯии гиреҳҳо, кунҷҳо ва графикҳоро дар бар мегиранд.
- CNN барои тасниф кардани тасвирҳо истифода мешавад. Ба ҳамин монанд, барои пешгӯии синф, GNNҳо ба шабакаи пиксел, ки сохтори графикиро ифода мекунанд, истифода мешаванд.
- Гурӯҳбандии матн бо истифода аз шабакаҳои нейронҳои такрорӣ. GNNҳо инчунин бо меъмории графикӣ истифода мешаванд, ки ҳар як калима дар ибора гиреҳ аст.
Барои пешгӯии гиреҳҳо, кунҷҳо ё графикҳои мукаммал, шабакаҳои нейрон барои сохтани GNNҳо истифода мешаванд. Масалан, пешгӯӣ дар сатҳи гиреҳ метавонад мушкилотро ба монанди ошкор кардани спам ҳал кунад.
Пешгӯии истинод як ҳолати маъмулӣ дар системаҳои тавсиядиҳанда аст ва метавонад намунаи мушкилоти пешгӯии фарогир бошад.
Намудҳои шабакаҳои нейронии графикӣ
Намудҳои сершумори шабакаҳои нейронӣ мавҷуданд ва дар аксари онҳо шабакаҳои нейронҳои конволютсионӣ мавҷуданд. Мо дар ин қисмат дар бораи машҳуртарин GNNҳо меомӯзем.
Шабакаҳои конволютсионии графикӣ (GCNs)
Онҳоро бо CNN классикӣ муқоиса кардан мумкин аст. Он хусусиятҳоро тавассути дидани гиреҳҳои наздик ба даст меорад. Функсияи фаъолсозӣ аз ҷониби GNNҳо барои илова кардани ғайрихаттӣ пас аз ҷамъоварии векторҳои гиреҳ ва фиристодани натиҷа ба қабати зич истифода мешавад.
Он аслан аз конволютсияи графикӣ, қабати хатӣ ва функсияи фаъолсозии ғайриомӯзанда иборат аст. GCN-ҳо дар ду навъи асосӣ пайдо мешаванд: Шабакаҳои конволютсионии спектрӣ ва шабакаҳои конволютсионии фазоӣ.
Шабакаҳои графикии автоматии рамзгузор
Он рамзгузорро барои омӯхтани тарзи муаррифии графикҳо ва декодерро барои аз нав сохтани графикҳои воридотӣ истифода мебарад. Як қабати банд мавҷуд аст, ки рамзгузор ва декодерро мепайвандад.
Азбаски кодгузорҳои худкор кори аълои муомилоти тавозуни синфро иҷро мекунанд, онҳо аксар вақт дар пешгӯии пайванд истифода мешаванд.
Шабакаҳои нейронҳои такрории графикӣ (RGNNs)
Дар шабакаҳои бисёр-релятсионӣ, ки дар он як гиреҳ робитаҳои сершумор дорад, он намунаи оптималии диффузияро меомӯзад ва метавонад графикҳоро идора кунад. Бо мақсади баланд бардоштани ҳамворӣ ва кам кардани параметрҳои зиёдатӣ, регулизаторҳо дар ин шакли шабакаи нейронии графикӣ истифода мешаванд.
Барои ба даст овардани натиҷаҳои беҳтар, RGNNҳо қувваи камтари коркардро талаб мекунанд. Онҳо барои тавлиди матн, шинохти нутқ, тарҷумаи мошинӣ, тавсифи тасвирҳо, барчаспҳои видеоӣ ва ҷамъбасти матн истифода мешаванд.
Шабакаҳои Gated Neural Graph (GGNNs)
Вақте ки сухан дар бораи вазифаҳои вобаста ба дарозмуддат меравад, онҳо аз RGNN бартарӣ доранд. Бо дохил кардани гиреҳ, канор ва дарвозаҳои муваққатӣ ба вобастагии дарозмуддат, шабакаҳои нейронии графикии дарвоза шабакаҳои нейронҳои такрории графикиро такмил медиҳанд.
Дарвозаҳо ба монанди Gated Recurrent Units (GRUs) кор мекунанд, зеро онҳо барои ба ёд овардан ва фаромӯш кардани маълумот дар марҳилаҳои гуногун одат мекунанд.
Татбиқи Шабакаи Neural Graph бо истифода аз Pytorch
Масъалаи мушаххасе, ки мо ба он таваҷҷӯҳ хоҳем кард, як масъалаи маъмули гурӯҳбандии гиреҳҳост. Мо як шабакаи бузурги иҷтимоӣ дорем Мусо-гитуб, ки аз API кушода барои таҳиягарони GitHub тартиб дода шудааст.
Кунҷҳо муносибатҳои пайравони мутақобилан байни гиреҳҳоро нишон медиҳанд, ки таҳиягаронро (истифодабарандагони платформа) намояндагӣ мекунанд, ки ҳадди аққал дар 10 анборҳо ситора гузоштаанд (дар хотир доред, ки калимаи мутақобила муносибати бесамарро нишон медиҳад).
Дар асоси ҷойгиршавии гиреҳ, анборҳои ситорадор, корфармо ва суроғаи почтаи электронӣ, хусусиятҳои гиреҳ дарёфт карда мешаванд. Пешгӯӣ кардани он, ки корбари GitHub таҳиягари веб аст ё таҳиягари омӯзиши мошинсозӣ вазифаи мост.
Унвони вазифаи ҳар як корбар ҳамчун асос барои ин вазифаи мақсаднок хизмат мекард.
Насб кардани PyTorch
Барои оғоз, мо аввал бояд насб кунем PyTorch. Шумо метавонед онро мувофиқи мошини худ танзим кунед Ин ҷо. Ин аст ман:
Воридоти модулҳо
Ҳоло мо модулҳои заруриро ворид мекунем
Воридот ва омӯхтани маълумот
Қадами зерин ин аст, ки маълумотро хонед ва панҷ қатори аввал ва панҷ қатори охиринро аз файли тамғакоғазҳо тартиб диҳед.
Дар ин вазъият танҳо дутои чаҳор сутун — id-и гиреҳ (яъне корбар) ва ml_target, ки 1 аст, агар корбар узви ҷомеаи омӯзиши мошинсозӣ бошад ва 0 дар акси ҳол, ба мо мувофиқанд.
Бо назардошти он, ки танҳо ду синф вуҷуд дорад, мо ҳоло итминон дорем, ки вазифаи мо як масъалаи таснифоти дуӣ аст.
Дар натиҷаи номутавозунии назарраси синфӣ, таснифкунанда метавонад танҳо тахмин кунад, ки кадом синф аксарият аст, ба ҷои баҳодиҳии синфи камнамоянда ва мувозинати синфро омили муҳими дигар ба назар мегирад.
Нақшаи гистограмма (тақсимоти басомадҳо) баъзе номутавозуниро ошкор мекунад, зеро дарсҳо аз омӯзиши мошинсозӣ (тамга = 1) нисбат ба синфҳои дигар камтаранд.
Рамзгузории хусусият
Хусусиятҳои гиреҳҳо ба мо дар бораи хусусияте, ки бо ҳар як гиреҳ алоқаманд аст, хабар медиҳанд. Бо татбиқи усули мо барои рамзгузории додаҳо, мо метавонем фавран ин хусусиятҳоро рамзгузорӣ кунем.
Мо мехоҳем аз ин усул истифода барем, то як қисми хурди шабака (масалан, 60 гиреҳ) барои намоиш фаро гирифта шавад. Рамз дар ин ҷо оварда шудааст.
Тарҳрезӣ ва намоиши графикҳо
Мо машъали геометриро истифода мебарем. маълумот барои сохтани графики мо.
Барои моделсозии графики ягона бо хосиятҳои гуногун (ихтиёрӣ), маълумоте истифода мешавад, ки объекти оддии Python мебошад. Бо истифода аз ин синф ва атрибутҳои зерин - ҳамаашон тензорҳои машъал мебошанд - мо объекти графикии худро эҷод мекунем.
Шакли арзиши x, ки ба хусусиятҳои гиреҳи рамзшуда ҷудо карда мешавад, [шумораи гиреҳҳо, шумораи хусусиятҳо] аст.
Шакли y [шумораи гиреҳҳо] аст ва он ба тамғакоғазҳои гиреҳ татбиқ карда мешавад.
Индекси канор: Барои тавсифи графики беасос, мо бояд индексҳои канори аслиро васеъ кунем, то мавҷудияти ду кунҷҳои мутафовитро, ки ҳамон ду гиреҳро мепайванданд, вале ба самтҳои муқобил ишора мекунанд, фароҳам оварем.
Масалан, дар байни гиреҳҳои 100 ва 200 ҷуфти кунҷҳо, ки яке аз гиреҳи 200 то 100 ва дигаре аз 100 то 200 аст, лозим аст. Агар индексҳои канорӣ таъмин карда шаванд, он гоҳ графики бесамарро ҳамин тавр муаррифӣ кардан мумкин аст. [2,2*шумораи кунҷҳои аслӣ] шакли тензорӣ хоҳад буд.
Мо усули графикии худро барои намоиш додани график эҷод мекунем. Қадами аввал ин табдил додани шабакаи якхелаи мо ба графикаи NetworkX мебошад, ки баъдан онро бо истифода аз NetworkX.draw кашидан мумкин аст.
Модели GNN-и моро созед ва онро омӯзед
Мо аз рамзгузории тамоми маҷмӯи додаҳо тавассути иҷро кардани маълумоти рамзгузорӣ бо light=False ва сипас даъват кардани graph construct with light=False барои сохтани тамоми график оғоз мекунем. Мо кӯшиш намекунем, ки ин графики калонро кашем, зеро гумон мекунам, ки шумо як мошини маҳаллиро истифода мекунед, ки захираҳои маҳдуд дорад.
Ниқобҳо, ки векторҳои бинарӣ мебошанд, ки кадом гиреҳҳо ба ҳар як ниқоби мушаххас бо истифода аз рақамҳои 0 ва 1 тааллуқ доранд, метавонанд барои огоҳ кардани марҳилаи омӯзиш, ки дар давоми омӯзиш кадом гиреҳҳо бояд дохил карда шаванд ва ба марҳилаи хулосабарорӣ кадом гиреҳҳо маълумоти санҷишӣ мебошанд, истифода шаванд. Машъал геометрии.табдил медихад.
Тақсимоти сатҳи гиреҳро бо истифода аз ниқоби омӯзишӣ, val ниқоб ва хосиятҳои ниқоби санҷишии синфи AddTrainValTestMask илова кардан мумкин аст, ки он метавонад барои гирифтани график истифода шавад ва ба мо имкон диҳад, ки чӣ тавр мо ниқобҳои мо сохта шаванд.
Мо танҳо 10% -ро барои омӯзиш истифода мебарем ва 60% маълумотро ҳамчун маҷмӯи санҷиш истифода мебарем ва 30% -ро ҳамчун маҷмӯи санҷиш истифода мебарем.
Ҳоло, мо ду қабати GCNConv-ро ҷамъ мекунем, ки аввалини онҳо шумораи хусусиятҳои баромади он ба шумораи хусусиятҳои графикии мо ҳамчун хусусиятҳои вуруд баробар аст.
Дар қабати дуюм, ки гиреҳҳои баромади баробар ба шумораи синфҳои моро дар бар мегирад, мо функсияи фаъолсозии релуро истифода мебарем ва хусусиятҳои ниҳонӣ таъмин мекунем.
Индекси канорӣ ва вазни канори ду аз имконоти сершумори x мебошанд, ки GCNConv метавонад дар функсияи пеш қабул кунад, аммо дар вазъияти мо, мо танҳо ба ду тағирёбандаи аввал ниёз дорем.
Сарфи назар аз он, ки модели мо метавонад синфи ҳар як гиреҳи графикро пешгӯӣ кунад, ба мо лозим аст, ки дақиқӣ ва талафоти ҳар як маҷмӯаро вобаста ба марҳила алоҳида муайян кунем.
Масалан, ҳангоми омӯзиш, мо танҳо мехоҳем маҷмӯи омӯзишро барои муайян кардани дақиқӣ ва талафоти омӯзиш истифода барем ва аз ин рӯ, дар ин ҷо ниқобҳои мо муфиданд.
Барои ҳисоб кардани талафот ва дақиқии мувофиқ, мо вазифаҳои талафоти ниқобшуда ва дақиқии ниқобшударо муайян мекунем.
Омӯзиши модел
Ҳоло, ки мо ҳадафи таълимро муайян кардем, ки чароғ барои он истифода мешавад. Одам беҳтарин оптимизатор аст.
Мо тренингро барои шумораи муайяни давраҳо мегузаронем ва дар ҳоле ки дурустии тасдиқро назорат мекунем.
Мо инчунин талафот ва дақиқии омӯзишро дар тӯли давраҳои гуногун тарҳрезӣ мекунем.
Камбудиҳои шабакаи нейронҳои графикӣ
Истифодаи GNNҳо як қатор камбудиҳо дорад. Кай ба кор бурдани GNNa ва чӣ гуна баланд бардоштани самаранокии моделҳои омӯзиши мошинии мо ҳарду пас аз фаҳмиши беҳтари онҳо ба мо маълум хоҳанд шуд.
- Дар ҳоле, ки GNNҳо шабакаҳои наонқадар мебошанд, одатан бо се қабат, аксари шабакаҳои нейронӣ метавонанд барои беҳтар кардани кор амиқтар шаванд. Аз сабаби ин маҳдудият мо наметавонем дар маҷмӯаҳои додаҳои калон дар сатҳи пешрафта кор кунем.
- Омӯзиши модел дар графикҳо душвортар аст, зеро динамикаи сохтории онҳо динамикӣ аст.
- Аз сабаби хароҷоти баланди ҳисоббарории ин шабакаҳо, миқёси модел барои истеҳсол мушкилот пеш меорад. Миқёси GNNs барои истеҳсол душвор хоҳад буд, агар сохтори графикии шумо бузург ва мураккаб бошад.
хулоса
Дар тӯли чанд соли охир, GNNҳо ба абзорҳои пурқувват ва муассир барои масъалаҳои омӯзиши мошинсозӣ дар домени графикӣ табдил ёфтанд. Шарҳи асосии шабакаҳои нейронии графикӣ дар ин мақола оварда шудааст.
Пас аз ин, шумо метавонед ба эҷоди маҷмӯи додаҳо шурӯъ кунед, ки барои омӯзиш ва озмоиши модел истифода мешавад. Барои фаҳмидани он, ки он чӣ гуна кор мекунад ва ба чӣ қодир аст, шумо инчунин метавонед хеле дуртар равед ва онро бо истифода аз як намуди дигари маҷмӯаи додаҳо омӯзед.
Рамзгузории хушбахт!
Дин ва мазҳаб