Basic of Graph Convolution Network(GCN)

youbbin·2023년 10월 17일
0

유튜브 Idea Factory KAIST 채널의 "Basic of Graph Convolution Network - 딥러닝 홀로서기" 강의를 듣고 정리하였다.


What is Graph?

  • 그래프란? vertices의 set과 edge의 set으로 이루어진 것
    • vertex는 node라고도 부른다.
    • 방향이 있는 경우 그래프(directed graph)도 있다.
    • edge에 값을 넣는 그래프(weighted graph)도 있다.

  • 그래프를 어떻게 표현하는가?
    • Node Feature Matrix : 노드의 정보들을 나타내는 행렬
      • f(feature 개수)*n(node 개수) 크기

    • Adjacency Matrix : 노드간의 connectivity들을 나타내는 행렬
      • n개의 노드 → n*n 크기
      • 엣지가 없으면 0, 있으면 1

Graph Convolution Network

  • 그래프를 Convolution Network에 적용하려면?

    • 한 노드는 주변에 있는 노드들과 비슷한 특성을 가질 것이다. → Hidden State는 근처에 있는 노드의 가중치를 적용한다. 즉, 인접한 state들과 같은 Weight를 사용(Weight Sharing) 한다.
    • 1번 노드는 1,2,3,4번 노드의 영향을 받는다. 만약 4번 노드에 5번 노드가 연결되어 있다면 1번에는 5번의 가중치가 적용되지 않는다. (Learn Local Feature)

  • 실제 구현할때는? 노드가 많아지면 for문으로 다 해야하는가? No!

    • 행렬 연산으로 한다.
  • 한번 레이어를 거치면 해당 노드는 주변 노드의 정보를 함께 담고있는 것이기 때문에 연속적으로 레이어를 거치게 된다면 하나의 노드에는 더욱더 확장된 범위에서의 지역적인 정보를 담고있다.

0개의 댓글

관련 채용 정보