InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions 논문 리뷰

똘레랑스·2025년 7월 3일
0

Code Review

목록 보기
2/2
post-thumbnail

이전에 했던 논문 리뷰와 조금 다르게 이번에는 예전에 랩실에서 했던 논문 세미나 발표 형식을 가져와서 작성했다.
이 논문은 2022년에 나온 논문으로 2023 CVPR에 올라간 논문이며 CNN기반의 모델로 트랜스포머 기반 모델과 비슷하거나 더 나은 성능을 가져온 모델에 관한 논문이며, CNN의 가능성에 대한 논문이다.

1. 연구 배경과 필요성

최근 비전 분야에서는 Transformer 기반의 모델들이 큰 주목을 받고 있다. Vision Transformer(ViT)이나 Swin-Transformer 등 다양한 변형들이 등장하고 있으며, 이미지 전체 혹은 지역(Local)에 대해 효과적으로 Attention을 수행함으로써 CNN 기반 모델들이 해결하기 어려웠던 Long-range DependencyAdaptive spatial aggregation과 같은 측면에서 트랜스포머가 더 뛰어났다.

Long range Dependency
이미지나 시퀀스 데이터에서 멀리 떨어진 위치 간의 관계나 의존성을 모델이 학습하거나 고려하는 능력

Adaptive Spatial aggregation
이미지 특징을 추출할 때, 특징을 어느 위치에서, 얼마만큼 집계할지 (합칠지)를 동적으로 결정 하는 것

반면 기존의 CNN은 고정된 커널로 국소(Local) 영역의 특징을 추출하는 방식에 머물러 있어 파라미터를 늘리거나 대용량 데이터셋에서의 성능 향상 폭이 제한적이어서 고성능의 모델에 있어서 불리하다는 평가를 받으면서, 이러한 이유로 최근 몇 년간 CNN 연구는 트랜스포머에 비해 상대적으로 정체된 상황이었다.

InternImage는 이러한 흐름 속에서 CNN의 구조적 유연성을 높이고, ViT와 같은 트랜스포머 구조와 경쟁할 수 있도록 CNN에 **Deformable Convolution v3(DCNv3)**를 결합하여 새로운 가능성을 제시한 논문입니다.

2. 기존 CNN의 한계와 DCN의 발전


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 효율성을 챙기는 방식을 말했다.

DCN

CNN의 핵심 연산자인 Convolution은 고정된 격자(Grid) 기반의 샘플링을 사용하여 Input Feature map을 처리한다. 하지만 일반적인 고정된 커널로는 Long range dependence와 Adaptive spatial aggregation의 특성을 효과적으로 챙기기 어렵다는 단점이 있다. 이를 해결하기 위해 **DCN(Deformable Convolution)**이 등장했다.

이 논문에서는 DCNv3를 제안하였고, 이전의 방식들을 간단하게 먼저 설명하자면 다음과 같다.

  • DCNv1에서는 각 커널의 샘플링 위치를 입력 데이터에 따라 유동적으로 조정하여 특징을 더 효과적으로 추출할 수 있도록 하였다. 이를 Offset이라 부르며, 각 위치별로 x, y 방향 이동 값을 학습한다.

  • DCNv2에서는 위치만 조정하는 것에 그치지 않고, 각 위치의 중요도를 Modulation 파라미터로 학습하여 더 의미 있는 정보를 강조할 수 있도록 했습니다. 이는 sigmoid를 사용하여 각 위치별 중요도를 정규화하는 방식을 사용했습니다.

DCNv3는 3x3 커널만을 사용하여 adaptive spatial aggregation을 챙기고, inductive bias를 줄였으며, 계산 비용을 줄였다. 또한 ViT와 비슷한 구조에 적용하면서 DCNv2의 구조를 개선하여 세 가지를 새롭게 도입했다. 고정된 커널 사이즈(3×3)를 유지하면서도 offset과 modulation을 학습적으로 제어해 실제 receptive field가 유연하게 확장·축소될 수 있다.:

  1. 가중치 공유(Weight Sharing): 동일한 그룹 내에서 가중치를 공유함으로써 계산 비용을 줄입니다.
  2. 멀티 그룹(Multi-group Mechanism): Transformer의 Multi-head Self-Attention과 유사하게 그룹을 나누어 서로 다른 Offset Field를 학습하도록 하여 다양한 특징을 추출합니다.
  3. Softmax Modulation: Modulation 정규화에 sigmoid 대신 softmax를 사용하여 학습 안정성을 높입니다.

3. InternImage의 구조

InternImage는 ViT의 장점을 CNN에 적용하여, Transformer의 구조적 이점을 CNN과 결합했습니다.

  • Stem Block: 입력 이미지를 4배 축소하며, 3x3 Conv, Layer Normalization(LN), GELU 활성화 함수를 사용합니다.
  • Downsampling Block: 각 Stage에서 Feature Map을 2배씩 다운샘플링하며 점진적으로 깊이를 쌓아갑니다.
  • Basic Block: ViT의 기본 블록 구조와 유사하게 LN과 FFN(Feed Forward Network)을 사용(LN->DCNv3->LN->FFN의 구조)하며, 핵심 연산자는 DCNv3를 사용합니다. 트랜스포머와 비교했을 때, Attention 연산 대신에 DCNv3를 사용하여 효율성을 챙길 수 있다. 트랜스포머에서 MSA대신 DCNv3가 들어간 것과 유사하다.
  • Stacking Rule: 규칙을 정해서 전체 레이어를 어떻게 쌓아나갈지 정하여 하이퍼파라미터의 수를 최대한 줄이도록 하였다. EfficientNet의 Scaling Rule과 유사하며, i번째 스테이지의 채널 수(Ci), 그룹 수(Gi), 블록 수(Li) 등에 대한 규칙으로 핵심 하이퍼파라미터를 최소화하여 다양한 모델 크기(Tiny~Huge)를 설계할 수 있도록 했다.

전체 구조는 Stem을 통해서 입력 이미지의 사이즈를 줄이고, Basic Block과 Downsampling을 번갈아가면서 총 4개의 stage를 지나는 구조이다.
특히 InternImage-H 모델은 CNN 백본 모델 중 최초로 파라미터 수가 1B를 초과하여 대규모 ViT와 동급의 파라미터 규모를 가집니다.

4. 성능과 실험

InternImage는 ImageNet-1K 등 대규모 이미지 분류 데이터셋에서 기존 CNN과 Transformer 모델들을 상회하거나 동급의 성능을 달성했습니다.
또한, Object Detection, Instance Segmentation, Semantic Segmentation 등 다양한 다운스트림 작업에서도 좋은 결과를 보였습니다.


APb: Object Detection
APm: Semantic Segmentation

Ablation Study 결과에 따르면:

  • Weight Sharing을 했을 때와 하지 않았을 때를 비교해보면, Weight를 공유했을 때 왼쪽 이미지를 보면 연산량과 파라미터 수가 훨씬 더 적은 것을 볼 수 있다. 이와 동시에 오른쪽 이미지에서 이 두 경우의 성능을 비교해보면 큰 차이가 없는 것을 알 수 있다.
  • Multi-group Mechanism을 통해서 다양한 형태의 특징을 효과적으로 추출하는 데 기여하면서 성능을 높였다.
  • Modulation 정규화를 softmax를 사용하였을 때를 오른쪽 이미지에서 비교해보면, 성능이 많이 향상된것을 볼 수 있다.

5. 의의와 한계

InternImage는 CNN이 갖고 있던 구조적 한계를 DCNv3와 ViT에서 차용한 Layer 구조를 통해 극복하고자 한 시도로, 트랜스포머 연구가 주를 이루는 최근 연구 흐름 속에서 CNN의 발전 가능성을 실험적으로 입증한 의미 있는 연구라 할 수 있습니다.

다만, DCNv3는 DCNv1/v2보다는 효율적이지만 기존의 Convolution에 비해 연산 복잡도가 높아 처리 속도가 중요한 Object Tracking이나 자율주행과 같은 실시간 Vision Task에서는 적용이 어려울 수 있다. 이러한 부분은 향후 최적화 연구가 필요한 과제라고 생각한다. 그렇지만 이러한 단점이 있음에도 CNN도 발전 가능성이 있다는 것을 보여주는 좋은 논문이라고 생각한다.

profile
Computer vision 공부중입니다!

0개의 댓글