ConvNextv2 논문리뷰


Cite

ConvNeXt V2: Co-designing and Scaling ConvNets with Masked AutoEncoders

http://arxiv.org/pdf/2002.05709v3

  • Sanghyun Woo, Shoubhik Debnath, Ronghang Hu, Xinlei Chen, Zhuang Liu, In So Kweon, Saining Xie
  • 출간일: 2023년 1월 2일
  • 인용횟수:  554회

Abstract

2020년대 초반 개선된 아키텍처와 더 나은 표현 학습 프레임워크에 의해 Vision Recognition은 빠르게 성장하였다.

그 중 2020년대 등장한 ConvNextv1은 ImageNet 데이터를 활용한 Supervised Learning을 사용하는 방식에 적합하게 만들어졌다.

최근에는 라벨이 필요없는 자기지도 학습(self-sumpervsied learning), 특히 Masked AutoEncoders(MAE)라는 방법이 주목받고 있다.

그러나 ConvNextv1에 자기지도 학습을 적용했을 때 성능이 좋지 못했다.

우리는 이를 해결하기 위해 ConvNextv2라는 새로운 모델을 제안한다.

self-supervsied learning을 위한 Fully convolutional masked auto-encoder frame-work와 feature map간의 표현력을 개선하기 위해 GRN(Global Response Normalization)이라는 기술을 추가해 성능을 끌어올렸다.

이 모델은 ImageNet classification, COCO detectionn, ADE20K segmentation 등 다양한 분야에서 우수한 성능을 보인다.

우리는 다양한 모델 크기를 지원한다. 3.7M(370만) 파라미터부터 650M(6억 5천마)파라미터까지 다양한 사전 학습 모델을 제공하며, 각각 ImageNet에서 최고 성능(76.7%-88.9% top-1 정확도)을 달성했다.

Introduction

MAE는 Transformer 아키텍처를 위해 설계되었다.

Transformer의 시퀀스 처리 방식

  • Self-Attention을 통해 각 패치(토큰)간의 관계를 학습
  • 모든 패치 간의 상호작용을 계산하여 글로벌 패턴을 학습

ConvNext의 처리 방식

  • Convolution Filter를 사용하여 조밀하게 이동하며 Local area를 처리
  • 전체 이미지에서 지역적으로 조밀한 영역을 반복하여 locality를 중심으로 학습함
  • 쉽게말해 CNN특성상 위치 정보보다는 이미지간의 섬세한 패턴과 특징을 중심으로 학습함

이러한 이미지의 위치적 정보를 중심으로 학습하는 Transfomer모델에 사용하던 MAE는 CNN에서 사용하기에 적합하지 못하다는 것이였다.

이를 해결하기 위해

  • Sparse Convolution 도입
  • Transformer Decoder를 ConvNext Block으로 대체
  • GRN 레이어 추가

Preliminary

MAE

  • 이미지를 패치 형태로 분할하고 random하게 패치들을 Masking
  • Encoder에서는 unmask되지 않은 visible patch만 사용하여 특징들을 학습
  • Decoder에서는 Encoder에서 학습한 특징들과 마스크된 패치들이 입력으로 들어가 원래 이미지를 복원
  • Decoder에서 마스킹된 이미지 위치 정보를 주기 위해 Positional Embeding 사용

Sparse Convolution

  • 희소 데이터를 효율적으로 처리하기 위한 합성곱 연산
  • Point Cloud와 같은 점 구름데이터 처럼 대부분의 공간은 비어있고 몇몇 중요한 데이터 포인트만 학습하도록 하는 기법.
  • 따라서 데이터가 있는 위치를 탐지하고 해당 위치(Active Sites)에서만 Convolution 연산 수행
  • 자율주행에서 물체 감지 또는 3D CT등에서 대부분의 공간이 비어있는 데이터를 처리하는데 적합

Method(FCMAE)

  • Fully Convolutional Masked AutoEncoder framework
  • 기존 Transformer에서 사용하던 MAE를 Convolution에서 사용하기 위해 고안된 프레임워크를 의미
  • Masking,

Masking

  • 32x32패치에서 60%를 무작위로 마스킹(최적의 값)
  • Downsampling의 마지막 단계에서 진행
  • 최소한의 데이터 증강을 사용하며 Random resized cropping을 진행

Encoder Design

  • Transformer계열에서는 마스킹된 배치를 아이에 제거하고 visible한 패치만 인코더의 입력으로 줌
  • 그러나 CNN기반의 ConvNext는 2D이미지를 그대로 유지하며 처리하는 방식으로 마스킹된 패치를 제거하면 이미지의 구조가 깨져버림
  • 따라서 마스킹된 영역도 같이 끼워줄 수 밖에 없는데 단순히 마스킹된 패치의 주변 정보만으로 복사하거나 쉽게 예측해서 푸는 문제가 발생함(shortcut 문제)
  • 이를 해결하기 위해 Sparse Convolution을 사용
  • 마스킹된 데이터를 회소 데이터(Sparse Data)로 간주하여 마스킹된 영역은 비어있고 visible patch만 남아있는 sparse한 데이터라고 생각
  • 학습단계: ConvNext의 Normal Convolution을 Sparse Convolution으로 바꿔서 사용
  • 추론단계: 학습이 끝나면 Sparse Convolution을 Normal Convolution으로 다시 바꿈

Decoder Design

  • 기존 ConvNext의 블록을 디코더로 사용
  • 인코더는 계층적 구조를 가짐으로 크고 복잡한 구조로 설계되어 decoder는 가볍게 설계
  • 이러한 구조적 차이로 비대칭(asymmetric architecture)를 가짐