HyperParameter
Parameter, Hyperparameter
Neural network를 effective하게 만드는 데에는 network의 parameter뿐만 아니라 hyperparamater의 값도 영향을 미친다.
- parameter
- 알고리즘이 찾아주는 파라미터
- training을 통해 학습이 되는 것
- $W$, $b$
- hyperparameter
- 알고리즘이 찾지 못하는 파라미터
- learning rate, iteration 수 등
Hyperparameter
수많은 hyperparameter가 존재하지만, 불행 중 다행으로 모든 hyperparameter가 같은 우선순위를 가지는 것은 아니다.
Hyperparameter 탐색
Grid vs. Randomly
Grid처럼 몇 개의 조합을 정해서 탐색하는 것 보다는 random한 조합을 사용하는 것이 좋다.
Grid한 것을 사용하면 정해진 몇 개의 좁은 조합만 알 수 있지만 랜덤한 조합을 사용하면 여러 조합을 통해 최적의 case를 알 수 있기 때문이다.
이후 얻은 best case를 확대해서 그 부분을 중점(densly하게)으로 살펴볼 수 있다.
이는 시간이 오래 걸릴 수는 있지만 grid를 사용했을 때 보다 훨씬 좋은 결과를 얻을 수 있다.
Scaling
Uniform random하게 찾는 것 보다는 focusing을 하여 scaled random하게 찾는 것이 좋을 때가 있다.
Hyperparameter의 특성에 따라 어느 것이 좋을지는 다르다.
따라서 hyperparameter의 특성에 따라 전략을 다르게 세워야 한다.
예를 들어 learning rate의 경우 작은 값을 가질 때가 대부분 좋기 때문에 0~1까지의 uniform random하게 찾는 것 보다는 0~0.1까지에 좀 더 densly하게 찾는 것이 좋다.
Exponentially weighted average에 사용되는 $\beta$는 값에 따른 차이가 다르기 때문에 값이 커질수록 세밀하게 봐야 한다.
$\beta = 0.9000 \rightarrow 0.9005$로의 변화는 10일→20일 로의 변화이지만, $\beta = 0.9990 \rightarrow 0.9995$로의 변화는 1000일→2000일 로의 변화이다.
즉 $\beta$의 값이 커질수록 실제 날짜의 차이는 훨씬 크기 때문에 0~0.9의 영역 보다는 0.9~0.999의 영역을 더 세밀하게 살펴보는 것이 중요하다.
이를 조금 더 효율적으로 살펴보면 $1-\beta$로 변환하여 0~0.1의 영역을 세밀하게 살피면 된다.
'Computer Science > AL, ML' 카테고리의 다른 글
[Regularization] Dropout (0) | 2022.04.20 |
---|---|
Regularization - Overfitting 해소 (0) | 2022.04.20 |
[네트워크 성능] Bias, Variance (0) | 2022.04.20 |
[네트워크 성능] Dataset (0) | 2022.04.20 |
네트워크의 성능 (0) | 2022.04.20 |
댓글