CMA-ES

CMA-ES

공분산 행렬 적응 진화 전략(CMA-ES)수치 최적화를 위한 특정한 종류의 전략이다. 진화 전략(ES)은 비선형 또는 비콘벡스 연속 최적화 문제의 수치 최적화를 위한 확률적이고 파생적이지 않은 방법이다. 그것들은 진화 알고리즘진화 계산의 등급에 속한다. 진화 알고리즘생물학적 진화의 원리, 즉 (재조합과 돌연변이를 통한) 변동의 반복적인 상호연극과 선택: 각 세대(반복)에서 새로운 개인(pandidate solution, 이 보통 확률적인 방식으로 변동에 의해 생성된다. 현재 부모의 개인 그 후, 어떤 개인은 자신의 적합성이나 객관적인 기능 f f을 기준으로 다음 세대의 부모가 되는 것으로 선택된다 이와 같이 세대 순서에 따라 나은 f f을 가진 개인은 생성된다.

진화 전략에서, 새로운 후보 솔루션은 다변량 정규 분포에 따라 에 따라 샘플링된다 재결합은 분포에 대한 새로운 평균값을 선택하는 데 해당된다. 돌연변이는 평균이 0인 동요인 무작위 벡터를 추가하는 것이다. 분포의 변수들 사이의 쌍방향 종속성은 공분산 행렬로 표현된다. 공분산 행렬 적응법(CMA)은 이 분포의 공분산 행렬을 업데이트하는 방법이다. 이것은 f (가) 잘못된 조건일 경우 특히 유용하다.

공분산 행렬의 적응은 고전적 최적화준뉴턴 방법에서 헤시안 행렬의 역행렬의 근사치와 유사한 기초 목적함수의 두 번째 순서 모델을 배우는 것에 해당한다. 대부분의 고전적인 방법과 대조적으로, 기본 목표 기능에 대한 가정은 더 적다. 후보 솔루션의 순위(또는 동등하게 정렬)만 활용되기 때문에 파생상품도, 심지어 (명확한) 객관적 기능도 이 방법에 의해 요구되지 않는다. 예를 들어, 순위는 스위스-시스템 토너먼트에서 후보 솔루션 간의 쌍끌이 시합에서 나올 수 있다.

원칙

단순한 2차원 문제에 공분산 행렬 적응을 사용한 실제 최적화 실행 그림. 구형 최적화 조경은 동일한 -값의 실선으로 표시된다. 모집단(점)은 필요한 것보다 훨씬 크지만, 최적화하는 동안 모집단(점선)의 분포가 어떻게 변하는지 명확하게 보여준다. 이 간단한 문제에 대해, 인구는 몇 세대 안에 세계 최적화에 집중한다.

검색 분포의 매개변수 적응을 위한 두 가지 주요 원칙은 CMA-ES 알고리즘에서 활용된다.

첫째, 합격자 해법과 검색 단계의 확률을 높이기 위한 아이디어에 근거한 최대 우도 원칙이다. 분포의 평균은 이전에 성공한 후보 솔루션의 가능성이 최대화되도록 업데이트된다. 분포의 공분산 행렬은 이전에 성공한 검색 단계의 가능성이 증가하도록 업데이트된다(증분). 두 업데이트 모두 자연스러운 그라데이션 강하로 해석할 수 있다. 또한 CMA는 모든 주축을 유지하면서 성공적인 검색 단계에 대한 반복된 주성분 분석을 수행한다. 분포 알고리즘 추정교차-엔트로피 방법은 매우 유사한 아이디어에 기초하지만 성공적인 검색 단계 대신 성공적인 솔루션 포인트의 가능성을 극대화하여 공분산 행렬을 추정(비증분)한다.

둘째, 전략의 분포 평균의 시간 진화의 두 가지 경로를 검색 또는 진화 경로라고 한다. 이러한 경로에는 연속적인 단계 간의 상관관계에 대한 중요한 정보가 포함되어 있다. 구체적으로는 유사한 방향으로 연속적인 조치를 취하면 진화 경로가 길어진다. 진화의 길은 두 가지 방법으로 이용된다. 하나의 경로는 성공적인 단일 검색 단계 대신 공분산 행렬 적응 절차에 사용되며 유리한 방향의 분산을 훨씬 빠르게 증가시킬 수 있다. 다른 경로는 추가 단계 크기 제어를 수행하는 데 사용된다. 이 단계적 크기 제어는 기대에서 직교하는 분포 평균의 연속적인 이동을 목표로 한다. 단계적 크기 제어는 조기 수렴을 효과적으로 방지하면서도 빠른 수렴을 최적으로 허용한다.

알고리즘.

다음은 가장 일반적으로 사용되는 (μ/μw, μ)-CMA-ES의 개요를 설명하며, 각 반복 단계에서는 μ 중에서 가장 좋은 μ의 가중 조합이 분포 매개변수를 업데이트하는 데 사용된다. 메인 루프는 1) 새 솔루션의 샘플링, 2) 적합성에 기반한 샘플링 솔루션의 재주문, 3) 재주문된 샘플에 기반한 내부 상태 변수의 업데이트 등 3가지 주요 부분으로 구성된다. 알고리즘의 유사코드는 다음과 같다.

설정 반복당 샘플의 λ{\lambda\displaystyle}//번호, 적어도 두개, 일반적으로입니다.;4initialize m{m\displaystyle},σ{\displaystyle \sigma}, C)나는, pσ)}0{\displaystyle p_{\sigma}=0{C=I\displaystyle}, c)0{\displaystyle p_{c}=0}//initialize 상태 변수 반면 n.고르terminate do  // iterate     for  in  do  // sample  new solutions and evaluate them         sample_multivariate_normal(mean, covariance_matrix)           with  // sort solutions       // we need later  and   ← update_m  // move mean to better solutions       ← update_ps  // update isotropic evolution path      ← update_pc  // update anisotropic evolution path      ← update_C  // update covariance matrix      update_sigma(     // 등방성 경로 길이  m    1 }을 사용하여 단계 크기 업데이트 

다섯 업데이트 할당의 순서는 다음과 같다: 이(가) 먼저 업데이트되어야 하고, 으로 업데이트되어야 한다. 다음에서는 5개 상태 변수에 대한 업데이트 방정식을 지정한다.

검색 공간 차원 반복 단계 가) 제공됨. 다섯 가지 국가 변수는

최적화 문제에 대한 분포 평균 및 현재 즐겨찾는 솔루션,
> 스텝 사이즈,
C = 을(를) 갖는 대칭적이고 확실 {\ n 공분산 행렬
, p n mathb {R {n 초기에는 0 벡터로 설정된 두 개의 진화 경로가 있다.

그 반복 λ를 견본 추출과 함께, 나는 갈1{\displaystyle \lambda 1}후보 솔루션 나는}은 다변량 정규 분포에서 N(mk, kσ 2Ckm그리고 4.9초 만){\displaystyle \textstyle{{\mathcal N}}(m_{k},\sigma_{k}^{2}C_{k})}Rn{\displaystyle x_{나는}\in \mathbb{R}^{n}∈, 즉 x 시작한다.1, …

두 번째 선은 현재 선호하는 용액 벡터 k 분포 평균 벡터)의 섭동(혼합)으로 해석을 제시한다. 후보 솔루션 은(는) 최소화할 목표 f: → R 에 대해 평가한다. - 다양한 후보 솔루션을 다음과 같이 표시

새로운 평균 값은 다음과 같이 계산된다.

서 1 w w > {\1}\ \의 양이 1에 해당한다. Typically, and the weights are chosen such that . The only feedback used from the objective function here and in the following is an ordering of 지수 : 때문에 후보 솔루션을 샘플링했다

스텝사이즈 {\누적 스텝사이즈 적응(CSA)을 사용하여 업데이트되며, 때로는 경로 길이 조절로도 알려져 있다. 진화경로(또는 검색경로) p_{\}}}이(가) 먼저 업데이트된다.

어디에

is the backward time horizon for the evolution path and larger than one ( is reminiscent of an exponential decay constant as where is the associated lifetime and the half-life),
is the variance effective selection mass and by definition of ,
is the unique symmetric square root of the inverse of , and
보통 1에 가까운 댐핑 매개변수다. = = {\{\sigma }=\ 또는 = 경우 단계 크기는 변경되지 않은 상태로 유지된다.

스텝 사이즈 {\이() 예상값보다 큰 경우에만 증가한다.

그리고 더 작으면 줄어들었다. For this reason, the step-size update tends to make consecutive steps -conjugate, in that after the adaptation has been successful 0[1]

마지막으로 공분산 행렬이 업데이트되고, 여기서 다시 각 진화 경로가 먼저 업데이트된다.

서 T 전치 및

- / (는) 보다 큰 진화의 p 대한 후진 시간 지평이다.
and the indicator function evaluates to one iff or, in other words, {\ 보통은 다음과 같다.
makes partly up for the small variance loss in case the indicator is zero,
2/ 공분산 행렬의 순위 1 업데이트에 대한 학습 속도
/ }}은 공분산 행렬의 순위 업데이트에 대한 학습률이며 - 를 초과해서는 안 된다

The covariance matrix update tends to increase the likelihood for and for to be sampled from . 이렇게 하면 반복 단계가 완료된다.

후보 표본 수 , 는) priori로 결정되지 않으며 광범위한 범위에서 달라질 수 있다. 를 들어 =10 {\ =과 같은 값이 작을수록 로컬 검색 동작이 많아진다 를 들어, 기본값 가 w μ w w / {\ 값이 클수록 검색이 보다 글로벌하게 된다. 때때로 알고리즘은 각 재시작에 대해 (를) 2배씩 증가시키면서 반복적으로 재시작된다.[2] 또는 이(가) 사용 가능한 프로세서 수로 미리 결정된 경우)를 설정하는 것 외에, 위에서 소개한 파라미터는 주어진 목표 기능에 한정되지 않으므로 사용자가 수정할 수 없다.

MATLAB/Octave의 예 코드

function xmin=purecmaes   % (mu/mu_w, lambda)-CMA-ES  % --------------------  Initialization --------------------------------    % User defined input parameters (need to be edited)  strfitnessfct = 'frosenbrock'; % name of objective/fitness function  N = 20; % number of objective variables/problem dimension  xmean = rand(N,1); % objective variables 초기 점 시그마 = 0.3, % 좌표현 표준 편차(단계 크기) 스톱피트 = 1e-10, 피트니스 < 스톱피트니스(미니메이션) 스톱피트 = 1e3*N^2; 함수 평가스톱볼 % 스톱스톱, % 전략 매개변수 설정: Selection    lambda = 4+floor(3*log(N)); % population size, offspring number  mu = lambda/2; % number of parents/points for recombination  weights = log(mu+1/2)-log(1:mu)'; % muXone array for weighted recombination  mu = floor(mu);   weights = weights/sum(weights); % normalize recombination weights array  mueff=sum(weights)^2/sum(weights.^2); w_i x_i % 전략 매개변수 설정: Adaptation  cc = (4+mueff/N) / (N+4 + 2*mueff/N); % time constant for cumulation for C  cs = (mueff+2) / (N+mueff+5); % t-const for cumulation for sigma control  c1 = 2 / ((N+1.3)^2+mueff); % learning rate for rank-one update of C  cmu = min(1-c1, 2 * (mueff-2+1/mueff) / ((N+2)^2+mueff)); % and for rank-mu update  damps = 1 + 2*max(0, sqrt((mueff-1)/(N+1))-1) + cs; % damping for sigma   % usually close to 1  % Initialize dynamic (internal) strategy parameters and constants  pc = zeros(N,1); ps = zeros(N,1); % evolution paths for C and sigma  B = eye(N,N); % B defines the coordinate system  D = ones(N,1); % diagonal D defines the scaling  C = B * diag(D.^2) * B'; % covariance matrix C  invsqrtC = B * diag(D.^-1) * B'; % C^-1/2   eigeneval = 0; % track update of B and D  chiN=N^0.5*(1-1/(4*N)+1/(21*N^2)); % expectation of   %     N(0,I)   == norm(randn(N,1))   % -------------------- Generation Loop --------------------------------  counteval = 0; % the next 40 lines contain the 20 lines of interest잉 코드는 동안counteval<>stopeval%생성하고 평가 lambda 자식을 점지 k=1:람다 arx(:,k))xmean+시그마*B((D.* randn(N,1));%m+sig*Normal(0,C)arfitness(k))feval(strfitnessfct, arx(:,k).%객관적인 함수 호출 counteval)counteval+1, end%정렬 기준 건강과 컴퓨팅 가중 평균으로xmean[arfitnes.sarindex] = 정렬(능률), % 최소화 xold = xmean, xmean = arx(:,arindex(1:mu))*중량, % 재결합,  평균% 누적: Update evolution paths  ps = (1-cs)*ps ...   + sqrt(cs*(2-cs)*mueff) * invsqrtC * (xmean-xold) / sigma;   hsig = norm(ps)/sqrt(1-(1-cs)^(2*counteval/lambda))/chiN < 1.4 + 2/(N+1);  pc = (1-cc)*pc ...  + hsig * sqrt(cc*(2-cc)*mueff) * (xmean-xold) / sigma;  % Adapt covariance matrix C  artmp = (1/sigma) * (arx(:,arindex(1:mu))-repmat(xold,1,mu));  C = (1-c1-cmu) * C ...                  % regard old matrix    + c1 * (pc*pc' ...                 % plus rank one update  + (1-hsig) * cc*(2-cc) * C) ... % minor correction if hsig==0  + cmu * artmp * diag(가중치) * artmp'; % 더하기 mu update % Adapt step size sigma = sigma * exp(cs/damps)*(norm(ps)/chiN - 1); C를 B*diag(D) 분해.^2)*B의(대각선화)만약counteval-eigeneval>lambda(c1+cmu)/N/10%O(N^2)eigeneval=counteval을 이루기 위해;C)triu(C)+triu(C,1)'이다;%)eig(C).%고유 분해, B==normalized 값 D)sqrt(diag(D). 표준 편차의%D는 벡터 지금)B*diag(D.^-1)*invsqrtC 대칭[B,D]를 숙정하다 B'이다;끝%을 깨트린 경우.하이 파이tness가 충분하거나 조건이 1e14를 초과하며, artfitty(1) <= stopfitty max(D) > 1e7 * min(D) break; end %, end generation loop xmin = arx(:, arindex(1); 마지막 반복의 Returning best point.% xmean이 훨씬 좋을 것으로 예상됨. %.  % ------------------------------------------------------------------------------------------------------- 크기(x,1) < 2 에러 ('dimension가  커야 한다';  f = 100*sum(x(1:end-1))^2 - x(2:end)).^2) + (x(1:end-1)-1).^2);

이론적 기초

분포 모수(평균, 분산 및 공분산)를 고려할 때, 새로운 후보 솔루션을 샘플링하기 위한 정규 확률 분포 즉 분포에 내장된 최소한의 사전 정보를 가진 표본 분포다. CMA-ES의 업데이트 방정식에 대한 추가 고려사항은 다음과 같다.

가변 미터법

CMA-ES는 확률적 변수-금속 방법을 구현한다. 볼록한 2차 목표 함수의 매우 특별한 경우

공분산 행렬 은(는) 스칼라 인자와 작은 랜덤 변동까지 Hesian H{\H의 역에 적응한다. 일반적이며 g}이 엄격히 증가하여 보존 순서를 f 이(가) 볼록한 양수인 경우 공분산 행렬 는 스칼라 H- 1 {\ H1에 적응한다. 그리고 작은 무작위 변동. 역-헤시안을 반영하는 공분산 행렬을 적응시키기 위한 일반화된 진화 전략 능력이 2차 근사치에 의존하는 정적 모델에 대해 입증되었다는 점에 유의한다.[3]

최대 우도 업데이트

평균 및 공분산 행렬에 대한 업데이트 방정식은 기대 최대화 알고리즘과 유사하면서 가능성을 최대화한다. 평균 벡터 의 업데이트는 로그 우도를 최대화하며, 다음과 같다.

어디에

(와) 모든 양의 한정된 행렬 C {\ m_k+1}이(가) 있는 정규 에서 x {\ x}의 로그 우도를 나타냄 m k + 1 {\ 1}이 C에 대해 독립적이라는 것을 확인하십시오. 좌표-현상 최대화자가 스케일링 계수와 독립적이기 때문에 임의의 행렬C {\C 그런 다음 데이터 점을 회전하거나 비대각형을 선택하는 것이 동일하다.

공분산 행렬의 순위 업데이트, 즉 의 업데이트 방정식에서 가장 적절한 요약으로 로그 우도를 최대화한다

n의 경우(그렇지 경우C {\C}은(는) 단수지만 실질적으로 동일한 가 μ< 에 대해 유지된다. Here, denotes the likelihood of from a multivariate normal distribution with zero mean and covariance matrix . Therefore, for and , + }은는) 위의 최대 우도 추정기다. 파생에 대한 자세한 내용은 공분산 행렬 추정을 참조하십시오.

표본 분포 공간의 자연 그라데이션 강하

아키모토 [4]연구진글라스머러스연구진은 [5]독립적으로 분포 매개변수의 업데이트가 예상 목적 함수 값 최소화 예정)의 샘플링된 자연 경사 방향으로 하강하는 것과 유사하다는 것을 발견했으며, 여기서 샘플 배분에 따른 기대치가 취해진다. c = = 0 즉 단계적 크기 제어 및 순위 1 업데이트 없이 CMA-ES는 NES(Natural Evolution Strategies)의 인스턴스화라고 볼 수 있다.[4][5] 자연 경사도는 분포의 매개변수화와 무관하다. 표본 분포의 매개변수에 대해, ( ) 의 구배는 다음과 같이 표현할 수 있다.

여기서 ( )= ( x )= p (는 매개 변수 벡터 {\}에 따라 달라진다 이른바 점수 함수인 ∇ ()= ( )\ \!는) w.r.t의 상대적 민감도를 나타내며, 분포에 대해 기대치를 취한다. 이제 Fisher 정보 메트릭(확률 분포와 상대 엔트로피의 곡률 사이의 정보 거리 측정하는 ( {\의 자연 경사가 판독된다.

여기서 피셔 정보 매트릭스 F 은(는p) -ln의 헤시안 기대값이며 선택된 파라미터화와 무관하게 식을 렌더링한다. 이전의 동등성을 결합하여

몬테카를로(Monte Carlo)의 근사치는 다음의 표본에 대한 평균을 취한다.

여기서 위의 i : 이(가) 사용되므로 w 는 단조롭게 에서 감소한다

올리비에 [6]연구진은 마침내 CMA-ES에 정의된 바와 같이 견고한 중량 w에 대한 엄격한 파생법을 발견했다. (중량은 >의 경우 0인 경우가 많다.) 은 고정된 로운 감소 으로 구성된f ( X), ~ p . ) {\ p \ CDF에 대한 일관성 있는 추정기로 공식화된다 w} 입니다.

따라서 알고리즘이 특정 - 값에 무감각하게 된다. 좀 더 간결하게, 그 자체 대신 CDF 추정기를 사용하면 알고리즘은 } -값의 순위에만 의존할 뿐 기본 분포에는 의존하지 않는다. 그것은 알고리즘을 단조로운 -변환에 불변하게 한다. 내버려두다

such that is the density of the multivariate normal distribution . Then, we have an explicit expression for the inverse of the Fisher information matrix where 고정

그리고 위하여

몇 가지 계산 결과 CMA-ES의 업데이트 내용은[4]

그리고

여기서 매트는 각 자연 그라데이션 하위 메뉴에서 적절한 매트릭스를 형성한다. That means, setting , the CMA-ES updates descend in direction of the approximation of the natural gradient while using different step-sizes (learning rates 1 and 직교 파라미터 에 대한 또한 가장 최신 버전의 m {\m}에대해 {\}을(를) 사용하고, 후자에 대해서만 음수 갖는C {\C}을( 소위 활성 CMA)

역점성 또는 편중성

CMA-ES의 업데이트 방정식은 본질적으로 편견이 없다는 점에서 역점적 조건을 만족한다는 것을 비교적 쉽게 알 수 있다. 서 x :~ N( , 2 2} 우리는 이 사실을 알게 된다.

초기 조건에 대한 약간의 가벼운 추가 가정 하에

표시기 함수가 0으로 평가되는 경우에 대한 공분산 행렬 업데이트의 추가 사소한 보정을 통해

인비언스

invariance 속성은 객관적 함수의 클래스에서 균일한 성능을 의미한다. 알고리즘의 동작을 일반화하고 예측할 수 있게 해 주고, 따라서 단일함수에 대해 얻은 경험적 결과의 의미를 강화할 수 있기 때문에, 그것들이 장점이라고 주장되어 왔다. CMA-ES에 대해 다음과 같은 비협조 속성이 확립되었다.

  • Invariance under order-preserving transformations of the objective function value , in that for any the behavior is identical on for all strictly increasing 이 불변도는 확인하기가 쉬운데, - 순위만 알고리즘에 사용되기 때문이며, g g에 따라 불변한다.
  • Scale-invariance, 그것에 대해 어떤 h:Rn에 → R목적 함수 f:x(α)){\displaystyle f:x\mapsto h(\alpha))}σ 0∝ 1/α{\displaystyle \sigma_{0}\propto 1/\a h ↦은 행동α의 독립적이다 ^{n}\to \mathbb{R}};0{\displaystyle \alpha>0}{\displaystyle h:\mathbb{R}.lpha} / 1
  • Invariance under rotation of the search space in that for any and any the behavior on is independent of the orthogonal matrix , given . More general, the algorithm is also invariant under general linear transformations when additionally the initial covariance matrix is chosen as .

어떤 심각한 파라미터 최적화 방법이라도 번역 불변성이어야 하지만, 대부분의 방법은 위에서 설명한 모든 불변성 속성을 나타내지는 않는다. 동일한 비침습성 특성을 가진 두드러진 예는 Nelder-Mead 방법이며, 여기서 초기 simplex를 각각 선택해야 한다.

수렴

알고리즘의 스케일 인바이어런스 속성, 보다 단순한 진화 전략의 분석, 압도적인 경험적 증거와 같은 개념적 고려사항들은 이 x로 표시된, 전지구적 최적으로 빠른 종류의 함수에 수렴한다는 것을 시사한다 일부 함수에서는 수렴이 외설적으로 일어난다.첫 번째 조건과 첫 번째 확률. 일부 기능에서 확률은 1보다 작으며 일반적으로 초기 m 0 에 따라 달라진다 경험적으로 에서 순위 기반 직접 검색 방법에 대해 가능한 가장 빠른 수렴 속도를 종종 관찰할 수 있다(텍스트 데노에 따라 다름).선형 또는 로그 선형 또는 지수 수렴으로 ted). 비공식적으로, 우리는 글을 쓸 수 있다.

일부 > 및 보다 엄격하게.

또는 이와 유사하게,

즉, (- ) 에 의해 평균적으로 각 반복에서 최적까지의 거리가 감소함을 의미한다 (는 이며, { \ (는) 치수 displaystystyle n}보다 그리 크지 최적의 {\ \ 위의 재결합 가중치 가 모두 음이 아닌 경우은(는) 0. {\{i}.을(를) 초과할 수 없다. 의 실제 선형 종속성은 주목할 만하며, 두 경우 모두 이러한 종류의 알고리즘에서 가장 잘 기대할 수 있는 것이다. 그러나, 융합의 엄격한 증거는 빠져 있다.

좌표계 변환으로 해석

진화 전략에서 다변량 정규 분포에 비식별 공분산 행렬을 사용하는 것은 주로 표본 추출 방정식이 있기 때문에 솔루션 벡터의 좌표계 변환과 동일하다.[7]

다음과 같이 "공백"으로 동등하게 표현될 수 있다.

공분산 행렬은 모든 솔루션 벡터에 대해 공간으로의 생체 변환(인코딩)을 정의하며, 여기서 표본 추출은 ID 공분산 행렬로 이루어진다. CMA-ES의 업데이트 방정식은 선형 좌표계 변환에 따라 불변하므로, CMA-ES는 ID 공분산 행렬이 있는 단순 진화 전략에 적용되는 적응형 인코딩 절차로 다시 작성할 수 있다.[7] 이 적응형 인코딩 절차는 다변량 정규 분포(진화 전략과 같은)에서 표본을 추출하는 알고리즘에 국한되지 않고 원칙적으로 모든 반복 검색 방법에 적용할 수 있다.

실기실적

대부분의 다른 진화 알고리즘과 대조적으로 CMA-ES는 사용자의 관점에서 준변수가 없다. 사용자 초기 해결책을 가리키m 0Rn{\displaystyle m_{0}\in \mathbb{R}^{n}∈}을 뽑는 것이고, 초기 step-size,σ 0>0{\displaystyle \sigma_{0}>0}. 선택적으로, 후보자 표본의는 특성 검색 행동을 바꾸기 위해(인구 크기)사용자가 수정할 수 있λ다.( 보 상기) 및 종료 조건은 당면한 문제에 맞게 조정될 수 있거나 조정되어야 한다.

CMA-ES는 수백 개의 애플리케이션에서 경험적으로 성공했으며 특히 비 컨벡스, 비분리, 조건 불량, 다중 모드 또는 소음 객관적 기능에 유용한 것으로 간주된다.[8] 블랙박스 최적화에 대한 한 조사에서는 31개의 다른 최적화 알고리즘을 제치고 특히 "어려운 기능" 또는 더 큰 차원의 검색 공간에 강세를 보였다. [9]

검색 공간 치수의 범위는 일반적으로 2에서 몇 백 사이입니다. 구배율(gradients)을 이용할 수 없고(또는 유용하지 않은) 기능 평가가 유일한 검색 비용인 블랙박스 최적화 시나리오를 가정하면, CMA-ES 방법은 다음과 같은 조건에서 다른 방법에 의해 능가될 가능성이 있다.

  • 저차원 기능에 대해서는, 예를 들어 내리막 단순화 방법이나 대리 기반 방법예: 개선이 기대되는 크리그링)으로 < 이라고 한다.
  • 특히 다형성 또는 대형 차원의 경우 설계 변수 사이의 의존성이 없거나 무시해도 될 정도로만 존재하는 분리 가능한 기능(예: 차등 진화에 의한 경우)
  • 일반적으로 BFGS 또는 NEWUOA가 10배 더 빠른 헤시안 매트릭스의 낮은 조건 번호 또는 중간 조건 번호를 가진 (근접) 대류-수각 함수
  • 기능 평가의 비교적 적은 수로 이미 해결할 수 있는 기능에 대해서는, CMA-ES가 예를 들어 NEWUOA 또는 MCS(Multilevel Coordinate Search)보다 느린 경우가 종종 있는 이하라고 한다

분리 가능한 기능에서 성능 단점은 CMA-ES가 유사한 솔루션을 전혀 찾을 수 없다는 점에서 가장 중요할 수 있다. 반면, 조건이 좋지 않거나 견고하지 않거나 평가만으로 해결할 수 있는 분리 불가능한 기능에 대해서는 CMA-ES가 가장 자주 우수한 성능을 보인다

변형 및 확장

(1+1)-CMA-ES는[10] 반복 단계당 하나의 후보 솔루션만 생성하며, 현재 평균보다 나은 경우 새로운 분포 평균이 된다. = 경우 (1+1)-CMA-ES는 가우스 적응의 가까운 변종이다. 일부 자연 진화 전략은 특정 파라미터 설정이 있는 CMA-ES의 가까운 변형이다. Natural Evolution Strategies는 경로( 설정 c= = 1 c_{c}=1}활용하지 않으며 공분산 행렬 대신 숄스키 계수에 대한 분산 및 공분산 업데이트를 공식화한다. 또한 CMA-ES는 MO-CMA-ES로서 다목적적 최적화로 확장되었다.[11] 또 다른 주목할 만한 확장자는 공분산 행렬을 소위 활성 CMA로 음의 업데이트로 추가한 것이다.[12] 추가 활성 CMA 업데이트를 사용하는 것은 오늘날 기본 변형으로 간주되고 있다.[13]

참고 항목

참조

  1. ^ Hansen, N. (2006), "The CMA evolution strategy: a comparing review", Towards a new evolutionary computation. Advances on estimation of distribution algorithms, Springer, pp. 1769–1776, CiteSeerX 10.1.1.139.7369
  2. ^ Auger, A.; N. Hansen (2005). "A Restart CMA Evolution Strategy With Increasing Population Size" (PDF). 2005 IEEE Congress on Evolutionary Computation, Proceedings. IEEE. pp. 1769–1776.
  3. ^ Shir, O.M.; A. Yehudayoff (2020). "On the covariance-Hessian relation in evolution strategies". Theoretical Computer Science. Elsevier. 801: 157–174. doi:10.1016/j.tcs.2019.09.002.
  4. ^ a b c Akimoto, Y.; Y. Nagata; I. Ono; S. Kobayashi (2010). "Bidirectional Relation between CMA Evolution Strategies and Natural Evolution Strategies". Parallel Problem Solving from Nature, PPSN XI. Springer. pp. 154–163.
  5. ^ a b Glasmachers, T.; T. Schaul; Y. Sun; D. Wierstra; J. Schmidhuber (2010). "Exponential Natural Evolution Strategies" (PDF). Genetic and Evolutionary Computation Conference GECCO. Portland, OR.
  6. ^ Ollivier, Y.; Arnold, L.; Auger, A.; Hansen, N. (2017). "Information-Geometric Optimization Algorithms: A Unifying Picture via Invariance Principles" (PDF). Journal of Machine Learning Research. 18 (18): 1−65.
  7. ^ a b Hansen, N. (2008). "Adpative Encoding: How to Render Search Coordinate System Invariant". Parallel Problem Solving from Nature, PPSN X. Springer. pp. 205–214.
  8. ^ "References to CMA-ES Applications" (PDF).
  9. ^ Hansen, Nikolaus (2010). "Comparing Results of 31 Algorithms from the Black-Box Optimization Benchmarking BBOB-2009" (PDF).
  10. ^ Igel, C.; T. Suttorp; N. Hansen (2006). "A Computational Efficient Covariance Matrix Update and a (1+1)-CMA for Evolution Strategies" (PDF). Proceedings of the Genetic and Evolutionary Computation Conference (GECCO). ACM Press. pp. 453–460.
  11. ^ Igel, C.; N. Hansen; S. Roth (2007). "Covariance Matrix Adaptation for Multi-objective Optimization". Evolutionary Computation. 15 (1): 1–28. doi:10.1162/evco.2007.15.1.1. PMID 17388777.
  12. ^ Jastrebski, G.A.; D.V. Arnold (2006). "Improving Evolution Strategies through Active Covariance Matrix Adaptation". 2006 IEEE World Congress on Computational Intelligence, Proceedings. IEEE. pp. 9719–9726. doi:10.1109/CEC.2006.1688662.
  13. ^ Hansen, N. (2016). "The CMA Evolution Strategy: A Tutorial". arXiv:1604.00772 [cs.LG].

참고 문헌 목록

  • 한센 N, 오스터마이어 A(2001) 진화 전략에 있어서 완전히 비합리화된 자기 적응. 진화 연산, 9(2) 페이지 159–195. [1]
  • 한센 N, 뮐러 SD, 쿠무타코스 P(2003년). 공분산 매트릭스 적응(CMA-ES)을 통해 탈분산화된 진화 전략의 시간 복잡성 감소 진화 연산, 11(1) 페이지 1–18. [2]
  • Hansen N, Kern S (2004). 다모달 시험 기능에 대한 CMA 진화 전략 평가 신 야오 외, 편집자, 자연으로부터의 병렬 문제 해결 PPSN VIII, 페이지 282–291, 스프링거. [3]
  • Igel C, Hansen N, Roth S (2007) 다목적 최적화를 위한 공분산 행렬 적응. 진화 연산, 15(1) 페이지 1-28. [4]

외부 링크