본문 바로가기
논문리뷰

[논문 리뷰] ViT Robustness 요약, 코드, 구현

by davidlds 2023. 5. 8.
반응형

논문을 상세히 번역하고 한단어씩 해석해주는 포스팅은 많다.

나는 논문을 누구나 알아듣도록 쉽고 간결하게 전달하고자 한다.

 

ViT Robustness

Understanding and Improving Robustness of Vision Transformers through Patch-based Negative Augmentation
QIN, Yao, et al. Understanding and improving robustness of vision transformers through patch-based negative augmentation. Advances in Neural Information Processing Systems, 2022, 35: 16276-16289.
 

 

저자의 의도

ViT는 여전히 non-robust 하다.

robustness는 모델이 입력의 다양한 변화와 노이즈에 얼마나 견고한지를 나타낸다.

예를들어, NLP에서는 띄어쓰기나 오타가 있더라도 정확히 번역되는지를 말한다.

 

저자는 robustness와 퍼포먼스(이미지넷 정확도)를 향상시킬 방법을 찾고자 했다.

그리고 patch-based negative augmentation이 ViT의 robustness를 향상시키는 것을 확인했다.

 

기존 문제점

ViT는 CNN 계열과 비교하면 robustness가 좋으나 여전히 부족하다는 것.

 

해결 아이디어

저자는 연구를 하며 이상한 점을 발견했다.

ViT는 놀라울 정도로 patch-based transformation에 둔감하다.

 

사람이 인지할 수 없는 feature에 대한 ViT의 의존성

patch-based transformation
patch-based transformation

이 그림은 ViT baseline (ViT-B/16) 으로 평가한 것이다.

셔플, 로테이션, 인필 3가지 방법으로 augmentation한 것인데,

사람이 알아볼 수 없을 정도(not indicative to human)로 파괴했다.

이미지의 의미(sementic)이 파괴되었으나 ViT는 높은 confidence로 결과를 예측한다.

저자는 이 둔감성이 non-robust를 유발하는 것이 아닌지 확인해보고자 했다.

 

Non-indicative feature와 robustness의 관계

실험결과1
실험결과1

실험을 통해 non-indicative feature와 robustness의 관계를 확인해보자.

먼저 baseline과 3개의 모델(각 종류의 patch-based transformation으로만 학습)의 결과다.

 

patch-based transformation을 직접적으로 학습에 사용하면 오히려 정확도가 떨어진다.

저자는 여기서 out-of-distribution dataset인 ImageNet-A, C, R의 정확도가 많이 떨어지는 것에 주목했다.

ImageNet-A, C, R은 각각 (ResNet이 구별못한 이미지, 회전 및 노이즈를 준 이미지, 만화나 그림같은 이미지) 이다.

 

out-of-distribution dataset 정확도가 많이 떨어졌으니,

Negative augmentation으로 규제를 걸어버리면 역으로 좋아질거라는 논리이다.

 

(근데 내가 볼때 진짜로 이상한건 원본에서 정확도가 별로.... 안떨어진다는 점이다.... 다소 충격적인 수준..... )

 

Negative aumentation

loss function

신나는 공식 시간.

ViT를 규제하기 위해 이런 negative loss regularization을 설계했다.

patch-based transformation한 augmentation은 휴먼에게 시각적으로 인지불가능하다. (sementic을 소실했다.)

따라서 이런 augmentation은 정답일 확률이 낮다고 학습시킬 것이다.

 

y부분만 다르다. 이 y는 똑같은 값이 들어간 label을 사용한다.

예를들어, [개, 고양이, 사슴] class의 기존 레이블이 [1, 0, 0]이다.

augmentation된 데이터셋의 레이블을 [1/3, 1/3, 1/3] 이런식으로 부여한다.

 

이렇게 학습하면 저 sementic이 파괴된 이미지를 마주했을 때,

어떤 class도 정답이 아닐 확률이 높다고 판단하게 된다.

 

논문에서는 uniform과 L2 2가지 L_neg를 제시하며,

그중에서 쉬운 uniform의 경우, 모든 y 요소값을 1/K로 준다.

(K= total number of classes)

 

실험 결과

실험결과
실험결과

negative augmentation을 한 결과다.

out-of-distribution 데이터셋에서 정확도가 올라갔다.

negative augmentation이 robustness를 강화하는데 도움을 준 것이다.

 

실험결과
실험결과

positive augmentation과 negative augmentation을 같이 진행한 결과다.

positive augmentation은 기존의 augmentation으로 원본 이미지를 증강하는 방법이다. (patch-based는 아니다.)

이 결과를 보면 두 augmentation이 상호보완적이라는 것을 알 수 있다.

 

관련 논문 리스트 (스크롤 내려서 Paper List 참고)

 

끝.

반응형