답변:
Xavier Glorot과 Yoshua Bengio가 "심층 피드 포워드 신경망 훈련의 어려움 이해" 에서 원래 제안한 Xavier 초기화 는 레이어 출력의 분산을 입력의 분산과 동일하게 만드는 가중치 초기화 기술입니다. . 이 아이디어는 실제로 매우 유용한 것으로 판명되었습니다. 당연히이 초기화는 레이어 활성화 기능에 따라 다릅니다. 그리고 논문에서 글로로와 벤지 오는 로지스틱 시그 모이 드 활성화 기능을 고려 했는데, 이는 당시의 기본 선택이었습니다.
나중에, 시그 모이 드 활성화는 소실 / 폭발 구배 문제를 해결할 수 있었기 때문에 ReLu에 의해 능가되었다. 결과적으로, 새로운 초기화 기술이 나타 났는데, 이는 동일한 아이디어 (활성화 분산의 균형)를이 새로운 활성화 함수에 적용했습니다. Kaiming He는 "Rectifiers에 대한 심층 분석 : ImageNet 분류에서 인간 수준의 성능을 능가" 에서 제안했으며 이제는 종종 He 초기화 라고합니다 .
tensorflow에서 He 초기화는 variance_scaling_initializer()
기능 (실제로는 더 일반적인 초기화 프로그램이지만 기본적으로 He 초기화를 수행함)으로 구현되는 반면 Xavier 초기화 프로그램은 논리적으로 xavier_initializer()
입니다.
요약하면 머신 러닝 전문가의 주요 차이점은 다음과 같습니다.
tanh()
활성화 기능을 위해 어떤 초기화 기능을 사용해야합니까?
분산 조정은 Xavier의 일반 화일뿐입니다 : http://tflearn.org/initializations/ . 둘 다 그라디언트의 스케일이 모든 레이어에서 유사해야한다는 원칙에 따라 작동합니다. Xavier는 실험적인 테스트 시간을 견뎌냈 기 때문에 사용하는 것이 더 안전 할 것입니다. 분산 스케일링에 대한 고유 한 매개 변수를 선택하려고하면 훈련이 방해되거나 네트워크가 전혀 획득되지 않을 수 있습니다.