-
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만을 사용.
반응형'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