toc: true comments: true layout: post description: CS224W Lecture 8. categories: [Graph Neural Network, GNN, Graph Convolution Network, GCN ] title: Lecture 8.2 - Learning Objectives —

2) Learning Objectives

Imgur

지금까지 우리는 그래프의 구조, GNN 레이어의 구조, 노드 엠베딩 등을 배웠습니다. 이번에는 모델이 예측하는 부분인 prediction heads에 대해 알아봅시다.

예측부분은 지금까지 그래왔듯이 node-level, edge-level, graph-level로 나눌 수 있습니다.

Imgur

Imgur

pooling으로 인해 정보가 손실될 수 있습니다.

예를 들어 global sum pooling을 한다고 했을 때,

A = [-1, -2, 0, 1, 2], B = [-10, -20, 0, 10, 20] sum([-1,-2, 0, 1, 2]) = 0 sum([-10, -20, 0, 10,20] = 0

그래프 A와 B는 분명 다른 그래프이지만, pooling으로 인해 같은 값으로 종결됩니다.

Hierarchical Global Pooling은 이러한 문제를 해결해줍니다.

Logic : 노드들을 한꺼번에 pooling하는 것이 아니라, 나눠서 계층적(hierarchical)으로 pooling하는 겁니다.

e.g) 노드를 나눕니다. A = [-1,-2,0,1,2]이라고 할 때, round1 : a = ReLU(Sum(-1,-2)), b = ReLU(Sum(0,1,2) round2 : ReLU(Sum(a, b)))

B = [-10, -20, 0, 10, 20] round1 : a = ReLU(Sum(-10, -20)) b = ReLU(Sum(0,10,20)) round2 : ReLU(Sum(a,b))

그렇다면 노드들을 어떻게 a와 b를 쪼갤까요?

Hierarchically pool node embeddings (DiffPool)

Imgur

그래프는 community 구조를 갖습니다.

방법

그럼 이번엔 예측값과 정답 라벨에 대해서 이야기해봅시다.

Supervised vs Unsupervised(self-supervised)

모델의 결과값은 모델의 가이드라인이 되어줄 라벨이 외부 소스로부터 오는지(Supervised) 또는 주어진 인풋 그래프 내부로부터 도출하는지(Unsupervised)에 따라서 학습 방법이 나뉩니다.

Supervised 예시 : 분자 그래프에서 drug likeness(신약 가능성)

Unsupervised 예시 : 두 개의 노드 간의 연결 유무

** 가끔씩 Supervised와 Unsupervised의 경계는 모호합니다. 비지도학습에서도 어느정도의 ‘supervision’은 사용되기 때문입니다.

Supervised Labels의 예시들

** Advice : 그래프 데이터가 주어졌을 때, 태스크를 node/edge/graph 레벨로 바꿔보세요. (저 레벨들 말고 다른 태스크가 가능한가??) 예를 들어서, 몇 노드들이 클러스터를 이룬다고 했을 때, 이 클러스터를 노드 라벨로써 사용해보는 겁니다.

Unsupervised Labels의 예시들

Loss Function

Imgur

Imgur

이진분류를 위한 threshold 셋팅에 따라 False Positive Rate과 True Positive Rate이 달라집니다. TPR과 FPR 간의 Trade-off 관계를 잘 조절해서 알맞는 threshold 설정이 가능합니다. ROC(Receiver Operating Characteristic Curve)는 y축으로 가파를수록, 그래서 면적(ROC AUC : Area Under the curve)이 클수록 좋은 지표입니다. 예측이 랜덤일수록 그래프를 가로지르는 대각선 축에 가까워집니다.