- 이번 포스팅에서는 그래프 신경망과 기존 신경망의 차이점에 대해서 다뤄보고자 합니다.
- GNN(Graph Neural Network)을 배우면서 왜 굳이 이런 방법을 사용해야할까? 라는 의구심이 드실수도 있으실 것 같은데요. 이에 대한 내용을 다루는 포스팅이 되겠습니다.
1. 그래프 신경망(GNN)과 기존 신경망의 차이
- GNN은 기존 신경망(MLP, CNN, RNN, Transformer 등)이 처리하기 어려운 비유클리디안(Non-Euclidean) 데이터를 학습할 수 있도록 설계된 모델입니다.
- 일반적인 신경망은 Euclidean 공간에서 샘플 간의 거리 또는 유사도를 기반으로 학습을 진행하지만, GNN은 노드(Node)와 엣지(Edge)로 표현되는 그래프 구조를 학습하여 이를 통해 연결성과 관계 정볼르 활용할 수 있습니다.
1) 기존 신경망의 한계점
- 기존 신경망은 데이터가 정형화된 구조를 가질때 효과적입니다. 여기서 정형화된 구조라는 것은 1D, 2D 그리드 형태 등을 말합니다.
* CNN의 경우 2D 이미지 데이터를 처리하며, 지역적 패턴을 학습하는데 최저고하
* RNN의 경우 시계열 데이터나 자연어 데이터와 같이 순차적인 패턴을 학습하는데 적합
* Transformer의 경우 Self Attention을 활용해 문맥 정보를 학습하며, NLP 및 시계열 데이터 분석에서 강력함
- 하지만 비유클리드(Non-Euclidean Data)를 가지는 데이터에서는 이러한 모델들이 한계를 가질 수 있습니다.
* 아래 그림은 비유클리디안 관계성을 가지는 데이터(왼쪽) 과 유클리디안 관계성을 가지는 데이터(오른쪽)을 표현한 그림입니다. (출처 : https://neptune.ai/blog/graph-neural-network-and-some-of-gnn-applications)
- 이 두 데이터의 차이를 정리해보면 아래표와 같습니다.
- GNN은 이와같은 비유클리디안적으로 해석해야되는 데이터들에 대해서 적합합니다.
- GNN의 핵심은 메시지 패싱을 통해서 정보를 전달하는 것이며, 자신과 연결된 이웃 노드들의 정보를 Aggregation하여 자신의 노드 정보를 업데이트하는 방식으로 학습이되는데요
- 일반적인 GNN의 수식을 표현하며 아래와 같습니다.
2. 기존 신경망과 GNN의 비교
- 기존 신경망과 GNN의 차이를 표로 간략히 정리하면 다음과 같습니다.
- 이러한 GNN이 효과적으로 작용할 수 있는 분야는 아래와 같습니다.
댓글