본문 바로가기
Artificial Intelligence/Neural Networks

[ CVPR2022 / GML4VC ] 6. Deep GNNs (심층 그래프 신경망) 기본 개념 정리

by SuperMemi 2022. 8. 25.
반응형

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.22 - [AI/Graph Neural Networks] - [ CVPR2022 / GML4VC ] 3. Geometric Deep Learning (Invariant, Equivariant)

2022.08.24 - [AI/Graph Neural Networks] - [ CVPR2022 / GML4VC ] 4. Graph Neural Networks(GNNS) 기본 개념 정리

2022.08.24 - [AI/Graph Neural Networks] - [ CVPR2022 / GML4VC ] 5. Pytorch Geometric 이란 무엇인가?


Graph ML for Video Understanding

 

bernard_talk.mp4

 

drive.google.com

from CVPR 2022 Tutorial:Graph ML for Video Understanding
from CVPR 2022 Tutorial:Graph ML for Video Understanding


깊은 그래프 신경망 (Going Deep with GNNs)

 

사실 대부분의 SOTA GNNs은 5개의 layer에 불과했는데요. 깊은 신경망을 가진 deep GNNs에 대해서는, 2019년에 이르러서  DeepGCNs 논문을 통해 처음 발표 되었습니다. 

 

from CVPR 2022 Tutorial:Graph ML for Video Understanding

 

GNNs이 깊은 신경망을 가지지 못한 것은 여러가지 이유가 있었습니다. 일반적인 신경망이 가지는 Overfitting, Vanishing Gradient 문제 뿐만 아니라, Oversmoothing 문제 또한 있었죠.

 

from CVPR 2022 Tutorial:Graph ML for Video Understanding

 

이러한 문제들로 인해 일반적인 Graph Convolution Networks(GCNs)을 단순히 깊게 쌓는 것은 전혀 효과적이지 않았습니다. 오히려 학습이 악화 되었죠. 그러나 CNNs 에서 큰 성과를 이룬 residual connection 을 추가한 후에는 GCN 또한 깊은 네트워크로 구성할 수 있었습니다. 

 

from CVPR 2022 Tutorial:Graph ML for Video Understanding

 

Residual Graph Connection

개념은 CNN 의 residual connection 과 거의 유사합니다. 

 

from CVPR 2022 Tutorial:Graph ML for Video Understanding

 

Dense Graph Connections

Residual connection 을 모든 레이어 간에 연결하는 것 또한 가능합니다.

 

from CVPR 2022 Tutorial:Graph ML for Video Understanding

 

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 번째 노드가 설정됩니다. 

 

from CVPR 2022 Tutorial:Graph ML for Video Understanding

 

DeepGCNs for Node Prediction

노드 분류를 위한 DeepGCNs의 Pipeline은 아래와 같습니다. 먼저 Graph Convolution 레이어들을 통해 MessagePassing을 진행합니다. 이렇게 이웃노드들의 정보를 포함한 Node representation을 얻습니다. 이후, 이 Node representation 을 Fusion 합니다. 최종적으로 MLP prediction을 통해 예측을 진행합니다. 

 

from CVPR 2022 Tutorial:Graph ML for Video Understanding

 

Popular Open Source Codebase

  • PyTorch-geometric(PyG)
  • Deep Graph Library(DGL)

 

from CVPR 2022 Tutorial:Graph ML for Video Understanding

 

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

from CVPR 2022 Tutorial:Graph ML for Video Understanding

 

  • 이러한 Reversibility 를 잘 활용하면 적은 GPU 메모리로도 깊은 네트워크의 구현이 가능해집니다.

 

from CVPR 2022 Tutorial:Graph ML for Video Understanding

 


[ 다음 글 ]

2022.08.25 - [AI/Graph Neural Networks] - [ CVPR2022 / GML4VC ] 7. 비디오 이해를 위한 GNN 응용 (Graph ML for Video Understanding)


 

반응형