확률적 경사 하강법 (Stochastic gradient descent) 은 딥러닝 모델을 최적화하는 보편적인 선택이지만 유일한 옵션은 아닙니다. 블랙박스 최적화 알고리즘을 사용하면 함수 $f(x): \ ext{R}^n o \text{R}$ 의 정확한 해석적 형태를 알지 못하여 기울기나 헤시안 행렬을 계산할 수 없는 상황에서도 목표 함수를 평가할 수 있습니다. 블랙박스 최적화 방법의 예로는 시뮬레이티드 어닐링 (Simulated Annealing), 힐 클라이밍 (Hill Climbing), 그리고 넬더-미드법 (Nelder-Mead method) 이 있습니다.
진화 전략 (Evolution Strategies, ES) 은 진화 알고리즘 (EA) 가문에서 태어난 블랙박스 최적화 알고리즘의 한 종류입니다. 이 글에서는 몇 가지 고전적인 ES 방법을 살펴보고, ES 가 딥러닝 강화학습 (deep reinforcement learning) 에서 어떤 역할을 할 수 있는지에 대한 몇 가지 응용을 소개하겠습니다.
진화 전략 (ES) 은 진화 알고리즘이라는 큰 가문에 속합니다. ES 의 최적화 대상은 실수 벡터 $x \in \text{R}^n$ 입니다.
진화 알고리즘은 자연선택에 영감을 받은 집단 기반 최적화 알고리즘의 한 분류를 지칭합니다. 자연선택은 생존에 유리한 형질을 가진 개체가 세대를 거쳐 살아남고 좋은 특성을 다음 세대에 물려준다고 믿습니다. 진화는 선택 과정을 통해 점진적으로 일어나며, 집단은 환경에 더 잘 적응하게 성장합니다.
진화 알고리즘은 일반적인 최적화 솔루션으로서 다음과 같은 형태로 요약할 수 있습니다:
우리는 함수 $f(x)$ 를 최적화하고 싶지만 기울기를 직접 계산할 수 없다고 가정해 봅시다. 하지만 여전히 어떤 $x$ 에 대해 $f(x)$ 를 평가할 수 있으며 그 결과는 결정론적입니다. 우리는 $f(x)$ 최적화의 좋은 해에 대한 $x$ 상의 확률 분포에 대한 믿음을 $p_\theta(x)$ 로 표현하며, 이는 매개변수 $\theta$ 로 파라미터화됩니다. 목표는 $\theta$ 의 최적 구성을 찾는 것입니다.
여기서 분포의 형식이 고정되어 있는 경우 (즉, 가우시안), 매개변수 $\theta$ 는 최선의 해에 대한 지식을 담고 있으며 세대를 거쳐 반복적으로 업데이트됩니다.
초기 $\theta$ 값을 시작하여 다음과 같은 세 단계를 반복함으로써 $\theta$ 를 지속적으로 업데이트할 수 있습니다:
- $x_i \sim p_\theta(x)$ 인 샘플 집단 $D = \