이전에 했던 논문 리뷰와 조금 다르게 이번에는 예전에 랩실에서 했던 논문 세미나 발표 형식을 가져와서 작성했다.
이 논문은 2022년에 나온 논문으로 2023 CVPR에 올라간 논문이며 CNN기반의 모델로 트랜스포머 기반 모델과 비슷하거나 더 나은 성능을 가져온 모델에 관한 논문이며, CNN의 가능성에 대한 논문이다.
최근 비전 분야에서는 Transformer 기반의 모델들이 큰 주목을 받고 있다. Vision Transformer(ViT)이나 Swin-Transformer 등 다양한 변형들이 등장하고 있으며, 이미지 전체 혹은 지역(Local)에 대해 효과적으로 Attention을 수행함으로써 CNN 기반 모델들이 해결하기 어려웠던 Long-range Dependency와 Adaptive spatial aggregation과 같은 측면에서 트랜스포머가 더 뛰어났다.
Long range Dependency
이미지나 시퀀스 데이터에서 멀리 떨어진 위치 간의 관계나 의존성을 모델이 학습하거나 고려하는 능력
Adaptive Spatial aggregation
이미지 특징을 추출할 때, 특징을 어느 위치에서, 얼마만큼 집계할지 (합칠지)를 동적으로 결정 하는 것
반면 기존의 CNN은 고정된 커널로 국소(Local) 영역의 특징을 추출하는 방식에 머물러 있어 파라미터를 늘리거나 대용량 데이터셋에서의 성능 향상 폭이 제한적이어서 고성능의 모델에 있어서 불리하다는 평가를 받으면서, 이러한 이유로 최근 몇 년간 CNN 연구는 트랜스포머에 비해 상대적으로 정체된 상황이었다.
InternImage는 이러한 흐름 속에서 CNN의 구조적 유연성을 높이고, ViT와 같은 트랜스포머 구조와 경쟁할 수 있도록 CNN에 **Deformable Convolution v3(DCNv3)**를 결합하여 새로운 가능성을 제시한 논문입니다.
CNN의 한계를 어느정도 해결하기 위해서 기존 CNN에서 사용하던 커널보다 훨씬 큰 커널(31X31)을 사용하기도 했지만, 그래도 여전히 트랜스포머 기반 모델과 차이가 존재했다. 위 그림에서는 Global attention, Local Attention, Large Kernel과 이 논문에서 말하는 Dynamic Sparse Kernel에 대해서 비교하는 이미지이다.
Global Attention
Global Attention은 대표적으로 ViT에서 사용하는 attention 방법이며, 이미지 전체에 대한 attention을 수행하는 방식이다. 이는 long range dependence와 Adaptive spatial aggregation측면에서는 좋지만 계산/memory 효율성이 떨어진다는 단점이 있다.
Local Attention
local Attention은 swin-Transformer와 같은 모델에서 사용하는 attention 방식이며 이미지를 잘라서 제한된 영역에 대해서 attention 수행하는 방식이다. Adaptive spatial aggregation, 계산/memory 효율성 측면에서는 좋지만 long range dependence은 확보하지 못한다는 단점이 있다.
large Kernel
large Kernel은 ConvNexT에서 사용하는 CNN방식으로 큰 커널을 사용해서 long range dependence를 확보하면서, cnn방식을 사용하여 계산/memory효율성은 챙기는 방식이지만, Adaptive spatial aggregation의 특성은 챙기지 못한다는 단점이 있다.
위와 같은 이유로 이 논문에서는 Dynamic sparse Kernel를 제안하면서 Adaptive spatial aggregation, long range dependence, 계산/memory 효율성을 챙기는 방식을 말했다.
CNN의 핵심 연산자인 Convolution은 고정된 격자(Grid) 기반의 샘플링을 사용하여 Input Feature map을 처리한다. 하지만 일반적인 고정된 커널로는 Long range dependence와 Adaptive spatial aggregation의 특성을 효과적으로 챙기기 어렵다는 단점이 있다. 이를 해결하기 위해 **DCN(Deformable Convolution)**이 등장했다.
이 논문에서는 DCNv3를 제안하였고, 이전의 방식들을 간단하게 먼저 설명하자면 다음과 같다.
DCNv3는 3x3 커널만을 사용하여 adaptive spatial aggregation을 챙기고, inductive bias를 줄였으며, 계산 비용을 줄였다. 또한 ViT와 비슷한 구조에 적용하면서 DCNv2의 구조를 개선하여 세 가지를 새롭게 도입했다. 고정된 커널 사이즈(3×3)를 유지하면서도 offset과 modulation을 학습적으로 제어해 실제 receptive field가 유연하게 확장·축소될 수 있다.:
InternImage는 ViT의 장점을 CNN에 적용하여, Transformer의 구조적 이점을 CNN과 결합했습니다.
전체 구조는 Stem을 통해서 입력 이미지의 사이즈를 줄이고, Basic Block과 Downsampling을 번갈아가면서 총 4개의 stage를 지나는 구조이다.
특히 InternImage-H 모델은 CNN 백본 모델 중 최초로 파라미터 수가 1B를 초과하여 대규모 ViT와 동급의 파라미터 규모를 가집니다.
InternImage는 ImageNet-1K 등 대규모 이미지 분류 데이터셋에서 기존 CNN과 Transformer 모델들을 상회하거나 동급의 성능을 달성했습니다.
또한, Object Detection, Instance Segmentation, Semantic Segmentation 등 다양한 다운스트림 작업에서도 좋은 결과를 보였습니다.
APb: Object Detection
APm: Semantic Segmentation
Ablation Study 결과에 따르면:
InternImage는 CNN이 갖고 있던 구조적 한계를 DCNv3와 ViT에서 차용한 Layer 구조를 통해 극복하고자 한 시도로, 트랜스포머 연구가 주를 이루는 최근 연구 흐름 속에서 CNN의 발전 가능성을 실험적으로 입증한 의미 있는 연구라 할 수 있습니다.
다만, DCNv3는 DCNv1/v2보다는 효율적이지만 기존의 Convolution에 비해 연산 복잡도가 높아 처리 속도가 중요한 Object Tracking이나 자율주행과 같은 실시간 Vision Task에서는 적용이 어려울 수 있다. 이러한 부분은 향후 최적화 연구가 필요한 과제라고 생각한다. 그렇지만 이러한 단점이 있음에도 CNN도 발전 가능성이 있다는 것을 보여주는 좋은 논문이라고 생각한다.