共分散行列適応

共分散行列適応

執筆済 最適化CMA-ES

CMA-ES の名前の由来であり、中心的な仕掛け。 うまくいった動きの方向へ、分布を広げる。

2 種類の更新を足す#

C の更新は性質の異なる 2 つの項からなる。

C(1c1cμ)C+c1pcpcrank-one+cμi=1μwiyi:λyi:λrank-μ

rank-one 更新進化パス pc の外積を足す。 pc は世代をまたいだ移動方向の蓄積なので、 「何世代も同じ向きに進んでいる」という情報が反映される。 1 世代分の情報だけでは見えない長期的な傾向を捉える役割。

rank-μ 更新 は今世代の上位個体の方向を足す。 λ が大きいときに情報を無駄なく使える。1 世代の情報だけなので反応は速い。

なぜ外積なのか#

yyy 方向に伸びた半正定値行列。 これを足すと、その方向の分散が大きくなる。 つまり「この向きは当たりだったから、次はこの向きを広めに探そう」を そのまま行列演算にしている。

学習率 c1,cμ は次元 n から自動的に決まり、 c1+cμ<1 を満たすので C は正定値のまま保たれる。

何を学んでいるのか#

十分に世代を重ねると、C は目的関数の ヘッセ行列の逆行列に比例する形へ近づくことが 知られている。つまり CMA-ES は二階の情報を、微分せずに標本から推定している準 Newton 法が勾配の履歴から ヘッセ行列を近似するのと、目的が対応している。

参考文献#

ノート一覧を閉じる