Intriguing properties of vision transformer 리뷰
Intriguing properties of vit
개인적으로 Vision Transformer(VIT) 모델에 대해 관심이 많았고, intriguing~ 논문은 항상 흥미롭기 때문에 참을 수 없습니다.
논문의 abstract에 따르면 vision transformer가 occlusion, spatial permutation, domain shifts 같은 원본이미지에 대한 nuisances에 강건하다는 특징을 밝혀냈다고 합니다.
Local texture에 biased한 CNN과는 달리 VIT는 shape biased representation을 한다는게 핵심인 것 같습니다.
1. Introduction
CNN이 인풋 이미지의 엣지나, 윤곽선 정보를 통한 local interaction을 학습하는 반면에, self-attention은 distant object parts 같은 global interactions을 효과적으로 학습합니다.
- Vit는 물체의 전경에 대한 심각한 occlusion(폐쇄)나 non-salient, random patch locations에 강한 강건성을 보여준다.
- CNN은 물체의 texture에 기반한 판단을 한다. 반면에 Vit는 사람과 비슷하게 shape recognition 을 통한 판단을 하며, 페인팅과 같이 텍스처 정보가 적은 테스크에서 우위에 있다.
- 이미지넷으로 사전학습된 off the shelf Vit 피쳐들이 새로운 도메인 데이터에 학습이 잘 된다.
2. Intriguing Properties of Vision Transformers
2.1 Are vision transformers robust to occlusions?
트랜스포머 모델이 occlusion에 강건하다는 것을 확인하기 위한 실험입니다. 아래 3가지 방식으로 원본이미지를 변형시켜 실험을 하였습니다.
- Random PatchDrop : 패치를 기준으로 랜덤하게 패치의 픽셀값을 0으로 초기화시키는 방법입니다
- Salient PatchDrop : 모든 픽셀정보가 물체에 대한 중요한 정보를 담고 있는 것은 아니니, self-supervised 모델을 이용해 salient regions 에 대한 패치정보 위주로 마스킹을 하는 방법입니다.
- Non-Salient PatchDrop : 반대로 salient하지 않은 것을 마스킹
[Figure3] CNN 베이스라인 모델인 ResNet50 과 VIT(or DeiT) 를 기준으로 잡고 비교해봤을 때 명확하게 VIT모델의 occlusion에 대한 강건성을 확인할 수 있습니다. 생각보다 차이가 크게 납니다.
2.2 Class Token Preserves Information
occlusion 된 이미지를 통해 attention map을 시각화했습니다. 초반 레이어에는 모든 지역들에 어텐션이 되었지만 레이어가 깊어지면서 non-occlueded 지역에 정보가 포커싱됩니다. 마지막 트랜스포머 인코더 블럭에서 class token을 뽑아 ResNet50과 비교했을 때, VIT가 더 occlusion에 대해 robust했습니다.
Shape Distilation
교사학습을 통한 knowledge distilation으로 shape 뿐만 아니라 texture bias한 모델을 만들 수 있습니다. CNN 으로 학습된 SIN dataset에다 shape token을 새로 추가해서 교사학습을 시행했습니다. 이 부분은 정확히 이해를 못했습니다.
Local texture을 제외하고 shape distilation을 했을 때 semantic segmentation을 아주 잘합니다. 반면 shape에 대한 정보를 뺐을때는 잘 못하는 결과가 나왔습니다. 아래 결과를 보면 알 수 있듯이, 잘 훈련된 transformer 모델은 사람이 물체 모양을 보고 분류하는 것만큼 이나 정확한 걸 알 수 있습니다.
그렇다면 positional encoding 덕분에 통해 occlusion에도 높은 성능을 낼 수 있는 것일까요?
이미지 패치에 대한 공간적인 순서 정보를 주기 때문에 후반 레이어의 정보손실 문제를 해결할 수 있으니 이 가설은 그럴듯하게 보입니다.
3. Does Positional Encoding Preserve the Global Image Context?
트랜스포머 모델은 self-attention 사용을 통해 long-range sequence 처리에 효과적이라고 알려져 있습니다. 이미지에서는 이미지 패치의 순서 정보가 전반적인 이미지 구조와 global composition을 표현합니다.
그렇다면 이미지 패치의 순서를 뒤바꿔서 구조를 변형하면, positional encoding 이 occlusion 문제를 해결한다고 가정에 대한 납득할 만한 결과가 나오지 않을까요?
이런식으로 이미지를 변형해보자.
실험 결과를 봤을 때, CNN based인 ResNet50 보다 성능이 훨씬 좋았습니다.(spatial ordering 을 destroy해도)
Table은 Mean Corropution Error로 낮을수록 좋은 지표이고 양쪽 모두 Augmentation을 통해 성능향상이 있었습니다.
앞의 실험을 통해서 VIT의 강건성은 positional Encoding 에서 오는 것이 아니란 것을 알았습니다.
실제로 패치 정보를 뺐을 때도 성능 하락이 그렇게 크지 않았습니다. (이건 vit논문에서도 4%라고 나왔던듯 합니다)
실험 후반부는 adversarial and natural perturbations 과 off-the-shelf feture extractor로써도 CNN 보다 효과적이라고 실험결과를 정리하면서 끝납니다.
4. Conclusion
VIT의 원본 이미지 변형에 대한 강건성은 인풋 이미지의 패치와 다른 패치들 간의 어텐션을 반영한 flexible and dynamic receptive field 에 있습니다.(positional embedding이 아니였다!)
논문을 읽으면서 shape 와 texture 정보에 대한 모델 의존성이 매우 흥미로웠고, Swin 모델이 아직도 segmentation 분야에서 sota인지 이해할 수 있었습니다.
또한 이러한 모델의 특징이 Augmentation을 통해 실험할 때도 원본 이미지에 어떤 변형을 줄 것인지에 따라 (Brightness, Contrast, Hue, Saturation 등..) 성능에 영향을 미칠 것이라고 생각이 들었습니다.
지금 진행중인 대회에서 swin transformer 모델을 사용하고 있는데 texture 보다는 shape에 대한 변형을 더 많이 준다면 model robust 덕분에 이득을 더 많이 볼 수 있을까요??
아래는 현재 주로 사용하는 albumentation을 이용한 augmentation 설정인데 아이디어를 적용해서 실험결과를 따로 포스팅하도록 하겠습니다.
def get_train_transforms(DIM = params['im_size']):
return albumentations.Compose(
[
albumentations.Resize(DIM,DIM),
albumentations.Normalize(
mean=[0.485, 0.456, 0.406],
std=[0.229, 0.224, 0.225],
),
albumentations.HorizontalFlip(p=0.5),
albumentations.VerticalFlip(p=0.5),
albumentations.Rotate(limit=180, p=0.7),
albumentations.ShiftScaleRotate(
shift_limit = 0.1, scale_limit=0.1, rotate_limit=45, p=0.5
),
albumentations.HueSaturationValue(
hue_shift_limit=0.2, sat_shift_limit=0.2,
val_shift_limit=0.2, p=0.5
),
albumentations.RandomBrightnessContrast(
brightness_limit=(-0.1, 0.1),
contrast_limit=(-0.1, 0.1), p=0.5
),
ToTensorV2(p=1.0),
]
)
추가적으로 아래 사진은 이해를 돕기 위해 2019년도에 나온 논문인 imagenet trained cnns are biased towards texture 에서 가져왔습니다. 코끼리 피부의 텍스처 이미지(a)와 고양이(b) 를 합성한 코끼리 피부 고양이(c) 를 CNN 모델이 Indian elephant 라고 판단한다고 하며 이를 해결하기 위해서는 shape-biased training 을 해야 한다고 말합니다. 자세한 내용은 시간여행자님의 리뷰글에 잘 정리되어 있습니다.
'machine learning > Article review' 카테고리의 다른 글
Hybrid- Swin-Transformers 리뷰 (0) | 2021.12.24 |
---|---|
Asymmetric Loss For Multi-Label Classification 리뷰 (1) | 2021.12.20 |
BERT4Rec review (0) | 2021.12.19 |
YOLO v1 리뷰 (0) | 2021.12.16 |
Fast & Faster R-CNN 리뷰 (0) | 2021.12.03 |
댓글
이 글 공유하기
다른 글
-
Hybrid- Swin-Transformers 리뷰
Hybrid- Swin-Transformers 리뷰
2021.12.24 -
Asymmetric Loss For Multi-Label Classification 리뷰
Asymmetric Loss For Multi-Label Classification 리뷰
2021.12.20 -
BERT4Rec review
BERT4Rec review
2021.12.19 -
YOLO v1 리뷰
YOLO v1 리뷰
2021.12.16