Dev study and notes

[딥러닝] 4-11 랜덤 초기화 본문

studyLog

[딥러닝] 4-11 랜덤 초기화

OPENLUNCH 2021. 8. 15. 17:03
반응형

이전포스팅:https://devlunch4.tistory.com/108

 

[딥러닝] 4-10 역전파에 대한 이해

이전포스팅: https://devlunch4.tistory.com/107 [딥러닝] 4-9 신경망 네트워크와 경사 하강법 이전포스팅:https://devlunch4.tistory.com/106 [딥러닝] 4-8 활성화 함수의 미분 이전포스팅:https://devlunch4.tis..

devlunch4.tistory.com

4-11 랜덤 초기화

 

학습목표:    변수를 임의값으로 초기화하는 이유를 알 수 있다.



핵심키워드:    가중치 초기화(weight initialization)

 

  • 신경망을 훈련시킬 때 변수를 임의값으로 초기화하는 것은 중요합니다         
  • 신경망에서 모두 0으로 초기화하고 경사 하강법을 적용할 경우 올바르게 동작하지 않을 것입니다 이제 그 이유를 살펴보겠습니다         
  • 두 개의 입력 특성을 가지는데요. 따라서 n^[0]는 2가 됩니다 .
  • 두 개의 은닉층이 있고 n^[1] 은 2의 값을 가집니다.
  •  은닉층에 관한 행렬 w^[1]은 (2, 2) 행렬이 될 것입니다.
  • 초기화 의 경우 a1^[1] 과 a2^{1}의 경우 완전히 같은 것이 되고 완전 대칭이라고 말할수 있다.
  • >
  • 수학적 귀납법에 의해 여러 반복에 의해 두 은닉 유닛은 항상 같은 함수를 갖는다.
  • >
  • 모든 값을 0으로 초기화 한다면 모든 은닉 유닛은 대칭이 되고 경사하강법 적용시키는지에 상관 없이 모든 유닛은 항상 같은 함수를 계산하기 되므로 쓸모가 없다.>
  • W^[1]는 가우시간 랜덤 변수를 생성한다.
  • >
  • 왜 가중치 0.01으로 하는가? 너무 큰 값을 가지는 경우 활성 값을 계산하면
  •  z^[1]은 w^[1]x + b^[1]이고 활성 함수 a^[1]은 z^[1]에 대한 값이 됩니다
  • w가 큰 값을 가지는 경우에 z도 굉장히 큰 값을 가지거나 몇몇 값이 굉장히 크거나 굉장히 작은 상태가 될 수 있습니다         
  • >
  • 결론적으로 w가 너무 긑 값을 가지면 매우 큰 값의 z를 이용해 훈련을 시작하게 되고 
  • tanh나 시그모이드 활성 함수가 너무 큰 값을 가지게 되므로 학습의 속도가 느려진다.




반응형
Comments