DINOv2 - Learning Robust Visual Features without Supervision

ai
Author

Seil Kang

Published

May 8, 2023

FAIR(Facebook AI Research)에서 arXiv에 게재한 DINOv2: Learning Robust Visual Features without Supervision 를 읽고 작성한 논문 리뷰입니다.

DINOv2 Figure1, DINOv2는 이미지 안에서 Object의 의미론적인 Partition을 구분할 수 있다.



DINOv2 Video Attention Map : FAIR blog

Review 시작

2023년 4월 17일 DINOv2가 공개 되었다. Paper Code Official Blog

DINOv2의 Motivation은 Computer Vision 분야에서 FineTuning이 필요하지 않은 High Performance를 발현하는 안정적인 Backbone을 만들자! 이다.

또한 이전에 제시된 우수한 Work들은(MaskedAE, DINO, SwAV…) 정돈되지 않은(Uncurated) 데이터를 베이스로 학습되었기 때문에 잠재력 만큼의 성능이 발현되지 않는다고 설명한다.

그렇기 때문에 정돈된(Curated) 데이터셋을 활용해서 학습했을때의 드러나지 않았던 잠재력이 나타난다고 한다.

{: .highlight } 한마디로 DINOv2는 대량의 수준높은 정돈된 데이터셋을 사용하여 훈련하고 이를 통해 완벽에 가까운(거의 모든 Down-stream task를 수행할 수 있는) Self-supervised Foundataion Model을 제시하고자 연구되었다.

오픈-소싱(Open Sourcing)으로 발표되었고 대기업 논문답게 코드 관리가 잘 되어있다.

DINOv2의 가치(Novelty)

Figure 2 : DINOv2는 8가지 이미지 관련 Task에서 Weakly supervised learning의 성능을 뛰어 넘었다.

DINOv2는 iBOT과 같은 이미 존재하는 SSL approach & design을 잘 다듬어서 안정화 및 가속화에 기여했다는 것이 Technical contributions이다.

모델과 데이터 크기의 Scaling이 일어날 때 SSL에 맞는 최적화 디자인을 제시했다.

말이 그럴싸하지 기존 DINO에 비해 사실 매력적이고 참신한 Methodology나 Approach는 없다.

그러나 논문을 보면 정말 빈틈없이 연구했다는 느낌을 받을 수 있다.

DINO의 가치는 방법론이 아닌 체계적인 연구, 기존 Work들과의 융합, 그리고 높은 성능을 달성하기 위한 데이터 큐레이팅 능력에 가치가 있다고 생각한다.

1. 이미지-텍스트 사전 훈련 모델의 한계점 극복

대표적인 이미지-텍스트 Pretrained Model은 CLIP(openai)이 있다. 무려 400M(4억개)의 데이터 개수를 바탕으로 멀티모달+컴퓨터비젼 Scene에서 큰 파장을 일으킨 모델이다.

그러나 이렇게 text-guided로 사전훈련된 모델은 Image feature가 Text(Image caption)에 많이 담겨있다면 Text에 의존해서 Image에 담긴 풍부한 정보들을 추정할 수 있다는 한계가 있다.

DINOv2는 오로지 이미지만을 사용했기 때문에 CLIP의 Text Input 의존성을 극복하고, Text-guided, Supervised 사전 학습법으로는 배우지 못하는 Image feature에 대해서 모델이 학습할 수 있다.

그리고 오로지 이미지로만 Self-supervised learning 기법을 통해 CLIP의 성능을 뛰어넘었다.

2. Data Processing

DINOv2와 같은 Foundation Model들은 수준 높은 데이터셋을 요구하는데 DINO v2 에서는 LVD-142M 이라는 데이터셋을 활용한다.

  1. 12억개(1.2B)의 이미지 데이터를 웹크롤링을 통해 수집 이렇게 모인 데이터는 Uncurated Data라고 함.
  2. ImageNet-22k, ImageNet-1k의 train split, Google Landmarks를 포함한 여러 세분화 된 데이터셋은 Curated Dataset이라고 한다. (수집과정에서 불건전한 Contents는 제외)

LVD-142M를 구축하기 전에 이렇게 Uncurated Data와 Curated Data가 구분된다. 그리고 이것들을 활용해서 Data Processing을 수행한다.

> DINOv2 Figure3, Data Processing 파이프라인

  • Embedding : ViT-H/16 모델을 사용해서 이미지를 Feature Embedding
  • Deduplication : 중복 이미지 or 중복에 가까운 이미지 임베딩 제거 (이미 존재하는 알고리즘 사용)
  • Retrieval :
    1. ImageNet-22k로 SSL Pretrained ViT-H/16 네트워크를 사용하여 이미지 임베딩을 계산
    2. Cosine Similality를 거리 측정 방법으로 사용하여 Curated 이미지와 가까운 이미지를 포함하는 Uncurated 데이터 소스에서 이미지를 검색.
    3. 그런 다음, Uncurated 데이터를 대상으로 k-means 클러스터링을 수행.
    4. 각 Curated 이미지에 대해 최근접 이웃 N(default==4)개를 걺.
    5. 검색을 위한 Curated 데이터셋이 충분히 큰 경우, 각 Curated 이미지에 대해 일반적으로 4개의 최근접 이웃 \(N\) 을 검색. 만약 Curated 데이터셋의 규모가 작은 경우, 각 Curated 이미지에 해당하는 \(M\)개 클러스터를 샘플링.
    6. \(N\), \(M\)의 결과를 시각적으로 검토하여 조정.

    DINOv2 공식 깃헙 Issue에 의하면 이 데이터셋을 공개할 의향은 없지만 Data curating과 관련된 Algorithms은 오픈 소싱 할 의향이 있는것 같다.

    성능을 올린 방법 - Detail

    > iBOT + 기타 고성능을 위한 이전의 SSL 방법론 & Parameter들 \(=\) DINOv2

    DINOv2는 다양한 이전 Work에 발표된 방법들을 도입해서 성능을 높이는 노력을 했다.

    정성스러운 실험

    > Carbon Footprint(탄소발자국) 실험결과 : DINOv2는 지구에도 좋다

    > 인간의 피부색, 성별, 연령 분류에 관한 실험 : AI 모델의 윤리에 대한 이슈가 많아지는 추세를 따라 실험을 한 것으로 보인다.

    > LVD-142M Dataset 위력 평가 : iBOT을 대상으로 Pretrain에 사용한 데이터를 바꿔가며 비교 실험 했더니 Curated Dataset(LVD-142M)으로 사전 훈련된 모델이 가장 높은 성능을 보였다.

    > Knowledge Distillation vs Scratch 성능 비교 : Teacher:ViT-g / Student:ViT-L* KD전략은 훨씬 작은 파라미터개수로 높은 퍼포먼스를 낼 수 있게 도움을 준다.

    Results

    > ImageNet-1k Classification 성능 : Only Image Data으로 내로라하는 모델들과 견줄 수 있다.

    > Supervised Fine-tune vs. DINOv2 : 무려 Supvervised Learning보다 2p% 격차로 성능이 더 높다.

    > Domain Generalization 성능 결과 : 도메인간에 분포차이(Domain Shift)에 상관없이 좋은 퍼포먼스를 낸다.

    DG 실험에 대한 개인적인 의견
    저는 Table 6.에 대한 결과는 Dataset 체급에 대한 영향이 크다고 생각합니다. LVD-142M은 수준높게 선별된 데이터일뿐만 아니라 깡 데이터 개수도 많기 때문에 그 안에 어떤 차별점을 갖는 이미지들이 포함되어있는지 알 수 없습니다. DG, UDG 분야는 데이터의 수준이 일관하고 그 안에서 이미지 분포를 Align 시키기 위해 수학적으로 맞추는 방법론을 사용할 수 있고 모델의 특성과 고차원의 Latent Space를 도입하는 방법등을 통해 연구 진행방향이 설정되어야 한다고 생각합니다.

    > DINOv2 최종 Output에 PCA를 거친 결과물 : Top3 Component를 각각 RGB채널로 여긴다음에 각 패치마다의 ColorMap을 Visualization 한 결과이다. DINOv2는 이미지 내 Object의 Component를 Semantic하게 분류 할 수 있는 능력이 있다. (오른쪽 위 말 사진의 엉덩이, 허리, 머리, 다리가 Map에서 구분된다.)

    Future Work

    이번 논문은 Self-supervised Learning 상황에서 대규모로 선별된(Curated) 데이터에 대해 사전 훈련된 새로운 이미지 인코더 시리즈인 DINOv2를 소개했다.

    DINOv2는 Finetuning 없이 다양한 벤치마크에서 Weakly-supervised learning에 필적하는 성능으로 우수한 Visual Feature를 달성하는 이미지 데이터에 대한 최초의 SSL(Self-supervised Learning) 접근 방식이다.

    DINOv2는 특정 이미지 도메인에 제한되지 않는 Object part 및 Scene geometry에 대한 이해와 같은 Properties를 나타낸다.

    모델과 데이터가 확장됨에 따라 Large Scale NLP 모델에서 새로운 언어 지침이 등장하는 것과 유사하게 이러한 속성이 더 많이 나타날 것으로 예상된다.

    또한 이 논문에서는 이러한 시각적 기능을 선형 레이어와 같은 간단한 분류기와 함께 사용할 수 있음을 보여주어 기본 정보를 쉽게 사용할 수 있음을 강조한다.

    미래에는 이 Foundation 모델들이 더 많아질 것이고 Foundation 모델을 활용하여 Visual Feature를 마치 단어 토큰인 것처럼 처리하고 필요한 정보를 추출하여 시스템을 접지할 수 있는 AI 시스템을 훈련시킬 수 있을 것이다.

    Meta에서는 이러한 연구방향성을 가지고 계속해서 확장할 계획이라고 한다.

    Reuse