본문 바로가기
대학원 공부

Ai : Search (Manual, Grid, Random)

by 월곡동로봇팔 2020. 9. 16.

우리들의 모든 ai 모델들은 data 기반으로 Model이 train되고 test가 이루어진다. 또한 data 기반으로 만들어지는 Model들은 여러 Hyperparameter를 가지게 된다. 그래서 인간들은 인간이 정해주어야하는 Hyperparameter 까지 MAX를 나타내는 search를 하도록 하고 싶었다. 실제로 현재 나와있는 Optimization 방법들이 이 3가지의 개념들을 응용한 최적화 기법이라고 생각하면 된다.

 

그래서 이번 포스팅에서는 여러 search 방법 중, Manual, Grid, Random 방법 3가지를 적고 이들의 목적, 개념, 장단점을 차례로 비교해 볼 생각이다.


Manual Search

정의

우리가 직접 조절하면서 search하는 것을 Manual Search라고 한다. (사전지식 포함)

적용

보통 직관에 의해서, 혹은 대중들에게 알려진 방법으로 찾아내는 방법이다. 따라서 여러번 시도를 해본 후, 가장 높은 성능을 나타냈던 hyperparameter를 쓰는 방법이다. 따라서 보통 계산할 시간이 없다거나, 급하거나 한 경우 많이 한다. 아마 대부분 사람들이 이 방법을 많이 쓸 것이다.

장단점

우선, 시간이 단축된다는 아주 좋은 장점이 존재한다.

하지만 이 방법은 단점이 매우 많다. 우선, 경험에 의한 것이기 때문에, 이 방법이 정말 최적의 방법인지 누구도 단정할 수 없다. 또한 조절해야 할 hyperparameter가 그림처럼 한 개라면 사실, manual 해도 된다. 하지만 만약 동시에 조절할 hyperparameter가 3개, 아니면 그 이상이라면, 우리는 hyperparameter를 도대체 어떻게 조절해야 max를 가지게되는지 누구도 쉽게 답할 수 없다.


Grid Search

정의

우리가 조절하지 않고, 구역이 설정된다면, 그 구역을 일정한 간격으로 나누어서 search (사전지식 미포함)

장단점

굉장히 직관적이다. 또한 모든 구간을 일정하게 나누어서 search를 진행하기 때문에 local maximum에 빠지는 확률이 적어진다. 

하지만 이 방법의 단점은 전체 탐색구간을 어떻게 할지, 간격의 길이는 어떻게 할지, 얼마나 나눌지를 정하는 hyperparameter를 여전히 사람이 정해주어야하고, manual search와 동일한 문제로 hyperparameter가 늘어나면 늘어날 수록, search하는 구간이 기하급수적으로 늘어난다. 만약 한 parameter를 10개로 나누어서 점을 찍는다하면 10개의 hyperparameter 의 경우는 $10^10$으로 제곱의 형태로 기하급수적으로 늘어나게 된다.


Random Search

정의

우리가 조절하지 않고, 구역이 설정된다면 그 구역을 랜덤한 수로 search (사전지식 미포함)

장단점

Grid Search에 비해 불필요한 search를 하지 않아도 되고, 동시제 정해진 grid 사이에 위치한 값들에 대해서도 확률적으로 탐색이 가능하며 hyperparameter를 찾을 수 있다는 장점이 존재한다.

하지만 grid search에 비하면 Local에 빠질 수 있다는 단점이 언제나 존재한다. 그리고 사전지식이 전혀 필요하지 않기 때문에, Grid보다는 불필요한 탐색은 덜하지만, 그래도 불필요한 탐색이 생길 수 밖에 없다.

 

참고: research.sualab.com/introduction/practice/2019/02/19/bayesian-optimization-overview-1.html

 

Bayesian Optimization 개요: 딥러닝 모델의 효과적인 hyperparameter 탐색 방법론 (1)

지난 글의 서두에서 ‘AutoML’이라는 주제에 대해 간단히 소개해 드린 적이 있습니다. AutoML을 한 문장으로 표현하자면 ‘Machine Learning으�

research.sualab.com

'대학원 공부' 카테고리의 다른 글

Ai : Transfer Learning  (0) 2020.08.30
Ai : Meta Learning  (0) 2020.08.28
Ai : Few shot Learning  (0) 2020.08.28
AI : Continual Learning  (0) 2020.08.27
AI : Self Supervised Learning  (0) 2020.08.27

댓글