GCN(Graph Convolutional Network)

Jae Gyeong Lee·2023년 7월 12일
0

GCN(Graph Convolutional Network)

https://www.youtube.com/watch?v=naG9umGoX7M
https://signing.tistory.com/125

https://www.youtube.com/watch?v=YL1jGgcY78U&list=PLSAJwo7mw8jn8iaXwT4MqLbZnS-LJwnBd&index=29
https://www.youtube.com/watch?v=htTt4iPJqMg&list=PLSAJwo7mw8jn8iaXwT4MqLbZnS-LJwnBd&index=30

CNN

  • 합성곱(convolution) 연산을 사용하는 network로 적합한 convolution(=weight, filter) 값을 스스로 학습
  • CNN은 각 layer의 activation maps의 값들을 업데이트함

GCN 개념 강의
https://www.youtube.com/watch?v=FB4gvF7Vqpc
https://www.youtube.com/watch?v=rSJhLD5vNAo

코드
https://www.youtube.com/watch?v=xFxlatu6a_s
https://www.youtube.com/watch?v=xq7pN1oXzAA&t=1006s

https://data-newbie.tistory.com/761

pip install --upgrade spektral

Readout

GCN 코드리뷰
https://blog.naver.com/PostView.nhn?blogId=winddori2002&logNo=222183504185
https://blog.naver.com/PostView.nhn?blogId=winddori2002&logNo=222183504185
https://huidea.tistory.com/301

CORA dataset
https://paperswithcode.com/dataset/cora

This dataset is the MNIST equivalent in graph learning
The CORA dataset consists of 2708 scientific publications calssified into one of seven classes.
=> 2708개의 node로 이루어지고, 각 node는 7개의 class로 나타내짐

- Case_Based: 298
- Genetic_Algorithms: 418
- Neural_Networks: 818
- Probabilistic_Methods: 426
- Reinforcement_Learning: 217
- Rule_Learning: 180
- Theory: 351

The citation network consists of 5429 links.
=> 5429개의 edge로 이루어짐.

Each publication in the dataset is described by a a 0/1-valued word vector indicating the absence/presence of the corresponding word
The dictionary consists of 1433 unique words.

=> 비슷한 논문끼리는 동일한 단어가 사용될 것이기에 어느정도 동일한 feature 정보를 담고 있을 것.

node, edge 정보 그리고 각 node가 one-hot 인코딩된 label을 불러옴
nodes = np.load
edge_list = np.load
labels_encoded = np.load

node가 어떠한 단어를 갖고 있는지에 대한 정보(feature 정보)
H = np.load
data_mask = np.load

N = H.shape[0] # graph가 몇개의 node로 구성되어 있는지
F = H.shape[1] # feature가 몇개의 unique한 정보를 갖는지

print('node 수', N)
print('feature 수', dataset.num_node_features)
print('class 수', dataset.num_classes)

cora data는 각각의 node가 논문을 나타내고, 색깔은 class를 나타냄

Graph Convolution Networks (GCN): https://arxiv.org/pdf/1609.02907.pdf
(Semi-supervised Classification with Graph Convolutional Networks)

GraphSAGE: https://cs.stanford.edu/people/jure/p...
(Inductive Representation Learning on Large Graphs)

Graph Attention Networks (GAT): https://arxiv.org/pdf/1710.10903.pdf

  • 연결관계간 특성상 대칭을 이룸

인접행렬 그림 출처
https://kingpodo.tistory.com/46

참고 사이트
https://ganghee-lee.tistory.com/27
https://data-newbie.tistory.com/706
https://littlefoxdiary.tistory.com/16

https://pseudolab.github.io/GNN%EC%8A%A4%ED%84%B0%EB%94%94/

https://velog.io/@whattsup_kim/Graph-Neural-Networks-%EA%B8%B0%EB%B3%B8-%EC%89%BD%EA%B2%8C-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0

DSBA GNN

profile
안녕하세요 반갑습니다. 공부한 내용들을 기록하고 있습니다.

0개의 댓글