취미가 좋다
The Many Faces of Robustness: A Critical Analysis of Out-of-Distribution Generalization 논문 본문
The Many Faces of Robustness: A Critical Analysis of Out-of-Distribution Generalization 논문
benlee73 2021. 5. 13. 16:16
The Many Faces of Robustness: A Critical Analysis of Out-of-Distribution Generalization
Dan Hendrycks, Steven Basart, Norman Mu, Saurav Kadavath, Frank Wang, Evan Dorundo, Rahul Desai, Tyler Zhu, Samyak Parajuli, Mike Guo, Dawn Song, Jacob Steinhardt, Justin Gilmer
CVPR 2020
Abstract
우리는 자연적으로 발생할 수 있는 이미지 스타일의 distribution change 에 대한, 3개의 새로운 robustness 벤치마크를 제안한다.
이 벤치마크를 사용하여, out-of-distribution (OOD) robustness 에 대해 제안된 이전 가설들을 테스트한다.
그 결과, 이전 결과들과는 달리, 더 큰 모델을 사용하는 것과 synthetic data augmentation 은 distribution shift에 대한 robustness가 향상됨을 발견하였다.
이를 계기로, SOTA 의 성능을 뛰어넘는 새로운 data augmentation 방법을 소개한다.
몇 augmentation 방법들은 texture and local image statistics 의 distribution shifts 에서 분명 도움이 되지만, 다른 distribution shifts 에서도 항상 도움이 되지는 않는다.
즉, 그 방법들이 robustness를 항상 증가시키지는 못한다.
그래서 우리는 여러 distribution 을 동시에 연구해야 한다고 생각한다.
1. Introduction
연구소는 새로운 환경에 견고한 모델을 만들어야 하지만, robustness 논문에는 벤치마크가 부족하고 불확실한 가설이 너무 많다.
Hendrycks 는 여러 최근 언어 모델이 이미 distribution shift에 견고하다고 하였고, Yin 과 Geirhos 는 비전 모델은 견고하지 못하여 data augmentation 기법이 필요하다고 하였다.
이와는 또 다르게, Taori 는 pretraining 과 in-distribution 의 test set에서 성능을 증가시키는 것만이 robustness 를 증가시킨다고 하였다.
이 논문에서 우리는 7개의 가설을 세우고 명확히 한다.
앞의 4개는 robustness를 향상시키는 method에 대한 가설이고, 뒤의 3개는 robustness의 properties에 대한 가설이다.
- larger models : 모델의 사이즈를 키우는 것이 robustness를 향상시킨다.
- self-attention : 모델에 self-attention layer를 추가하는 것이 robustness를 향상시킨다.
- diverse data augmentation : data augmentation가 robustness를 향상시킨다.
- pretrining : 더 크고 다양한 데이터셋으로 pre-training시키는 것이 robustness를 향상시킨다.
- texture bias : texture에 치우친 convolutional networks가 robustness를 떨어뜨린다.
- only IID Accuracy Matters : 독립적이고 동일한 분포를 갖는 test data(IID)에 대한 accuracy가 robustness를 결정짓는다.
- Synthetic x→ Natural : augmentation을 포함한 synthetic robustness intervention이 자연적으로 발생하는 distribution shift 에 대한 robustness에 도움이 되지 않는다.
- IID (independent and identically distributed) : 각각의 랜덤 확률변수가 서로 독립적이라, 하나가 변해도 다른 것들은 변하지 않는 것, 그리고 분포가 동일한 상태
기존의 robustness 데이터셋은 여러 측변을 동시에 변경하기 때문에, 이 가설들을 판단하기 어려웠다.
예를 들어, Texture Bias 는 synthetic distortion(2018) 로 연구되었고, 이는 Synthetic x→ Natural 가설에도 동시에 영향을 끼친다.
반면, 자연적으로 발생하는 distribution shift 는 시간, 카메라, 위치 등 여러 요인에 영향을 받는다.
그리고 존재하는 데이터셋들은 다양하지 못해서, 어떤 방법이 robustness에 도움이 되는지 판단하기 어렵다.
이러한 이슈와 가설을 판단하기 위해, 우리는 3가지 새로운 robustness 벤치마크와 augmentation method를 소개한다.
1. ImageNet-R (reditions)
ImageNet object class의 여러 reditions(painting, embroider...)이 포함된 30,000장의 test set이다.
- reditions : 연출, 표현 방법, 변환 등...
이런 변환들은 자연스럽게 발생된 것으로, Synthetic x→ Natural 가장을 분리해서 실험할 수 있다.
2. StreetView StoreFronts (SVSF)
구글 StreetView에서 가져온 storefront 이미지들와, 위치, 연도, 카메라 종류를 다양하게 변경할 수 있는 메타 데이터이다.
3. DeepFashion Remixed (DFR)
DeepFashion2에서 가져온 메타 데이터를 활용하여, 방향, 확대, 스케일을 test time에 조절한다.
SVSF, DFR은 texture 정보를 바꾸지 않으면서 distribution shift 를 조절할 수 있도록 한다.
4. DeepAugment
새로운 타입의 distribution shift에 rubust하도록 한다.
이 augmentation 기법은 image-to-image neural networks 를 사용하고, shearing, rotating 같은 이전의 유클리디안 기법들과는 다르다.
우리가 제안한 ImageNet-R 벤치마크와 corruption robustness 벤치마크에서 SOTA를 달성하였다.
그리고 다른 augmentation 기법들과 결합되면, 1000배 이상 많은 라벨링된 데이터로 학습된 모델보다 좋은 성능을 낼 수도 있다.
우리가 제안하는 DeepAugment 는 새로운 distribution shift 에 대해 robustness 를 증가시킨다.
이 기술은 image-to-image 인 neural network를 사용하고, 이전의 shearing or rotating 과는 다르다.
이는 ImageNet-R 벤치마크에서 SOTA를 달성하였다.
여러 실험을 통해, 위의 가설의 일부는 제외하고 나머지는 확실히 할 것이다.
하나의 예로, 우리는 합성 데이터 augmentation robustness 가 ImangeNet-R 및 real-world에서 blur distribution shift 에 대한 정확도를 증가시킴을 찾았다.
Synthetic x→ Natural 를 명확하게 하는 동시에, Diverse Data Augmentation, Texture Bias 가설을 뒷받침한다.
결론적으로, 위 가설들에 대한 여러 생각들을 요약한다.
우리 시험들에 따르면, robustness를 동등하게 증가시키는 일반적인 method를 찾지 못하였고, 몇 가설들은 추가적인 제약이 있기도 하다.
robustness가 accuracy와 같은 하나의 스칼라 값으로 측정되기도 하지만, 우리의 실험에 따르면 그렇게 간단하지가 않다.
우리는 robustness가 복잡하고 multivariate 하다고 가정한다.
3. New Benchmarks
7개의 가설을 평가하기 위해, 자연스럽게 발생하는 distribution shifts를 포함하는 3개의 새로운 benchmark를 제안한다.
ImageNet-R은 test set만 있고, SVSF 와 DFR은 training set과 여러 test set가 있다.
SVSF 와 DFR은 메타 데이터의 여러 이미지 속성에 따라 학습 데이터와 테스트 데이터로 나눌 수 있다.
예를 들어, 테스트 데이터를 학습한 이미지와 다른 카메라를 사용한 이미지로 설정할 수 있다.
3.1 ImageNet-Renditions
사람은 추상적인 시각적 변화도 처리할 수 있는 능력이 잇다.
사진을 통해 장면을 이해하는 것과 같이, 선으로 그린 그림을 통해서도 그 과정이 가능하다.
반면 지금의 classifier는 그정도 성능까지 나오지는 못한다.
이런 추상적인 시각적 변화에 대한 generalization 을 측정하기 위해 ImageNet-R 을 만들었다.
기존 ImageNet 데이터에 있는 object class의 다양한 시각적 변화를 포함한다.
ImageNet annotator는 그림 없이 사진으로만 데이터를 모았고, 우린 반대로 했다.
ImageNet-R은 200 종류의 ImageNet class에 대해 변환된 이미지 30,000 장이 포함되어 있다.
주로 Flickr에서 "art", "cartoons", "toys" 등의 query로 이미지를 모았고, 아래 Figure 2에서 확인할 수 있다.
먼저 수정된 ImageNet V2 수집 인터페이스를 사용하고, 아마존 메카니컬 터크 (MTurk)를 통해 이미지를 필터링하였다.
그리고 학생들을 통해 수동으로 필터링하였다.
3.2 StreetView StoreFronts (SVSF)
컴퓨터 비전 어플리케이션은 다른 기계, 시간, 위치에 민감하기도 해서, 종종 예상치 못한 성능 저하를 내기도 한다.
이러한 영향을 분석하기 위해, 국가 / 연도 / 카메라 에 따른 distribution shift 를 적용한 이미지들을 모아 SVSF를 만들었다.
SVSF는 구글 StreetView 이미지에서 object detection 모델로 찾은 business store 를 자른 이미지로 구성되어 있다.
각 매장의 이미지에는 모델과 사람(annotator)의 조합으로 class label이 할당된다.
비슷한 타입의 매장을 묶어 총 20개의 클래스로 분류하였고, 아직 공기적으로 데이터를 공개하진 않았다.
국가 / 연도 / 카메라 라는 메타 데이터 속성에 따라 1 개의 training data 와 5 개의 test 데이터로 나누었다.
먼저 US/Mexico/Canada 에서 2019년도에 새로운 카메라 시스템으로 찍은 이미지로부터 training set(200K), test set(10K) 를 나누었다.
이 때, test set은 in-distribution 이다.
그리고 OOD test set으로는 위의 조건에서 하나씩만 조건을 수정하여 각 10K 개의 이미지로 구성된다.
(2017, 2018; Fance; old)
3.3 DeepFashion Remixed
카메라에 다라 물체 크기, 시점, 줌 등의 속성이 변경될 수 있다.
이를 측정하기 위해, DeepFashion2 데이터셋의 용도를 바꿔서 DeepFashion Remixed (DFR) 데이터셋을 만들었다.
training set으로 48K 이미지를 할당하고, 객체 크키, 객체 가려짐, 카메라 시점, 줌의 변화에 따른 성능 측정을 위해 8개의 OOD test set을 만들었다.
DFR 이미지에 여러 옷이 포함되어 있을 수 있으므로, multi-label classification task이다.
SVSF와 비슷하게 4개의 metadata 속성에서 하나만 바꿔간다.
training set에는 medium scale, medium occlusion, side/back viewpoint, no zoom-in 이미지를 가지고 있다.
IID 테스트 셋을 샘플링 한 후, 하나의 속상만 바꿔가며 8개의 test set을 만든다.
minimal and heavy occlusion; small and large scale; frontal and not-worn viewpoints; medium and large zoom-in
4. DeepAugment
Diverse Data Augmentation을 더 깊게 탐구하기 위해 새로운 augmentation 기법을 제안한다.
image-to-image 네트워크(image autoencoer or superresolution network)를 사용하여 동작하지만, 모델의 weight와 activation을 왜곡하여 동작시킨다.
랜덤한 동작들로 네트워크의 weight를 왜곡시킨다.
zeroing, negating, convolving, transposing, applying activation function...
이렇게 하면 Figure 3와 같이 다양하지만 의미는 동일한 (semantically consistent) 이미지가 생성된다.
기존의 augmentation 기법들은 이미지 자체에 단순한 변화를 주었지만, 우리는 확률적으로 네트워크 내부를 왜곡하였다.
5. Experiments
5.1 Setup
Model Archigtectures and Sizes
대부분의 실험은 standard ResNet-50 모델에서 진행되었다.
모델 사이즈 실험에서는 여러 사이즈의 ResNet, ResNeXt 를 사용하였다.
Pretraining
21,000 종류의 클래스와 약 1,400만 개의 이미지가 있는 ImageNet-21K를 사용하여 pretraining 한다.
또는 ImageNet-1K보다 10배 많은 데이터를 사용한다.
그리고 pre-trained 된 ResNeXt-101을 사용한다.
이 모델은 약 10억 장의 instagram 이미지로 pre-trained 되고, ImageNet-1K로 fine-tune 되었다.
여기의 pretraining 전략인 Weakly Supervised Learning(WSL)은 1000배 많은 라벨링된 데이터를 사용한다.
Self-Attention
CBAM, SE 모듈을 사용하였다.
Data Augmentation
Diverse Data Augmentation 가설을 분석하기 위해 Style Transfer, AugMix, DeepAugment를 사용하였다.
그리고 Speckle Noise, adversarial noise와 같은 간단한 noise augmentation과 그들의 성능을 비교했다.
Style Transfer는 학습 이미지의 스타일을 변환시키는 네트워크를 사용한다.
AugMix는 단순한 augmentation 기법들을 무작위로 선택하여 적용한다.
Speckle Noise는 normal distribution으로 부터 샘플링한 x를 사용하여 픽셀에 1+x를 곱한다.
그리고 adversarial 를 data augmentation이라고 간주하고 모델을 학습시켰다.
5.2 Results
3가지 벤치 마크 뿐만 아니라 ImageNet-C에 대해서도 실험을 진행하였고, 실제 distribution shift와 비교하였다.
ImageNet-R
아래 Table 1 에서 ImageNet-R 뿐만 아니라 ImageNet-200에 대한 성능도 보여준다.
ImagNet-200 : 기존 ImageNet에서 ImageNet-R이 사용하는 200의 class에 대한 데이터 일부
먼저 ImageNet-21K로 Pretraining 한 것은 성능 향상에 도움이 되지 않았다.
그래서 pretraining은 효과적이지 않다고 결론을 내렸다.
self-attention의 경우 IID 와 OOD 간의 격차를 증가시켰다.
Speckle Noise와 같은 간단한 augmentation 기법들과 비교해서, 다양한 augmentation 기법들은 generalization을 향상시켰다.
그리고 augmix 와 deepaugment는 in-distribution 에서 성능이 올라갔지만, sytle transfer은 성능을 저하시켰다.
deepaugment의 경우 57.8%로 가장 좋은 성능을 보였다.
마지막으로 큰 모델은 IID/OOD 격차를 줄였다.
다양한 data augmentation 을 통해 네트워크가 texture 에 편향되지 않도록 하였더니 성능이 올라갔다.
이를 통해, Texture Bias 가설을 지지할 수 있다.
IID/OOD 의 격차는 only IID Accuracy Matters 가설과 달리 매우 다양하기 때문에, 지지하기 어렵다.
마지막으로, ImageNet-R은 real-world 데이터를 가지고 있고, synthetic data augmentation이 성능 향상에 도움을 주고 있기 때문에, Synthetic x→ Natural 가설에 반대되는 주장을 가진다.
StreetView StoreFronts
아래 표를 보면, SVSF 데이터셋에서 여러 data augmentation을 평가하엿다.
모든 방법들은 크게 다르지 않은 성능을 가졌으며, 어떤 방법도 country shift에 도움을 주지 못했다.
프랑스에서의 이미지는 다른 사진들과 눈에 띄게 다른 건축 스타일과 매장 디자인이 포함되어 있다.
카메라와 연도의 변화에서는 눈에 띄는 변화나 일관된 변화를 찾을 수 없었다.
이것은 카메라와 연도의 변화가 평가된 방법들과 무관함을 보여준다.
전반적으로 Diverse Data Augmentation은 효과가 없었고, 빌딩 구조와 같은 높은 수준의 semantic shift(의미 변화)를 알아 차리기엔 augmentation이 충분히 다양하지 않았다.
DeepFashion Remixed
Table 3에서 DFR의 실험 결과를 볼 수 있다.
모든 방법의 OOD에서의 mAP는 baseline과 비슷한 것을 확인할 수 있다.
그리고 OOD의 mAP는 IID 에 따라 증가하고 감소한다.
일반적으로 DFR의 크기와 occlusion shift가 성능을 제일 많이 저하시킨다.
추가로 이미지 내에 사각형 모양으로 삭제하는 Random Erasuer augmentation도 진행했다.
occlusion 성능을 향상시켰지만, sytle transfer이 더 많이 향상시켰다.
OOD 성능은 IID 성능에 영향받는 것 이외에 다른 것으로부터 영향 받는 것은 없어보인다.
이 실험은 Only IID Accuracy Matters 이외의 다른 가설들에 대한 증거를 주지 못한다.
ImageNet-C
7개의 가설을 재평가하기 위해, 이전의 robustness 벤치마크를 사용한다.
우리가 사용하는 ImageNet-C는 ImageNet-1K validation 이미지에 대해 5개의 강도에 걸쳐 15개의 일반적인 이미지 corruption(Gaussian noise, 안개...)를 적용한 데이터셋이다.
아래 Figure 4를 보면, DeepAugment + AugMix를 적용했을 때, robustness가 향상됨을 알 수 있다.
트랜드를 따르지 않고 SOTA를 달성하였고, 1000배 많은 학습 데이터로 학습했을 때의 corruption robustness를 능가하였다.
DeepAugment & AugMix 로부터의 augmentation은 ImageNet-C의 corruption과 관련이 없으므로, Only IID Accuracy Matters 가설에 반대되는 증거가 된다.
Table 8을 보면, Larger Models, Self-Attention, Diverse Data Augmentation, Pre-training, Texture Bias 가설의 증거가 된다.
물론 ImageNet-C는 여러 synthetic한 corruptions를 사용하였고, real-world robustness 와는 다르다.
real-world robustness는 위의 날씨와 같은 corruptions에 generalizing 해야하지만, ImageNet-C의 합성 데이터가 실제 데이터를 대체할 수 있을 지는 의문이다.
1000개의 real world blurry 이미지를 모아서 실험을 했을 때, ImageNet-C가 real-world corruptions에 대한 robustness를 따라갈 수 있음을 발견한다.
Flickr로 Real Blurry Image 데이터셋을 수집했고, ImageNet 클래스 이름에 "blurry" 단어를 붙여서 쿼리로 사용했다.
그렇게 모은 데이터셋에서 evaluate하였고, ImageNet-C에서의 robustness가 real-world blurry 이미지에서도 도움이 되었다.
그래서 ImageNet-C는 실제 corruptions 성능 향상에 도움이 되었다.
게다가, DeepAugment + Augmix는 가장 성능이 좋았으며, 이는 Synthetic x→ Natural 가설에 반대된다.
모든 결과는 Appendix A에 있다.
6. Conclusion
이 논문에서 3가지 새로운 벤치 마크를 소개했고, 7가지 robustness 가설을 테스트했다.
robustness를 위한 method이 4개의 가설을 각각의 데이터셋에서 실험한 결과는 아래 표와 같다.
결론적으로 모든 distribution shift에서 좋았던 방법은 없었다.
위 4가지의 가설은 나머지 3개의 가설에 영향을 준다.
Texture Bias에 관해서, ImageNet-R은 다른 texture을 가진 변화에 네트워크가 잘 일반화되지는 못했지만, texture을 왜곡하는 diverse data augmentation이 accuracy를 증가시킴을 보여주었다.
larger models 와 diverse data augmentation이 대체적으로 + 이며, 이 두 가지가 texture bias를 감소시킴을 보여준다.
그러나 이러한 방법이 geographic shift에는 큰 도움이 안되었으며, texture bias보다 robustness에 더 많은 것이 있음을 보여준다.
Only IID Accuracy Matters에 관해서, IID로 OOD의 성능을 예측하기는 좋지만 절대적이지는 않다.
Table 4를 보면, 많은 방법들이 여러 distribtuion shift의 robustness를 증가시키고 있다.
Synthetic x→ Natural에 관해서, DeepAugment 가 ImageNet-R과 Real Blurry Images에서 성능을 향상시키는 것이 반대되는 증거를 명확히 보여준다.
요약하면 몇 가설들은 이정하기 어렵고, Texture Bias 가설이 가장 많은 근거가 있다.
우리의 7가지 가설은 robustness에 대해 몇 가지 반대되는 의견을 제시했다.
그 이유는 robustness가 accuracy와 같이 하나의 스칼라 값이 아니기 때문이라고 생각한다.
연구소는 ImageNet의 classification accuracy와 같은 univariate metric으로 IID accuracy를 판단하는게 합리적이라고 한다.
- univariate metric : 결과를 하나의 값으로만 판단하는
ImageNet accuracy가 높은 모델이 다른 task에서 fine-tuned 되어 더 좋은 calssification accuracy를 얻기 때문이다.
반면, ImageNetV2 혹은 ImageNet-C로 OOD accuracy도 판단하는 것은 너무 간단하다고 생각한다.
그래서 우리는 robustness는 multivariate라고 가정한다.
multivariate 가정은 natural model robustness를 전적으로 제어하는 스칼라 모델 속성이 없음을 의미한다.
만약 robustness에 많은 측면이 있다면, 앞으로의 연구는 여러 distribution shift를 사용해서 robustness를 평가해야한다.
에를 들어, ImageNet은 적어도 ImageNet-C 와 ImageNet-R과 함께 테스트되어야 한다.
그러나 이 논문에서 보면, robustness 방법보다 OOD robustness 데이터셋이 더 많다.
따라서 새로운 robustness method 만드는 것을 우선적으로 해야한다.
'논문' 카테고리의 다른 글
Fast and Accurate Model Scaling 논문 정리 (0) | 2021.04.16 |
---|---|
ResNeSt : Split-Attention Networks 논문 정리 (0) | 2021.03.19 |
SENet : Squeeze-and-Excitation Networks 정리 (0) | 2021.03.18 |
ResNet / ResNext 정리 (0) | 2021.03.18 |
Mask R-CNN 정리 (0) | 2021.03.17 |