-
Auxiliary classifier란? / GoogLeNet에서 Auxiliary classifier를 사용한 이유?1) Tech 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 반응형'1) Tech' 카테고리의 다른 글
Program, Process, Thread 의 관계 (0) 2020.07.14 abs() /Python 에서 절대값 구하는 함수 / absolute value (0) 2020.05.14 [linux vi] line number 보이게 하는 법 (0) 2020.03.26 anaconda 가상환경 리스트 확인하기 (anaconda list) (0) 2020.03.25 Python list 중복 값 제거 (0) 2020.03.18