Weight initialization [09-2]

Sung.K·2021년 5월 17일
0

모두를 위한 딥러닝2

목록 보기
12/25

Initialize는 '초기화 하다'라는 뜻이다.
신경망은 처음에 Weight를 랜덤하게 초기화하고 Loss가 최소화되는 부분을 찾아간다.
신경망은 어떻게 초기화하느냐에 따라 학습속도가 달라질 수 있는데,
대표적인 초기화 기법으로는 Xavier Initialization, He Initialization, LeCun Initialization등이 있다.

가중치의 초깃값을 0으로 하면?

가중치를 작게 만들고 싶으면 초깃값도 최대한 작은 값에서 시작하는것이 정공법이다.
그렇다고 초깃값을 0으로 설정한다면, 이것은 나쁜 아이디어다. 실제로 가중치 초깃값을 0으로 하면 학습이 옳바르게 이루어지지 않는다.
'가중치가 고르게 되어버리는 상황'을 막으려면 초깃값을 무작위로 설정해야 한다.

초깃값을 모두 0으로 해서는 안되는 이유는 무엇일까?

오차역전법에서 모든 가중치의 값이 똑같이 갱신되기 때문이다.


Xavier Initialization (세이비어 초기화)

이전 Layer의 노드 수와 다음 Layer의 노드 수에 따라 가중치를 결정 짓는 방법이다. Uniform 분포를 따르는 방법으로 초기화하는 방법과 Normal분포를 따르는 방법으로 초기화하는 두가지 방법이 사용된다.


He Initialization

Xavier Initializationd은 ReLU함수를 사용할 때 비효율적이라는 것을 보이는데,
이를 보완한 초기화 기법이 He Initialization이다.
Uniform 분포를 따르는 방법으로 초기화하는 방법과 Normal분포를 따르는 방법으로 초기화하는 두가지 방법이 사용된다.

profile
Towards the goal 👀

0개의 댓글