[Review] Hyp-RL : Hyperparameter Optimization by Reinforcement Learning

2020. 11. 28. 09:13관심있는 주제/RL

728x90

강화학습으로 하이퍼 파라미터 최적화에 어떻게 사용하는지 아이디어를 얻기 위해 논문을 빠르게 읽어보려고 한다.

 

하이퍼 파라미터 튜닝은 모든 모델에 대한 최신 성능을 얻기 위한 필수 요소이므로 머신 러닝에서 어디에나 존재하는 문제이다. 대부분 GRID 하게 파라미터를 서치 하는 방법인 GRID Search부터 최근에는 surrogate model을 이용하여 다음 하이퍼 파라미터를 얻을 수 있는 Sequential Model-based Bayesian Optimization (SMBO) 방법론들이 있다.

이 논문에선 sequential decision 문제로써 하이퍼 파리미터 최적화를 접근하여 강화 학습을 적용하려고 한다.

 

강화학습 기반으로 하기 때문에 SMBO 같이 heuristic 한 acquisition function에 의존하지 않으면서, validation loss를 줄일 수 있는 다음 하이퍼 파라미터를 얻을 수 있다고 한다. 

 


하이퍼 파라미터 튜닝을 자동화하고자 할 때의 실용적인 해결책은 robust 해야 하고, scalable 해야 하며, low computational budget을 중요시한다. 물론 성능도 보장이 돼야 한다. 

 

grid search ,random search , manual search 같은 경우는 일단 전통적인 방법이고,

bayesian optimization 기술은 확률적 모델링에 의존한다. GP와 같은 가우시안 프로세스 모델을 활용하여 surrogate model의 expected improvement(EI)를 최대화하는 것을 찾는다. 

 

하이퍼 파라미터 튜닝을위한 확장 가능하고 효율적인 정책을 찾는 것은 특히 단일 하이퍼 파라미터 응답을 평가하는 데 더 오랜 시간이 필요한 심층 신경망과 같은 고차원 함수 추정기의 경우 중요하다.

 

자동 하이퍼 파라미터 조정을 수행하려면 특정 구성이 다른 데이터 세트에서 얼마나 잘 수행되었는지도 고려하고이 지식을 새 데이터 세트로 전달해야 한다. 

 

잘 훈련된 정책은 이전 경험을 기반으로 학습 알고리즘의 response surface를 잘 가리킬 수 있게 된다. 

 

RL의 테스크는 특정 상태에서 예상 보상을 추정하는 방법을 학습하고, 수익을 극대화하는 방식으로 액션 선택 프로세스를 최적화하여 에피소드의 고정된 budget에 대해 에이전트의 보상을 최적화하는 것이다.

 

이 논문에서는 에이전트가 Response Surface을 탐색하고 보상을 극대화 할 수 있는 상태 표현, 일련의 작업 및 전환 기능을 정의하여 고정 토폴로지의 하이퍼 파라미터를 조정할 수 있는 컨트롤러를 학습한다.

 

논문의 요약을 다음과 같다고 함.

  • 강화학습을 기반으로 하이퍼 파라미터 튜닝을 공식화한 것은 자기네가 처음일 것이다.
  • Q 러닝 기반 참신한 정책인 Hyp-RL은 고차원 하이퍼파라미터 공간에서 탐색할 수 있다.
  • 정의된 보상 함수와 행동 공간을 가진 환경으로 하이퍼 파라미터 반응 표면의 공식화
  • 컨트롤러의 강력한 최종 성능과 다양한 하이퍼 파라미터 응답 표면에 걸친 확장 성을 강조하는 50 개의 무작위로 선택된 UCI 분류 데이터 세트를 사용하여 생성된 메타 데이터 세트에 대한 실험
  • 컨트롤러가 선택한 초기 하이퍼 파라미터 시험을 기반으로 분류 성능의 일관된 이득을 보여주는 실증적 평가

 


Problem Definition: Hyperparameter Optimization

$\lambda=\lambda_1 x \lambda_2 x ... x \lambda_p$라고 불리는 P 차원의 하이퍼 파라미터 공간이 있고 이 안에는 continuous와 discrete 둘 다 있다.

결국에는 valid set을 최소화하는 lambda를 찾아야 한다.

Hyp-RL: Hyperparameter Tuning in a RL Framework

 

MDP 정의는 다음과 같다.

(S,A,R,$\tau$) 

 

  • S : the set of all states
  • A : the action space
  • R : $S x A -> R$
  • $\tau$ : $S x A x  R -> S$ 

Action은 위에서 언급한 것 처럼 모든 가능한 하이퍼 파라미터 configurations의 총 수를 의미한다.

(그럼 action space를 gird하게 모든 것을 만든다는 것인지? 개별적으로 처리를 해준다는 것인지가 여기서 살짝 의문이다. 내용상 보면 가능한 하이퍼 파라미터 configurations의 총 수라고 보면 모든 것을 만들어서 한다는 것인데, 이게 과연 가능한 것인지가 조금 의문.)

 

action

environment의 state를 dataset의 metafetrues $D = R^w$  로 정의된다.

$w=dim(D)$은 metafetures의 수로 된다.

 

평가된 하이퍼 파라미터의 configuration 기록과 response로 이루어진다고 한다.

state

보상 함수는 하이퍼 파라미터 반응 함수로 구성하여지고 액션이 선택되었을 때 데이터 셋에서 나온 결과에 의존적이다.

reward

transition 함수 같은 경우, 액션이 선택되고, 새로운 하이퍼 파라미터 configuration이 평가되어지고, 새로운 state $s^'$를 생성한다.

(궁금한 것은 다음 생성 기준이 어떤 것인지가 알고 싶은데, 그것에 대한 설명은 내가 못 찾은 것인지 자세히 안 나온다.)

transition

에이전트가 실행 시간과 같이 사전 할당된 budget T를 초과하거나 동일한 작업이 연속으로 두 번 선택되는 두 가지 경우에 에이전트가 최종 상태에 도달하게 된다.

에이전트가 하이퍼 파라미터 공간을 계속 탐색하고 특정 보상 구성에 안주하지 않도록 두 번째 조건을 적용한다고 함.

제안된 알고리즘은 알고리즘 1에 요약되어 있다고 하고, 해결책은 초기 상태 $s_0$를 랜덤 하게 샘플링을 한다. 

$s_0$ = metafeatures(D), (${0}^{dim(A)}$,0), $D \sim Unif(D) $

 

에어전트는 random data set의 하이퍼 파라미터 공간을 위와 같은 형태로 만들어 새롭게 시작하면 다양한 초기 state를 얻는 것이 가능하다고 한다.

 

게임에서의 RL과 비교한다고 하면, 하이퍼 파라미터 튜닝을 모든 데이터 세트가 게임에서 다른 수준을 나타내는 미로와 같은 환경으로 생각할 수 있습니다.

 

(그래서 저자가 생각하는 방식은 하이퍼 파라미터 임의의 초기 상태를 시작한 후 주변 탐색을 action을 통해서 하고, 보상이 최대가 될 때까지나 중복된 움직임이 발생할 때 까지를 에피소드로 정의한 것 같다.

여전히 궁금한 것은 action을 그래서 어떻게?...)


Model Architecture

 

state representation을 2 파티로 나눴으면 함. 

1. $S_{static}=d$

2. $s_{dynamic) \in (A x R)^* $이라 정의

 

$s_{dynamic}$ 안에 각 채널은 하이퍼 파라미터 값을 표현한다. 

그리고 마지막 채널은 보상을 의미한다.

아마 그림에서 위에 $s_dynamic$을 말하는 것 같다. 

$\lambda$ 은 각 $x$에서의 하이퍼 파리 미터 값을 의미하는 것일까나?...

($x$ 는 dynamic multivariate time series distribution을 가지는 뭔가?,,,)


 

아래 알고리즘 1에서는 사실 LSTM을 어디서 사용하고 있는지가 잘 안 보인다.

 

 

LSTM

위에 있는 LSTM 수식에서 $x_t=(\lambda_t , r_t)$ 가 된다.

하이퍼 파라미터 응답 표면은 데이터 세트에 따라 다르므로 정책이 데이터 세트 자체에 따라 조정되는 것이 중요하다고 한다.

 

 

 

 

비교와 평가 메트릭

 

머 어떤 데이터를 썼다는 것은 머 그냥 그렇구나 하고 넘어가고,

비교는 4가지랑 한다.

  1. Random Search
  2. Independent Gaussian Process
  3. Spearmint
  4. Factorized Multi-Layer Perceptron
  5. Hyp-RL

average rank를 위해서, 튜닝 전략을 통해 얻은 최상의 하이퍼 파라미터 구성의 성능 순위를 매긴 다음 모든 데이터 세트에 대해 평균화하였다.

두 번째로는 average distance to the minimum이라는 평가 메트릭을 했다.

두 번째도 필요한 이유는 선택한 하이퍼 파라미터가 글로벌 최적에 대해 얼마나 잘 맞는지에 대한 통찰력을 제공하지 않는 것을 해결하기 위해 사용했다고 한다.

즉 이전까지 선택된 모든 하이퍼 파라미터들을 가지고, 다 이용해서 선택해주는 파라미터가 보통 얼마나 계속 좋은 것을 뽑아주는지를 평가해주는 메트릭인 것 같다.

 

$A_t^D$는 선택된 하이퍼 파라미터의 값들을 의미한다. 

 

 

 

 

 

이제 실제 결과 비교는 다음과 같다.

ADTM 같은 경우 상대적으로 다른 것들보다 더 잘 나온 것을 알 수 있는데, 사실 베이지안 방법론들은 초기에 랜덤 한 샘플링이 어느 정도 진행해야 가능한 방법론이기 때문에, random search와 거의 유사한 행동을 할 것이다.

AR 같은 경우는 그래도 일반적으로 초반부터 높은 순위의 하이퍼 파라미터를 뽑아주는 것을 확인했다고 한다.

 

개인적인 생각)

 

하이퍼 파라미터 최적화에 강화 학습을 사용하는 것은 참신한 것 같지만, 정의하는 것이 참 애매하다.

아직 이 논문을 보고서 이해가 안 되는 것은 action을 어떻게 정의하는 것인지가 아직도 잘 모르겠지만, 

결국 주어진 셋 안에서 랜덤 하게 뽑는 것 같다는 느낌이 강하다. 

기대한 것은 각 하이퍼 파라미터마다 각기 다른 선택을 해주는 multi-agent 같은 방법을 생각했는데, 아쉬운 것 같다.

 

728x90