Intriguing Properties of Vision Transformers

2021. 6. 10. 16:08딥러닝

arxiv, github

나의 요약 : vision transformer >>>>> CNN, texture보단 shape을 본다.

요약

occlusion(가림막), domain shifts(질감 변경), spatial permutations(격자무니 섞기), adversarial attack(공격), perturbations(픽셀 노이즈) 실험으로 ViT의 좋음을 확인

결과

1. occlusion, perturbation, domain shift에 좋다.

2. texture에 less biased(texture바껴도 잘맞춤)

3. high shape biased(shape 바뀌면 못맞춤)

4. Off-the-shelf feature사용해도 좋음(이전 layer의 feature로 앙상블)

1. Introduction

2. Related Work

이 논문에서, 큰 ViT모델이 less texture bias이고, shape정보에 상대적으로 큰 주안점을 둔다.

Off-the-shelf(이전 layer의 feature를 사용하는 연구)

이 논문에서, ViT가 flexible receptive field, content-based context modeling의 효과를 보임.

3. Intriguing Properties of ViT

1) PatchDrop

Patch Drop해도 CNN은 잘떨어지는데 ViT는 잘 안떨어짐
Attention with PatchDrop Patch Drop하면 뒤쪽 레이어에서는 drop안한 것만 highlighted됨.

2) Shape vs Texture

Training without Local Texture

SIN(=style변경된 ImageNet) 데이터셋에도 CNN보다는 잘 맞춤. Object shape만 봐도 잘 맞춤.

Shape Distillation

Shape-biased ViT Offers Automated Object Segmentation

위 두개 안읽음

3) Positional Encoding이 Global Image Context를 보존할까?

ViT는 positional encoding사용한다.

Image Patch를 셔플해도 잘 맞출까?

 

셔플하면 CNN, ViT둘다 성능 떨어짐. positional encoding안쓰면 ViT의 성능이 많이 안떨어짐. Fig10보면 왜 ViT에서 16x16 patch size사용했는지 알수 있음.

의문점 : Figure9 오른쪽그림에서 DeiT-T-no-pos는 0~196까지 성능이 일정해야할거같은데.. 왜 196에서 팍 오르지?

답변(저자 답변 github, 1번) : 0,4(2$\times$2),196(14$\times$14)는 모두 196의 약수! 8,16,32,64는 약수가 아니므로 떨어진다.

%중요% : Positional Encoding없어도 성능 그렇게 많이 안떨어짐(0.715->0.69)

4) Robustness(Adversarial, purturbation)

질문을 던져보자 : Shape-bias한 모델은 robust한가?

synthetic common corruptions : rain, fog, snow, noise

5) Off-the-shelf

다른 Dataset + Fewshot learning

의문점 : Aircraft(few shot), Flower에서는 왜 DeiT가 성능이 떨어지지?

답변(저자 답변 github, 2번) : 저자도 확신을 못하나, 두 데이터셋이 small, fine-grained라서 feature들로부터 강하게 이득을 보았을거 같다고 함.

Class 갯수 : Aircraft(100), CUB(200), DTD(47), GTSRB(43), Fungi(1394), Places365(365), iNaturalist(1010)

donaricano-btn