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 ์ฐจ์์ ์๋ฒ ๋ฉ์ผ๋ก ๋งตํ ์ํค๋ ๊ฒ → ๋คํธ์ํฌ ๋ด์์ ๋น์ทํ ๋ ธ๋๋ค์ ์๋ฒ ๋ฉ ๋ ๊ณต๊ฐ์์ ๊ฐ๊น๊ฒ ์์นํ๋๋ก ํ๋ ๊ฒ
๐น ๊ฐ์ ๊ฐ์
• ๊ทธ๋ํ ๊ตฌ์กฐ์ ๋ฐ์ดํฐ์์ 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
๐น 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 ๋ฅผ ๋ฏธํฌํจ ํ๋ ๊ฒ์ ์๋ฏธํ๋ค.
'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 |
๋๊ธ