2025. 1. 16. 05:04ㆍ머신러닝&딥러닝/GNN
전통적인 GCN(https://cascade.tistory.com/134)은 시간적 요소가 포함되어 있지 않고, node와 edge 관계가 고정된 상태에서 사용한다. ST-GCN은 특정 시간에서의 graph 구조 (spatial graph)와 시간에 따라 변하는 graph 구조 (temporal graph)를 모두 모델에 반영할 수 있는 모델이다.
본 포스팅에서는 Stanford 컴퓨터공학과 및 의학과 공동연구로 S.Gadgil, Qingyu Zhao et al이 2021년 저술한 ST-GCN fMRI classification 논문인 "Spatio-Temporal Graph Convolution for Resting-State fMRI Analysis"을 리뷰할 것이다.
주요한 task : Age, Sex classification
사용한 데이터셋 : HCP (N = 1,096), NCANDA (N = 773)
- Phenotype classification이나 task classification도 아니고, age랑 sex를 분류해 내는 것이 왜 중요한가?
-> fMRI는 성별이나 나이에 따라 다른 분포를 보이는 것으로 알려져 있으며, 이는 뇌에 관한 유의미한 인사이트를 제공할 수 있다.
기존 방법의 한계
- Spatial 한 정보만 고려하는 경우 (spatial GC 등) : "hand - crafted features"를 만들어야 하기 때문에 더 복잡한 정보를 놓치기 쉽다.
-> 이전에 서울대병원에서 fMRI 분석 관련 task를 수행했을 때는 pearson correlation으로 functional connectivity를 보는 것을 gold standard로 여겼던 것 같은데, 딥러닝계에서는 이것만으로 부족하다고 여기는 것 같다. - Time series만 고려하는 경우 (LSTM 등 RNN계열 모델) : 마찬가지로 spatial 한 정보를 놓칠 수 있고, 최근 connectomics 학계는 개별 뇌 영역의 활성/비활성 정보보다 영역 "간"의 관계에 더 주목하는 경향이 있다.
따라서 spatial한 정보와 temporal한 정보를 동시에 활용해야 함은 당연하게 여겨진다.
- Spatial - Temporal한 정보를 동시에 활용하는 기존 모델 : MICCAI 2017에 spatial 정보를 GCN으로 분석하고 시계열 분석을 한번 더 하는 (<- 확인) 연구가 발표된 바 있다. 그러나 이것도 여러 timestep 간의 관계를 본 연구는 아니다.
이러한 점을 모두 고려하였을 때, 시간적 정보와 공간적 정보를 모두 graph로 간주하고 분석하는 ST-GCN을 제안하게 된다.
원래 ST-GCN은 어디에 쓰나?
ST-GCN은 일반적으로 graph 구조의 time series 예측에 많이 쓰인다. 사람 동작인식 및 자세 예측에 쓰이는 위의 skeleton data가 대표적인 예시다. 본 연구는 ST-GCN을 처음으로 rs-fMRI 데이터에 적용하였다.
모델 구조
그래프 구조를 만들려면 노드와 엣지가 필요하다. 먼저, 노드는 fMRI 표준 atlas에 따라 뇌 영역을 여러 개로 쪼개고, 각 영역별로 신호를 평균해서 만든다. 본 연구에서는 아래의 두 atlas가 사용되었다.
- HCP 데이터셋에 대해서는 Glasser atlas (N=22)
- NCANDA 데이터셋에 대해서는 DK(Desikan - Killiany) atlas (N = 34)
fMRI 신호분석에 따라 어떤 atlas를 사용해야 하는지에 대한 표준은 아직 없다. 따라서 결과를 해석할 때 빠지는 voxel들이 존재하기도 하고, 서로 겹치는 영역들도 있는 등 단점이 있다. 따라서 atlas 선택은 경험적으로 하는 편이다. 최근에는 atlas 종류에 상관없는 classifier들이 나오기도 하고, multi-atlas classification이 연구되고 있기도 하다.
암튼, HCP 데이터셋에 대해서는 22개의 노드, NCANDA 데이터셋에 대해서는 34개의 노드가 정의되었다. 이제 엣지를 정의해야 한다. 엣지는 두 가지 종류, spatial과 temporal 이 있을 것이다.
- Spatial edge는 노드 간의 affinity로 정의되는데, 전체 데이터의 ROI별 time series를 평균한 후 correlation을 쟀다.
-> 이 부분에서 의심이 가는 것이, phenotype 별로 adjacency matrix가 다를 것인데 이렇게 한방에 동일한 matrix를 적용해도 되는지 좀 의문이 든다. - Temporal edge는 동일한 ROI의 연속된 시간이라면 연결하는 것으로 정의한다.
GCN구조에서 feature aggregation이 되는 neighbor는 $$ B(v_{t,i}) = \{v_{q,j} \mid d(v_{t,j}, v_{t,i}) \leq K, |q - t| \leq \lfloor \Gamma / 2 \rfloor\} $$
로 정의된다. K값은 spatial affinity에 대한 threshold이며, $\Gamma$값은 temporal kernel의 크기를 말한다. 따라서 convolution 연산은 $$ f_{\text{out}}(v_{t,i}) = \frac{1}{Z_{t,i}} \sum_{v_{q,j} \in B(v_{t,i})} f_{\text{in}}(v_{q,j}) \cdot w(v_{q,j})$$
로 일어나며, 이를 행렬 연산으로 나타내면 $ f'_t = \Lambda^{-\frac{1}{2}} (A + I) \Lambda^{-\frac{1}{2}} f_t W_{\text{SG}}$의 spatial 연산과 $ f'_i ~ W_{\text{TG}} \in \mathbb{R}^{\Gamma \times T}$의 temporal 연산이 일어나는 것으로 나누어 볼 수 있다.
이러한 ST-GC를 3개의 층으로 쌓아 신경망을 구성하였으며, 각 층의 output은 64 channel, temporal kernel의 크기는 11, dropout 0.5를 적용하였다.
Temporal kernel값이 왜 11로 설정되었을까? 실험적으로 설정된 값이긴 한데, 저자들은 아래와 같이 time window를 몇 초로 주어야 accuracy가 가장 높을지 실험한 바 있다. 대강 35.2 ~ 52.8 초 정도의 window를 쓰는 게 좋아 보이는데, HCP 데이터셋의 TR (fMRI 촬영 시 하나의 timestep 당 몇 초를 촬영하는지) 은 2초이고 NCANDA는 0.72초이다. 그러면 두 데이터셋 간의 temporal kernel 값도 다르게 주어야 하는 것이 아닌가 의문이 든다.
또한, 모델의 설명가능성을 위해 저자들은 학습 가능한 edge importance matrix 부분을 추가하였다. Adjacency matrix과 elementwise하게 곱해지는 M이라는 행렬을 $ \big( (A + I) \odot M \big) $ 와 같이 만들고 (전부 1로 초기화), 이를 학습시켜서 각 edge의 importance를 측정한 것이다.
결과
이러한 설정으로 Age, sex prediction을 수행한 결과, ST-GCN이 다른 아키텍처에 비해 가장 우수한 성능을 보였으며 Age의 경우 77.7%, sex의 경우 79.8%의 accuracy를 보였다. Age의 경우도 16세 이하의 young adolescent와 16세 초과의 old adolescent의 두 그룹으로 나눈 binary classification을 수행한 결과이다.
또한 상술한 importance matrix로 분석한 결과, age classiication에는 temporo-parieto-frontal network가 중요함이, sex classification에는 DMN(default mode network)가 중요함이 드러났다.
결론
논문에서 제시한 future work로는, 상술한 dynamic connectivity를 어떻게 반영할 것인가에 관한 언급이 우선 있다. 또한, ROI수가 더 많은 fine-grained brain parcellation에는 어떻게 적용할 것인지, window size를 어떻게 자동으로 조정할 것인지 질문을 던졌고, 그리고 최종적으로는 fMRI biomarker를 발견하는 것이 중요함을 언급하였다.
'머신러닝&딥러닝 > GNN' 카테고리의 다른 글
GAT(Graph Attention Networks)를 통한 동적 그래프 모델링 (0) | 2025.01.14 |
---|---|
GCN의 개요와 수식 정리 (0) | 2025.01.13 |