Graph Machine Learning for Visual Computing (GML4VC) Tutorial
CVPR 2022 에서 Graph Machine Learning 에 대한 튜토리얼(tutorial)을 진행했습니다.
이에 대해 요약 정리 하는 시리즈 글입니다.
[이전 글]
2022.08.22 - [AI/Graph Neural Networks] - [ CVPR2022 / GML4VC ] 1. 개요 (Graph Machine Learning, GNNs)
2022.08.22 - [AI/Graph Neural Networks] - [ CVPR2022 / GML4VC ] 2. Open Remarks
2022.08.24 - [AI/Graph Neural Networks] - [ CVPR2022 / GML4VC ] 5. Pytorch Geometric 이란 무엇인가?
Graph ML for Video Understanding
- 동영상 링크 : video
- 발표자 : Bernard Ghanem
깊은 그래프 신경망 (Going Deep with GNNs)
사실 대부분의 SOTA GNNs은 5개의 layer에 불과했는데요. 깊은 신경망을 가진 deep GNNs에 대해서는, 2019년에 이르러서 DeepGCNs 논문을 통해 처음 발표 되었습니다.
GNNs이 깊은 신경망을 가지지 못한 것은 여러가지 이유가 있었습니다. 일반적인 신경망이 가지는 Overfitting, Vanishing Gradient 문제 뿐만 아니라, Oversmoothing 문제 또한 있었죠.
이러한 문제들로 인해 일반적인 Graph Convolution Networks(GCNs)을 단순히 깊게 쌓는 것은 전혀 효과적이지 않았습니다. 오히려 학습이 악화 되었죠. 그러나 CNNs 에서 큰 성과를 이룬 residual connection 을 추가한 후에는 GCN 또한 깊은 네트워크로 구성할 수 있었습니다.
Residual Graph Connection
개념은 CNN 의 residual connection 과 거의 유사합니다.
Dense Graph Connections
Residual connection 을 모든 레이어 간에 연결하는 것 또한 가능합니다.
Dilated Graph Convolutions
Dilated Convolution 이란, CNNs 에서 필터의 사이 간격을 벌려셔 적은 파라메터 수로도 넓은 FoV(Field of View)를 가지게 하는 기술입니다. 이를 Graph 에 적용가능 합니다. 예를들어 graph 에서 가까운 노드 k개를 이웃노드로 한다고 했을때, Dilation = 1 일 경우는 순서대로 1,2,3,4 번째 노드가 설정됩니다. Dilation = 2 일 경우엔 한 칸 씩 벌려서, 1,3,5,7 번째 노드가 설정됩니다.
DeepGCNs for Node Prediction
노드 분류를 위한 DeepGCNs의 Pipeline은 아래와 같습니다. 먼저 Graph Convolution 레이어들을 통해 MessagePassing을 진행합니다. 이렇게 이웃노드들의 정보를 포함한 Node representation을 얻습니다. 이후, 이 Node representation 을 Fusion 합니다. 최종적으로 MLP prediction을 통해 예측을 진행합니다.
Popular Open Source Codebase
- PyTorch-geometric(PyG)
- Deep Graph Library(DGL)
Memory Complexity of Training Deep GNNs
- Full batch 의 경우 메모리 복잡도가 O(LND)입니다. 네트워크가 깊어질 수록 메모리 사용량이 늘어나게 됩니다.
- L : number of layers, N : number of nodes, D : number of features
- Minibatch 를 통해 N → B (B<N) 으로 줄일 수 있습니다.
- 그렇다면, L 부분을 줄일 수 있을까요?
- Reversible Residual Connection : Trade off memory and computation
- 추가 정보 : https://wonjun.oopy.io/papers/reversible-residual-network-backpropagation-without-storing-activations
- 이러한 Reversibility 를 잘 활용하면 적은 GPU 메모리로도 깊은 네트워크의 구현이 가능해집니다.
[ 다음 글 ]
'Artificial Intelligence > Neural Networks' 카테고리의 다른 글
[ CVPR2022 / GML4VC ] 7. 비디오 이해를 위한 GNN 응용 (Graph ML for Video Understanding) (0) | 2022.08.25 |
---|---|
[ CVPR2022 / GML4VC ] 5. Pytorch Geometric 이란 무엇인가? (0) | 2022.08.24 |
[ CVPR2022 / GML4VC ] 4. Graph Neural Networks(GNNS) 기본 개념 정리 (0) | 2022.08.24 |
[ CVPR2022 / GML4VC ] 3. Geometric Deep Learning (Invariant, Equivariant) (1) | 2022.08.22 |
[ CVPR2022 / GML4VC ] 2. Open Remarks (0) | 2022.08.22 |