Broccoli's House

#5-(5) 학습 관련 기술 : 초매개변수 설정 본문

공부/딥러닝

#5-(5) 학습 관련 기술 : 초매개변수 설정

김콜리 2018. 3. 16. 20:17

※ 이 글의 내용은 O'REILLY의 <밑바닥부터 시작하는 딥러닝> 책을 기반으로 한다.




학습 관련 기술 : 초매개변수 설정



  • 초매개변수
 - 초매개변수(하이퍼파라미터, hyper-parameters) : 초매개변수, 하이퍼 파라미터란 가중치(weight)같이 모델이 스스로 설정 및 갱신하는 매개변수가 아닌, 사람이 직접 설정해주어야 하는 매개변수를 말한다. 신경망에서는 뉴런의 수, 배치(batch)의 크기, 학습률(learning rate), 가중치 감소시의 규제 강도(regularization strength) 등이 있다. 이러한 초매개변수 값에 따라 모델의 성능이 크게 좌우되기도 한다. 

 - 초매개변수 값은 매우 중요하지만, 사람이 결정해야하는 것이기에 값을 결정하기까지 많은 시행착오를 필요로 한다. 이러한 시행착오를 그나마 줄이기 위하여 몇 가지 방법이 존재한다.



  • 검증 데이터
 - 검증 데이터 : 신경망 모델을 학습시키는 훈련 데이터와, 그 모델의 성능을 평가하기 위한 시험 데이터를 제외하고 초매개변수의 조정을 위해 필요한 데이터를 일반적으로 검증 데이터(validation data)라고 한다. 

 - 이러한 검증 데이터는 절대로 시험 데이터와 같은 데이터를 공유해서는 안된다. 그 이유는, 시험 데이터를 사용하여 초매개변수를 조정하면 초매개변수 값이 시험 데이터에 과대적합(Overfitting)되기 때문이다. 즉 초매개변수 값이 시험 데이터에 대한 성능만 잘 나오도록 조정되어 버리기에, 다른 데이터에는 대응하지 못하고 일반적 성능이 떨어지는 모델이 될 수도 있다는 것이다.




  • 초매개변수 최적화

 - 초매개변수 최적화의 핵심은 최적값이 존재하는 범위를 조금씩 줄여가면서, 최종적으로 최적값을 찾아낸다는 것이다. 범위를 조금씩 줄이려면 우선 대략적인 범위를 설정한 후에, 그 범위에서 무작위로 초매개변수 값을 샘플링한 후 그 값으로 모델의 정확도를 평가한다. 이러한 작업을 반복하여 초매개변수 최적값의 범위를 좁혀가는 것이다.

 - 초매개변수 최적화에서 주의할 점은, 딥러닝 학습은 시간이 오래걸린다는 점이다. 따라서 학습을 위한 에폭(epoch)을 작게 하여, 1회 평가에 걸리는 시간을 단축하는 것이 효과적이다. 

 - 최적화의 순서는 다음과 같다. 첫 번째, 초매개변수 값의 범위를 10의 거듭제곱 단위, 로그스케일로 대략적으로 설정한다. 그리고 두 번째, 설정된 범위에서 초매개변수의 값을 무작위로 추출한다. 세 번째, 샘플링한 초매개변수 값을 사용하여 학습하고, 검증 데이터로 정확도를 평가한다. 네 번째, 2~3번째 단계를 반복하여, 그 정확도 결과를 보고 초매개변수의 범위를 좁혀간다.


Comments