분산 스케일링 이니셜 라이저와 xavier 이니셜 라이저의 차이점은 무엇입니까?


20

Tensorflow의 ResNet 구현에서 분산 스케일링 이니셜 라이저를 사용하고 xavier 이니셜 라이저가 인기가 있음을 알았습니다. 나는 이것에 대한 경험이 많지 않아 실제로는 더 낫습니까?


자비에르의 초기화에 대한 자세한 설명은이 링크를 방문 할 수 있습니다 prateekvjoshi.com/2016/03/29/... 그것은 자비의 초기화와 그 뒤에 직관의 적절한 유도를 포함한다.
만수 싱

답변:


31

역사적 관점

Xavier Glorot과 Yoshua Bengio가 "심층 피드 포워드 신경망 훈련의 어려움 이해" 에서 원래 제안한 Xavier 초기화 는 레이어 출력의 분산을 입력의 분산과 동일하게 만드는 가중치 초기화 기술입니다. . 이 아이디어는 실제로 매우 유용한 것으로 판명되었습니다. 당연히이 초기화는 레이어 활성화 기능에 따라 다릅니다. 그리고 논문에서 글로로와 벤지 오는 로지스틱 시그 모이 드 활성화 기능을 고려 했는데, 이는 당시의 기본 선택이었습니다.

나중에, 시그 모이 드 활성화는 소실 / 폭발 구배 문제를 해결할 수 있었기 때문에 ReLu에 의해 능가되었다. 결과적으로, 새로운 초기화 기술이 나타 났는데, 이는 동일한 아이디어 (활성화 분산의 균형)를이 새로운 활성화 함수에 적용했습니다. Kaiming He는 "Rectifiers에 대한 심층 분석 : ImageNet 분류에서 인간 수준의 성능을 능가" 에서 제안했으며 이제는 종종 He 초기화 라고합니다 .

tensorflow에서 He 초기화는 variance_scaling_initializer()기능 (실제로는 더 일반적인 초기화 프로그램이지만 기본적으로 He 초기화를 수행함)으로 구현되는 반면 Xavier 초기화 프로그램은 논리적으로 xavier_initializer()입니다.

개요

요약하면 머신 러닝 전문가의 주요 차이점은 다음과 같습니다.

  • 초기화는 ReLu 활성화가있는 레이어에서 더 잘 작동합니다.
  • Xavier 초기화는 S 자형 활성화가있는 레이어에 더 적합 합니다.

pytorch에서 어떤 초기화가 사용됩니까? 활성화에 따라 달라 집니까?
찰리 파커

2
안녕하세요, tanh()활성화 기능을 위해 어떤 초기화 기능을 사용해야합니까?
GoingMyWay

이 pytorch.org/docs/stable/…에 따르면 @GoingMyWay , He 초기화를 이득 5/3로 사용할 수 있습니다. 그래도 어디에서 왔는지 확실하지 않습니다.
Podgorskiy

3

분산 조정은 Xavier의 일반 화일뿐입니다 : http://tflearn.org/initializations/ . 둘 다 그라디언트의 스케일이 모든 레이어에서 유사해야한다는 원칙에 따라 작동합니다. Xavier는 실험적인 테스트 시간을 견뎌냈 기 때문에 사용하는 것이 더 안전 할 것입니다. 분산 스케일링에 대한 고유 한 매개 변수를 선택하려고하면 훈련이 방해되거나 네트워크가 전혀 획득되지 않을 수 있습니다.


감사. 분산에 대한 자신의 모수를 선택한다는 것은 무엇을 의미합니까?
하나 미치

TF 구현에서 이것은 인자 매개 변수 (입력 분산과 출력 분산의 비율을 결정)
liangjy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.