-
Graph Machine Learning Tools -> advanced GNN functionalities
- PyTorch Geometric(PyG)
- DeepSNAP
- GraphGym
- SNAP.PY
- NetworkX
-
오늘날의 deep learning toolbox는 image, text 등의 정형 데이터를 위해서 디자인 되었다.
하지만 사실 세상에 존재하는 대다수의 데이터는 비정형 데이터일뿐만 아니라, relational structure이 크게 강조되는 한 차원 더 complex 한 도메인 데이터이다.
따라서 GNN이 부상하기 시작하였다.
-
Graph Representation Learning
- Hand-crafted Feature Engineering: raw data -> graph data
ex) Graphlets, Graph Kernels
- Learning Embeddings: 네트워크상 유사한(가까운) 노드는 임베딩 공간에서도 서로 가까이 위치함 (preserving similarity)
2-1. Shallow Encoding: 심플한 lookup 테이블
ex) DeepWalk, Node2Vec
2-2. Deep Encoding: GNN
ex) GCN, GraphSAGE, GAT
-
(Application) Drug Discovery - Graph-level ML task
참고할 논문: You et al., Graph Convolutional Policy Entwork for Goal-Directed Molecular Graph Generation, NeurIPS 2018
-
Graph Representation 방법
- Adjacency Matrix
단점: sparse matrix
- Edge List <- 딥러닝 프레임워크에서 많이 사용되는 유형
단점: node degree와 같은 graph analysis가 어려움
- Adjacency List: 연결리스트로 표현