RS-KR / GNN-RS-Beginner

47 stars 4 forks source link

spectral 모델과 spatial 모델의 차이점을 말해보자. #8

Closed ZiminPark closed 2 years ago

choco9966 commented 2 years ago

저도 이해안가서 찾아봤는데, https://ralasun.github.io/deep%20learning/2021/02/15/gcn/ 글 설명이 잘나온 것 같습니다.

ZiminPark commented 2 years ago

image

choco9966 commented 2 years ago

Spectral CNN 얘기가 https://www.youtube.com/watch?v=uqBsvoOY8jM 영상 8:52 분 부터 잘 나온 것 같습니다. 정리하면,

image 출처 : https://www.youtube.com/watch?v=F-JPKccMP7k

  1. 기본적인 CNN 연산은 Graph가 Spatial Domain이 아니기에 연산이 불가능
  2. 신호처리에서 사용하는 Convolution Theorem을 사용 ( 푸리에 변환 )
  3. 이때, graph signal의 푸리에 변환은 graph의 Laplacian matrix를 eigen-decomposition하는 것과 같음
  4. 3까지 하면 학습가능한 파라미터가 없는데, 이걸 bruna 2014, Spectral Networks and Locally connected networks on Graph (ICLR) 에서 Diagonal matrix가 원래는 eigen value에 대한 함수인데 이를 학습 가능하도록 바꿈
  5. 하지만, 4의 경우 Eigen vector에 대한 의존성이 있어서 이에 대한 의존성을 없애고자 Approximation을 도입
  6. Chebyshev Spectral CNN으로 접근 (Defferrard 2016, CNNs on Graphs with Fast Localized Spectral Filtering, Nips)
  7. 6의 방식에서 특정 조건으로 근사한게 GCN

이런 순서여서 GCN도 Spectral이라고 한다고 하네요. 공부할 수록 어렵네요 이 분야는 ㅠㅠ.. 추가적으로 이 영상도 설명 괜찮은 것 같습니다. 추가로, Spatial Conv의 경우 계산 비용도 적고 훨씬 편한 것에 비해 Spectral Conv를 쓰는 경우가 있는데 그러한 이유는 수학적인 베이스가 더 탄탄해서 사용한다고 합니다.