CyberAgentAILab/cmaes

Python library for CMA Evolution Strategy.

해결하는 문제

공분산 행렬 적응 진화 전략(CMA-ES) 및 다양한 전문화된 변종에 대한 간단하고 실용적인 Python 구현을 제공합니다. 혼합 변수 공간(연속, 정수, 범주형)을 포함한 복잡한 최적화 문제, 안전 제약 조건 또는 다목적 목표를 필요로 하는 문제를 해결하도록 설계되었습니다.

작동 방식

최적화기는 후보 해를 제안(ask)하고 사용자는 결과 목적 함수 값을 제공(tell)하는 'ask-and-tell' 인터페이스를 사용합니다. 표준 CMA-ES 알고리즘과 여러 고급 확장 기능을 구현합니다:

  • CatCMAwM: 연속, 정수, 범주형 변수를 통합된 프레임워크에서 처리하는 혼합 변수 최적화를 지원합니다.
  • COMO-CatCMAwM: 여러 최적화기를 조율하여 다목적 혼합 변수 최적화를 수행합니다.
  • Safe CMA: 안전 함수와 안전한 초기값을 사용하여 안전 기준을 초과하는 해를 피하면서 최적화를 수행합니다.
  • LRA-CMA: 다모달성 또는 노이즈가 있는 문제를 자동으로 조정하여 수동 하이퍼파라미터 튜닝 없이도 처리할 수 있습니다.
  • WS-CMA: 유사한 작업에서의 사전 지식을 전이하여 평가 예산이 제한된 상황에서도 최적화 속도를 높입니다.

대상 사용자

  • 블랙박스 최적화 작업 중인 연구자 및 개발자.
  • 하이퍼파라미터 최적화를 수행하는 머신러닝 엔지니어(Optuna와 통합 가능).
  • 혼합 변수 탐색 공간 또는 안전 중심 최적화 작업을 다루는 엔지니어.

주요 특징

  • 혼합 변수 지원: 연속, 정수, 범주형 변수 전용 변종 제공.
  • 안전 인식: 제약 조건 최적화에 적합한 Safe CMA-ES 변종 포함.
  • 다목적 지원: COMO-CatCMAwM을 통해 이목적 혼합 변수 최적화 지원.
  • 자동 튜닝: LRA-CMA는 고비용 하이퍼파라미터 설정의 필요성을 줄입니다.
  • 통합성: Optuna 프레임워크와 호환되어 자동 하이퍼파라미터 최적화 가능.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트