본문 바로가기
코딩/데이터 분석 이론 & 응용

[10] Deep Learning - Hyper Parameter Tuning

반응형

[9] Deep Learning - Hyper Parameter Tuning

 

 

 

 

Hyper Parameter 

 

모델을 만들고 학습시킬 때 , 다양한 부분에서 hyper parameter를 선택해야 한다. hyper parameter 들의 예시로는 뉴런의 개수 , hidden layer의 개수 , 학습률 등 다양하게 존재한다.

 

 

이러한 hyper parameter들의 조합의 가짓수는 선택해야 할 parameter가 추가될 때마다 빠른 속도로 커질 것이다. 최적의 hyper parameter 조합을 찾는다는 것은 hyper parameter들로 이루어진 공간을 탐색해야 한다는 것과 같다. 이러한 부분에 있어서 최적화 기법을 사용할 수 있고 hyper parameter를 tuning 할 수 있다.

 

 

다음은 hyper parameter들에 대한 몇가지 예시와 설명이다.

 

 

  • Batch size (배치 크기) : 한번에 연산할 데이터의 크기 , 1 batch size = mini batch
  • 학습률 (lr) : 경사 방향으로 얼마나 빠르고 느리게 이동할지 결정하는 값
  • layer 개수 : hidden layer의 개수
  • 뉴런 개수 : 한 층에 존재하는 뉴런의 개수
  • 사용할 optimizer , activation function 종류 등등... 

 

 

최적의 hyper parameter 조합을 찾기 위해서 가장 좋은 방법은 모든 조합을 다 해보고 경우를 비교해보는 것이다. 이러한 아이디어에 기반해 모든 hyper parameter 조합에 대해 시도해 결과를 내보내고 Cross validation을 통해 어떤 경우가 가장 좋은 점수를 내는지 확인해보는 방법을 사용할 수 있다.

 

 

위의 최적의 hyper parameter 조합을 찾는 방법에 대해서는 아래의 코드에 좀 더 자세히 나와있다.

 

 

 

관련 코드

 

 

ref. "Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition"

 

 

 

반응형