본문 바로가기

기술예술

[논문리뷰] Gradient Free Optimizer: BasinCMA, NeverGrad

Gradient Free Optimizer는  gradient를 구하고자 하는 function의 계산이 느리거나, domain이 continous하지 않을 때, 원하는 solution이 several minima가 있을 때 등등 여러 방면에서 필요하다.

 

이러한 Optimizer에는 아래와 같은 종류가 있다.

  • Differential evolution
  • Sequential quadratic programming
  • FastGA
  • Covariance matrix adaptation
  • Population control methods for noise management
  • Particle swarm optimization

 

[BasinCMA]

- Covariance Matrix Adaptation (CMA)

  Gradient Free한 방법으로, parameter가 Gaussian distribution을 유지함. Loss에 따라서 Gaussian이 update됨.

  CMA-ES(Evolutionary Search)는 quasi-Newton method로 inverse Hessian matrix를 배우는 것과 유사

  단점: Solution에 가까워질수록, solution refinement가 느려짐

- BasinCMA

  CMA update과 Adam update이 병행되는 구조

  https://github.com/minyoungg/pix2latent/blob/master/pix2latent/optimizer/basincma_optimizer.py

 

[NeverGrad]

- 위와 같은 Gradient Free Optimizer를 구현한 플랫폼.

   https://github.com/facebookresearch/nevergrad

 

[Reference]

https://engineering.fb.com/ai-research/nevergrad/