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