태그 보관물: tensorflow

tensorflow

분산 스케일링 이니셜 라이저와 xavier 이니셜 라이저의 차이점은 무엇입니까? 이니셜 라이저가 인기가 있음을 알았습니다. 나는

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는 실험적인 테스트 시간을 견뎌냈 기 때문에 사용하는 것이 더 안전 할 것입니다. 분산 스케일링에 대한 고유 한 매개 변수를 선택하려고하면 훈련이 방해되거나 네트워크가 전혀 획득되지 않을 수 있습니다.


답변