Tunny Icon
TunnyDocs

The next-gen Grasshopper optimization tool.

Robustness

Robustness ウィジェットは、選んだ設計にガウス入力ノイズを与え、観測済みトライアルにフィットしたサロゲートモデルを通して摂動を伝播させることで、得られる出力分布を表示します。 すでに手元にあるトライアルから学習したサロゲートを流用するため、追加の実評価は一切不要です。 背後の数学は、下の手法セクションにまとめてあります。

ワークフロー

  1. 目的関数サロゲートモデルを選び、Fit Surrogate をクリックします。 サロゲートは全完了トライアルに対してバックグラウンドで学習されます(Surrogate Optimizer と同じ学習条件で、最低 10 トライアル必要です)。 Study に制約列がある場合は、列ごとの制約サロゲートも自動的に併せて学習されます。
  2. Center(解析対象の候補設計)を選びます。 Best trial(選択目的の方向を考慮したベスト)または任意のピン留めトライアルを指定します。 特定の設計を比較したい場合は、先に Trial Table や詳細モーダルでピン留めしておきます。 ピン留めトライアルが消えた場合(Study 切替後など)は、Best trial にフォールバックします。
  3. Noise %(ガウス入力ばらつきの 1σ を各パラメータの宣言レンジに対する割合で指定)と、サンプル数(256 / 1024 / 4096)を設定します。 サンプル数を増やすほど分布の裾まで点が行き渡るため、P5 / P95 のような端の統計量まで読みたい場合は多めに取ります。
  4. 必要なら Model uncertainty を有効にすると、各サンプル点で GP 事後分布からもドローし、サロゲート自身の(認識論的)不確かさを分布に織り込みます。 Ridge と LightGBM は予測の分散を返さないため、これらのモデルではこの設定は無視されます。

解析自体は、設定変更のたびに即座に実行されます。 時間がかかるのはサロゲートの学習だけなので、一度フィットしてしまえば、Noise % やサンプル数を変えながら何度でも試せます。

結果の読み方

  • ヒストグラム:摂動された全サンプルにわたる予測目的値の分布です。 1 点の予測値ではなく分布として見ることで、その設計の性能がどこまで振れうるのかを読み取れます。
  • Nominal(灰色破線):摂動なしの中心点でのサロゲート予測値です。 **Mean(赤線)**は摂動サンプルの平均です。 両者の差(Shift として数値表示)は、設計が非対称な斜面上にあることを意味します。 片側だけが急に立ち上がる位置に設計があるため、名目値が良く見えても、ばらつきを与えると平均は悪い側へ寄ります。
  • P5 / P95(破線):経験 5/95 パーセンタイルです。 最小化目的なら P95 は悲観側(「悪い日」)の見積もりになります。
  • Mean ± Std:広がりがロバスト性の主要指標です。 標準偏差が小さいほど入力のばらつきが性能に伝わりにくいため、名目値が同程度の 2 候補なら、標準偏差の小さい方を選びます。
  • P(feasible):Study に制約がある場合に表示します。 摂動後の設計が全制約を満たし続ける推定確率です(Optuna 規約では c0c \le 0 で実行可能)。 実行可能かどうかを 0 か 1 ではなく確率として見ることで、制約の境界ぎりぎりに乗っている設計を見分けられます。
  • Clipped %(琥珀色の警告):宣言レンジ境界に当たったサンプルの割合です。 大きい場合は、中心が境界付近にあり分布が切断されているため、「レンジ内に留まる」条件付きの分布として解釈してください。

補足

  • 解析はモデルによる推定であり、妥当性はサロゲートの品質に制限されます。 フィット品質は、同じモデル種を使って Surrogate Optimizer の検証プロットで確認できます。 フィットが悪くてもヒストグラムの形はもっともらしく出てしまうため、図を眺めているだけでは中身が信用できないことに気づけません。 中心にする設計の周りに観測トライアルがほとんどない場合も同様で、そこでのサロゲートは離れた点から推し量っているだけなので、分布の広がりまで信じるのは危険です。 最低 10 トライアルでも学習自体は通りますが、その程度の点数で得られる分布は、おおまかな目安と考えたほうが安全です。
  • 結果は決定論的です。 シードが固定されているため、同じ中心、ノイズ、サンプル数なら常に同じ統計量が再現され、候補間の比較がサンプリングのばらつきに左右されることはありません。 ガウスサンプリングには Box-Muller 変換を使います。
  • 想定される使い方は比較です。 Robustness ウィジェットを 2 つ並べ(それぞれ独立した設定を保持します)、2 つのピン留め候補に向けて分布を比べます。 名目値だけを比べれば負けている候補もあります。 ですが分布がはるかに狭いなら、工学的にはそちらが優れた選択になることもよくあります。
  • カテゴリカルパラメータは除外されます(数値パラメータのみが対象です)。 Surrogate Optimizer と同じ扱いです。
  • CSV エクスポートは出力サンプルの生値を書き出すので、外部での後処理に使えます。

手法

概要

最適化アルゴリズムが見つける最適解は決定論的な最適解であり、設計変数を正確に実現できることを前提としています。 ですが、実際の入力には不確かさが伴います。 製造公差、材料ばらつき、運転条件の変動などです。 目的関数曲面の急峻な尾根の上にある設計は、そのばらつきを与えた途端に、予測よりはるかに悪い性能を示すことがあります。 ロバスト性解析では、候補設計の周りで入力を摂動させたとき、予測性能がどのように分布するかを評価します。

これを直接評価するには、候補周辺で多数の追加実評価が必要になります。 代わりに本解析では、観測済みトライアルにすでにフィットした GP サロゲートを再利用することで、モンテカルロサンプリングによる入力不確かさの伝播を実評価なしで行います。 サロゲートが学習済みであれば、解析自体の計算コストはごくわずか(ミリ秒オーダー)です。

数式

目的関数のサロゲートを f^\hat{f}、候補設計(ピン留めトライアルやベストトライアルなど)を x0\mathbf{x}_0 とし、入力摂動は次元ごとに独立なガウス分布とします。

xi=x0+εi,εijN ⁣(0,  σj2),σj=δ(ujlj)\mathbf{x}_i = \mathbf{x}_0 + \boldsymbol{\varepsilon}i, \qquad \varepsilon{ij} \sim \mathcal{N}!\left(0,; \sigma_j^2\right), \qquad \sigma_j = \delta \cdot (u_j - l_j)

ここで [lj,uj][l_j, u_j] はパラメータ jj の宣言レンジ、$\delta$ はユーザーが選ぶノイズレベル(各レンジに対する割合。たとえば δ=0.02\delta = 0.02 なら 1σ でレンジの ±2 % のばらつき)です。 パラメータに宣言レンジがない場合(distribution に下限や上限が設定されていない場合)、$[l_j, u_j]$ は試行データにおけるそのパラメータの観測レンジにフォールバックします。 サンプルはこのレンジ内にクリップされます。 これは、変数が実行可能な箱の外に出られないという物理的制約を反映しています。 NN 個のモンテカルロサンプルに対する伝播後の出力集合は {yi}{y_i} で、

yi=f^(xi)(偶然的不確かさのみ),yiN ⁣(f^(xi),  s^2(xi))(偶然的 + 認識論的)y_i = \hat{f}(\mathbf{x}_i) \quad\text{(偶然的不確かさのみ)}, \qquad y_i \sim \mathcal{N}!\left(\hat{f}(\mathbf{x}_i),; \hat{s}^2(\mathbf{x}_i)\right) \quad\text{(偶然的 + 認識論的)}

前者は入力(偶然的、aleatory)不確かさのみを、サロゲート平均を通して伝播させます。 後者はさらに各サンプル点で GP 事後分布からドローし、モデル(認識論的、epistemic)不確かさ s^2(x)\hat{s}^2(\mathbf{x}) を織り込みます。 候補がサンプルの疎な領域にあり、サロゲート自身の予測不確かさが大きい場合に有用です。 {yi}{y_i} から、経験平均 yˉ\bar{y}、標準偏差 sys_y、5/50/95 パーセンタイルを報告します。 平均シフト yˉf^(x0)\bar{y} - \hat{f}(\mathbf{x}_0) からは、分布の非対称性を確認できます。 片側だけ急な斜面上の設計は、名目予測が良く見えても平均的には劣化します。

制約サロゲート c^k\hat{c}_k(Optuna の constraints 規約で保存された値で学習。$c_k \le 0$ で実行可能)がある場合、実行可能率は

Pfeas1Ni=1N1 ⁣[c^k(xi)0    k]P_\text{feas} \approx \frac{1}{N} \sum_{i=1}^{N} \mathbb{1}!\left[\hat{c}_k(\mathbf{x}_i) \le 0 ;; \forall k\right]

すなわち摂動後も実行可能に留まる設計の割合であり、ロバスト設計最適化で使われる信頼性(シックスシグマ的)指標のモンテカルロ版に相当します。

特性・限界

  • 解析の質はサロゲートの質を超えられません。 そのため、まずサロゲートの交差検証品質を確認してください。 フィットの悪いモデルからは、見かけ上もっともらしくても信頼できない分布が出力されます。
  • 宣言レンジ境界付近の候補では、クリップによりノイズ分布が切断されます。 報告されるばらつきは、「箱の内側に留まる」条件付きのものになります。
  • 次元ごとに独立なガウスノイズは仮定です。 相関のある公差や非ガウスのばらつきはモデル化されません。
  • ガウスサンプルは、シード付き乱数生成器上の Box-Muller 変換で生成されます。 決定論的シードによりサンプル集合は再現可能です。 同じ候補、ノイズレベル、サンプル数なら常に同じ統計量が得られます。
  • 想定ワークフローは、2 つの候補(例:2 つのピン留めトライアル)の分布比較です。 名目値がわずかに劣っても分布がはるかに狭い設計の方が、工学的には優れた選択になる場合が多くあります。

参考文献