1) Tech

Auxiliary classifier란? / GoogLeNet에서 Auxiliary classifier를 사용한 이유?

Tech_holic 2020. 5. 8. 13:16
반응형

Auxiliary classifier란

= GoogLeNet (ILSVRC challenge 2014 winner) 에서 처음 도입된 개념 (Training을 잘하도록 도와주는 보조 역할 )

= gradient 전달이 잘 되지 않는 하위 layer을 training하기 위해 사용

= 쉽게 설명하자면 classification의 문제를 해결하는 Neural Network는 softmax를 맨 마지막 layer에 딱 하나만 놓는데, Auxiliary classifier는 중간중간 에 softmax를 두어 중간에서도 Backpropagation을 하게 함

=이를 통해 gradient가 잘 전달되지 않는 문제 해결함


Googlenet에 Auxiliary classifier를 사용한 이유 :

Neural Network가 deeper해질수록  vanishing gradient의 문제가 생김

 

*Vanishing gradient 란?:

= 가볍게 설명하자면 training이 잘되지 않음.

= 조금 디테일하게 설명하자면 Training (Backpropagation)할 때,  앞 layer로 gradient가 0 근사값으로 전달되어 training이 되지 않는 현상.

 

* Auxiliary classifier를 사용할때 주의할 점:

= Backpropagation시, weight값에 큰 영향을 주는 것을 막기 위해 auxiliary classifier에 0.3을 곱함.

맨마지막 softmax(classifier)는 따로 value를 곱해주지 않으면서 사용.

= Auxiliary classifier는 training시 발생하는 문제인 vanishing gradient 문제를 해결하기 위해 사용하는 technique이므로 inference하는 과정에서는 중간에 2개의 auxiliary classifier를 모두 제거 후, 제일 마지막 layer의 softmax만을 사용.

 

 

Googlenet

 

반응형