//////
Search
Duplicate

김주연

과제여부

Graph의 task

1.
Node Classification
2.
Link Prediction
3.
Graph Classification

Task를 수행하기 위한 여러가지 모델

GNN

이웃 노드의 표현을 집계함으로써 노드의 representation을 업데이트

GCN

신호처리 과정에서 유래, 잔디와 고양이가 달라지는 그 부분, 노이즈가 많이 발생하는데 그 부분을 detect하는 원리
graph convolution을 이용하여 그래프에 포함된 노드나 그래프 자체를 벡터 형태의 데이터로 변환
GNN이 임베딩 시에 자기 자신의 노드와 이웃 노드에 다른 가중치로 업데이트 시킨다면, GCN은 자기 자신 노드와 이웃 노드들이 동일한 가중치 행렬을 사용
노드 v의 degree와 이웃노드 각각의 degree를 곱한 값으로 나누어 normalize를 진행
결과 : More parameter sharing : 임베딩 값을 구하는 노드(v)와 이웃 노드들 간의 가중치 행렬을 구분하지 않고 공유한 것이 성능 향상의 요인이 됨. : Down-weights high degree neighbors : 이웃 노드 중 degree가 컸던, 즉 연결된 노드가 많은 인싸 노드에 대한 embedding 값을 적게 반영, degree가 큰 이웃 노드에 대해 penalty를 주었다고 해석하면 편함.

GraphSAGE

임베딩 함수를 학습하기 위해서 노드 기능을 활용하여 노드의 레이블을 예측
노드와 이웃노드들의 가중치 값을 더하지 않고 concat하는 것이 큰 차이
aggregation function에는 Mean, Pool, LSTM 등이 사용될 수 있음.

GAT

GCN이나 GraphSAGE같은 방식은 결국, 미리 기여도를 구해놓고 학습에 사용
이웃 노드의 관여를 기여도(이웃 노드의 hidden representation이 해당 노드에 얼마나 영향을 주는지) 관점에서, transformer 모델의 attention을 통해 학습 파라미터로 동작하도록
트랜스 포머의 multi-head 개념과 같이, attention을 여러개 도출하여 aggregate하여 최종 output값을 계산 가능