$H \times W \times 3$을 $N$개의 패치로 나눔.
각 패치를 feature vector $\mathrm{x}_i \in \mathbb{R}^D$로 표현하여 $X=[\mathrm{x}_1, \mathrm{x}_2, ... \mathrm{x}_N]$을 얻음
이 feature를 순서가 없는 node $\mathcal{V}={v_1, v_2, ... v_N}$으로 표현할 수 있음.
각 node $v_i$에 대해서 K개의 가장 가까운 neighbors들 $\mathcal{N}(\mathcal{v}_i)$을 찾고 edge $e_ij$를 추가함.
그러면 우리는 graph $\mathcal{G}=(\mathcal{V},\mathcal{E})$를 얻을 수 있고 여기에 GNN을 통과시키면 됨!
graph construction $\mathcal{G}=G(X)$라고 표기할 예정
Graph로 표현하는 것의 장점
1) graph는 매우 일반화된 구조 표현! CNN의 grid나 ViT의 sequence는 그래프의 특정한 종류라고 볼 수 있음
2) 모양이 가변적인 복잡한 object를 표현하는데 grid나 sequence보다 그래프가 강점을 가질 수 있음
3) object는 part들의 조합(사람의 경우 머리 몸통 팔 다리)로 볼 수 있으므로 이러한 part를 조합하는데 더 강점을 가질 수 있음
4) 최신 GNN 아키텍쳐 활용 가능
Graph-level processing
feature $X \in \mathbb{R}^{n\times D}$로 시작해서 graph based feature $\mathcal{G}=G(X)$를 뽑음.
graph convolutional layer는 neighbor node간 feature를 aggregate하면서 정보를 교환함
이를 좀더 구체적으로 쓰면 node $x_i$에 대해 neighbor 정보를 aggregate를 해서 $x_i'$을 만드는걸로 볼 수 있음.
우리는 max-relative graph convolution을 사용할 것임
aggregate할 때 feature의 차이에 max를 취해서 aggregate 하는 것
여기에 multi-head operation을 쓰려고 함. feature diversity때문에 도입.
ViG block
이전의 GC의 경우 반복적으로 graph convolution layer를 진행하면서 node features간의 차이가 없어지고 성능 저하가 일어남.
그래서 ViG block은 feature transformation과 nonlinear activation을 더 추가하려고 함.
GCN 레이어 이후에 linear layer를 넣고 nonlinear activation도 넣음. + FFN도 추가함
이렇게 하니까 diversity가 ResGCN보다 좋았음. (위의 figure 3)
Network Architecture
Isotropic architecture
ViT나 ResMLP처럼 feature가 모두 같은 size인 모델
Pyamid architecture
ResNet이나 PVT처럼 feature가 점점 작아지는 형태
PE
absolute pe 더함
Result
Experiment detail
Result for isotropic
Result for Pyramid
Object Detection result
visualization
etc
max relative graph convolution
DeepGCNs: Can GCNs Go as Deep as CNNs? https://arxiv.org/pdf/1904.03751.pdf 에서 제안
ResNet이랑 비슷한 느낌의 논문인데, 위의 over-smoothing 현상 때문에 대부분의 GCN 모델들은 4레이어 이하였음
이를 해결하기 위해 GCN을 깊게 쌓으려면 어떻게 하면 되는가?를 주제로 한 논문
1) residual / dense connection
paper, code
TL;DR
Details
motivation
Preliminaries
GNN in general https://github.com/long8v/PTIR/issues/55
over-smoothing problem 레이어가 깊어지면서 node 임베딩이 점점 비슷해지는 현상
https://ydy8989.github.io/2021-03-03-GAT/
Architecture
Graph Structure of Image
$H \times W \times 3$을 $N$개의 패치로 나눔. 각 패치를 feature vector $\mathrm{x}_i \in \mathbb{R}^D$로 표현하여 $X=[\mathrm{x}_1, \mathrm{x}_2, ... \mathrm{x}_N]$을 얻음 이 feature를 순서가 없는 node $\mathcal{V}={v_1, v_2, ... v_N}$으로 표현할 수 있음. 각 node $v_i$에 대해서 K개의 가장 가까운 neighbors들 $\mathcal{N}(\mathcal{v}_i)$을 찾고 edge $e_ij$를 추가함. 그러면 우리는 graph $\mathcal{G}=(\mathcal{V},\mathcal{E})$를 얻을 수 있고 여기에 GNN을 통과시키면 됨! graph construction $\mathcal{G}=G(X)$라고 표기할 예정
Graph-level processing
feature $X \in \mathbb{R}^{n\times D}$로 시작해서 graph based feature $\mathcal{G}=G(X)$를 뽑음. graph convolutional layer는 neighbor node간 feature를 aggregate하면서 정보를 교환함
이를 좀더 구체적으로 쓰면 node $x_i$에 대해 neighbor 정보를 aggregate를 해서 $x_i'$을 만드는걸로 볼 수 있음. 우리는 max-relative graph convolution을 사용할 것임
aggregate할 때 feature의 차이에 max를 취해서 aggregate 하는 것
여기에 multi-head operation을 쓰려고 함. feature diversity때문에 도입.
ViG block
이전의 GC의 경우 반복적으로 graph convolution layer를 진행하면서 node features간의 차이가 없어지고 성능 저하가 일어남.
그래서 ViG block은 feature transformation과 nonlinear activation을 더 추가하려고 함. GCN 레이어 이후에 linear layer를 넣고 nonlinear activation도 넣음. + FFN도 추가함
이렇게 하니까 diversity가 ResGCN보다 좋았음. (위의 figure 3)
Network Architecture
Isotropic architecture
ViT나 ResMLP처럼 feature가 모두 같은 size인 모델
Pyamid architecture
ResNet이나 PVT처럼 feature가 점점 작아지는 형태
PE
absolute pe 더함
Result
Experiment detail
Result for isotropic
Result for Pyramid
Object Detection result
visualization
etc
DeepGCNs: Can GCNs Go as Deep as CNNs? https://arxiv.org/pdf/1904.03751.pdf 에서 제안 ResNet이랑 비슷한 느낌의 논문인데, 위의 over-smoothing 현상 때문에 대부분의 GCN 모델들은 4레이어 이하였음 이를 해결하기 위해 GCN을 깊게 쌓으려면 어떻게 하면 되는가?를 주제로 한 논문 1) residual / dense connection
2) dilation