Loading...
2023. 9. 13. 04:06

구현하면서 배우는 weight initialization(가중치 초기화) 중요성

가중치 초기화(weight initialization)은 모델을 만들고 훈련하기 전에 한번 수행을 한다 좋은 가중치 초기화는 모델이 optimal point에 더 빠르게 다가갈 수 있게 한다 1. 상수 가중치(all zero or one) occam's razor(경제성의 원리)에 따르면 모든 가중치 값을 동일한 상수로 가정하는게 최적의 솔루션일 수 있다 모든 weight가 동일하다면, 각 layer의 뉴런이 동일한 output을 내놓기 때문에 모델이 어떤 weight를 바꿔야 최적해를 찾는지 결정하기 어려워서 training을 어렵게 한다 FashionMNIST 데이터셋에 동일한 MLP 모델을 training하는데 가중치를 모두 0으로 초기화하는거랑 1로 초기화하면... 2. random weight ..

2022. 3. 11. 22:58

딥러닝 모델에서 가중치를 초기화하는 방법(weight initialization)

신경망을 학습할 때 가중치를 초기화하고 update해야하는데 어떻게 초기화해야 학습에 좋을까? 단순히 0으로 시작해버린다면 gradient가 0으로 계산되는 경우가 많을 것. 너무 큰 값으로 시작한다면, 계산된 activation이 너무 커질 것. 단순한 예시로 위와 같은 신경망에서, bias = 0이라고 가정한다면... z = W1(W2(W3...(Wn(X))..))로 계산되는데, n개의 weight들의 곱에 input X의 곱으로 중간 output이 계산된다. 만약 weight들의 원소가 1보다 작은 값들이라면.. weight들을 곱할수록 0에 가까워진다. 하지만, 1보다 조금이라도 크다면 weight들을 많이 곱할수록 매우 커진다. 그러다보니 weight들을 처음에 어떤 값들로 시작하는게 딥러닝 학..