CODA.log
로그인
CODA.log
로그인
GCN (Graph Convolutional Network)
CODA
·
2022년 11월 16일
팔로우
0
AI
Graph
0
본 게시물에서 이용한 자료 출처는 아래 링크에 있습니다
reference :
https://www.youtube.com/watch?v=YL1jGgcY78U
1. What is GCN
이전 게시물에서 GNN에 대하여 몇번 다룬적이 있다. 해당 게시물에서 GCN에 대해 상세히 다루어 보겠다.
GCN은 Graph Neural Network에 Convolution 연산 아이디어를 추가한 개념이다
위 이미지는 GCN의 Overall Structure이다
input으로 인접행렬 A와 노드정보행렬 X를 받는다 (Adjacency Matrix, Node Feature Matrix)
CNN이 convolution층을 통과시키며 더 고차원적인 feature map으로 update 해나가는 것처럼, GCN도 graph는 동일하지만
각 노드가 갖는 차원의 정보를 점점 고차원으로 만드는 과정
인셈이다
2. Input
인접행렬
: 각 노드가 서로 인접한경우 1, 그렇지 않은경우 0으로 표기한 행렬이다
다만 연산할땐 이전층에서 자기자신에 대한 정보를 받기위해 인접행렬에서 자기자신에 해당하는 값인 대각선 값을 0이아닌 1로 받는다
다음층으로 통과시키더라도 이전의 자신 정보를 포함하여 넘겨줘야 고차원값을 얻어내는 의미가 있으므로
피쳐행렬
: 각 노드가 갖는 피쳐(칼럼)값을 기입한 행렬이다. 그러므로 값이 0,1일 필요는없다
X i,j : 노드 i의 j번째 칼럼 값
GCN Layer를 거치면서 각 노드안에서 갖는 피쳐벡터 정보를 update 하는 것이므로, 결국 피쳐행렬을 update해나가는 것.
3. How to update hidden state
4. Readout Layer
노드와 이웃정보는 그대로더라도 그래프를 회전하면 인접행렬의 정보가 달라질 수 있다
이를 방지하기 위해 맨 마지막 층의 H 행렬에 MLP를 씌워서 Permutaion Invariance가 되도록 해준다
5. Advanced Technique
Attention + GCN
현재의 노드정보를 다음층으로 넘겨줄때 기존에는 같은 비율 (가중치 모두 1)로 진행하였지만 이 비율도 다 다르게하고 학습의 대상으로 삼는다
CODA
금융권에 가고싶은 김코다입니다. 취업을 하면 기타치며 조르바처럼 살고파요. -> 금융권 왔다. 취업도 했다. 그러나 여전히 조르바처럼..
팔로우
이전 포스트
딥러닝 기초 : 다층 레이어 사용이유와 오차역전파 관련
다음 포스트
Attention
0개의 댓글
댓글 작성