::고려대학교 DMQA 연구실::

Lab. Activity

 

 

 

Lab. Activity>Seminar  

Hyperparameter Optimization (발표자: 도형록)

작성자 관리자 작성일 2016-10-28 오후 4:39:07
내용

발표자 Summary


도형록

금일 세미나에서는 hyperparameter optimization을 소개하였다. Hyperparameter optimization은 기계학습 모델에서 사용자가 직접 설정하는 hyperparameter 또는 tuning parameter를 적절하게 설정하여 generalization performance를 최대한 높이려는 시도이다. Cross-validation이나 validation set에 대한 prediction error를 통해 추정되는 generalization error가 낮은 모델을 얻기 위해 가장 일반적으로 사용되는 방법은 grid search이다. Grid search는 hyperparameter space를 grid 형태로 분할한 뒤 각 grid point에 대해 validation error를 계산하고 전체 grid point 중 가장 낮은 error를 나타낸 hyperparameter를 선정하는 방식이다. Grid search를 이용할 경우, 적절한 범위와 간격을 설정한다면 통해 가장 좋은 hyperparameter를 찾을 수는 있지만, 모델을 학습하는 데 필요한 시간이 상당해진다는 문제가 발생한다. 특히, hyperparameter의 갯수가 많아질수록 시도해야하는 grid point의 수는 exponential하게 증가하게 되므로 좋은 hyperparameter를 찾는 것이 거의 불가능해진다. 이를 해결하기 위해 random search, metaheuristic, sequential model-based optimization 등이 제안되었다. 특히, sequential mode-based optimization 방식은 hyperparameter와 validation error 사이의 관계를 학습하여 hyperparameter를 선택하는 방식으로, 상당히 효율적인 방법론으로 알려져있다. 다수의 hyperparameter를 가지면서 학습 시간에 많은 시간이 요구되는 deep neural network 계열의 기계학습 알고리즘에 유용하게 사용될 수 있다.

 


청취자 Summary


유재홍

금일 세미나는 Hyperparameter optimization을 주제로 진행되었다. Hyperparameter란 데이터마이닝 알고리즘을 적용하기 위해서 분석자가 설정해야 하는 매개변수를 의미한다. 일반적으로는 이러한 매개변수를 파라미터라고도 부르지만, 통계모델에서의 모수를 의미하는 용어역시 파라미터이므로 발표자는 이러한 혼동을 방지하기 위해서 전자를 Hyperparameter로 지칭하였다. 데이터 분석을 위해서 Hyperparameter는 cross validation이나 bootstrap기반의 샘플링등을 통해서 generalization error가 최소화되는 경우의 Hyperparameter를 최적의 Hyperparameter로 결정하지만, 금일 세미나에서는 sequential mode-based optimization을 통해서 결정하는 방법론을 소개하였다. 이 방법론은 순차적으로 임의의 파라미터를 생성하고 이를 알고리즘에 적용하여 error을 도출하고, 이를 바탕으로 GPR (Gaussian Process Regression) 기반의 generalization error function을 도출하여 generalization error을 최소화할 수 있는 Hyperparameter을 도출하는 방법론이다. 사실  Hyperparameter를 결정하는 문제는 매우 중요한 문제임에도 불구하고 많은 관심이 가는 분야는 아니었지만, 이번 세미나를 통해서 이러한 연구도 중요하다는 것을 새삼 깨달을 수 있었고, Hyperparameter을 도출하는 새로운 방법에 대해 배울 수 있었다.

 

박영준

금일 세미나에서는 우리가 모델링 하는 과정에서 항상 수행하지만 간과하고 있는 분야인 hyper parameter search에 대해 형록이가 발표를 했다. Hyper parameter optimization을 다룬 어떤 논문에는 이를 "black art"라고 부르면서 이론적인 근거보다는 경험과 직관에 의존하는 분야라고 언급을 했다. 오늘 세미나에서 다룬 hyper parameter search 방법은 grid search, random search, sequential model-based optimization 으로 많은 파라미터를 빠른시간에 효율적으로 탐색할 수 있는 능력을 가졌다. 소개한 논문에 의하면 sequential model-based optimization이 제한된 시간에 비교적 좋은 성능을 가진 모델을 얻을 수 있었지만 random search도 다른 복잡한 search 방법과 비교해 좋은 성능을 보인다는 내용도 있었다. 이번 세미나에서 우리가 간과하고 있는 부분에 대해서 어떤 방법론들이 있으며 어떤 흐름으로 연구되고 있는지 알 수 있는 유익한 기회였다. 


이한규

sequential model based search에 관한 내용으로 hyperparameter를 찾는 방법이다. 실험 혹은 연구를 위해 알고리즘을 적용하고, 해당 알고리즘의 성능 향상을 위해 parameter search를 진행한다. 그리고 그 과정에서 일반적으로 grid search를 수행한다. 넓은 구간으로 1차 search를 진행한 후, 평가지표(일반적으로 정확도)가 가장 좋은 구간을 대상으로 구간을 더 잘게 쪼게 2차 search를 진행하게 되며 그에따라 상당히 오랜 parameter search 시간이 필요하다. 그러나 본 세미나에서 다룬내용은 어떻게 하면 search를 빨리, 효과적으로 진행할 수 있지에 대한 논문으로 parameter에 따른 평가지표의 분포를 추정하는 방법이다. 따라서 초기 몇번의 실험만을 통해 얻은 parameter의 조합을 통해 분포를 추정하고 이를 반복수행하여 평가지표의 분포라고 추정되는 특정한 line을 찾게 된다. 이 때 목표로 하는 평가지표가 최대(혹은 최소)값을 갖게 되는 조합을 찾게된다. 어떻게 보면 그동안 아무렇지 않게 사용했던 grid search가 아닌 modeling을 통해 parameter를 찾는  점에서 다른 관점의 연구라고 생각된다. 항상 실험을 할때, optimal parameter를 찾는데 상당히 오랜 시간이 소요되었는데 위 방법을 통해 상대적으로 쉽게 parameter를 찾을 것 같아 유용한 세미나라고 생각된다. 

 

곽민구

금일 도형록 연구원이 진행한 세미나는 Hyperparameter Optimization을 하는 다양한 컨셉들과 그 중에서 Sequential Model-based Optimization에 대해 다루었다. Lasso의 lambda, SVM의 C, epsilon 등 머신러닝 모델을 구축하는데 있어서 사용자가 직접 지정해주어야 하는 매개변수를 hyperparameter라고 부른다. Validation Dataset을 구축해서 각 hyperparameter의 성능을 평가하는 것이 일반적이지만, 각 매개변수의 총 범위(range)가 넓거나 매개변수의 단위(10씩 차이를 두면서 모델을 평가하는 것과 0.1씩 차이를 두는 것)에 따라 평가해야 하는 모델의 수가 늘어나고, 특히 hyperparameter의 종류가 하나씩 추가될 때마다 소요시간은 기하급수적으로 늘어나게 된다. Grid Search의 이러한 시간적 문제를 해결하기 위해 Random Search, Gradient-based Search, Sequential Model-based Optimization(SMBO) 등의 방법론이 제시되었다. 그 중에서 SMBO는 초기점을 시작으로 매개변수에 따른 모델의 성능을 '추정'하는 방법이다. 정해진 시간 동안 각 매개변수에 대한 성능을 평가한 후 기평가된 매개변수 목록에 저장을 하고, 성능을 다시 추정한다. 이러한 반복적인 평가절차를 거친 후 최종적으로 매개변수를 찾는 컨셉이다. 모델에 따라 hyperparameter에 영향을 크게 받는 경우가 있는데, 이러한 상황에서 유용하게 사용될 수 있는 방법이라고 생각이 들며 유익한 세미나였다.

 

최우식

오늘 세미나에서는 흔히 튜닝 파라미터라고도 하는, SVM에서 커널 모양 및 페널티 파라미터, random forest에서 트리의 수나 subset으로 활용할 변수나 관측치의 수 등 하이퍼 파라미터를 어떻게 결정할 것인지에 대해 다루었다. 흔히 사용하는 방법은 grid search로, 격자 형태로 사용할 하이퍼 파라미터들을 정하고 이를 검증 예측 정확도 등으로 비교하여 파라미터를 정하는 방식인데, 이러한 방법 뿐만 아니라 다양한 방법에 대해 연구가 되고 있다는 점이 흥미로웠다. 특히, grid의 총 범위 내로 말 그대로 random search를 하는 게 더 효과적이라는 것이 가장 놀라웠다. 오늘 소개된 가장 발전된 방식은 sequential model-based optimization이며, 하이퍼 파라미터와 모델 평가 기준값 간의 관계식을 형성하여 가장 좋은 파라미터를 탐색하고 선정하는 방식이다. 결과적으로 random search와 비교하였을 때 비교적 성능이 우수하고, 또한 탐색 시간도 1/3 가량으로 단축되는 것을 알 수 있었다. 자세한 방법에 대해서는 좀 더 공부를 한 후에 실제 문제에 적용하면 도움이 될 수 있을 것이라 생각하였다.

 

박찬희

Hyperparameter Optimization을 위한 Search Algorithms 알고리즘은 Grid Search, Random Search,Gradient-based Search,Sequential Model-based Optimization 등이 있다. 데이터 크기가 큰 경우, Grid Search 방법은 계산량이 매우 많으므로 이러한 경우 Random Search의 성능이 우수하였다. 23개의 데이터 셋에 대한 실험 결과에서도 Random Search의 Test Accuracy가 다른 방법과 크게 차이가 나지 않았는데 Grid Search와의 비교를 위해서는 계산시간에 대한 고려가 필요할 것으로 보인다. 또한 Sequential Model-based Optimization(SMBO)는 오류를 최소화하는 parameter를 찾기위해 두개의 관계를 모델링하는 방법이다. 20여개 데이터 셋, 40여개의 분류기를 사용해 SMBO와 Random Grid를 비교한 결과 오류율은 크게 차이나지 않았지만 알고리즘 Random Grid의 수행시간이 SMBO에 비해 크게는 4배가량 오래걸렸다. 전반적으로 Search Algorithms에 대해 이해할 수 있는 시간이었다. 

 

강성현

Hyperparameter Optimization은 모델의 최적 파라미터를 보다 적은 반복 횟수로 찾는 방법을 말한다.  우리가 대표적으로 쓰는 grid search 외에 random search, gradient-based search, sequential model-based optimization으로 구분할 수 있으며, 오늘은 이 중에서 sequential model-based optimization(SMBO)에 대해 집중 다루어졌다. SMBO는 모든 파라미터와 validation error의 관계를 규정하는 모델을 구축하여 가장 좋은 파라미터를 추정하는 방법이다. 이 때 사용하는 모델은 gaussian process 혹은 regression random forest 를 사용한 연구가 있으며, 자바의 데이터마이닝 패키지인 Weka에서 자동으로 파라미터를 추정시 오늘 소개한 방법을 사용하고 있음을 처음 알게되었다. 우리가 일반적으로 최적 파라미터를 추정할 때 컴퓨팅 능력에 의존하는 경우가 많은데 비교적 과학적인 접근방법을 알게 되어 유익했으며, 파라미터에 굉장히 민감한 Deep learning 알고리즘에서도 오늘 소개한 방법이 적용 가능한지, 그러한 연구가 있다면 효과는 어느 정도인지 차후 세미나에 더 다루어졌으면 한다. 

 

정영재

형록이의 "Hyperparameter Optimization" 이란 제목의 세미나를 들었다. 본 세미나에서는 Hyperparameter를 조정하는 여러 방법들이 소개되었다. Hyperparamter란 모델에 들어가는 parameter를 의미하며, 적절한 parameter를 설정하면 generalization error가 감소할 수 있다. 최근들어 hyperparamter를 설정하는 방법에 관심이 생겼는데, 요즘 관심있는 주제여서 그런지 재미있게 들었다. 지난번 영훈이의 세미나에서 들은 Particle Swarm Optimization 등 메타휴리스틱 알고리즘에 관심이 최근들어 생겼는데, 그 이유는 여러번 Try & Error 방식으로 parameter를 조절하는 노력과 시간이 아까워서 였는지도 모르겠다. 또한 최근에는 딥넷에서 parameter 설정에서 꽤 고생을 했기에, parameter setting or optimization에 대하여 관심이 생겼다. 오늘 들었던 sequential model-based optimization (SMBO)는 Hyperparameter Optimization의 한 분야로 간략히 설명하자면, Parameter를 X로 Error를 Y로 둔 다음 Error를 최소화하는 paramter를 찾도록 모델링 하는 것이다. 개인적인 생각으로 Parameter의 개수가 적을 경우에는 메타휴리스틱 방법이 더 간편하게 사용될 것 같다. 하지만 조절해야할 파라메터의 수가 엄청 많아서 관리하기 힘들 경우, 예를 들어 딥넷에서 깊이가 깊은 경우 등, SMBO 방식을 사용하면 Paramter Try & Error를 많이 줄일 수 있을 것 같다. 이번 세미나를 통하여 SMBO 방식이 있다는 것을 알 수 있어서 좋았다.

 

이슬기

오늘 세미나에서는 파라미터 최적화 방법에 대해 논의했다. 한때는 파라미터가 없거나 매우 적은 모델이 실용적이고 로버스트하다는 주장들이 종종 있었다. 물론 문제 상황마다 차이는 있지만, 요즘 이미지나 텍스트와 같은 데이터를 분석하기에는 복잡하고 튜닝이 많이 필요한 딥러닝 같은 모델이 각광받고 있기 때문에 더 이상의 파라미터가 많으면 어렵다는 주장만하기에는 한계가 있는 것 같다. 단순히 SVM 모델만 실행할 때도 파라미터를 선택함에 따라 매우 다른 성능을 나타내는데, 이런 관점에서 모델의 파라미터를 선택하는 문제자체가 매우 필요한 연구 분야라 생각되며 점점 중요해질 것이라 생각된다. 이번 세미나에서는 가볍게 개념적으로 소개한 gradient-based search나 sequential model-based optimization 같은 방법은 연구실에서 다시 다뤄져도 좋을 것 같다.


이상민

금일 세미나는 도형록 연구원이 hyperparameter optimization에 대한 세미나를 진행하였다. 기계학습에서는 주어진 데이터로부터 모델의 모형을 결정짓는 주요한 parameter를 학습할 수 있고 이를 training phase로 부를 수 있다. regression model에서 MSE를 최소화하는 방식으로 beta를 추정하는 것과 같이 모델의 학습 에러를 줄이고자 fitting 수준을 조절하는 것이 parameter를 찾는 과정이다. hyperparameter는 일반적으로 training process를 통해 학습할 수 없는 모델의 설정값들을 의미한다. 예를 들어 random forest의 tree 수나 neural network의 layer 수, neuron 수 등은 모델 최적화 과정에서 다양한 시도가 필요하다. hyperparameter는 주로 일반화 성능을 최대화 시키주는 방식으로 탐색하게 되는데, 변수 최적 조합 탐색 방법은 주로 grid search나  random search 외 크게 주목받을 만한 적당한 방법이 없는 것으로 알려져 있다. 금일 발표주제인 Sequential Model-based Optimization (SMBO)는hyperparameter optimization의 또 다른 대안이다. 기본적인 탐색 메커니즘은 여타 score-based guided random search algorithm 으로 정의할 수 있다. 다시 말해 exploration과 exploitation을 반복하는 iterative model이라는 점에서 여타 meta heuristic algorithm과 크게 벗어나지 않는다. 하지만 논문에서 소개한 SMBO의 성능은 사뭇 고무적이다. 40여개의 classification models를 기준으로 테스트하여 대다수의 dataset에서 우수한 학습성능(일반화 성능)을 보였기 때문이다. 사실 실무 프로젝트 시 기계학습 모델 최적화는 중요한 단계로 고려되지는 않는 경향이 있다. 회사 측에서도 크게 요구하지 않는 경우가 대부분이다. 잘 신경쓰지 못하는 모델 최적화에 SMBO와 같은 컨셉이 가미될 경우 효율적이지 않을까 싶다. auto-weka 라는 좋은 구현체가 있다고 하는데, 한번 다루어봄직한 것 같다. 흥미로운 분야와 알고리즘에 대해 소개시켜준 도형록 연구원에게 고마움을 느끼며, 개인 연구에도 큰 진전이 있기를 바란다.

 

손지은

파라미터 최적화는 파라미터 값에 민감한 기계학습 모델에 있어서는 매우 중요한 문제이다. Testing error를 줄이기 위한 파라미터 값 선정시 Validation data set을 사용하는데, 이 과정에서 가장 널리 알려진 방법은 Grid search나 Random search이다. 이후 gradient-based 나 Sequential model-based 접근방식을 통해 최적 파라미터를 탐색하는 방법이 고안되었으나 오늘 발표를 통해 느낀점을 Error rate측면에서는 특정 방법의 성능이 우수하다고 말하기는 어려웠다. Search algorithms을 비교할 때에는 계산시간이 필히 고려되어져야 하겠으며, 각 Classifier model과 Search algorithm 간의 특징을 함께 파악하고자 한다면 흥미로운 연구가 될 것 같다. Sequential Model-based Optmization(SMBO)에서 최적 값을 찾기위해 Error와 파라미터값 간의 관계를 모델링을 하는데 Iteration이 의미하는 것이 Manual grid search를 하는것와 성능면에서 왜 뛰어난것인지에 대해 이해가 잘 가지 않았다. 실험 부분에서 SMBO의 성능을 평가하기위해 Random grid와 비교하였는데 Manual grid search 방법에 대한 결과도 궁금하다.




이전글
다음글

(136-713) 서울시 성북구 안암로145 고려대학교 자연계캠퍼스 신공학관 211호 | TEL.02-3290-3769
고려대학교 산업경영공학과 데이터마이닝 및 품질애널리틱스 연구실. All Right Reserved. 개인정보처리방침