Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2015 ICLR Workshop] Striving for Simplicity: The All Convolutional Net #190

Open
Jasonlee1995 opened this issue Mar 14, 2024 · 0 comments
Labels
Discriminative Discriminative Modeling Principle Understanding the AI Vision Related with Computer Vision tasks

Comments

@Jasonlee1995
Copy link
Owner

Jasonlee1995 commented Mar 14, 2024

기존의 object recognition task에서의 CNN은 convolution + max pooling layers + top fc layers 조합을 사용했음

저자들은 CNN의 어떤 component가 object recognition에서 중요한 역할을 하는지를 알고 싶었다고 함

저자들이 실험한 결과, response normalization, complicated activation function, max pooling 없이 SOTA 성능을 낼 수 있었음

즉, convolution layers + ReLU로만 구성된 단순한 architecture만으로도 충분하다는 것

또한, CNN이 학습한 feature을 visualize하기 위해 guided backpropagation을 제안함

중요하다고 생각되는 부분만 간단히 요약

1. Model description - the all convolutional network

pooling, convolution layer formulation image

저자들은 pooling layer가 CNN에 도움이 되는 3가지 가설을 제시함

  1. p-norm이 CNN을 더 invariant하게 만듬
  2. Spatial dimensionality reduction으로 인해 input의 많은 부분을 커버할 수 있음
  3. Pooling operation의 feature-wise nature가 optimization을 더 쉽게 해줌

2번째 가설이 CNN의 good performance에 crucial하다고 가정하고, pooling을 사용하지 않으면서 spatial dimensionality reduction할 수 있는 2가지 방법을 생각할 수 있음

  1. Pooling layer를 날리고 pooling layer 이전의 convolution layer의 stride를 increase
  2. Pooling layer 대신 stride가 1보다 큰 convolution layer로 replace

1번째 방식은 kernel size는 유지한 채 stride를 늘리기에, overlap이 줄어들어 불리한 면이 있다고 볼 수 있음

Fully connected layer은 1x1 convolution으로 볼 수 있음

따라서 다음과 같이 all convolutional network를 구성

image

기존 : convolution + max pooling layers + global average pooling + top fc layers + softmax layer
변경 : convolution + convolution with stride layers + 1x1 convolution layer + average + softmax layer

2. Experiments

2.1. Classification results

결론
Max pooling layer을 convolution with stride로 replace한 모델이 기존 모델들보다 성능이 좋거나 비슷함
즉, pooling은 CNN이 regularize하도록 도와줄 수 있으며 성능을 해치진 않지만, SOTA performance를 내는데 필수가 아님

2.2. Deconvolution

image

Visualizing and Understanding Convolutional Networks 논문에서 approximate inversion인 deconvolution을 통해 CNN의 higher layer를 visualize했음

저자들은 max-pooling layer가 없는 all convolutional neural network에서 해당 방법이 잘 작동하지 않음을 발견하였으며, higher network layer가 배운 concept을 visualize하는 새로운 방법인 guided backpropagation을 제시함 제시

Visualizing and Understanding Convolutional Networks 논문과 Deep Inside Convolutional Networks: Visualising Image Classification Models and Saliency Maps 논문의 방식들을 섞은 방식으로, gradient 구할 때 forward에서의 ReLU output의 sign을 고려한다...정도로 생각하면 됨

figures image image image image image
@Jasonlee1995 Jasonlee1995 added Principle Understanding the AI Vision Related with Computer Vision tasks Discriminative Discriminative Modeling labels Mar 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Discriminative Discriminative Modeling Principle Understanding the AI Vision Related with Computer Vision tasks
Projects
None yet
Development

No branches or pull requests

1 participant