딥러닝 (Deep Learning)/딥러닝 기초

GNN

DS지니 2021. 8. 5. 18:14
728x90
반응형

 

GNN(Graph Neural Network)이 해결할 수 있는 문제

-  Node Classification :

Node embedding을 통해 점들을 분류하는 문제. 일반적으로 그래프 일부만 레이블 된 상황에서 반지도학습을 한다. 대표적인 응용 영역으로 인용네트워크, Reddit 게시물, Youtube 동영상이 있다.

 

- Link Prediction :

그래프의 점들 사이의 관계 파악하고 두 점 사이에 얼만큼 연관성이 있는지 예측하는 문제.

영화와 유저가 점이고 유저가 영화를 봤으면 선으로 연결해준 그래프를 생각할 수 있다. 아직 연결되지 않은 영화,유저의 쌍 중 연결될 가능성이 높은 쌍을 찾아 유저가 영화를 감상할 가능성이 높다고 예측할 수 있다.

ex) 페이스북 친구 추천, 왓챠/유튜브/넷플릭스 영상 추천.

 

- Graph Classification :

그래프 전체를 여러가지 카테고리로 분류하는 문제이다. 이미지 분류와 비슷하지만 대상이 그래프라고 생각하면 된다. 분자 구조가 그래프의 형태로 제공되어 그걸 분류하는 산업 문제에 광범위하게 적용할 수 있으며 화학, 생의학, 물리학 연구자들과 활발히 협업하고 있다.

 

 

실제 응용 사례

1) Scene graph generation by iterative message passing

CNN 기반의 이미지 물체 탐지는 최첨단 성능에 달했지만 그 물체들 사이의 관계까지는 알지 못한다.

CNN으로 탐지된 물체들에 scene graph를 만들어 관계를 파악할 수 있다.

 

2) Image generation from scene graphs

위와 반대되는 작업도 가능하다. 기존 이미지 생성 방법은 Generative Adversarial Network나 Autoencoder를 사용했다. 아래 그림 방버버럼 scene graph로부터 이미지를 생성할 수도 있다.

 

 

3) Graph-Structured Representations for Visual Question Answering

Visual Question Answering 문제에도 그래프를 도입해 성능을 끌어올릴 수 있다. 장면과 질문으로부터 각각 scene graph와 question graph를 만든 후 pooling과 GRU를 적용한다.

 

4) Machine Learning for Scent: Learning Generalizable Perceptual Representations of Small Molecules

머신러닝이 시각, 청각을 넘어 후각에 진출하고 있다. 분자 구조를 그래프로 변환하고 GNN을 거치면 138개의 향기를 예측할 수 있다고 한다. 기존에는 분자 구조를 분석할 때 Mordred나 fingerprint 방법을 사용했는데 요즘엔 GNN을 사용해서 분자 주고를 분석할 수 있다.

 

 

5) Graph Convolutional Matrix Completion

유저-영화 평점 행렬이 있을 때 기존 평점을 기반으로 message passing function을 사용해 아직 평가가 없는 유저-영화 쌍의 예상 평점을 계산한다.

 


 

Reference

 

1. 왓챠 미디엄 블로그

https://medium.com/watcha/gnn-%EC%86%8C%EA%B0%9C-%EA%B8%B0%EC%B4%88%EB%B6%80%ED%84%B0-%EB%85%BC%EB%AC%B8%EA%B9%8C%EC%A7%80-96567b78347

 

GNN 소개 — 기초부터 논문까지

이 글은 Shanon Hong의 An Introduction to Graph Neural Network(GNN) For Analysing Structured Data를 저자에게 허락받고 번역, 각색한 글이다.

medium.com

 

 

 

 

 

728x90
반응형