딥러닝 모델의 hyperparameter search
1. hyperparameter
모델을 train할 때 사람이 골라주는 parameter
learning rate, batch size, optimizer, …. 등등
어떤 hyperparameter를 사용할지에 따라 모델이 무슨 결과를 낼지는 해보지 않고서는 도저히 예측 불가능
그래서 hyperparameter search를 할 때는 model을 돌려서 결과를 보고나서 마음에 안드면 다른 hyperparameter를 고르고 그래
그런데 model 하나가 돌아갈 때 드는 cost는 거의 대부분 엄청나게 많아
단순히 돌아가는 것 뿐만 아니라 hyperparameter 변화로 모델이 그냥 이상해질 수도 있어서 그에 따른 비용도 엄청 남
그래서 hyperparameter search에는 parameter search에 비해서 cost가 엄청나게 많이 든다는 것이 기본 전제다.
찾은 hyperparameter로 무슨 효과일지 모르니까 일단 모델을 돌려 결과를 확인하는 exploitation
(exploitation결과가 마음에 안들면) 찾아낸 hyperparameter중 어떤 hyperparameter를 사용할 지 탐색하는 exploration 과정의 반복 연산이다.
2. grid search vs. random search
grid search는 parameter의 가능한 조합 space에서 정확히 격자 배열에 존재하는 조합만 사용하겠다는 것
random search는 grid search보다는 조금 더 넓은 범위의 느낌인데 parameter space에서 random하게 조합을 선택하여 사용
A가 최적일 수 있지만 grid search는 사용하지 않고 격자에 위치한 9가지만
이런 의미에서는 random search가 좋을 수 있음
초록색이 objective function이어서 x축을 objective에 직접 영향을 미치는 parameter, y축을 덜 영향을 미쳐서 덜 중요한 parameter라고 구분지었는데 아무리 생각해도 딱히 의미 없는 말인듯
3. manual search
논문에서 지시한대로 써보거나 직관적, 경험적으로 좋은 parameter를 사용하는 방법
4. surrogate model
model의 hyperparameter를 찾기 위한 ML model을 만들어 search하는 방법
본 모델의 hyperparameter set를 input으로 받고
이 hyperparameter를 본 모델이 사용했을 때 나타나는 validation loss를 output으로 학습을 하는 model이 surrogate model
5. gaussian process
surrogate model의 대표적인 방법
surrogate model이 머신러닝 모델을 돌려서 찾는 방법이라고 바로 위에서 이야기했지만
gaussian process는 그런 느낌은 아니고 더욱 저비용으로 조금 더 많은 탐색, 조금 더 유의미한 결과를 도출할 수 있는 방법이다???
'딥러닝 > light weight modeling' 카테고리의 다른 글
MNasNet과 PROXYLESSNAS와 ONCE-FOR-ALL network 알아보기 (0) | 2022.04.05 |
---|---|
NAS(Neural Architecture Search) 기법에 대해 알아보기 (0) | 2022.03.20 |
유명한 model compression 논문 몇가지 미리보기 (0) | 2022.03.06 |
model compression에서 고려되는 특이한 제약조건들 (0) | 2022.03.05 |
model compression이란 무엇인가? (0) | 2022.03.04 |