GraphSAGE

Suho Cho·2021년 5월 20일
0

Deep Learning

목록 보기
6/7

GraphSAGE... 이름이 뭔가 멋있다. 이 논문을 통해 멋있는 이름만큼이나 멋있는 Inductive Graph Learning을 이해할 수 있을 것이다

Inductive? Transductive?

큰 그래프에서의 저차원 node embeddings은 아주 다양한 분야에서 활용되고 있다. 하지만 대다수의 embedding frameworks는 transductive 방식의 학습만 가능하고 이 이야기는 하나의 정해진 형태의 그래프에서만 embeddings을 만들 수 있다는 점이 큰 단점이다.

그럼 transductive가 뭐가 문제냐!
1. 우리가 보지 못했던 node가 들어왔을 때 이 node의 embedding을 잘 만들지 못함
2. 여러 그래프에 대해 generalization이 되지 못함
예를 들어 같은 구조를 갖고 있지만 노드의 순서만 달라져도 transductive 방식은 이를 제대로 이해하지 못할 것이라는 intuition이 있다.
이 블로그에서 꽤나 친절하게 두 학습 방식의 차이를 설명해주고 있다.

그럼 어떻게 Inductive하게 학습하나?

이게 이 논문의 핵심이다. 그래프에서의 Transductive learning의 특징은 특정 구조에서의 node embeddings을 학습하기 때문에 그래프 전체 구조에 의존적이다. 그걸 해결하기 위해 이 논문에서는 DeepWalk 방법을 채택하여 그래프의 전체 구조에 의존도를 크게 낮춰 학습을 진행할 수 있게 설계했다. 요컨데, 하나의 그래프에서도 많은 subgraph를 각기 학습할 수 있다면, 앞으로 어떤 구조의 그래프가 오더라도 난 해낼 수 있어!!

DeepWalk

DeepWalk는 그래프에서 다양한 subgraph를 추출하기 위한 효과적인 방법이다

그림1은 skip-gram이 나오는 것을 보아 아마 NLP 연구를 설명하기 위해 만든 자료 같은데, 이 경우엔 1번만 봐도 무방하다.

  1. random하게 하나의 노드를 선택
  2. 해당 노드의 이웃들을 분기점 삼아 다양한 subgraph의 path를 획득
  3. 학습 데이터로 활용
profile
당신을 한 줄로 소개해보세요

0개의 댓글