Graph convolution network (GCN) 은 graph stucture를 가진 데이터에서 예측을 하는 딥러닝 모델입니다.
예를 들어서, 가장 많이 쓰이는 예로, 화합물을 예측하는 것입니다.
CH4 라는 물질이 있을 때, 원자와 결합관계를 통해 그래프로 표현할 수 있습니다.
이 연결 강도, 연결 각도, 원자 고유의 특징등의 정보를 통해, 해당 그래프가 CH4임을 예측하도록 학습할 수 있습니다.
또한 다른 예시로, 각 노드별로 예측을 할 수 있습니다.
예를 들어서, 자전거 수요 예측에 있어서, 각 노드를 자전거 Station으로, 그리고 Edge를 거리로 가정할 때, 그래프 구조를 생성할 수 있고, 이를 통해, 예측하고 싶은 시간대에 자전거의 수요를 예측할 수 있습니다.
가장 기본적인 GCN은 아래와 같은 구조를 가집니다.
Convolution layer 층은 3개밖에 없어요!
각 Graph Convolution layer에서는 아래와 같은 연산이 발생합니다.
위 식에서 H^l 은 l번째 Hidden layer에서 추출된 feature이며, A는 adjancy matrix, W는 학습되어야할 weight matrix입니다.
즉, 각 feature가 A에 의해서 가중합이 된다는 것입니다.
첫번째 Layer에서 각 노드에 대한 정보가 adjancy matrix에 의해서 합산이 되고, 다음 layer에서 이미 합산된 feature가 또 다시 합산됩니다.
즉, Layer를 깊게 쌓을 경우 Graph의 전역적인 feature를 뽑아낼 수 있는 강력한 모델입니다.
'논문리뷰 > 그래프 이론' 카테고리의 다른 글
Knowledge Graph (지식 그래프) (0) | 2020.04.28 |
---|---|
[논문 리뷰] node2vec: Scalable feature learning for networks (0) | 2020.04.24 |
[Graph] Breadth-first search vs Depth-first search (0) | 2020.04.24 |
[논문 리뷰] DeepWalk: Online Learning of Social Representations (0) | 2020.01.30 |