進化パス

進化パス

執筆済 最適化CMA-ES

世代をまたいで移動方向を溜め込んだベクトル。 evolution path。 CMA-ES には pcpσ の 2 本ある。

pc(1cc)pc+cc(2cc)μeffm(g+1)m(g)σ

指数移動平均の形で、直近の動きを足しつつ古い情報を減衰させている。

符号の情報を救う#

これが進化パスの存在理由。共分散行列の更新は yy という外積を使うので、 yy が同じ寄与になる。1 世代分の情報だけでは向きの符号が失われる。

しかし「毎世代同じ向きに進み続けている」のと 「毎世代逆向きに行ったり来たりしている」のでは、意味が正反対。 前者は谷筋を順調に下っている、後者は行き過ぎて振動している。

進化パスは移動を足し合わせてから外積を取るので、この区別がつく。 同じ向きが続けば pc は長くなり、往復していれば打ち消し合って短くなる。

2 本の使い分け#

パス 使い道 座標系
pc 共分散行列の rank-one 更新 そのまま
pσ ステップサイズの調整 白色化した空間

pσ を白色化した空間で測るのは、 「分布の形の影響を除いた上で、進み方が偏っているか」を判定したいから。

正規化係数の意味#

cc(2cc)μeff という係数は、 ランダムに動いているときに pc の分布が 𝒩(0,C) になるよう選ばれている。 これにより「今の pc の長さは、でたらめに動いた場合と比べて長いか短いか」が 基準なしに判定できる。ステップサイズ適応はこの比較を直接使う。

参考文献#

ノート一覧を閉じる