Computer Vision

[2025-1] 주서영 - Towards Robust Vision Transformer

영써 2025. 1. 18. 13:49

Towards Robust Vision Transformer

 

Towards Robust Vision Transformer

Recent advances on Vision Transformer (ViT) and its improved variants have shown that self-attention-based networks surpass traditional Convolutional Neural Networks (CNNs) in most vision tasks. However, existing ViTs focus on the standard accuracy and com

arxiv.org

  • CVPR 2022
  • 2025.01.18 기준 인용 횟수: 226회

Introduction

RVT와 다른 Transformer의 Standard Accuracy와 Robust Accuracy(FGSM)

  • 기존의 Vision Transformer(ViT) 모델 변형들: DeiT, ConViT, Swin, PVT, PiT
  • 표준 정확도(standard accuracy)와 계산 비용에만 초점을 맞췄으나 모델의 견고성과 일반화에는 부족한 연구
    • 높은 standard accuracy를 달성했지만 robust accuracy는 떨어지는 현상 발생
    • 견고성 → adversarial attack이나 out-of-distribution에 받는 영향
  • 본 논문:
  1. ViT의 구조적 구성요소 분석
    • 패치 임베딩, 위치 임베딩, 트랜스포머 블록, 분류 헤드가 견고성에 미치는 영향 연구
  2. 플러그 앤 플레이 기법 제안 → 다른 ViT에도 적용 가능
    • 위치 인식 어텐션 스케일링(PAAS)
    • 패치 기반 증강을 통해 풍부한 데이터

ViT와 RVT*(구조+플러그 앤 플레이)의 구조

2. Robustness Analysis of Designed Components

ViT와 RVT의 Block 구조

(1) Patch Embedding

  • ViT에서 이미지를 patch로 나누는 단순한 토큰화는 가장자리와 모서리를 포착하기 어렵게 만듬
  • convolutional stem을 사용해 계산 비용을 낮추며 저수준 특징을 활용 → convolutional embedder를 활용

(2) Position Embedding

  • 기존 CPE(조건부 위치 임베딩)는 인코딩 입력에 위치가 쉽게 변경되어 견고성이 낮음
  • 다단계 설계 채택으로 공간 해상도가 큰 문제 해결

(3) Transformer Blocks

① Multi-stage Design

견고성과 계산 비용을 고려하여 V2 선택 (DeiT-Ti architecture 실험)

  • 큰 spatial resolution을 갖는 트랜스포머 블록이 많을 수록 모델의 견고성이 낮아짐
  • 트랜스포머 블록에서 spatial resolution을 점진적으로 낮추면 견고성이 어느 정도 향상됨

② 적절한 Attention Head 수

Attention Head 수에 따른 성능 차이

  • NLP와 유사하게 중복성을 줄이고 특징 다양성을 고려한 적절한 Attention Head 수도 모델의 견고성에 영향이 있음

③ Locality constraints of self-attention layer

  • Swin은 self-attention 계산을 입력에서 겹치지 않는 local window로 제한 → 모델 견고성에 좋지 않았음

④ Convolutional FFN

  • Convolutional FFN이 표준 정확도와 견고성을 모두 향상
    • local self-attention과 비교하여 ViT의 long-term dependencies를 손상시키지 않는 것으로 추측
    • FFN은 single token을 인코딩하는 반면 Convolutional FFN은 현재와 이웃 토큰을 모두 인코딩

(4) Classification Head

  • CLS 토큰을 평균 풀링으로 대체
    • CLS 토큰은 특정 위치 정보에 의존할 수 있음
    • 평균 풀링은 모든 CLS 토큰을 동일한 비중으로 취급해 위치에 대한 의존도를 낮춤
  • 이미지의 Translation-Invariance를 개선하고 견고성 강화 → 이미지 내에서 객체가 이동하거나 변형해도 동일하게 인식

3. Plug-and-play techniques

  • 다른 ViT 모델에도 적용가능

(1) Position-Aware Attention Scaling(PAAS)

  • Scaled Dot-product Attention에서 공간 정보 상관관계가 부족
  • 위치 중요도 행렬을 정의하여 원래 스케일링에서 수정

  • adversarial attack(FGSM)과 out-of-distribution generalization에 좋았음

(2) Patch-Wise Augmentation

  • 기존 이미지 전체 증강 방식을 유지하면서 각 패치에 개별적으로 다양한 증강을 추가 → 패치 내 특징 뿐만 아니라 패치 간 관계도 학습
  • 사용된 증강 방법
    • 무작위 크기 조정 자르기(random resized crop)
    • 무작위 수평 뒤집기(random horizontal flip)
    • 무작위 가우시안 노이즈(random gaussian noise)

참고

Adversarial Attack의 유형

  • White-box 공격
    • 공격자가 모델의 구조와 파라미터를 모두 알고 있을 때 수행
    • 예: Fast Gradient Sign Method(FGSM), Projected Gradient Descent(PGD)Adversarial Attack의 유형

CLS 대신 GAP(Global Average Pooling)을 적용한 이유와 차원 변화

  • self.gap = nn.AdaptiveAvgPool2d(1) ⇒ 입력이 (B,C,H,W) → 출력 (B,C,1,1)
  • cls_features = self.norm(self.gap(x).squeeze()) ⇒ (B,C)
  • GAP 연산은 채널 별로 평균을 내고 평균을 통해 얻은 클래스 개수만큼의 1차원 벡터와 클래스 라벨로 loss를 계산해 업데이트
  • loss를 업데이트하면서 컨볼루션 필터들은 이미지의 특징을 더 잘 잡도록 훈련되고 이 과정이 response 되면서 location 정보를 상대적으로 덜 잃는 것