가중치 초기화의 중요성
- Gradient Vanishing 문제란, MLP를 학습시키는 방법인 Backpropagation 중, Gradient 항이 사라지는 문제이다.
- Backpropagation 학습식을 보면 Cost Function의 Gradient 항이 존재한다.
- 이 항이 0이나 0에 가까워져 학습이 불가능해지는 현상을 말하는 것이다.
- 왜 gradient 항이 사라지는 현상이 발생할까?
- 이는 우리가 Activation Function으로 Sigmoid Function을 사용했기 때문이다.
- Sigmoid Function에 대해 자세히 살펴보자.
- Sigmoid Function의 도함수를 살펴보면 최대값이 0.25 인 것을 알 수 있다.
- 다시 말해, Sigmoid Function를 사용한다면, 망이 깊어질수록 Gradient가 1/4씩 줄어든다는 의미이다.
- 위 그림은 Backpropagation(역전파) 과정을 수식으로 나타낸것이다.
- W_1의 Gradient를 확인해보면 Backpropagation(역전파)로 인해, Sigmoid의 도함수가 중첩된 것을 볼 수 있다.
- Sigmoid의 도함수는 최대값이 0.25이기 때문에, 결국 Gradient 값이 급격히 줄어들게 되어 Gradient Vanishing 현상이 일어나게 된다.
- 하지만, 이러한 Gradient Vanishing 현상은 Activation Function의 변경을 통해 어느정도 보완할 수 있다.
- 또한, 가중치 초기화 시, 가중치의 값들을 최적의 값으로 설정한다면 gradient가 작아지더라도, 학습횟수가 적더라도 좋은 모델을 생성할 수 있다.
가중치를 0으로 초기화
- 가중치 값들을 0 으로 초기화한다면 학습이 불가능하다.
- 모든 parameter가 동일한 값으로 update 된다.