[그래프 기계학습] Introduction to Machine Learning for Graphs

JAEYOON SIM·2023년 12월 9일
0
post-thumbnail

그래프 기계학습 내용은 개인적인 공부를 위해서 정리하는 용도이다. 개인적으로 인터넷을 통해서 공부한 내용을 포함하여 POSTECH의 안성수 교수님의 그래프 기계학습 강의를 기반으로 정리할 것이다.

Why Graph Neural Network?

Graph Neural Network (GNN)은 특정한 function approximation을 제공해주고 data의 prior를 포함할 수 있기 때문에 매우 흥미롭다. 우리가 흔히 알고 있는 99%의 machine learning이 function approximation이다. 우리가 근사하고자 하는 것의 ground truth function으로는 image classifier, 사람과 같이 행동하는 reinforcemnet learning의 agent, 그리고 chatgpt의 text output 등이 될 수 있다.

무수히 많은 machine learning 문제는 input과 output이 쌍으로 존재하는 blackbox function을 우리가 고르는 과정으로 볼 수 있다.

모든 deep learning의 혁명에 있어서 machine learning 문제에 대한 적절한 function을 고르는 것과 관련이 있다. 최근에 Deep Neural Network (DNN)은 주어진 objective에 대해서 최대한의 optimization을 만들어내고 이로부터 정말 훌륭한 결과를 내기 때문에 정말 강력하다고 볼 수 있다.

그리고 DNN은 Universal Approximation을 제공하게 된다. 이는 DNN이 충분히 많은 parameter가 주어지면 어떠한 continuous function도 표현할 수 있다는 것을 의미한다. 정말로 많은 parameter가 어떠한 성능을 보장하지는 않지만, 충분히 많이 존재한다면 대부분 가능하다고 가정할 수는 있다.

이렇게 많은 parameter가 좋은 성능을 보장하지 않는 것은 overfitting의 문제가 있기 때문이다. 우리는 적절한 DNN 구조를 선택해서 overfitting 문제를 피해야만 한다. 가령, 많은 deep learning 역사에서 특히 이미지의 영역에서는 Convolutional Neural Network (CNN)의 영향력이 상당했다. CNN 이전에는 기존의 Multi-Layer Perceptron (MLP)로 이미지를 다룰려고 노력했지만, 이미지라는 데이터 구조를 이해하고 파악하기 위해서는 한계점이 분명히 존재했다. 이와 같은 맥락으로 그래프의 영역을 이해하기 위해서 등장한 것이 바로 GNN이다. 우리는 DNN을 선택하는데 있어 domain-specific한 정보를 주입시켜 데이터의 구조를 파악하는 것이 중요한 고려사항으로 존재한다. GNN이 정말로 훌륭한 방법인 이유중 하나로는 단지 그래프를 이해하기 위한 임시적인 방법이 아니라 그래프를 이해함과 동시에 parameter 수를 상당히 줄일 수 있다.

그래프 데이터를 파악하기 좋은 이러한 GNN은 social network, brain connectivity, 3d mesh 등 다양한 영역으로의 확장을 가능하게 했다. 예를 들어 분자 구조에 대해서는 atom을 그래프의 노드로, bond를 그래프의 엣지로 보고 데이터 구조를 이해할 수 있다.

Graph Neural Networks (GNNs)

그래프는 불규칙한 구조를 가지는 topology의 영역으로 그래프마다 구조가 다르며, 이는 이미지처럼 규칙적인 topology의 영역과는 다르기 때문에 GNN을 그래프 데이터에 사용하는 것이 non-trivial하다. 그래프는 순서가 없는 노드를 가지고 있지만, 이미지에서 픽셀은 좌측에서 우측으로 가거나 위에서 아래로 간다는 어떠한 순서 정보를 가지고 있다. 그리고 그래프는 많은 symmetric들을 가지고 있기 때문에 임의의 DNN을 사용하게 된다면 이렇게 많은 symmetric 정보를 반영하는데 어려움이 존재한다. 그렇기 때문에 그래프 영역에 있어서 GNN이 왜 중요한지에 대해서 설명을 할 수가 있는 것이다.

이러한 사실들로부터 2021년부터 많은 연구 영역에서 GNN이 널리 쓰이고 중요한 주제로 등장하곤 했다. GNN초반만 하더라도 단순히 GNN은 손에 닿기 쉬운 영역으로 연구 난이도와 논문을 작성하는데 있어 그리 어렵지 않았지만, 점점 많은 연구가 등장함에 따라 연구의 난이도가 올라가고 있는 것은 사실이다. 그래서 의미있는 결과를 만들어내기 위해서는 많은 노력이 요구되어졌다.

GNN Case Studies

GNN의 발전은 여러 영역으로의 확장이 가능해졌고, 이로인해 많은 연구 성과들을 이뤄낼 수 있었다. 예를 들어, Google은 GNN을 여러 device에 장착할 수 있는 작은 칩을 디자인하는데 적용되기도 했다. 정말로 다양한 영역에 GNN이 적용이 가능하며, 이는 더 많은 연구 주제들을 만들어내기도 했다.

profile
평범한 공대생의 일상 (글을 잘 못 쓰는 사람이라 열심히 쓰려고 노력 중입니다^^)

0개의 댓글