Skip to main content

Evaluation-guided Black-box Optimization

Evaluation-guided Black-box Optimization は、生成画像に自動評価 score を付け、その score が高くなるように generation hyperparameter を探索する方法です。Text-to-image model では、seed、CFG、Reward Guidance、LoRA scale などの設定によって出力が大きく変わるため、人間が grid search する代わりに、評価 metric を objective として探索を自動化します。

Black-box evaluation loop

自作概念図。Hyperparameter を選び、画像を生成し、CLIPScore / VQA / HPS / PickScore などで score 化し、surrogate model で次の探索点を選びます。

基本 idea

生成 model を次のような black-box function と見なします。

score=f(prompt,seed,CFG,RG,LoRA scale,)\mathrm{score} = f(\mathrm{prompt}, \mathrm{seed}, \mathrm{CFG}, \mathrm{RG}, \mathrm{LoRA\ scale}, \ldots)

この関数の内部構造は複雑で、gradient を直接使いにくいです。そのため、少数の trial から surrogate model を作り、次に試す hyperparameter を選びます。

探索する hyperparameter

LINEヤフー Tech Blog の black-box optimization 適用編では、Stable Diffusion 系 model を題材に、主に次の hyperparameter が整理されています。

Hyperparameter役割
Seed初期 random noise / latent vector を決める
Prompt生成内容を text condition として指定する
CFGprompt 条件付き noise と無条件 noise の差をどれだけ反映するかを調整する
Reward Guidancefine-tuned model と base model の予測差を使い、特定 style や preference を強める
Skip-Layer GuidanceMMDiT などの一部 block を skip した予測との差を使う
LoRA scaleLoRA で学習された情報をどれだけ反映するかを決める

実験では、初期検討後に SLG を固定し、CFG、RG、LoRA scale を主な探索対象にしています。

評価 score の作り方

評価 objective は一つの metric だけでなく、複数 metric の composite score として作ることが多いです。

観点使用 metric の例目的
Prompt coverageCLIPScore、VQA Scoreprompt の内容が画像に含まれるかを見る
Human preferenceHPS、PickScore人間が好む画像らしさを見る
Style / qualityAesthetic Score、custom style classifier社内 style や application quality を見る

複数 metric を平均するときは、scale が違うと特定 metric が支配的になります。そのため、z-score normalization、rank normalization、bin ごとの calibration などを使い、metric ごとの scale を合わせます。

Bayesian Optimization

Bayesian Optimization は、未知の objective function を surrogate model で近似し、次に評価すべき点を acquisition function で選ぶ方法です。

Expected Improvement は、すでに高い score が期待できる領域と、まだ不確実性が高い領域の両方を考慮します。これにより、exploitation と exploration の balance を取ります。

Seed mining との関係

Seed は単なる整数ですが、その seed から生成される random noise / latent vector は画像生成の出発点です。良い seed は、prompt に必要な subject や layout を表現しやすい latent structure を持つ場合があります。

Seed mining は、空 prompt や特定 prompt で複数 seed を調べ、生成結果や attention map から良い seed を選ぶ発想です。Black-box optimization では、seed を固定して他の hyperparameter を探索する場合もあれば、seed 自体を探索対象に含める場合もあります。

実務上の設計

  1. Task-specific metric を定義する: 何が良い画像かを文章ではなく score に落とします。
  2. Metric の scale を合わせる: CLIPScore、VQA、HPS、PickScore は分布が異なるため normalize します。
  3. 探索空間を狭める: CFG や LoRA scale に現実的な範囲を設定します。
  4. 少数 trial で回す: 画像生成は高コストなので、grid search より Bayesian Optimization が向きます。
  5. Human review を残す: Metric が騙される画像を検出するため、最終候補は人間が確認します。

失敗しやすい点

  • Composite score が prompt alignment だけを強く見て、visual artifact を見落とす。
  • Aesthetic metric が target style と合わない。
  • CFG、RG、LoRA scale が独立ではないため、surrogate model が不安定になる。
  • 探索範囲が広すぎて、少数 trial では有効な領域に到達できない。
  • 最適化した prompt / seed にだけ過適合する。

まとめ

Evaluation-guided Black-box Optimization は、生成画像の品質改善を「人間が見て調整する作業」から「自動評価 metric を objective とする探索問題」に変換します。ただし、自動 metric は万能ではありません。最終的には、target application に合う metric を選び、人間評価との一致を確認しながら使う必要があります。

数式で見る評価器を使った black-box optimization

Evaluation-guided black-box optimization では、生成器や prompt の parameter xx を、評価器 S(x)S(x) が高くなるように探索します。

x=argmaxxS(x)x^* = \arg\max_x S(x)

Bayesian optimization では、これまでの観測集合 Dt={(xi,S(xi))}\mathcal{D}_t=\{(x_i,S(x_i))\} から surrogate model を作り、acquisition function α\alpha を最大化する次点を選びます。

xt+1=argmaxxα(x;Dt)x_{t+1}=\arg\max_x \alpha(x;\mathcal{D}_t)

この式の気持ちは、「高価な評価を何度も行えないので、これまでの評価結果から次に試すべき候補を賢く選ぶ」というものです。

ただし、評価器 SS が人間の本当の品質 UU とずれていると、optimization は評価器の穴を突きます。

S(x)⇏U(x)S(x)\uparrow \quad \not\Rightarrow \quad U(x)\uparrow

このため、評価器を直接最適化する場合は、held-out human evaluation、複数 metric、adversarial check を併用する必要があります。

関連ページ

主なソース