CyberAgentAILab/cmaes
Python library for CMA Evolution Strategy.
何を解決するか
Covariance Matrix Adaptation Evolution Strategy (CMA-ES) およびそのさまざまな特殊化されたバージョンのシンプルで実用的な Python 実装を提供します。複雑な最適化問題、特に混合変数空間(連続、整数、カテゴリカル)を持つ問題や、安全制約や多目的目標を必要とする問題を解決することを目的としています。
動作方法
このライブラリは「ask-and-tell」インターフェースを使用しており、最適化アルゴリズムが候補解を提案(ask)し、ユーザーがその目的関数値を提供(tell)します。標準的な CMA-ES アルゴリズムといくつかの高度な拡張機能を実装しています:
- CatCMAwM: 連続、整数、カテゴリカル変数を統合したフレームワークで混合変数最適化を扱います。
- COMO-CatCMAwM: 複数の最適化器を連携させ、多目的混合変数最適化を実現します。
- Safe CMA: 安全関数と安全な初期値を使用して、安全制限を超える解を回避しながら最適化を実行します。
- LRA-CMA: モーダル性やノイズがある問題に対応するために、学習率を自動調整し、手動でのハイパーパラメータチューニングを不要にします。
- WS-CMA: 同じようなタスクからの事前知識を転送することで、評価予算が限られた状況でも最適化を高速化できます。
対象ユーザー
- ブラックボックス最適化に取り組む研究者や開発者。
- ハイパーパラメータ最適化を行う機械学習エンジニア(Optuna と統合可能)。
- 混合変数探索空間や安全制約が重要な最適化タスクに取り組むエンジニア。
特徴
- 混合変数対応: 連続、整数、カテゴリカル変数専用の拡張バージョンを提供。
- 安全意識: 制約付き最適化に適した Safe CMA-ES バージョンを含む。
- 多目的対応: COMO-CatCMAwM を通じて二目的混合変数最適化をサポート。
- 自動チューニング: LRA-CMA により、高コストなハイパーパラメータ設定の必要性を低減。
- 統合性: Optuna フレームワークと互換性があり、自動ハイパーパラメータ最適化が可能。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト