반응형
[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"
반응형
'코딩 > 데이터 분석 이론 & 응용' 카테고리의 다른 글
[12] Deep Learning - Batch normalization (0) | 2022.01.19 |
---|---|
[11] Deep Learning - Initialization & Activation function (0) | 2022.01.18 |
[9] Deep Learning - Keras Functional API (0) | 2022.01.14 |
[8] Deep Learning - Perceptron (0) | 2022.01.12 |
[7] Deep Learning - CNN (0) | 2022.01.09 |