jiku log

データサイエンスの核心を掴む : 学びと発見の記録

「ベイズ最適化」を読む ~第7章 高次元空間でのベイズ最適化 ①目的関数の加法的分解に基づく方法~

はじめに

データを使って仮説の生成と検証を行なうための方法であるベイズ最適化を学ぶために,今村秀明・松井孝太 著「ベイズ最適化 ー適応的実験計画の基礎と実践ー」を読むことにした。

本記事は,「第7章 高次元空間でのベイズ最適化」における,目的関数の加法的分解に基づく方法に関する読書メモである。

  • 本書の紹介ページ

www.kindaikagaku.co.jp

第7章 高次元空間でのベイズ最適化

入力が高次元空間の場合,

  • ガウス過程モデルの推定が不安定になる
  • 獲得関数が入力空間上で平坦になり最適化が難しくなる

といった理由から,通常のベイズ最適化が困難になる。

本章ではこのような問題を回避し,高次元空間上で適切にベイズ最適化を実行するための方法が説明されている。

7.1 高次元空間上でのベイズ最適化問題の課題

ベイズ最適化は,探索空間 \mathcal{X}が比較的低次元(たかだか10次元程度)の場合に良い性能が示され,高次元ではベイズ最適化が困難であることが知られている。

主な理由は

  1. ブラックボックス関数の推定が高次元空間では難しくなる
  2. 獲得関数の最大化が高次元空間では難しくなる

の2点である。


1つ目の理由は,入力次元 dが大きくなるにつれて,ガウス過程回帰モデルの推定誤差が著しく悪化するためである(「次元の呪い」と呼ばれる現象の1つである)。


2つ目の理由については,入力次元が大きいときに,ガウス過程回帰で得られた予測分布から計算された期待改善量(EI)獲得関数が,候補点においてほぼ一様になるためである。
本書では,入力次元が d=50のStyblinski-Tang関数を題材に,上記の現象が示されていた。獲得関数の変化が小さいと,獲得関数を最適化する過程で生じる誤差よって埋もれてしまうのである。


本章では,高次元空間におけるベイズ最適化の手法として,

  1. 目的関数の加法的分解に基づく方法
  2. 入力空間の次元削減に基づく方法
  3. 局所的なモデリングに基づく方法

の3つが紹介されている。

7.2 目的関数の加法的分解に基づく方法

本節では,高次元ベクトルを入力に持つブラックボックス関数を,交わりのない低次元な部分ベクトルを入力に持つ複数の関数に分解し,それぞれに対してガウス過程モデルを当てはめた結果を統合する方法を紹介している。

加法的ガウス過程モデルとその推論

モデルの定義

以下では,入力 \mathbfit{x}は各成分ごとに最大値が1,最小値が0に規格化されているとする( \mathbfit{x} \in \mathcal{X} = [0, 1]^d )。
さらに,通常のベイズ最適化の問題設定に加えて,次のような仮定を置く。


 \begin{align}
f(\mathbfit{x}) = f^{(1)}(\mathbfit{x}^{(1)}) + f^{(2)}(\mathbfit{x}^{(2)}) + \cdots + f^{(M)}(\mathbfit{x}^{(M)})  \\

\end{align}

ただし, d_j次元ベクトル \mathbfit{x}^{(j)} \in [ 0, 1 ]^{d_j}  d_j  \ll dかつ互いに交わりが無い \mathbfit{x}の部分ベクトルで,それらは \mathbfit{x}の分割をなすとする。
また, f^{(j)} : [ 0, 1]^{d_j} \leftarrow \mathbb{R} とする。


 f^{(j)}に対して平均関数 \mu^{(j)},カーネル関数 k^{(j)}のガウス過程事前分布を仮定する。


 \begin{align}
f^{(j)} &\sim \mathcal{GP}(\mu^{(j)}, k^{(j)}), \quad j=1, \cdots, M \\ \\
f^{(j)} &\in \mathbb{R} \\
\end{align}

ただし, f \sim \mathcal{GP}(\mu, k)であり,


 \begin{align}
\mu(\mathbfit{x}) = \mu^{(1)}(\mathbfit{x}^{(1)}) + \mu^{(2)}(\mathbfit{x}^{(2)}) + \cdots + \mu^{(M)}(\mathbfit{x}^{(M)})  \\ \\

k(\mathbfit{x}, \mathbfit{x'}) = k^{(1)}(\mathbfit{x}^{(1)}, \mathbfit{x'}^{(1)}) + \cdots + k^{(M)}(\mathbfit{x}^{(M)}, \mathbfit{x'}^{(M)})  \\

\end{align}


さらに観測モデルについて


 \begin{align}
y = f(\mathbfit{x}) + \varepsilon, \quad \varepsilon \sim \mathcal{N}(0, \sigma^2) \\
\end{align}

とすると, yのガウス過程モデルは fのガウス過程モデルを用いて,


 \begin{align}
y &\sim \mathcal{GP}(\mu(\mathbfit{x}), k(\mathbfit{x}, \mathbfit{x'}) + \delta(\mathbfit{x}, \mathbfit{x'})\sigma^2) \\ \\

\delta(\mathbfit{x}, \mathbfit{x'}) &= 
  \begin{cases}
    1 & (\mathbfit{x} = \mathbfit{x'}) \\
    0 & \text{otherwise} \\
  \end{cases}

\end{align}

とする。このような加法的分解に基づいたガウス過程モデルを加法的ガウス過程モデル (additive Gaussian process model)と呼ぶ。

推論

 fの加法的分解の定義から,加法的ガウス過程モデルのもとでは,各コンポーネント f^{(j)}ごとに推論を行ない,その結果を結合することで fの推論を行なうことができる。

観測していない(すなわち評価をしたい点) \mathbfit{x}_0^{(j)}について,その観測値 f_0^{(j)} = f^{(j)}(\mathbfit{x}_0^{(j)})に対する推論を考える。

多変量正規分布の同時分布・条件付き分布の性質を用いると,データ \mathcal{D}_nを観測した時における f_0^{(j)} の予測分布は,


 \begin{align}

\mu_n^{(j)}(\mathbfit{x}_0^{(j)}) &= k^{(j)}(\mathbfit{x}_0^{(j)}, \mathbfit{X}^{(j)} )  \Delta_n^{-1} \mathbfit{y},  \\ \\

\sigma_n^{(j)2}(\mathbfit{x}_0^{(j)}) &= k^{(j)}(\mathbfit{x}_0^{(j)}, \mathbfit{x}_0^{(j)} )
 - k^{(j)}(\mathbfit{x}_0^{(j)}, \mathbfit{X}^{(j)} )  \Delta_n^{-1} k^{(j)}( \mathbfit{X}^{(j)},  \mathbfit{x}_0^{(j)} )  \\ \\

\Delta_n &= k(\mathbfit{X}, \mathbfit{X}) + \sigma^2 \mathbfit{I}_n \\

\end{align}

をそれぞれ予測平均と予測分散にもつ正規分布になる。

加法的ガウス過程モデルに基づくベイズ最適化

本項では,加法的ガウス過程モデルに基づくベイズ最適化の方法として,信頼下限獲得関数を用いる方法が説明されている。


信頼下限獲得関数は,ガウス過程の予測平均 \mu_n(\mathbfit{x})と予測分散 \sigma^2(\mathbfit{x})およびハイパーパラメータ \beta_nを用いて


 \begin{align}
\alpha_{\mathrm{LCB}}(\mathbfit{x}) = -( \mu_n(\mathbfit{x}) -  \sqrt{\beta_n} \sigma_n(\mathbfit{x})) \\
\end{align}

で定まる獲得関数であった。

これを加法的ガウス過程モデルに拡張した加法的信頼下限 (additive lower confidence bound) は,以下で定義される。

  • 加法的信頼下限


 \begin{align}
\alpha_{\mathrm{Add-LCB}}(\mathbfit{x}) = -\left(  \sum_{j=1}^M \mu_n^{(j)}(\mathbfit{x}^{(j)}) -  \sqrt{\beta_n}  \sum_{j=1}^M \sigma_n^{(j)}(\mathbfit{x})   \right) \\
\end{align}


加法的信頼下限は,加法的分解の各分割[te: f^{(j)}]に対する信頼下限の総和になっている。そのため,高次元における獲得関数の計算を回避することができる。

まとめと感想

今回は,「第7章 高次元空間でのベイズ最適化」のうち,目的関数の加法的分解に基づく方法について学んだ。

ベイズ最適化においても次元の呪いが発生するが,これに対する3つの対応策が紹介されていた。目的関数の加法的分解に基づく方法は,入力変数や目的関数がいくつかのブロックに分けられることを仮定したもとでの手法であり,高次元の計算を避けることができていた。

実際の応用シーンでも,たとえばプラントのデータに対してベイズ最適化を用いる場合でも,プラントの部品ごとに分解して考えれば加法的分解に基づく方法を適用できうるので,実用的であると感じた。ただし,入力ベクトルの分割は事前知識に基づいて行なう必要があるため,対象に関する知識が重要であると感じた。


本記事を最後まで読んでくださり,どうもありがとうございました。