本文へスキップ

Phoenics

Phoenicsはベイズ最適化とベイズカーネル密度推定を組み合わせ、実験または計算のパラメータを提案します。逐次、バッチ、多目的のワークフローに対応しています。

掲載情報の更新 ·

概要

Phoenicsは、物理実験や負荷の高い計算など、評価コストの高い目的関数を最適化するアルゴリズムです。ベイズ最適化とベイズカーネル密度推定の考え方を組み合わせ、大域最適化のためのパラメータ点を提案します。その役割は次に評価する対象を提案することであり、目的値は実験または計算によって得られます。READMEには、逐次ワークフローと並列化可能なバッチワークフローが記載されており、周期パラメータと複数目的については個別の例が用意されています。

ドキュメントに記載されたPythonインターフェースでは、設定ファイルからPhoenicsのインスタンスを作成し、phoenics.choose(observations = observations) に先行する観測値を渡します。出力は提案されたパラメータの集合です。それらのパラメータを外部で評価した後、得られた観測値を次の提案サイクルに渡すことができます。このためPhoenicsは、実験室での実行システム全体ではなく、反復的な実験計画に用いる候補コンポーネントと位置付けられます。出典の抜粋では、設定や観測データの完全なスキーマは示されていないため、実装にあたってはリンク先の例から確認する必要があります。

複数目的の場合、設定で複数の目的が定義されていると、Phoenicsは自動的にChimeraを使用します。Chimeraは、重要度の階層と許容可能な性能低下の相対許容差を用いて、目的値を単一のスカラー値に変換します。また、他の単目的最適化器向けの単独ラッパーとしても提供されています。READMEでは、代替の確率モデリングライブラリとしてPyMC3とEdwardが挙げられ、Python 3.6と特定の過去の依存関係でテストされたと報告されています。READMEには、リポジトリが構築中であることも記されています。抜粋からは現在の環境との互換性は確認できず、定量的な性能結果も示されていません。

主な機能

  • ベイズ最適化とベイズカーネル密度推定を組み合わせ、評価コストの高い目的関数の大域最適化を行います。
  • ドキュメントに記載された `phoenics.choose(observations = observations)` インターフェースを通じて、先行する観測値に基づき新たなパラメータ点を提案します。
  • 逐次最適化と並列化可能なバッチ最適化に対応し、それぞれ専用の例が用意されています。
  • 専用の最適化例を通じて、周期パラメータへの対応が説明されています。
  • 複数目的を含む設定では、目的の優先度と相対許容差を用いるChimeraを自動的に適用します。
  • 複数の目的値をスカラー目的関数に変換し、他の最適化手法で使用できるラッパーとして、Chimeraを個別に提供しています。

用途

  • 評価案:逐次例を使用し、測定結果を次のパラメータ提案に反映する反復的な化学実験計画ループを評価します。
  • 評価案:並列に実行できる高コストの計算や実験について、バッチ提案を評価します。
  • 評価案:明示的な優先度階層と許容可能な性能低下の許容差を設定し、Chimeraを用いた多目的実験計画を検討します。
  • 評価案:文書に記載された仮想ロボットの自動較正例を、較正ワークフローの出発点として検討します。

使い方

  1. 公式READMEを読み、提案ループ、インストール方法、記載されている依存関係を確認します。Python 3.6でのテスト報告は過去の証拠として扱い、現在の互換性を確認したものとは見なさないでください。
  2. 独自の入力を準備する前に、逐次最適化の例またはバッチ最適化の例を選び、設定と観測データの表現を確認します。
  3. ドキュメントに記載されたセットアップ手順に従い、設定ファイルからPhoenicsのインスタンスを作成します。phoenics.choose(observations = observations) に先行する観測値を渡し、提案パラメータ点を要求します。
  4. 実験または計算でそれらの点を評価し、目的値を記録して、新たな観測値を次の提案サイクルに戻します。まずは制御された例でこのワークフローを評価してください。
  5. 多目的の場合は多目的の例を参照し、優先度と許容差を定義します。パラメータに周期性の扱いが必要な場合は、周期パラメータの例を参照してください。

関連リソース

BayBE

オープンソース

BayBE は、定義済みの探索空間、目的、測定結果に基づいてパラメーター設定を推奨する、ベイズ実験計画用の Python ツールボックスです。化学分野を考慮したワークフローや多目的ワークフローにも対応します。

オープンソースPython

ラボ自動化 · プロセス最適化

BoFire

オープンソース

BoFire は、混合変数、制約、分子表現、反復的な候補選択に対応する、実験計画とベイズ最適化のための Python フレームワークです。

オープンソースPython

ラボ自動化 · プロセス最適化

Gryffin

オープンソース

Gryffin は、カテゴリ型および連続値とカテゴリ値の混合実験設計空間を対象とする Python ベイズ最適化フレームワークで、バッチ推奨と物理化学記述子に対応しています。

オープンソースPython

ラボ自動化 · プロセス最適化

Olympus

オープンソース

Olympus は、ノイズを含む最適化と実験計画のベンチマークに用いる Python フレームワークです。混合パラメータ領域、実験ベンチマーク、解析的テスト関数、および共通のプランナーインターフェースを備えています。

オープンソースPython

ラボ自動化 · プロセス最適化

Summit

オープンソース

Summitは、化学反応の最適化に用いるPythonツールキットです。最適化戦略、シミュレーションによる反応ベンチマーク、実験条件を評価するための閉ループワークフローを組み合わせています。

オープンソースPython

ラボ自動化 · プロセス最適化

Benchling MCP (longevity-genie) は、API認証情報を使用してAIクライアントをBenchlingのノートブック項目、生物学的配列、プロジェクト、エンティティ検索に接続するPython製MCPサーバーです。

オープンソースPython

ラボ自動化 · 科学データ

関連ガイド

スキル

化学AI Skillsとは?研究エージェントの手順モジュールを理解する

化学AI Skillsを再利用可能な手順モジュールとして理解します。`SKILL.md`に何が含まれるか、ホストが指示をどう読み込むか、SkillsがMCPやエージェントとどう異なるか、そして指針を科学的検証と混同せずに選択、組み合わせ、評価する方法を説明します。

スキル

化学・材料科学のAI Skills:RDKit・Datamol・ASE・Phonopyほか

化学・材料分野の AI Skills 10 種を、科学的な役割、依存関係、入力、出力、ライセンスの適用範囲から比較し、分子解析、NMR 処理、フォノン、平衡計算、反応分子動力学の後処理に向けた範囲を限定した評価を計画します。