Gaegul's devlog

[논문리뷰] Out Of Distribution(OOD) Detection With Computer Vision_Ver.2 본문

Artificial Intelligence/Research Paper 리뷰 📖

[논문리뷰] Out Of Distribution(OOD) Detection With Computer Vision_Ver.2

부지런깨꾹이 2021. 1. 12. 17:18
728x90
반응형

저번 게시글에 이어 OOD 논문 리뷰를 진행해 보려 합니다.

START ☞

 

Transfer Representation-Learning for Anomaly Detection  / Jerone T.A.Andrews, Thomas Tanay (ICML 2016)

논문을 들어가기 앞서 생소했던 Representation Learning에 관해 찾아보았다.

 

*Representation Learning 

Feature Learning 이라고도 하며, 머신러닝은 Feature들로 인해 성능이 좌우된다. 이렇게 머신러닝이 가진 한계점을 극복하기 위해 데이터의 표현에서 출력 값을 찾아가는 과정 뿐만 아니라 데이터의 표현 자체도 같이 학습을 시키는 것이 Representation Learning 이다. 예를 들면, Autoencoder가 있다. encoder 과정에서 입력을 임베딩 시켜서 다른 표현으로 바꿔준 다음 decoder로 넣어 출력값을 다시 원래의 입력 데이터의 표현으로 바꾸어준다.

 

본 논문은 다음과 같은 방법을 제시한다.

- Transfer learning from pre-trained networks.

- Transfer learning from an auxiliary task by defining sub-categories of the normal class.

 

[ Datasets ]

- X-ray transmission images

- MNIST

- Augument CASIA-WebFace

 

[ Pre-trained CNN models  ]

- VGG-F

- VGG-M


ResNet : Deep residual learning for image recognition /  Kaiming He, Xiangyu Zhang (CVPR 2016) 

본 논문은 우리가 흔히 잘 알고 있는 ResNet 모델에 관한 논문이다. ResNet이 나오기 이전의 비전 모델이 사용됐던 것 보다 실질적으로 더 "깊은 네트워크"의 훈련을 용이하기 위해 residual learning framework를 제안한다. 단지 깊은 네트워크 구현을 위해 layer를 쌓는 것이 아니라 계층 입력에 대한 learning residual 함수로 계층을 명시적으로 재구성한다. ImageNet dataset에서 VGGNet 보다 8배 더 깊지만 여전히 복잡성이 낮은 최대 152개 layer가 있는 residual net을 평가한다. 이러한 ResNet : residual net 는 ImageNet test set에서 3.57% 오류를 가짐으로써 ILSVRC 2015 분류 작업에서 1위를 차지했다. 또한 100 및 1000개의 layer가 있는 CIFAR-10에 대한 분석도 제공한다. 표현의 깊이는 많은 visual recognition 작업에서 가장 중요하다. 매우 깊은 표현으로 인해 COCO object detection dataset에서 28%의 상대적 개선을 얻는다. 

 

하지만, 어느 정도의 네트워크 깊이는 더 좋은 성능을 가져왔지만 많은 레이어는 수렴을 방해하는 vanishing/exploding gradient 문제가 발생했다. 하지만 이 문제는 주로 표준화된 초기화 및 중간 계층에 의해 해결되었다. 이것은 수십 개의 계층을 가진 network가 back-propagation(역전파)와 함께 stochastic gradient descent(SGD)을 위한 수렴을 가능하게 만들었다. 

 

또 다른 문제로 degradation 문제가 있다. 깊이가 증가함에 따라 accuracy가 더는 증가를 하지 않는다는 것이다. 이러한 degradation 문제는 Overfitting이 원인이 아니라, 모델의 깊이가 깊어짐에 따라 training-error가 높아진다는 것이다. Figure.1에서 20-layer와 56-layer의 모델에 대한  training-error와 test-error를 비교하고 있다. 비교해 보면 56-layer가 훨씬 더 높은 퍼센트의 error를 가지고 있다.

 

이제부터 본격적으로 residual learning framework를 알아보고자 한다.

 

더 깊은 모델에 대한 construction에 의한 해결책이 존재한다. 더해진 layer는 identity mapping 된 것이고, 다른 layers는 조금 얕은 모델로부터 학습되어 복제된 것이다. 이러한 모델 Solution은 deep 한 모델일지라도 shallow 한 모델보다 높은 training error를 가질 필요가 없다는 것을 보여준다.

이 논문에서 우리는 deep residual learning 프레임워크에 도입된 degradation 문제를 설명한다. 각각의 쌓이는 layer가 바로 아래에 있는 mapping을 희망하는 대신에 우리는 이러한 layers를 residual mapping 한다. 

 

H(X)를 기존의 네트워크라고 할 때(x는 layer의 input이다.) 이 H(x)는 여러 비선형 layer로 이루어져 천천히 복잡한 함수에 근사된다고 가정할 때, F(x) := H(x) - x로 바꿔 F(x) + x를 H(x)에 근사하도록 하는 것(Residual mapping)이 더 쉽다고 가정한다.

 

이에 기반해 이를 feedforword neural networks에 적용한 것을 shortcut connections라고 한다.

 

*shortcut connection이란?

한 개 이상의 layer를 skipping 하는 것을 의미.

또한 Shortcut connection는 deirect 맵핑을 하는 대신에 identity 맵핑. Identity shortcut connection은 parameter를 추가하는 것도 아니고, computational complexity가 증가하지 않게 된다. 그 전체 network는 SGD와 backpropagation을 통해 학습될 수 있다.

 

Residual Learning Framework : Shortcut Connections 

 

1. Residual Learning 

H(X)를 기존의 네트워크라고 할 때 이 H(X)는 여러 비선형 layer로 이루어져 복잡한 함수에 근사된다고 가정한다. F(X) := H(X) - x로 바꿔 F(X) + X를 H(X)에 근사하도록 하는 것이 더 쉽다고 가정한다.

2. Identity Mapping by Shortcut

Residual Learning의 중점은 degradation문제를 어떻게 해결하는 것에 있다. shortcut connection을 Neural Network에 사용하여 back propagation할 때, identity mapping(x)를 미분하면 적어도 1이상의 값이 나와 최소한의 기울기를 만들어서 학습이 제대로 일어나지 않는 현상을 최소화했다. H(x)와 F(x)+x가 천천히 근사하는 방식은 같더라도 학습의 속도나 안정성으로 보았을 때 Shortcut connection이 훨씬 더 효율적이다.

3.  Network Architectures

다양한 plain/residualNet 모델들을 테스트 했고 다음은 ImageNet을 위한 두 모델을 설명한다.

 

Example network architectures for ImageNet. (왼) VGG-19 모델 (중간) 34 parameter layer 를 가진 Plain Network (오른쪽) 34 parameter layer를 가진 Residual Network

 

- Plain Network 

Plain Network baseline은 주로 VGGNet에서 영감을 받아 만들었다. plain network는 두가지  디자인 rule이 있다.

첫번째는 각 layer들은 같은 크기의 output feature map size를 만들고, 동일한 filter의 개수를 갖는다.

두번째는 만약 feature map size가 반으로 줄어든다면, layer당 time complexity을 유지하기 위해서 filter의 개수는 두배가 된다.

 

- Residual Network

plain network에 기반을 두고 shortcut connection을 추가한다. identity shortcut은 input과 output이 같은 dimension일때 바로 사용된다. dimension이 증가할때, 다음과 같은 두가지 옵션을 고려한다.

 

(A) identity shortcut connection을 계속 실행하는 경우, dimension을 증가시키기 위해 나머지를 zero padding한다. 이 경우가 왜 Extra parameter가 필요없는지 설명해준다.

 

(B) projection shortcut connection은 deimension을 맞추기 위하여 1X1 connection을 사용한다. 양쪽 옵션 모두 shortcuts이 feature map을 2size씩 건너뛰기 때문에 stride는 2를 사용한다.

 

 

 

 

 

728x90
반응형
Comments