본문 바로가기
공부자료/Deep Learning

그래프 합성곱 네트워크

by mogazi 2022. 9. 26.
  • 그래프란? (Grape)

 

그래프는 방향성이 있거나(directed) 없는 (undirected) 에지로 연결된 노드 (nodes=verticals)의 집합이다.

노드와 에지는 일반적으로 풀고자 하는문제에 대한 전문가 지식이나 직관 등으로 구성된다.

 

 

 

즉, 다음 그림과 같은 형태를 취하는 것이 그래프이다.

 

 

 

 

 노드(node, vertex): 원이 노드.

 에지(edge): 두 노드를 연결한 선을 의미.

 

 

-> 노드는 원소들을 의미하고, 에지는 결합 방법 (Single , double, triple , aromatic 등) 을 의미한다.

 

 

* aromatic : 방향족 

 

 

 

 

 

 

 

 

 

 

  • 그래프 신경망 (Grape Neural Network, GNN) 

 

그래프 구조에서 사용하는 신경망을 의미.

그래프 데이터에 대한 표현은 두단계로 이루어진다.

 

 

 

 

 

1단계. 인접 행렬(adjacency matrix)

 

 

• 네트워크가 있을 때 노드 n개를 n×n 행렬(matrix)로 표현한다.

 

• 이렇게 생성된 인접 행렬 내의 값은 ‘Aij는 i와 j의 관련성 여부’를 만족하는 값으로 채워준다.

 

 

즉, 인접 행렬 과정은 컴퓨터가 이해하기 쉽게 그래프로 표현하는 과정이라고 할 수 있다.

 

 

 

 

 

2단계. 특성 행렬(feature matrix)

 

 

• 각 입력 데이터에서 이용할 특성을 선택한다 ( RGB 값 세 개, 전치(transpose) 한 개 등).

 

• 특성 행렬에서 각 행은 선택된 특성에 대해 각 노드가 갖는 값을 의미한다 ( 첫 번째 행은 첫 번째 노드의 특성 값).

 

 

 

 

 

 

 

 

 

 

  • 그래프 합성곱 네트워크 (Graph Convolutional Network, GCN) 

 

 

이미지에 대한 합성곱을 그래프 데이터로 확장한 알고리즘이다.

 

 

 

 

 

리드아웃 (readout)은 특성 행렬을 하나의 벡터로 변환하는 함수이다.

 

즉, 전체 노드의 특성 벡터에 대해 평균을 구하고, 그래프 전체를 표현하는 하나의 벡터를 생성한다.

 

 

 

 

GCN에서 가장 중요한 부분은 그래프 합성곱 층(graph convolutional layer) 이다. 

 

 

그래프 합성곱층을 이용하여 그래프 형태의 데이터는 행렬 형태의 데이터로 변환되어 딥러닝 알고리즘을 적용할 수 있다.

(기존 그래프 형태의 데이터로는 딥러닝 알고리즘을 적용할 수 없다.)

 

'공부자료 > Deep Learning' 카테고리의 다른 글

시계열 분석  (0) 2022.09.26
분류 신경망 유형  (0) 2022.09.26
전이학습  (0) 2022.09.26
1D, 2D, 3D 합성곱  (0) 2022.09.26
합성곱 신경망 (2)  (0) 2022.09.26