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

[CS224W] 1๊ฐ• Machine Learning With Graphs

by isdawell 2022. 10. 11.
728x90

 

 

 

1๏ธโƒฃ  Why Graphs 


 

๐Ÿ”น Graph 

 

•  Graphs are a general language for describing and analyzing entities with relations/interactions

 

 

•  ์—”ํ‹ฐํ‹ฐ์˜ ๊ด€๊ณ„์™€ ์ƒํ˜ธ์ž‘์šฉ์„ ๋ถ„์„ํ•˜๊ณ  ๋ฌ˜์‚ฌํ•  ์ˆ˜ ์žˆ๋Š” ์–ธ์–ด 

 

 

๐Ÿ”น Many Types of Data are Graphs 

 

 

 

•  ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋„คํŠธ์›Œํฌ ํ˜•ํƒœ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Œ 

 

 

 

๐Ÿ”น ๋„คํŠธ์›Œํฌ vs ๊ทธ๋ž˜ํ”„ 

 

•  ๋„คํŠธ์›Œํฌ ( = Natural Graph) 

 

  • social network : ์‚ฌํšŒ ์—ฐ๊ฒฐ๋ง 
  • communication and transaction : ์ „์ž๊ธฐ๊ธฐ, ํœด๋Œ€ํฐ, ๊ธˆ์œต๊ฑฐ๋ž˜ 
  • Biomedicine : ์œ ์ „์ž, ๋‹จ๋ฐฑ์งˆ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•œ ์ƒ๋ช… ์กฐ์ ˆ 
  • Brain connection : ์ˆ˜์‹ญ์–ต ๋‰ด๋Ÿฐ๋“ค ์‚ฌ์ด์˜ ์—ฐ๊ฒฐ์„ฑ 

 

•  Graph ( as a representation ) 

 

  • Information/knowledge : ์ •๋ณด์™€ ์ง€์‹์ด ๊ตฌ์„ฑ๋˜๊ณ  ์—ฐ๊ฒฐ๋จ 
  • software : ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์กฐ ์—ญ์‹œ ๊ทธ๋ž˜ํ”„๋กœ ํ‘œํ˜„ ๊ฐ€๋Šฅ 
  • similarity networks : ๋น„์Šทํ•œ ๋ฐ์ดํ„ฐ ํฌ์ธํŠธ๋“ค์„ ์—ฐ๊ฒฐ
  • relational structures : ๋ถ„์ž๊ตฌ์กฐ, Scene graph (์žฅ๋ฉด์˜ ๊ฐ์ฒด์™€ ๊ด€๊ณ„) , 3D graphs, ๋ฌผ๋ฆฌ์  ์‹œ๋ฎฌ๋ ˆ์ด์…˜ ๊ธฐ๋ฐ˜์˜ ์ž…์ž

 

→ ๋„คํŠธ์›Œํฌ๋Š” system ์„ ์นญํ•˜๊ณ  graph ๋Š” ๋„คํŠธ์›Œํฌ์˜ ์ˆ˜ํ•™์  ํ‘œํ˜„์„ ์˜๋ฏธํ•˜๋Š”๋ฐ, ๋ณดํ†ต ๋„คํŠธ์›Œํฌ์™€ ๊ทธ๋ž˜ํ”„๋ฅผ ๊ตฌ๋ถ„๋‘์ง€ ์•Š๊ณ  ์šฉ์–ด๋ฅผ ์„ž์–ด์„œ ์‚ฌ์šฉํ•œ๋‹ค. 

 

 

prediction ์„ ๋” ์ž˜ ํ•˜๊ธฐ ์œ„ํ•ด relational structure ๋ฅผ ์–ด๋–ป๊ฒŒ ์ด์šฉํ• ๊นŒ → ๋ณต์žกํ•œ ๋„๋ฉ”์ธ์€ rich relational structure ๋ฅผ ๊ฐ€์ง€๋ฏ€๋กœ ๋ช…ํ™•ํ•˜๊ฒŒ ๋ชจ๋ธ๋ง์„ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค

 

 

 

๐Ÿ”น Modern ML Toolbox 

 

 

•  ํ˜„์žฌ์˜ ๋”ฅ๋Ÿฌ๋‹ ํ•™์Šต ๋ฐฉ๋ฒ• → ๊ฐ„๋‹จํ•œ sequence ๋‚˜ grid ๋ฅผ ํ•™์Šตํ•˜๋„๋ก ์„ค๊ณ„๋˜์–ด ์žˆ์Œ 

 

โ€ป sequence : ํ…์ŠคํŠธ๋‚˜ ์Œ์„ฑ ๋ฐ์ดํ„ฐ , grid : ์ด๋ฏธ์ง€ ๋ฐ์ดํ„ฐ (๊ฒฉ์ž ํ˜•ํƒœ) 

 

•  ๋„คํŠธ์›Œํฌ๋Š” ๋ณต์žกํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ˜„์žฌ ๋”ฅ๋Ÿฌ๋‹ ํ•™์Šต ๋ฐฉ๋ฒ•์— ์ ์šฉ์‹œํ‚ค๊ธฐ๊ฐ€ ์–ด๋ ต๋‹ค. 

 

 

 

 

โœจ ๋„คํŠธ์›Œํฌ์˜ ํŠน์ง• 

โ‘  ์ž„์˜์˜ ํฌ๊ธฐ (arbitrary size) ์™€ ๋ณต์žกํ•œ ์œ„์ƒ์  ๊ตฌ์กฐ (grid ์ฒ˜๋Ÿผ ๊ณต๊ฐ„์ ์ธ ๊ธฐ์ค€์ ์ด ์—†์Œ)

โ‘ก ๊ณ ์ •์ ์ธ ๋…ธ๋“œ ์ˆœ์„œ๋‚˜, ์ฐธ๊ณ ์ ์ด ์—†์Œ 

โ‘ข dynamic ํ•œ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๋ฉฐ, mutimodal (์ด๋ฏธ์ง€, ํ…์ŠคํŠธ, ์Œ์„ฑ ๋“ฑ ์—ฌ๋Ÿฌ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ) feature ๋ฅผ ๊ฐ€์ง 

 

 

 

 

๐Ÿ—จ  CS224W ๊ฐ•์˜๋Š” ๊ทธ๋ž˜ํ”„๋ฅผ ํ•™์Šต์‹œํ‚ฌ ์ˆ˜ ์žˆ๋Š” ๋”ฅ๋Ÿฌ๋‹์— ๋Œ€ํ•ด ๋ฐฐ์šฐ๋Š” ๊ณผ๋ชฉ!

 

 

 

 

๐Ÿ”น Representation learning 

 

•  ํ‘œํ˜„ํ•™์Šต : feature ๋ฅผ ์ž๋™์œผ๋กœ ์ถ”์ถœํ•˜๊ณ  ํ•™์Šตํ•˜๋Š” ๊ฒƒ 

 

 

 

•  ๋…ธ๋“œ๋ฅผ d ์ฐจ์›์˜ ์ž„๋ฒ ๋”ฉ์œผ๋กœ ๋งตํ•‘ ์‹œํ‚ค๋Š” ๊ฒƒ → ๋„คํŠธ์›Œํฌ ๋‚ด์—์„œ ๋น„์Šทํ•œ ๋…ธ๋“œ๋“ค์€ ์ž„๋ฒ ๋”ฉ ๋œ ๊ณต๊ฐ„์—์„œ ๊ฐ€๊น๊ฒŒ ์œ„์น˜ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ 

 

๋ชฉํ‘œ : ํ•จ์ˆ˜ f ๋ฅผ ํ•™์Šตํ•˜๋Š” ๊ฒƒ

 

 

๐Ÿ”น ๊ฐ•์˜ ๊ฐœ์š” 

 

•  ๊ทธ๋ž˜ํ”„ ๊ตฌ์กฐ์˜ ๋ฐ์ดํ„ฐ์—์„œ Machine learning ๊ณผ Representation learning ์„ ๋‹ค๋ฃฐ ์˜ˆ์ • 

 

Traditional Methods  Graphlets, Graph Kernels 
Methods for node embeddings  DeepWalk, Node2Vec
Graph Neural Networks GCN, GraphSAGE, GAT, Theory of GNNs 
Knowledge graphs and reasoning TransE, BetaE
Deep generative models for graphs -
Applications to Biomedicine, Science, Industry  -

 

 

 

 

 

2๏ธโƒฃ  Applications of Graph ML 


 

๐Ÿ”น Task ์œ ํ˜• 

 

 

• Node ์ˆ˜์ค€ , Edge ์ˆ˜์ค€, Subgraph ์ˆ˜์ค€, Graph ์ˆ˜์ค€ 

• Node classification : ์ฃผ์–ด์ง„ ๋…ธ๋“œ ์ข…๋ฅ˜ ๋ถ„๋ฅ˜ 

• Link prediction : ๋…ธ๋“œ ๊ฐ„์˜ ์—ฐ๊ฒฐ ์—ฌ๋ถ€ ์˜ˆ์ธก 

• Community detection : ๊ตฐ์ง‘ ๊ฐ์ง€ 

• Network similarity : ์œ ์‚ฌ๋„ ์ธก์ • 

 

 

๐Ÿ”น Node level task 

 

 

 

๐Ÿ”น Edge level task 

 

 

๐Ÿ”น Subgraph level 

 

http://www.aitimes.com/news/articleView.html?idxno=131974  ๋”ฅ๋งˆ์ธ๋“œ, GNN ๊ธฐ์ˆ ๋กœ ๊ตฌ๊ธ€์ง€๋„ ๋„์ฐฉ์‹œ๊ฐ„ ์ •ํ™•๋„ ๊ฐœ์„ 

 

 

๐Ÿ”น Graph level 

 

 

 

 

 

 

3๏ธโƒฃ  Choice of Graph Representation 


 

๐Ÿ”น ๊ทธ๋ž˜ํ”„ ํ‘œํ˜„ ๊ธฐ๋ฒ• 

 

 

 

• ๊ทธ๋ž˜ํ”„๋Š” ์ผ๋ฐ˜์ ์ธ ์ƒํ™ฉ๋“ค์„ ํ‘œํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” ์ˆ˜๋‹จ์ด๋‹ค. 

 

 

๐Ÿ”น Edge ์˜ ๋ฐฉํ–ฅ์— ๋”ฐ๋ฅธ ๊ตฌ๋ถ„ : Directed graph VS Undirected graph 

 

 

 

๐Ÿ”น Node Degrees : ๋…ธ๋“œ๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” edge ์˜ ๊ฐœ์ˆ˜ 

 

 

 

 

๐Ÿ”น Bipartite Graph : ์„œ๋กœ ๋‹ค๋ฅธ ์ข…๋ฅ˜์˜ ๋…๋ฆฝ๋œ ๋…ธ๋“œ๋“ค๋กœ ๊ตฌ์„ฑ๋œ ๊ทธ๋ž˜ํ”„ 

 

 

 

 

๐Ÿ”น ๊ทธ๋ž˜ํ”„ ํ‘œํ˜„ ๋ฐฉ๋ฒ• 

 

โ‘  Adjacency matrix 

 

 

 

๊ทธ๋ž˜ํ”„์˜ ์—ฐ๊ฒฐ ์œ ๋ฌด๋ฅผ 1๊ณผ 0์œผ๋กœ ๋‚˜๋ˆ„์–ด ํ–‰๋ ฌ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์œผ๋กœ, Undirected ๊ทธ๋ž˜ํ”„์˜ ๊ฒฝ์šฐ์—๋Š” ํ–‰๋ ฌ์ด ๋Œ€์นญ์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š”๋ฐ, Undirected ๋Š” ๋‹จ๋ฐฉํ–ฅ์ธ ๊ฒฝ์šฐ๋„ ์กด์žฌํ•˜๋ฏ€๋กœ ๋Œ€์นญ ํ–‰๋ ฌ์ด ์•„๋‹ ์ˆ˜๋„ ์žˆ๋‹ค. ์ธ์ ‘ ํ–‰๋ ฌ ํ‘œํ˜„ ๋ฐฉ์‹์€ ๋…ธ๋“œ๊ฐ€ ๋งŽ์•„์งˆ์ˆ˜๋ก, ์ฆ‰ ํ–‰๋ ฌ์˜ ์ฐจ์›์ด ์ปค์งˆ์ˆ˜๋ก ํ–‰๋ ฌ์ด Sparse ํ•ด์ง„๋‹ค๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค. 

 

โ‘ก Edge list 

 

 

edge ๋ฅผ ์—ฐ๊ฒฐ๋œ ๋…ธ๋“œ์˜ ์Œ pair ๋กœ ํ‘œํ˜„ํ•œ ๋ฐฉ์‹์ด๋‹ค. 

 

 

โ‘ข Adjacency list 

 

 

์ถœ๋ฐœ ๋ฐฉํ–ฅ์˜ ๋…ธ๋“œ๋ฅผ key ๊ฐ’์œผ๋กœ ๋„์ฐฉ ๋…ธ๋“œ๋ฅผ value ๊ฐ’์œผ๋กœ ๊ฐ€์ง€๋Š” ์‚ฌ์ „ Dictionary ํ˜•ํƒœ๋กœ ์ €์žฅํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ๋‹จ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„์ด๊ฑฐ๋‚˜ ๊ฑฐ๋Œ€ํ•œ ๊ทธ๋ž˜ํ”„์—์„œ ํšจ์œจ์ด ์ข‹๋‹ค. 

 

 

 

๐Ÿ”น Node and Edge Attributes 

 

 

 

• Weight : ์—ฃ์ง€์— ๊ฐ€์ค‘์น˜ ๊ฐ’์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

• Rank : ์—ฐ๊ฒฐ๊ด€๊ณ„์— ์ˆœ์œ„๋ฅผ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

• Type : ์—ฐ๊ฒฐ ๊ด€๊ณ„์— ์œ ํ˜•์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

• Sign : ์นœ๊ตฌ vs ์ , ์ง„์‹ค vs ๊ฑฐ์ง“ ์ฒ˜๋Ÿผ ์ƒ๋ฐ˜๋œ ๊ด€๊ณ„์„ฑ์„ ๋ถ€์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

 

๐Ÿ”น ๊ทธ๋ž˜ํ”„ ์œ ํ˜• 

 

 

• Self edges : ์ž๊ธฐ ์ž์‹ ์œผ๋กœ ๋Œ์•„์˜ค๋Š” ๋ฐฉํ–ฅ์„ ๊ฐ€์ง„ ๊ทธ๋ž˜ํ”„ (ex. ๋‹จ๋ฐฑ์งˆ, ํ•˜์ดํผ๋งํฌ) 

• Multigraph : ๋‘ ๋…ธ๋“œ ์‚ฌ์ด์— 2๊ฐœ ์ด์ƒ์˜ edge ๋ฅผ ๊ฐ€์ง„ ๊ทธ๋ž˜ํ”„ (ex. ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜, ์ฝœ๋ผ๋ณด๋ ˆ์ด์…˜) 

 

 

๐Ÿ”น Connectivity - ์–‘๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ 

 

 

 

๐Ÿ”น Connectivity - ๋‹จ๋ฐฉํ–ฅ ๊ทธ๋ž˜ํ”„ 

 

 

์œ„์˜ ๋นจ๊ฐ„์ƒ‰ ๋…ธ๋“œ ๊ทธ๋ž˜ํ”„๋ฅผ ์˜ˆ๋กœ๋“ค๋ฉด E ๋…ธ๋“œ์—์„œ G ๋…ธ๋“œ๋กœ ๋ฐฉํ–ฅ์„ ๋ฌด์‹œํ•œ๋‹ค๋ฉด ๊ฐˆ ์ˆ˜ ์žˆ๊ณ , ๋ฐฉํ–ฅ์„ ์ง€ํ‚จ๋‹ค๋ฉด ๊ฐˆ ์ˆ˜ ์—†๋Š” Weakly connected directed graph ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

SCCs ๋Š” ๊ทธ๋ž˜ํ”„์—์„œ ๋ถ€๋ถ„์ ์œผ๋กœ ๋‚˜ํƒ€๋‚˜๋Š” connected subgraph ๋กœ In component ๋Š” SCC ๋ฅผ ํฌํ•จ, Out component ๋Š” SCC ๋ฅผ ๋ฏธํฌํ•จ ํ•˜๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 

 

 

 

728x90

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

[CS224W] Graph Neural Network  (0) 2022.11.24
[CS224W] Message Passing and Node classification  (0) 2022.11.17
[CS224W] PageRank  (0) 2022.11.02
[CS224W] NetworkX , pytorch geometric Tutorial  (2) 2022.10.07
Pytorch Geometric Basic code  (1) 2022.09.30

๋Œ“๊ธ€