๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
1๏ธโƒฃ AI•DS/๐Ÿ“˜ GNN

[CS224W] Message Passing and Node classification

by isdawell 2022. 11. 17.
728x90

 

1๏ธโƒฃ  5๊ฐ• ๋ณต์Šต 


 

๐Ÿ”นMain Topic : Node classification 

 

 

•  ๋ช‡๊ฐœ์˜ ๋…ธ๋“œ์— ๋ ˆ์ด๋ธ”์ด ์ฃผ์–ด์งˆ ๋•Œ, ๋‹ค๋ฅธ ๋ชจ๋“  ๋…ธ๋“œ์˜ ๋ ˆ์ด๋ธ”์„ ์˜ˆ์ธกํ•˜๋Š” node classification Task 

 

๐Ÿ‘‰ Semi supervised node classification : ๋ผ๋ฒจ๋ง๋œ ๋…ธ๋“œ์™€ ๊ทธ๋ ‡์ง€ ์•Š์€ ๋…ธ๋“œ๋ฅผ ๋™์‹œ์— ์‚ฌ์šฉํ•˜๋Š” ๋ถ„๋ฅ˜๋ฌธ์ œ 

 

•  Message Passing ๋ฐฉ๋ฒ•์„ ํ†ตํ•ด ๋…ธ๋“œ ๊ฐ„์˜ correlation (dependencies) ์„ ๊ฐ€์ •ํ•˜์—ฌ ๋ ˆ์ด๋ธ”์„ ์˜ˆ์ธกํ•œ๋‹ค. 

 

•  correlation : ๋น„์Šทํ•œ ๋…ธ๋“œ๋Š” ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๊ฑฐ๋‚˜ ๊ทผ์ ‘ํ•œ ์œ„์น˜์— ์กด์žฌํ•œ๋‹ค๋Š” ์˜๋ฏธ๋กœ, ์ฃผ๋ณ€ ๋…ธ๋“œ๊ฐ€ ๊ฐ™์€ ๋ ˆ์ด๋ธ”์— ์†ํ•  ๋•Œ ์ƒ๊ด€๊ด€๊ณ„๊ฐ€ ์กด์žฌํ•œ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

•  Applications : ๋ฌธ์„œ ๋ถ„๋ฅ˜, ํ’ˆ์‚ฌํƒœ๊น…, link prediction, OCR, 3D data segmentation, fraud detection 

 

 

๐Ÿ”น Overview of collective classification 

 

•  ๋ถ„๋ฅ˜๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋„คํŠธ์›Œํฌ ์ •๋ณด 

โ†ช Features of node v 

โ†ช Labels of the nodes in v's neighborhood 

โ†ช Features of the nodes in v's neighborhood 

 

•  Markov Assumtion 

โ†ช ๋…ธ๋“œ ๋ ˆ์ด๋ธ”์€ ์ฃผ๋ณ€ ๋…ธ๋“œ์˜ ๋ ˆ์ด๋ธ”์—๋งŒ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค. 

 

 

•  3 step 

 

โ†ช  Local Classifier : Initial label assignment. ๋…ธ๋“œ ํ”ผ์ฒ˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ ˆ์ด๋ธ”์„ ์ดˆ๊ธฐํ™” ํ•œ๋‹ค. 

 

โ†ช  Relational Classifier : Capture correlations. ์ด์›ƒ ๋…ธ๋“œ์˜ ํ”ผ์ฒ˜์™€ ๋ผ๋ฒจ ์ •๋ณด๋กœ ๋…ธ๋“œ ๊ฐ„ ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ํŒŒ์•…ํ•œ๋‹ค. 

 

โ†ช  Collective Inference : Propagate the correlations. ์ƒ๊ด€๊ด€๊ณ„๋ฅผ ๋„คํŠธ์›Œํฌ์— ์ „ํŒŒํ•œ๋‹ค. 

 

 

๐Ÿ”น Relational classification 

•  v ์˜ ์ด์›ƒ๋…ธ๋“œ๋“ค์˜ ํด๋ž˜์Šค ํ™•๋ฅ  (class probability Yv) ๋“ค์˜ ๊ฐ€์ค‘ํ‰๊ท ์œผ๋กœ v ๋…ธ๋“œ์˜ ํด๋ž˜์Šค ํ™•๋ฅ ์„ ๊ตฌํ•œ๋‹ค. 

•  ๋ ˆ์ด๋ธ”์ด ๋˜์ง€ ์•Š์€ ๋…ธ๋“œ๋Š” Yv ๋ฅผ 0.5๋กœ ์ดˆ๊ธฐํ™”ํ•œ๋‹ค. 

•  For each node v and label c : ๋…ธ๋“œ v ๊ฐ€ class c ๋กœ ํ• ๋‹น ๋  ํ™•๋ฅ  

 

•  Update ์˜ˆ์‹œ 

 

๐Ÿ”น Iterative classification

 

•  Relational classifier ๋Š” ๋…ธ๋“œ์˜ ๋ผ๋ฒจ๊ณผ ์—ฃ์ง€์™€ ๊ฐ™์€ ์ •๋ณด๋งŒ์„ ํ™œ์šฉํ•˜๋ฉฐ, ๋…ธ๋“œ์˜ ์†์„ฑ (attributes, features) ๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค. 

•  Iterative classification ์€ ๋…ธ๋“œ์˜ feature ์ •๋ณด f(v) ์™€ ์ด์›ƒ ๋…ธ๋“œ์˜ ๋ผ๋ฒจ z(v) ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด์„œ ๋…ธ๋“œ๋ฅผ ๋ถ„๋ฅ˜ํ•œ๋‹ค ๐Ÿ‘‰ Train Two classifiers 

 

 

•  ์˜ˆ์ œ 

 

(1) Train classifier

(2) Apply classifier to test 

(3) Iterate 

    1. update relational features z(v) 

    2. update label Yv 

 

 

 

 

๐Ÿ”น Belief propagation

•  ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ (dynamic programming) ์ ‘๊ทผ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ํด๋ž˜์Šค์— ์†ํ•  ํ™•๋ฅ ๊ฐ’์„ ๊ตฌํ•˜๋Š” ์ ‘๊ทผ ๋ฐฉ๋ฒ•์œผ๋กœ, ๋ฐ˜๋ณต์ ์œผ๋กœ ์ด์›ƒ๋…ธ๋“œ์™€ talk ํ•˜๋ฉด์„œ message ๋ฅผ passing ํ•œ๋‹ค. 

 

 

•  Message Passing Algorithm

 

(1) ๋…ธ๋“œ์˜ ์ˆœ์„œ๋ฅผ ์ •์˜ 

(2) ์—ฃ์ง€์˜ ๋ฐฉํ–ฅ์„ ์ •์˜ 

(3) ์ด์ „ ๋…ธ๋“œ๋กœ๋ถ€ํ„ฐ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌ๋ฐ›๊ณ  ํ˜„์žฌ ๋…ธ๋“œ์—์„œ ๋ฉ”์‹œ์ง€๋ฅผ ์—…๋ฐ์ดํŠธ ํ•˜์—ฌ ์•ž์˜ ๋…ธ๋“œ๋กœ ์ „๋‹ฌ 

 

 

•  message passing ์€ path graph (์ผ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ ๋ชจ์–‘) ๋ฟ ์•„๋‹ˆ๋ผ ํŠธ๋ฆฌ ๊ตฌ์กฐ์—๋„ ์ ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. 

 

•  Loopy BP algorithm 

 

 

(1) ๋…ธ๋“œ i ๊ฐ€ ์ด์›ƒ๋“ค๋กœ๋ถ€ํ„ฐ beliefs ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ณ  

(2) node i ๊ฐ€ Y_i ๋ ˆ์ด๋ธ”์„ ๊ฐ€์งˆ ํ™•๋ฅ ์„ ๊ณฑํ•˜๊ณ  

(3) i ์˜ ๋ ˆ์ด๋ธ”์ด ์–ผ๋งˆ๋‚˜ ์ด์›ƒ ๋…ธ๋“œ j ์˜ ๋ ˆ์ด๋ธ”์— ์˜ํ–ฅ์„ ๋ฏธ์น ์ง€, ๋…ธ๋“œ j ์—๊ฒŒ ์ „๋‹ฌํ•˜๊ธฐ ์œ„ํ•ด label potential matrix ๋ฅผ ๊ณฑํ•œ๋‹ค. 

(4) ์ด ๊ณผ์ •์„ ๊ฐ ๋ ˆ์ด๋ธ” Y_i ๋งˆ๋‹ค ๋ฐ˜๋ณตํ•œ๋‹ค. 

(5) ์ˆ˜๋ ด์„ ํ†ตํ•ด ๊ตฌํ•ด์ง€๋Š” ๋…ธ๋“œ i ์˜ ํด๋ž˜์Šค๊ฐ€ Y_i ์ผ belief bi(Yi) ๋Š” prior ํ™•๋ฅ ์— belief ๋ฅผ ๊ณฑํ•จ์œผ๋กœ์จ ๊ตฌํ•ด์ง„๋‹ค. 

 

 

 

2๏ธโƒฃ  ์ฝ”๋“œ๋ฆฌ๋ทฐ 


 

https://colab.research.google.com/drive/1HjC0bCFJQrEKfl_NmH-NV1qRw7pgYEth?usp=sharing 

 

cs224w 5๊ฐ• ๋ณต์Šต๊ณผ์ œ.ipynb

Colaboratory notebook

colab.research.google.com

 

 

 

๐Ÿ”น Iterative classification algorithm Review 

 

•  Task : Classify nodes in the e-mail exchange graph to company management levels 

•  Class : company management levels (1,2,3) 

•  Data : 2010๋…„ 1์›” 1์ผ๋ถ€ํ„ฐ 2010๋…„ 9์›” 30์ผ๊นŒ์ง€ ์ค‘๊ฐ„ ๊ทœ๋ชจ ์ œ์กฐ ํšŒ์‚ฌ ์ง์› ๊ฐ„์˜ ์ด๋ฉ”์ผ ๊ตํ™˜์— ๋Œ€ํ•œ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์œผ๋ฉฐ , ์กฐ์ง ๊ณ„์ธต์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ทธ๋ž˜ํ”„๊ฐ€ ํ•จ๊ป˜ ์ œ๊ณต๋œ๋‹ค. 

 

 

 

๐Ÿ’ก Semi-supervsied classification 

 

โ†ช Known , Unknown 

 

 

 

 

๐Ÿ’ก ๋…ธ๋“œ์˜ feature ์ •๋ณด f(v) ์™€ ์ด์›ƒ ๋…ธ๋“œ์˜ ๋ผ๋ฒจ z(v) ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•ด์„œ ๋…ธ๋“œ๋ฅผ ๋ถ„๋ฅ˜

 

โ†ช f(v) : ์ด๋ฉ”์ผ ์ˆ˜์‹ ์—ฌ๋ถ€(0,1), ์†ก์‹ ์—ฌ๋ถ€(0,1), ๋…ธ๋“œ degree, ๋…ธ๋“œ ์ค‘์‹ฌ๋„ betweenness, ๋…ธ๋“œ ์ค‘์‹ฌ๋„ closeness

โ†ช z(v) : ์ด์›ƒ๋…ธ๋“œ1 ๋ ˆ์ด๋ธ”, ์ด์›ƒ๋…ธ๋“œ2 ๋ ˆ์ด๋ธ”, ์ด์›ƒ๋…ธ๋“œ3 ๋ ˆ์ด๋ธ” 

 

 

โ€ป http://www.incodom.kr/Betweenness_Centrality

 

์ƒ๋ฌผ์ •๋ณด ์ „๋ฌธ์œ„ํ‚ค, ์ธ์ฝ”๋ค

Wikipedia for Bioinformatics

www.incodom.kr

 

 

๐Ÿ’ก Apply 

 

(1) Train classifier

 

 

(2) Apply classifier to test  , Iterate 

 

 

(3) Result 

 

 

 

 

728x90

'1๏ธโƒฃ AIโ€ขDS > ๐Ÿ“˜ GNN' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[cs224w] Theory of Graph Neural Networks  (0) 2023.01.06
[CS224W] Graph Neural Network  (0) 2022.11.24
[CS224W] PageRank  (0) 2022.11.02
[CS224W] 1๊ฐ• Machine Learning With Graphs  (0) 2022.10.11
[CS224W] NetworkX , pytorch geometric Tutorial  (2) 2022.10.07

๋Œ“๊ธ€