- 2020년 5월 8일 오후 2:23
- 조회수: 15789
INFORMATION
- 2020년 5월 15일
- 오후 1시 ~
- 고려대학교 신공학관 221호
TOPIC
OVERVIEW
발표자 후기
이번 세미나는 초매개변수의 결정(hyperparameter tuning)의 어려움을 극복할 수 있는 관점에서 베이지안 최적화(Bayesian Optimization)에 대해서 소개했다. 베이지안은 평가하는 데 오랜 시간이 걸리는 일을 지금까지 확보된 데이터를 사용해 관계를 파악하고 이를 사전지식으로 사용한 목적함수를 최적화하는 방향으로 평가할 대상을 선정함으로써 효율적으로 탐색할 수 있도록 도와주는 방법론이다. 따라서 베이지안 최적화는 크게 두 가지 핵심 모듈이 존재한다. 지금까지 확보된 데이터와 평가지표의 숨겨진 관계를 모델링하는 Surrogate model과 Surrogate model을 활용해 다음 탐색할 지점을 결정하는 Acquisition function이 그 구성요소이다. 오늘 세미나에서는 Surrogate model로는 Gaussian process regression모델, Acquisition function으로는 Maximum expected improvement를 간략히 설명했다. 세미나 준비를 하면서 두 개를 수식없이 최대한 직관적으로 설명하기위해 노력하였지만 한계를 느꼈다. 혹시 기회가 되어 Gaussian process regression 그 자체에 대한 세미나를 진행하게 된다면 그때는 더 잘 설명하고 싶다는 생각을 했다.
청취자 후기
금일 세미나는 민정이가 "Bayesian Optimization" 이라는 주제로 진행을 하였다. Bayesian Optimization는 최근 AutoML, NAS 분야에 대한 관심과 함께 증가한것으로 안다. Bayesian Optimization는 인공지능 모델을 구축할 때 여러가지 hyperparameter tuning을 진행할 때 기존의 grid search, random search를 대체하는데 사용 가능하다. surrogate model, acquisition function 관점에서 각각 하나씩 Bayesian Optimization을 할 수 있는 방안에 대해 설명해주었다.
금일 세미나에서 가장 관심이 가는 부분은 Bayesian Optimization을 사용해 실험 계획법 문제를 해결하고자 하는 것이었다. Hyperparameter tuning을 설계 최적화의 관점에서 보면 설계 인자를 어떻게 조합할 것인지와 동일하다. 지난 DS 과제를 진행하면 설계 인자 최적화 문제를 풀어보면서 어려움을 느꼈었다. 민정이가 Bayesian Optimization를 이용해 이를 잘 해결하여 멋진 연구로 보여주었면 하는 바램이 생겨버렸다. 인공지능 분야의 핫 트렌드를 알기 쉽게 잘 설명해준 민정이에게 감사를 표한다.
금일 세미나는 민정이가 Bayesian optimization을 주제로 진행하였다. 전통적인 머신러닝 모델들은 튜닝에 필요한 하이퍼파라미터 수도 많지 않아 cross validation grid search를 통해 일반화 성능을 보고 최적 파라미터를 결정하는 경우가 많다. 하지만 앙상블 계열이나 최근 많이 사용하고 있는 딥러닝 모델은 모델 자체의 학습 시간이 길 뿐만 아니라 하이퍼파라미터 수가 많아 기존 방법으로 서칭을 하기에는 한계가 있다. 오늘 민정이가 소개해준 베이지안 최적화는 사전에 정해진 몇개의 하이퍼파라미터 집합 안에서 일반화 성능을 예측하는 Surrogate model과 다음 하이퍼파라미터 후보군을 결정하는 Acquisition function의 두가지 프로세스로 구분할 수 있다.
작년 초에 SKT-AIX conference에서 Auto ML기반의 deep learning 아키텍쳐 서치 관련 주제를 흥미롭게 들었던 기억이 있다. 오늘 민정이의 세미나와 지난번 지윤이 세미나를 청취하면서 베이지안 이론들이 데이터 분석가가 꼭 알아야 할 테크닉들이라는 것을 다시 한번 느꼈다. 민정이가 자세하고 꼼꼼하게 설명해주어서 큰 틀에서의 베이지안 최적화 개념을 잘 이해할 수 있었다. 민정이가 Appendix로 빼지 않고 수식까지 설명해주었으면 좋았을 것 같지만 그 부분은 별도로 꼭 공부해봐야겠다는 생각이 들 만큼 재밌는 세미나였다. 좋은 세미나를 준비해준 민정이에게 감사하다는 말을 전한다.
금일 세미나는 "Bayesian Optimization" 이라는 주제로 진행하였다. 하이퍼 파라미터의 튜닝의 어려움을 재미나게 설명으로 풀어주었고 이를 잘 해결하기 위한 방법으로 Bayesian Optimization 방법을 설명을 해 주었다. 2가지 관점에서 하나씩 설명을 해 주었는데 surrogate model로 하이퍼 파라미터 집합과 일반화 성능의 관계를 모델링 해주는 것과 acquisition function 관점에서 착취와 탐험사이 균형 맞추기가 중요한점을 알려주었다. surrogate model에서 Gaussian Process Regression 에 대한 과정을 일반화 성능과 불확실성에 대한 설명으로 해 주었다. 그리고 acquisition function 관점에서 Maximum Expected improvement 에 대해 성능이 향상될것으로 기대되는 것의 맥스값을 찾는것이라는 개념이 잘 이해가 되었다. 여기서 하이퍼 파라미터 집합을 찾는 방법은 최적해를 찾는 법을 통해 할 수 있다고 하였다. 이번 세미나를 들으면서 실제 하이퍼 파라미터 찾는것을 무작성 실험으로만 했었던 것에 반성을 할 수 있는 계기가되었다. 하이퍼 파라미터가 너무 많으면 동작하기 어렵기 때문에 20개 이하의 하이퍼 파라미터의 경우에서 큰 도움이 될 수 있다고 한 부분도 알것같았다. 좋은 세미나를 해주어서 감사를 표한다.
Bayesian Optimization을 주제로 금일 이민정 연구원이 세미나를 진행했다.
2주 전에는 이지윤 연구원이 Bayesian Deep Learning for Safe AI를 주제로 세미나를 진행했는데, 최근 사람이 직접 설정해야 하는 하이퍼 파라미터와 Optimizer 모델 선정에 있어서도
AI 를 활용하여 자동화 하는 것에 관심이 많은 가 보다.
내부 과제인 '멀티 모달 기반의 음성 감성 분류'를 진행하면서도 하이퍼파라미터와 Optimizer에 자주 변경하며 계속적으로 Training을 해야 하는 것이 번거롭기도 하고 비효율적이라는 생각이 자주 드는데, 앞으로 이런 부분들을 획기적으로 단축할 수 있는 좋은 방법이 나올 거 같다는 기대를 하고 세미나를 듣게 되었다.
Bayesian 에 대한 배경 안내와 이해하기 쉬운 설명으로 사전 지식이 부족함에도 주제에 대한 이해가 쉽게 될 정도로 설명을 잘 해 주었다.
이번 세미나는 연속형 변수 추정인 Regression 에 대한 내용만 있었는데, 질의 시간에 분류로 확장이 가능한 부분이라든지 적용할 수 있는 기준에 대한 안내도 있어서 분류 모델을 대상으로 AI 연구를 진행 중인 나에게도 해당 방법을 쓸 수 있지 않을까 라는 의문이 생겼고, 추후에 해당 분야에 대한 공부를 진행해 봐야 겠다는 생각이 들었다.
향후에 실제 적용사례를 소개하는 자리가 있을거란 기대를 가지며, 친절하고 쉽게 세미나를 끝마친 이민정 연구원에게 감사의 말을 전한다.
이번 세미나는 ‘Bayesian Optimization’이라는 주제로 고려대학교 신공학관 218호에서 한시간 가량 진행되었습니다. 우선 제안된 방법론이 필요한 이유에 대해 살펴보겠습니다. 일반적으로 사용자가 데이터를 통해서 모델을 학습시킬 때 모델 구축 단계에서 정해줘야 하는 hyperparameter가 존재합니다. 그런데 최근 Neural Network 기반의 모델로 넘어오면서 이 hyperparameter의 총 가짓수가 상당히 커지게 되었고 모델도 복잡하여 성능을 내는 시간도 길어지게 되었습니다. 그 결과, 이 모든 hyperparamter의 경우의 수에 따라 모델 성능을 전부 비교하여 최적의 세팅을 찾는 것이 시간이 많이 걸리는 비효율적인 작업이 되고 말았습니다. 이러한 문제를 해결하기 위해 앞서 소개해드린 Bayesian optimization 방법론이 등장하게 되었습니다.
위 방법론이 어떤 식으로 이루어지는지 간단하게 요약하면, 우선 일정량의 hyperparameter 세팅을 X변수로 하고 모델의 성능을 Y변수로 하여 데이터 셋을 만듭니다. 그 다음에 이 데이터 셋에서 X와 Y의 관계를 가지고 사전 지식을 만든 후 새로운 데이터들(X변수, hyperparamter 조합)이 들어왔을 때 일반화 성능이 우수하도록 하는 최적의 x를 찾아서 추가해주는 형식으로 진행됩니다. 위와 같은 프로세스에서 두가지 개념이 등장하는데 Surrogate Model과 Acquisition function입니다. Surrogate Model은 X변수를 입력으로 받아 일반화 성능과 불확실성에 관련된 분포를 내뱉는 함수라고 생각하면 되고, Acquisition function은 가장 최적의 x값을 찾는 함수라고 보면 편할 것 같습니다.
위에서 소개한 방법론을 실제 자동차 관련 시뮬레이터에 적용해볼 수 있는 사례도 소개해주었는데 상당히 흥미로웠습니다. Application이 가능한지 혹은 어떤 식으로 되는지 설명해주어 방법론 소개와 적용까지 한 번에 이해해볼 수 있었습니다. 이 모든 과정을 깔끔하고 매끄럽게 진행해준 이민정 연구원에게 감사의 인사를 전하며 짧은 후기를 마치도록 하겠습니다.
결정해줘야 할 하이퍼파라미터 수가 많아지면 단순한 Grid Search 방식은 너무 많은 시간이 소요되기 마련이다. 오늘 세미나에서 다룬 Bayesian Optimization은 적은 반복 횟수 내에서 좋은 하이퍼파라미터를 찾는 방법이다. Gaussian Process Regression을 사용하여 하이퍼파라미터 공간(X)에서 일반화 성능(Y)을 적합시키고, 일반화 성능의 기댓값이 높은 다음 하이퍼파라미터 조합(x)을 선택하는 작업을 반복한다. 하이퍼파라미터 개수가 많아지면 계산량이 많아지는 단점이 있어 차라리 여러 개의 프로세스를 두고 Grid Search를 병렬처리하는 것이 더 단순하고 쉽지 않을까 생각해본다.
뉴럴넷의 하이퍼파라미터를 찾는데 사용하기엔 쉽지 않아보이지만, 비슷한 개념에서 출발하여 요새 많이 사용하는 AutoML과 Neural Architecture Search는 들여다볼 필요가 있어보인다. Bayesian Optimization에서의 핵심적인 수식들에 대한 설명이 부족했던 점은 개인적으로 아쉽지만 전반적인 개념에 대한 직관적인 이해와 설명은 매우 좋았다.
오늘은 Bayesian Optimization을 주제로 세미나가 진행되었습니다. 머신러닝 혹은 딥러닝 모델들을 학습시킬 때 하이퍼파라미터를 결정해야 하는 경우가 많이 있습니다. 이때 일반적인 하이퍼파라미터 튜닝 방법은 일정한 간격을 정해서 하이퍼파라미터 후보군을 설정하는 Grid Search와 일정 구간 내에서 랜덤하게 하이퍼파라미터 후보군을 설정하는 Random Search가 활용됩니다. 하지만 두 방법론 모두 후보군에 대해서 성능을 확인한 후 비교해야 하므로 비효율적이다. 이런 경우에 사용할 수 있는 것이 Bayesian Optimization이다. 위의 예시에서 하이퍼파라미터 후보군과 모델의 성능 사이의 관계를 도출해주는 모델을 Surrogate Model, 모델의 성능이 지금보다 향상될 수 있는 가능성에 대해 평가하는 함수를 Acquisition Function이라고 한다. 이번 세미나에서는 Surrogate Model로 Gaussian Process Regression을 Acquisition Function으로 Maximum Expected Improvement가 소개되었다. Gaussian Process Regression은 출력값 Y가 Gaussian Process를 따른다는 가정하에 Regression을 진행하는 모델로 일반적인 Linear Regression과 다르게 출력값에 대해 구간추정이 가능한 모델이다. Maximum Expected Improvement는 앞에서 도출한 출력값을 통해 현재 출력값 대비 향상에 대한 기댓값을 구한 후 가장 기댓값이 큰 하이퍼파라미터 후보군을 선택하는 과정이 된다. 선택된 하이퍼파라미터를 실제 모델에 적용하면 모델의 성능에 대해 알 수 있고 이렇게 얻어진 데이터를 다시 Surrogate Model에 적용하고 Maximum Expected Improvement를 통해 최적의 하이퍼라미터에 대해 찾아갈 수 있다. 현재 많은 관심을 받는 Auto ML에서도 해당 방법론이 많이 사용되는 만큼 잘 공부하여 향후 연구에 적용해 보면 좋을 것 같다.
금일 세미나는 Bayesian optimization에 대한 주제로 민정이가 발표했다. 머신 러닝의 모델은 튜닝을 위한 하이퍼파라미터 수가 많지 않기 때문에 K-fold cross validation grid search를 통해 일반화 성능을 도출하고 최적 파라미터를 결정할 수 있다. 하지만 Neural network와 같은 딥러닝 모델로 확장됨에 따라 하이퍼파라미터의 튜닝 문제가 발생한다. 베이지안 최적화는 사전에 정의된 하이퍼파라미터 집합으로부터 일반화 성능을 도출하는 surrogate model과 acquisition function을 사용하여 최적의 조합을 결정한다. 세미나에서는 surrogate model 중에서 가우시안 분포를 가정하는 Gaussian process regression에 대한 설명과 acquisition function 중 maximum expected improvement 방법을 설명했다. 오늘 세미나는 지난 지윤이 세미나에 이어 베이지안 최적화를 통해 기본적인 테크닉을 다시 한번 배울 수 있었다. 또한 다양한 방법 중에서 기본이 되는 방법을 예와 시각화를 통해 잘 설명해주어 빠르게 이해할 수 있었다. 마지막으로 민정이가 응용해보고 싶은 데이터에 대해 어떻게 적용해볼지 공유를 하면서 추후 적용 결과가 궁금해지는 세미나였다.
이번 세미나의 주제는 Bayesian Optimization 이었다. 먼저 hyperparameter의 최적화 과정에서 문제점을 제기하였고 이를 해결할 수 있는 방안 중 하나로 Bayesian Optimization 방법론을 소개해 주었다. 머신 러닝 방법론들은 모델이 조금 복잡해지면 설정해야 할 hyperparameter들이 많으며 어떻게 정하느냐에 따라 모델의 성능 차이가 많이 발생한다. 특히 딥러닝에서 모델 구조를 포함하여 learning rate batchsize 등 여러 hyperparameter들이 발생하며 대부분 경험적으로 여러 번 시도하여 적합하게 설정한다. 이러한 것들을 잘 하기위한 evolution strategies로 genetic algorithm 등 다른 휴리스틱 방법론들이 많이 있다. 이러한 것들과 크게 다른 점은 가우시안 분포 가정으로 평균과 표준편차를 이용한다는 것이다. hyperparameter와 모델의 성능을 맵핑시키는 모델을 surrogate model이라고 하며 여기서 bayesian neural networks를 사용하여 성능을 예측할 때 평균 및 표준편차를 예측한다. 또한 가장 좋은 성능으로 예측된 hyperparameter를 선택하는 방법을 acquisition function이라고 한다. 실제 산업 현장에서 많이 발생하는 문제들에 대한 방법이 될 수 있으며 그 외에도 유용하게 사용될 수 있는 방법론인 것 같다. 하지만 다른 최적화 방법론들도 마찬가지로 hyperparameter가 증가하면 차원이 급격하게 늘어나며 이에 대해 성능을 예측하는 것이 점점 더 어려워진다. 유용하고 활용성이 높을 수 있기 때문에 연구하기에 재미있는 주제인 것 같다.
오늘 세미나는 이민정 연구원이 Bayesian Optimization 을 주제로 진행하였다. 재미있는 구성과 핵심을 이해하기 쉽게 설명해주어 시간가는지 모르게 빠져서 들었다. (핵심만 쏙쏙 집어주는 쪽집게 강의 같았다.)
머신러닝을 공부하면서 하이퍼파라미터들에 대해 궁금한것이 많았다. 초기 설정을 어떻게 하는지에 대해 주변에 물어보면 경험적으로 정한다는 대답이 대부분이었다. 경험이 부족한 나의 경우에는 좀 막막한 점이 있었는데 이런 생각을 하는 사람들이 많았나보다. 세미나를 들으면서 앞으로 최적의 하이퍼파라미터를 효율적으로 찾아줄 수 있는 좋은 방법이 나올 것 같다는 기대가 되었다.
Bayesian Optimization 의 중요 개념인 Surrogate Model 와 Acquisition Function 에 대해 각각 대표적인 방법인 Gaussian Process Regression 와 Maximum Expected Improvement 에 대해 설명해 주었다. Surrogate Model 는 작은 샘플데이터로 변수의 분포를 보고 일반화 성능을 얘측하는 역할을 하고 Acquisition Function 는 최적의 하이퍼파라미터 후보를 찾아주는 역할을 한다. 상세 내용은 좀 더 공부를 해봐야 겠다.
마지막에는 발표자가 생각했던 적용할 수 있는 사례에 대해 이야기를 해주어 연구에서 끝나는 것이 아니라 실제 현장에서도 쓰일 수 있는 방향을 제시해 주었다.
좋은 세미나를 진행해 준 이민정 연구원님에게 감사의 말을 전한다.
오늘 세미나 주제는 딥러닝 모델을 조금만 학습시키다 보면 가장 골치를 썩는 하이퍼파라메터 튜닝을 다루는 주제였다. 강화학습 위주로 보면 모델 하이퍼파라메터외에도 환경과 에이전트 각각과 그리고 서로 인터페이스로 발생되는 파라메터가 무수히 많고 사실 이런 섬세한 파라메터의 조정은 상당히 연구자의 시간과 노력을 많이 소모하게 되는 골치아픈 일이다. 어렴풋하게 주먹구구 스타일이 Grid Search 스타일외에도 베이지안 스타일의 최적화가 있겠지만 개인이 아닌 구글 같은 큰 서비스 회사에서 많은 모델과 그것에 대한 학습데이터가 많이 산적되어 있는 시스템에서는 이 베이지안으로 새로운 좋은 샘플이 있으면 계속 학습이 되면서 발전하는 최적화 방식에 대해서 회의적인 생각도 많았다. 소수의 데이터를 가지고 많은 파라메터를 예측하는데는 분명 한계가 있다는것이다. AutoML이 아주 핫하기도 하고 회사에서도 아주 관심이 큰 분야라 언젠가는 공부해야하는 분야이기도 하고 잘 되는 알고리즘이 있다면 이런 이해를 바탕으로 나의 작업시간을 많이 줄여주는 효자 노릇을 하게 될 것이라고 생각했다. 그리고 베이지안 방식으로 계속 새로운 좋은 샘플을 학습하는 부분에서 exploration과 exploitation 부분은 강화학습으로 회사에서 진행한 연구 부분이 같이 떠오르면서 RL이 적용된 부분이 있지 않을까 생각이 들어서 나중에 필요하다면 후속 논문을 찾아봐도 좋을 것 같다.
하지만 교수님이 말씀하신것처럼 가이드라인에 20개 정도가 max라고 해서 큰 모델에서는 쉽지 않겠지만 적어도 나중을 위해 간단한 모델 가지고 한번 이 베이지안 방식으로 한번 돌려보고 싶은 생각이 들었다. 오늘 그 시작을 가능하게 해준 이민정연구원에게 감사합니다.
금일 세미나는 민정 누나가 베이지안 최적화 주제로 세미나를 진행해주었다. 본격적인 주제 설명에 앞서 하이퍼파라미터를 조정하는데 있어 많은 어려움이 있다는 부분으로 세미나가 시작되었다. 개인적으로 하이퍼파라미터를 조절하는 부분은 지금껏 프로젝트를 진행하면서 많은 고민을 하고, 의문을 가졌던 부분이었다. grid search와 같은 기본적인 하이퍼 파라미터 탐색 방식으로 어느정도 고민을 해결해줄 수는 있었지만, 여전히 최적의 하이퍼 파라미터를 찾았다는 생각이 들지 않았다. 누구나 한번쯤 이러한 생각은 해보았을 거라고 생각되는데 이러한 의문을 갖는 사람들이 오늘 세미나를 들었다면 얼마나 좋았을까라는 생각이 들었다. Bayesian Optimization에 대한 이해를 돕기 위한 간단한 예제와 Surrogate Model, Acquisition function의 배경, 필요성, 원리까지 사전 지식이 없는 사람들도 이해할 수 있는 시각화 자료와 내용이 포함되어 있었다. 사전에 학습한 샘플을 이용해 새로운 샘플의 목표값을 찾아주는 Surrogate Model, 새로운 샘플을 탐색하는데 도움을 주기 위한 Acquisition function을 이용해 최적의 하이퍼 파라미터를 찾아주며 이러한 함수에 뒷받침되는 부분으로 베이지안 이론이 적용되었다고 이해했다. 이러한 베이지안 최적화를 이용해 실제 산업현장에서 어떻게 적용될 수 있을지 궁금했는데 세미나 마지막 부분에 실제 적용을 하려고 했던 프로젝트, 연구가 되었던 현장 사례, 아이디어 제시까지 말해주어서 너무나 좋았다. 베이지안 최적화라는 이론에 대해서 새롭게 알게 되어서 좋았지만, 개인적으로 금일 세미나를 통해서 가장 크게 배웠던 점은 청취자에 대한 배려였던 것 같다. 꼭 이론적인 설명이 아니더라도 새롭게 접하는 청취자들에게 말하고자 하는 것을 완벽하게 이해시키고 전달해주는 것이 중요하고 그런 노력들이 이번 세미나에서 자료, 내용, 발표 자세에 묻어나 있어서 많은 것을 느꼇던 것같다. 오늘 세미나를 통해 많은 것을 배우게 해준 민정 누나한테 감사하다고 전하고 싶다.
금일 세미나는 Bayesian Optimization을 주제로 민정 누나가 진행하였다. 세미나 시작은 하이퍼파라미터 튜닝 과정 설명으로 시작하였다. 하이퍼파라미터탐색은 기계학습의 일반화성능을 최적화 시키기 위해 필수적인 요소이다. 하지만 조율해야 할 하이퍼파라미터 개수가 많아지면 오랜 시간이 소요된다는 단점을 가지고 있다. 단점을 개선하기 위해서는 일부 하이퍼파라미터만 탐색한 후, 전체적인 성능 변화가 어떨지 유추해야 하는데, Bayesian Optimization 아이디어를 접목시켜 볼 수 있다. 아이디어는 크게 두 파트로 볼 수 있는데, 하이퍼파라미터 집합의 subset만을 가지고 일반화 성능이 어떻게 되는지 관찰합니다. 그 후, 새로운 하이퍼파라미터 집합이 생겼을 때, 앞에 관찰된 결과로 일반화 성능을 진단합니다. 이 방식은 새롭게 튜닝해야 할 하이퍼파라미터가 생길 때마다 재학습 시킬 필요 없기 때문에, 시간적인 효율을 높일 수 있어서 발전된 분야라고 이해를 하였다.
이렇게 Bayesian optimization 필요성에 대해 재미있게 이해를 하였고, 구체적으로 Surrogate Model, Acquisition function 두 가지에 대해 들을 수 있었다. 첫번째 Surrogate Model는 하이퍼파라미터 subset과 모델 성능 사이의 관계를 추론(학습)하는 과정으로, 학습 과정은 다중정규분포를 이용하는 것이다. 모델 일반화 성능을 검증한 하이퍼파라미터 개수가 늘어날 때 마다, 다중정규분포에 대한 학습을 추가 학습할 수 있게 하는 것이 핵심 아이디어였다. 두번째 Acquisition Function은 새로운 하이퍼파라미터가 생겨났을 때, 어느 하이퍼파라미터가 최적인지 판별해가는 과정에 사용되는 함수이다. 함수 역할은 새로운 하이퍼파라미터에 대한 Surrogate Model과 기존에 판별된 최적 하이퍼파라미터 차이에 대한 Expectation을 계산함으로써, 새로운 최적 하이퍼파라미터 판별하는 것이다.
개인적으로 세미나를 들을 때 마다 훌륭한 연구를 엿볼 수 있어서 좋은 것 같다. 본인은 하이퍼파라미터튜닝 과정은 어쩔 수 없이 오래 걸리는 것이라 생각하고, 크게 불편하다 생각을 하지 못하였다. 하지만 Bayesian optimization과 같이 훌륭한 연구자들은 어떻게든 단점을 개선시키고자 노력하는 것을 보고 깊게 감명받았다. 앞으로 본인 연구방향을 설정하는데 이러한 자세를 본받아야 겠다 생각했고, 기존 연구 방법론들의 단점이 무엇인지 계속 생각하며 연구를 해야겠다라는 생각을 들게한 좋은 세미나였다.
오늘은 Bayesian Optimization 이라는 주제로 이민정 연구원의 세미나를 들었습니다.
길라임의 모델링을 위한 최적의 하이퍼파라미터를 찾아가는 과정을 예로 들어,
하나하나 직접 하이퍼파라미터 값을 변경하고 모델링하여 결과를 확인해보는 방법을 반복적으로 수행하는 것은 매우 비효율적이니 이것을 수학적으로 접근하여 알아서 최적값을 찾아가도록 하는 것입니다.
Bayesian Optimization은 몇개의 모델링 결과를 데이터로 시작하여 진행되는데 Surrogate Model과 Acquisition function을 가지고 정규분포를 근간으로 하여 최고 성능의 모델이 나올만한 값을 찾아나갑니다.
정규분포를 근간으로 한다지만 모래에서 진주알 찾는 느낌으로 와닿고 저게 제대로 되나 싶지만, 실제로 괜찮게 동작하며 구글의 AutoML에서도 이 방식을 사용한다는 얘기를 듣고 다시 한번 수학의 위대함을 느낄수 있었습니다.
아직까지는 저정도의 최적화 도구를 사용할만한 필요성을 못느꼈지만, 처음 접하는 알고리즘에서 하이퍼파라미터로 인한 고민이 생겼을 때는 한번 사용해보면 좋겠다고 생각했습니다.
흥미롭지만 저에게 개인적으로는 난해한 주제였는데 알기쉽게 풀어서 설명해준 이민정 연구원에게 감사드립니다.
금일 세미나는 '베이지안 최적화 (Bayesian Optimization)'라는 주제로 이민정 연구원님께서 진행해주셨다. 하이퍼파라미터 튜닝에 대한 어려움을 김주원 교수님과 길라임 신입생의 연구미팅 이야기로 재밌게 발표해주셨다. 평소에 모델링을 하면서 hyperparameter는 어떻게 설정해야하는지, 각 파라미터의 의미를 하나하나씩 알아가면서 설정하고 테스트함에 있어서 어려움을 느꼈었는데 길라임의 표정을 보고나니 나말고도 어려워하는 사람이 많구나 느꼈다. 베이지안 최적화는 이러한 어려움을 완화해주고자 매 회 새로운 hyperparameter 값에 대한 조사를 수행할 시 ‘사전 지식’을 충분히 반영하면서 동시에 전체적인 탐색 과정을 체계적으로 수행할 수 있는 방법론이었다. 베이지안 최적화에는 두 가지 필수 요소가 있는데 Surrogate Model과 Acquisition Function이다. Surrogate model로는 Gaussian process regression model, Acquisition function으로는 Maximum expected improvement 를 설명해주셨다. 세미나를 들으면서 추후에 모델을 학습시킬 때 베이지안 최적화를 통해서 진행해보면 좋겠다라는 생각이 들었다. 전체적으로 이민정연구원님께서 발표자료도 색깔구분을 하여 각 개념들에 대해 잘 설명해주시려고 노력해주신 것이 보였다. 유익한 세미나를 매끄럽게 진행해주신 이민정 연구원님에게 감사의 말을 전한다.
금일 세미나는 민정언니가 ‘Bayesian Optimization’이라는 주제로 세미나를 진행해주었다. 모델링 과정에서 hyperparameter tuning은 성능을 도출하는데 매우 중요한 요소이다. 실제로, 모델링을 하다 보면 hyperparameter 값에 따라 성능이 민감하게 교차되는 경우들이 발생한다. 최적의 hyperparameter를 탐색하기 위해서 기존에는 grid search, random search 방법론들이 일반적으로 사용되고 있다. 하지만, 기존에 이 같은 방식들은 hyper parameter candidate의 추가에 따라 학습량이 비례해서 증가하게 되고, hyperparameter의 수가 굉장히 많은 최신 알고리즘들에 적용시키기에는 capacity에 대한 한계가 있다. 금일 소개된 Bayesian optimization은 이러한 한계점을 극복하기 위해 사전에 정의된 hyperparameter candidate중에서 generalization performance를 예측하는 surrogate model과 hyperparameter candidate set을 의사 결정하는 Acquisition function으로 나누어진다. 특히, 금일 세미나에서는 surrogate model로써 활용되는 다양한 모델 중 Gaussian Procedss regression, Acquisition function으로는 Maximum Expected Improvement에 대해 집중적으로 알 수 있었다. Bayesian 연구들을 이해하기 위해서는 통계적인 지식을 포함해 많은 량의 지식을 요구하는데에도 불구하고, 많은 학습량을 잘 정리해서 전달해준 민정언니에게 감사하며 현재 진행하고 있는 Bayesian NN연구도 성공적으로 마무리 되길 진심으로 응원한다.
오늘 세미나는 Bayesian Optimization 을 주제로 민정리가 진행했다. 최적의 예측모델을 구축하기 위해 Hyperparameter search 는 필수적이다. 하지만 우리는 주로 시간비용 및 우리의 감을 믿고 몇개의 후보군을 형성한 후 Grid search 방법으로 탐색하기 마련이다. 최근 Random search가 더 높은 확률로 Hyperparameter를 찾는 데 기여한다는 연구결과가 있다. 여기서 Bayesian Optimization 은 좀더 효율적으로 정확히 Hyperparameter를 찾는 방법론이다. Bayesian Optimization 은 (1) Hyperparameter 후보(X)와 Generalization 성능(Y) 간 관계를 모델링하는 Surrogate model과 (2) 최적화를 진행하며 더 좋은 Hyperparameter 후보를 추천해주는 Acquisition function으로 이루어 진다. 즉, Bayesian Optimization은 목적함수를 최대로 만드는 최적해가 X로 여기서 X는 Hyperparameter다. 그리하여 Hyperparameter optimization에 적용할 수 있는 이유다. Bayesian optimization 대상이 되는 예측모델은 제한이 없을 것 같다. 다만 Model 최적화 및 Hyperparameter 최적화가 동시에 이루어 지는지, 혹은 Model이 구축 된 후 Hyperparameter 최적화가 이루어지는 방식인지 궁금하다. 코드를 살펴봐야겠다. 특히, Machine learning에서 Optimization이란 주로 최적의 parameter(weight)를 찾는 접근으로 바라봤는데 Hyperparameter 를 최적화 하고자 하는 방식으로 최적의 X(Hyperparameter)를 찾는 방법이라는 점을 새롭게 봤다.
이번주 세미나는 민정이가 ‘Bayesian Optimization’이라는 주제를 가지고 진행했다. 간단한 모델들의 Hyperparameter를 찾는 일은 비교적 적은 시간이 걸린다. 하지만 일반적인 Grid search를 이용 해서 찾을 경우 Hyperparameter 수가 많아지면 많아 질수록 찾는 시간은 길어지게 된다. 이렇게 사전에 정해놓은 Hyperparameter 집합의 후보군을 정해서 찾는다면 매우 비효율적인데 이를 해결하기 위한 방법이 Bayesian Optimization이다. 사전에 주어진 x와 y를 가지고 Surrogate model을 만들어 주게 된다. 이렇게 만든 model을 통해 유용하다고 판단되는 Hyperparameter 집합을 구하게 된다. 여기서 핵심은 분포의 exploitation과 exploration 사이의 균형을 맞추는 것이 중요하다. 또한 Bayesian Optimization에서 Surrogate Model과 Acquisition Function 두개에 대해 설명 해주었는데 직관적으로 잘 표현해주어서 이해하는데 어려움 없이 잘 이해할 수 있었다. 내게 생소했던 주제에 대해 알아듣기 쉽게 설명해준 민정이에게 감사하다는 말을 전한다
이번 세미나는 ‘Bayesian Optimization’에 대하여 진행되었다. 보통 모델에 대한 Hyperparameter를 결정할 때에는 grid search 또는 random search 방식을 활용하게 된다. 하지만, 이러한 방법들보다 하이퍼파라미터들의 후보군과 후보군을 통하여 얻은 모델의 성능 사이의 관계를 파악하여 사전 지식으로 두고, 이를 바탕으로 최적의 하이퍼파라미터 후보군에 대한 의사결정을 내리는 과정에서 Bayesian Optimization을 활용할 수 있다. 우선 하이퍼파라미터 집합과 일반화 성능의 관계를 모델링하는, Bayesian의 개념이 접목된 모델을 Surrogate Model이라고 부른다. 주어지는 하이어파라미터 후보군들을 Surrogate Model에 통과시켜 불확실성과 일반화 성능을 계산하고, 계산된 값을 기준으로 Acquisition Function을 통하여 가장 유용하다고 판단되는 새로운 하이퍼파라미터 집합을 구하게 된다. 해당 과정을 종료 조건이 만족될때까지 반복함으로써 가장 좋은 하이퍼파라미터 후보군을 결정하게 된다. 이번 세미나를 통하여는 Surrogate Model로 Gaussian Process Regression, Acquisition Function으로는 Maximum Expected Improvement를 자세하게 공부해보았다. 뿐만 아니라, Bayesian Optimization이 활용되는 Application까지 설명해주어 해당 이론이 어떠한 분야에도 적용되는지 알아볼 수 있어서 흥미로웠다. 수식보다는 이론에 대한 이해에 더욱 초점을 맞추어 설명해주셔서 쉽게 이해하고 따라갈 수 있는 세미나였다. 이번 세미나를 통하여 공부한 Bayesian Optimization의 개념을 확장시키고 Surrogate Model, Acquisition Function의 다른 모델들에 대하여도 따로 공부하여 개인 연구를 진행할 때 활용해보고 싶다.
Bayesian Optimization 주제로 진행한 세미나를 청취했다. 학습하기 위한 모델을 셋팅하면서 결정해야 하는 하이퍼파라미터의 수가 많아지면 Grid Search와 Cross Validation을 사용하는 것은 많은 시간을 필요로 한다. Bayesian Optimization은 사용자가 지정한 모든 조합에서 대해서 실험을 진행하는 것이 아니라, 반복 과정 속에서 최적의 파라미터 셋을 찾아가고 결과적으로는 '적은 탐색 횟수'로 좋은 일반화 성능을 갖는 모델을 만드는 것에 목적이 있다. Bayesian Optimization은 1) 하이퍼파라미터 셋과 일반화 성능의 관계를 모델링 할 수 있는 Surrogate Model 2) 성능을 증가시킬 수 있는 하이퍼파라미터를 뽑는 Acquisition Function으로 구성된다. 금일 세미나에서는 1) Gaussian Process Regression 2) Maximum Expected Improvement에 대해서 소개를 했다. 최근 대부분의 모델들의 복잡도가 커지고 셋팅에 어려움을 겪는 경우가 많이 일어나기 때문에, 이러한 불편함을 해소하기 위한 연구의 한 파트로써 재미있게 청취했다. AutoML이나 Neural Architecture Search (NAS) 같은 경우에도 이러한 방법을 적용해서 연구가 진행된다고 하는데, 논문을 살펴보면 그 외에도 많은 테크닉들이 포함되어 있다. 역으로 이런 분야에서 아이디어를 얻어서 Uncertainty에 대한 연구를 해도 좋지 않을까라는 생각을 해보았다.
이번주 세미나는 Bayesian Optimization 주제로 진행되었다. 모델의 하이퍼파라미터 집합의 일반화 성능을 확인 후 정하는 것에 대한 비효율성의 문제가 있다. Bayesian Optimization은 하이퍼파라미터의 분포를 사전에 가정하여 이 지식을 활용하는 최적하는 방법론이다. Bayesian Optimization은 하이퍼파라미터 집합과 일반화 성능의 관계를 모델링하는 Surrogate Model과 제일 유용하다고 판단되는 하이퍼파라미터 집합을 뽑는 Acquisition Function으로 구성된다. 오늘 세미나에서는 Surrogate Model 중 Gaussian Process Model에 대하여, Acquisition Function 중 Maximum Expected Improvement 에 대하여 각 하나씩 대표로 소개했다. Gaussian Process Regression은 출력값 각 y가 Gaussian 분포를 따르고 있다는 가정하여 구간 추정이 가능하다. Maximum Expected Improvement는 이전 최대값보다 큰 값을 찾아가는 방법이다. 특히 Maximum Expected Improvement에 대한 명쾌한 시각화로 어려운 내용을 쉽게 이해할 수 있었다. 생소했던 방법론이었지만 최대한 쉽게 전달해 주시려는 언니의 노력이 고스란히 보였던 세미나였다.
금일 세미나는 "Bayesian Optimization" 이라는 주제로 이민정 연구원님이 진행해주었다. 머신러닝을 사용하기 위해서는 많은 하이퍼-파라미터를 선택해야 한다. 이때 최적의 성능을 보장하기 위해 사용하던 방법은 바로 “Grid Search”로 말 그대로 모든 파라미터를 하나씩 대입해가며 가장 좋은 성능을 발휘하는 하이퍼-파라미터를 선택하는 방법이다. 예상할 수 있는 이 방법의 단점은 많은 시행착오를 거쳐야 한다는 것이고, 머신러닝을 넘어 딥러닝으로 넘어가게 되면 선택해야 하는 하이퍼-파라미터가 기하급수적으로 늘어나게 된다는 점이다. 오늘 세미나는 이러한 하이퍼-파라미터의 효율적 선택에 대한 세미나였고, 연구의 핵심 아이디어는 하이퍼-파라미터 후보자와 모델의 일반화 성능과의 관계를 예측하는 Surrogate Model을 구축하고, 이를 통해 일반화 성능을 높일 수 있는 다음 하이퍼-파라미터 후보자를 선택할 수 있도록 하는 Acquisition Function을 두어 이를 반복하는 개념이다. 매우 중요하지만 한편으로는 가볍게 넘길 수 있는 주제이자 이해하기 어려울 수 있는 주제였는데 적절한 예시를 곳곳에 삽입하여 직관적으로 이해하기 쉽게 발표하였고, 적용 분야까지 잘 설명해 준 훌륭한 세미나였다. 항상 느끼는 것이지만 언제나 즐거우면서도 유익한 세미나를 기획하고 발표해주는 이민정 연구원님께 감사의 말은 전한다.
금일은 Bayesian Optimization을 주제로 세미나가 진행되었다. 요새 세미나에서 Bayesian과 관련된 이야기를 몇 번 들었었다. 생각해보면 우리가 하고 있는 AI, 머신러닝, 딥러닝 등 모든 것들에 다양한 확률 개념이 들어간 것이기 때문에 Bayesian과 관련된 개념들이 공부하는 것은 매우 중요한 일중에 하나인 것 같다. 세미나는 좋은 Hyperparameter를 효율적으로 찾기 위해서는 어떻게 해야할 것인가에 대한 질문으로 시작된다. 모델이 복잡해질수록 우리가 결정해야할 Hyperparameter 수는 많아지고, 그 수가 많아짐에 따라 조합의 개수는 훨씬 더 많이 증가하게 된다. 따라서 이전에 결정되었던 Hyperparameter 및 모델의 일반화 성능과 관련된 지식을 기반으로 좋은 Hyperparameter를 찾고자 하는 것이 이번 세미나에서 소개 된 Bayesian Optimization이다. 이 때 모델의 일반화 성능과 불확실성을 중심으로 Surrogate Model을 모델링하게 된다. 결국 Hyperparameter별 모델 성능의 평균과 분산을 활용하여 분포를 추정하고 이를 모델링하여 새로운 Hyperparameter를 추정하게 된다. 이번 세미나에서 소개된 내용은 개인적으로는 생각해보지 않았던 영역이었기 때문에 새로운 내용을 공부할 수 있어서 좋았다. 그리고 개인적으로 생각했던 것은 세미나 뒷부분 Q&A 시간에 나왔던 내용 중 하나인 ‘모델에서 결정할 Hyperparameter가 매우 많아진다면 이 방법이 과연 효율적일까?’에 대한 고민이었다. 해당 부분에 대해서도 연구하고 있는 내용이 있다고 하는데 나중에 한번 직접 찾아봐야 할 것 같다. 새로운 지식을 쌓을 수 있게 세미나를 잘 준비해준 민정이에게 감사함을 표하고 싶다.
금일 세미나는 Bayesian Optimization 이라는 주제로 이민정 연구원님께서 발표해 주셨습니다.
최적의 Hyperparameter를 구하는 것은 ML초기부터 지금까지 중요한 주제로 다루어지고 있습니다. 세미나 주제인 Bayesian Optimization은, 다변량 가우시안 분포를 따르는 Surrogate Model를 통해 Hyperparameter 집합과 Performance의 관계를 모델링합니다. 그 후, Argmax Acquisition Function을 통해서 새로운 Hyperparameter 집합이 들어와도 가우시안 분포 회귀를 통해 성능이 최대인 Hyperparameter를 선택합니다. 이 알고리즘 방식은 다양한 Feature가 있는 경우 최적의 성능 값을 나타내는 Value를 도출하는 데 많이 사용되며, 특히 화학/의료/재료 분야 등에서 최적의 물질을 탐색하는 데 유용하게 연구되고 있습니다. 사실 Hyperparameter 집합을 민감하게 선택한 경험이 많이 없고 Random Search나 Grid Search를 통해 여러 번 모델 학습 후 선택을 했었습니다. 이런 번거로운 작업을 또다른 최적화 방식을 통해 구하는 것이 연구되고 있었구나 하고 알 수 있었습니다. 이전 세미나부터 Bayesian에 관한 주제가 많이 나오고 있는데, 어떤 것이든 최적 값을 도출하는 전략으로 Bayesian 기법이 많이 사용되고 있는 것 같습니다. Bayesian에 대해서 좀 더 공부를 해 봐야겠다고 느낀 세미나였습니다. 감사합니다.
이번 세미나는 Bayesian Optimization을 주제로 진행이 되었다. 최적의 하이퍼파라미터 설정과 관련하여 많이 쓰이는 Grid Search 등의 방법론은 설정해야 할 가짓수가 늘어날수록 훨씬 더 많은 시간이 소요된다는 점을 해결하기 위해서 해당 주제를 제시하였다. Bayesian Optimization에 대한 설명은 크게 Surrogate Model과 Acquisition Function에 대한 부분으로 나뉜다. Surrogate 모델은 지금까지 적용해본 하이퍼파라미터들의 결과들을 바탕으로 앞으로 새로운 하이퍼파라미터를 적용하였을 때 모댈이 어떤 결과를 반환할지 추론해주는 모델이다. 한편 Acquisition Function은 지금까지 수행된 확률적인 추정 결과를 가지고 가장 최적의 하이퍼파라미터를 제시해주는 역할을 한다. 이번 발표에서는 Surrogate Model은 Gaussian Process Regression을 Acquisition Function은 Maximum Expected Improvement를 중심으로 진행되었다. 딥러닝 모델이 아니더라도 일반적인 머신러닝 모델을 쓸 때에도 하이퍼파라미터 튜닝하는데 시간이 매우 오래 걸려서 답답한 경우가 많았고 또 당연히 연구자가 경험적으로 해결해야하는 부분이라고 생각했었다. 하지만 베이지안 방법론을 통해서 접근이 가능하다는 것을 보면서 정말 다양한 연구 분야가 있다는 것을 느꼈다. 유익한 발표를 준비해준 민정이에게 감사의 말을 전한다.
이번 세미나는 Bayesian Optimization을 주제로 민정이가 진행이 되었다. Hyper parameter Optimization이란, 학습을 수행하기 위해 사전에 설정해야 하는 값인 Hyper parameter의 최적값을 탐색하는 문제를 지칭한다. Hyper parameter Optimization은 학습된 모델의 일반화 성능을 향상 시키기 위해서 필수적인 과정이다. 딥러닝 모델을 학습하는 많은 경우에서 최적의 Learning Rate, Batch Size. Regularization 계수 등을 찾기 위해 많은 시간을 소요하고 많은 경우완벽히 최적의 Hyper parameter를 찾기도 어렵다. 오늘 소개한 Bayesian Optimization은 이러한 Hyper parameter의 최적값을 찾기 위한 방법 중 하나다.
Bayesian Optimization은 Hyper parameter 값들을 일정한 간격을 두고 선정하여 이들 각각에 대하여 측정한 성능 결과를 기록한 뒤 가장 높은 성능을 발휘했던 Hyper parameter 값을 선정하는 방법인 Grid Search 방법론과 비교해보면 탐색 시간적인 측면에서 상당한 효율을 가진다.
Bayesian Optimization의 방법론은 간략하게 Hyper parameter 세팅 값과 일반화 성능 간의 Surrogate Model을 구하여 미지의 최적값에 대한 확률적인 추정을 수행하는 방식이다. 이때Surrogate Model로 가장 많이 사용되는 모델은 Gaussian Process 모델이고 오늘 세미나에서는 Gaussian Process Regression 모델을 소개해주었다.
오늘 세미나는 유난히 발표의 구성이 돋보인 세미나였다. 발표를 보는 나의 배경지식이 얕았음에도 발표가 진행될수록 발표자가 중요하게 전달하고자 하는 내용이 머릿속에 쏙쏙 들어왔다. 이는 발표 내용에 대한 깊은 이해를 바탕으로 발표 자료를 자기 입맛에 맞게 잘 구성한 민정이의 능력이라고 생각된다. 많은 것을 배울 수 있었고 흥미로운 주제에 대해 소개해 준 민정이에게 다시금 감사의 뜻을 표한다.
1. 하이퍼 파라미터를 적절하게 선택하는 문제는 실제 상황에서 매우 중요하다.
2. 하지만 뾰족한 방법이 없어, 경험에 의해 적절히 선택하는 것이 보통이다.
3. 딥러닝 모델은 다른 모델에 비해 선택해야할 파라미터의 개수가 많이 때문에 경험에 의해 선택하기가 쉽지 않다.
4. 오늘 세미나는 이러한 상황에서 유용하게 사용될 수 있는 Bayesian Optimization (BO)에 대한 내용이다.
5. BO의 핵심은 Surrogate model과 Acquisition function이다.
6. Surrogate model로 Gaussian process regression을 소개 했는데 왜 이 모델이 surrogate model로 많이 사용되는지에 대한 자세한 설명이 없어 아쉬웠다.
7. Acquisition function 역시 이번 세미나에서 소개한 maximum expected improvement 외에 다른 방법론에 대해서도 핵심 위주로 설명을 해 주었으면 더 좋았을 것 같다.
8. 또한 active learning과 어떤 차이가 있는지에 대한 설명이 아쉬웠다.
9. BO에 대한 전반적인 내용을 잘 정리해 준 민정이에게 큰 칭찬을 보낸다.