//////
Search
Duplicate

강석우

과제여부

Graph Convolutional Networks

노드와 노드의 이웃 노드 정보를 이미지의 각 픽셀에 대한 주변 정보를 캡처하는 컨볼루션 신경망을 사용해서 캡처한다. GCN 모델이 거대해 질수록 그래프에서 더 추상적인 피처를 뽑아낼 수 있다. 일반적으로 그래프의 노드 간 연결이 표현된 인접 행렬과 노드의 피처 행렬을 입력으로 받는다.
노드 피처를 업데이트 하기 위해서 노드의 피처와 이웃 노드들의 정보를 이용한다.
이웃 노드와의 연결 만을 고려한다면 해당 노드 자체에 대한 정보가 노드 임베딩에 포함 되지 않아 self-loop를 추가한다
인접 행렬인 A가 정규화 되어있지 않으면 피처 벡터를 곱하는 경우 불안정할 수 있다. 따라서 정규화를 추가 한다.
GCN은 크게 두 알고리즘으로 분류 될 수 있다.

Spatial Convolutional Network

그래프 위에 컨볼루션 연산을 공간 기반으로 직접 적용하는 방식이다. 컨볼루션의 고정된 크기의 필터를 사용한다. 따라서 고정된 이웃 노드에서만 정보를 받아서 노드의 정보를 업데이트한다.

Spectral Convolutional Network

신호 처리 분야에서 영감을 받은 알고리즘이다. 노드 간 정보 전파를 신호 전달로 고려한다. 그래프를 노멀라이즈한 라플라시안 매트릭스로 표현 한 후에 ‘Spectral-based’ 라는 스펙트럼에 기반한 한 컨볼루션을 그래프에 적용해서 그래프를 표현한다.

GraphSage

그래프 세이지는 각 노드 임베딩을 귀납적인 방식으로 학습해서 딥워크가 가진 문제에 대한 솔루션을 제공한다. 각각의 노드가 자신의 이웃에 대한 집계 결과로 표현된다. 따라서 학습 중에 그래프에 포함되어 있지 않았던 노드도 그 노드의 이웃 노드 들로 표현될 수 있다. GCN과의 차이점은 GraphSage는 셀프와 이웃이 CONCAT 된다는 점이고 GCN은 SUM이 된다는 점이 다르다.
세가지 집계 함수를 사용한다.
1. Mean aggregator
노드 벡터와 그 노드의 이웃 노드의 벡터에 평균을 취한다.
2. LSTM aggregator
그래프 노드들 간에 정해진순서가 없어서 순서를 랜덤하게 할당한 후에 LSTM을 적용한다.
3. Pooling aggregator
노드의 이웃 노드 셋에 엘리먼트 별 풀링 함수를 수행한다.

Graph Attention Network

셀프 어텐션 개념을 그래프 구조의 데이터에 적용한 방법. 같은 이웃 노드 셋에 가중치를 다르게 준다. 전체 그래프에 대한 접근이 없이 학습이 가능하다.