DeepGCNs: GCN을 CNN과 동일하게 깊게 만들기

컨볼루션 신경망(Convolutional Neural Networks, CNNs)은 객체 분류 및 탐지, 의미 세그멘테이션, 활동 이해 등 다양한 컴퓨터 비전 작업에서 매우 성공적인 성과를 거두었다. 이러한 뛰어난 성능을 가능하게 한 핵심 요인 중 하나는 매우 깊은 네트워크를 학습할 수 있다는 점이다. 여러 작업에서 큰 성공을 거두었음에도 불구하고, CNNs는 실제 응용에서 흔히 나타나는 비유클리드 데이터(non-Euclidean data) 처리에 효과적이지 못하다는 한계가 있다. 이에 비해 그래프 컨볼루션 네트워크(Graph Convolutional Networks, GCNs)는 신경망에 비유클리드 데이터를 입력할 수 있는 대안을 제시한다. GCNs는 이미 유망한 성과를 달성하고 있으나, 현재는 주로 학습 중 발생하는 소실된 기울기(vanishing gradients) 문제로 인해 상대적으로 적은 층 수를 가진 아키텍처에 국한되어 있다. 본 연구에서는 CNNs에서 활용되는 리즈idual(connection) 및 밀집 연결(dense connections), 확장된 컨볼루션(dilated convolutions) 등의 개념을 GCNs에 도입함으로써 매우 깊은 GCNs를 성공적으로 학습할 수 있도록 하였다. 다양한 데이터셋과 작업을 대상으로 실험을 통해 깊은 GCNs(최대 112층)의 효과를 입증하였다. 특히, 포인트 클라우드에서의 부분 세그멘테이션과 의미 세그멘테이션, 그리고 생물학적 단백질-단백질 상호작용(PPI) 그래프에서의 노드 분류 작업에서 매우 희망적인 성능을 달성하였다. 본 연구의 통찰은 향후 GCNs에 대한 연구와 본 논문에서 다루지 않은 다양한 작업에 대한 응용을 위한 새로운 길을 열어줄 것이라 기대한다. 본 연구의 소스 코드는 각각 PyTorch 및 TensorFlow 구현을 위해 https://github.com/lightaime/deep_gcns_torch 및 https://github.com/lightaime/deep_gcns 에서 제공된다.