再始動戦略

再始動戦略

執筆済 最適化CMA-ES

CMA-ES は 1 回走らせると局所解に収束して止まる。 多峰性の強い問題では、止まったら条件を変えてやり直すのが標準的な運用になる。

IPOP-CMA-ES#

最も広く使われる方式。Auger と Hansen が 2005 年に提案した。

停止するたびに集団サイズ λ を 2 倍にして再始動する。

理屈はこう。λ が大きいほど 1 世代で広く見渡すため、 局所解を飛び越えて大域的な構造を捉えやすくなる。一方で λ が大きいと 1 世代あたりの評価回数が増える。だから小さい λ で速く試し、 駄目なら倍にして粘り強く探す、という順序で評価回数を配分する。

IPOP は Increasing POPulation の略。

BIPOP-CMA-ES#

λ を増やす系列と、小さい λ のまま初期 σ を変えて 何度も試す系列を交互に回す。予算を使い切っていない方の系列を選ぶ。 BBOB ベンチマークで強い結果を出し、以後の比較基準になっている。

停止条件#

再始動には「いつ止めるか」の判定が要る。実装で使われる代表的なもの。

条件 意味
TolX σC から決まる探索幅が閾値未満
TolFun 直近の世代で目的関数値がほとんど変わらない
ConditionCov C条件数が大きすぎ、数値的に危うい
NoEffectAxis ある軸方向に動かしても値が変わらない(数値的に潰れている)
EqualFunValues 上位個体の値がすべて同じ

これらは収束したかの判定でもあり、 評価回数を無駄にしないための実務的な工夫でもある。

参考文献#

ノート一覧を閉じる