GNN - 1

Sngmng·2022년 10월 28일

Graph Neural Network 1

http://web.stanford.edu/class/cs224w/

GNN은 기본적으로 graph network를 embedding하는 함수 f를 학습하는 방법에 대한 것이다.


network에서 유사한 node들끼리 embedding space( latent space )에서 가깝게 위치시키도록 mapping function f를 학습시키는 것이 목적이다.

GNN : graph domain에서 작동하는 deep learning model이라고 할 수 있다.

The task you able to solve by using GNN


e.g) Recommendation system은 GNN의 major domain 중 하나이다.
https://paperswithcode.com/task/graph-classification
https://horizon.kias.re.kr/22216/


이미지, 텍스트, 오디오도 마찬가지로 비정형 데이터이지만 Network는 구조가 더 복잡하고 사이즈도 정해져 있지 않다. (이미지는 정해져있음)

permutation invariance


network를 인접행렬로 나타냈다고 하자.
이때 해당 행렬을 transformation 하는 f가 permutation된 인접행렬에 대해서도 같은 결과를 준다면, f는 permutation invariance의 특성을 갖는다.

permutation equivalence

위와 같은 상황에서,
인접행렬이 permutation 됐을 때 permutation된 f가 같은 결과를 준다면, f는 permutation equivalence의 특성을 갖는다.


GNN은 permutation equivariant나 invariant functions을 가져야한다.

Model Design


1. aggregation function을 정의한다.
2. 주변 노드로부터 타겟노드가 나오도록 loss function을 정의한다.

3. input graph 그림에서 깊이라고 할 수 있는 batch를 조정하고 학습시킨다.

4. 학습에 사용되지 않은 그래프로 테스트한다.

GNN Vs. CNN


1.CNN에서 다루는 Data인 이미지 같은 경우는 3x3 filter 라고 한다면 convolution의 대상이되는 data가 9개로 고정이되어있고 픽셀들의 순서 역시도 일정하다 (픽셀들의 순서의 경우, 사람얼굴로 따지면 이목구비의 배치 순서가 일정하다는 말 같다.)
GNN같은 경우는 타겟노드와 연결되어있는 주변 노드의 갯수가 일정치않다.

2.CNN은 주변노드의 갯수가 고정되어 있고 해당 노드들의 차원들 역시 고정되어 있다는 점에서 GNN의 특별한 예라고 할 수 있다.

3.CNN은 permutation equivariant을 갖지 않는다. 즉, 두 픽셀들을 서로 교환하면 다른 그림이 된다.

GNN vs. Transformer


예시가 되는 위 그림의 경우 한 단어가 문장의 모든 단어들과 연관을 갖기 때문에, 완전 연결된 그래프들와 같다고 할 수 있다.

profile
개인 공부 기록용

0개의 댓글