jiku log

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

「確率的機械学習 入門編II」を読む ~第19章 より少ないラベル付きデータからの学習 ⑥能動学習~

「確率的機械学習 入門編II」読書メモ一覧 - jiku log

はじめに

持橋大地・鈴木大慈 監訳「確率的機械学習 入門編II」は,世界的に評価の高いK.P.Murphy著 "Probabilistic Machine Learning (Book1)" の和訳であり,確率モデルに基づく機械学習,深層学習といった基礎が丁寧に整理されている。

本記事は,「第19章 より少ないラベル付きデータからの学習」における,能動学習に関する読書メモである。

19.4 能動学習

能動学習(active learning)の目標は,なるべく少ないデータのみを取得しながら,真の予測写像 y = f(\mathbfit{x})を学習することである。


能動学習の問題設定には以下の3種類がある。

  • クエリー生成(query synthesis) :
    • あらゆる入力点を選択でき,それに対する出力 y = f(\mathbfit{x})に問い合わせることができる。
  • プール型能動学習(pool-based active learning) :
    • 大きなラベルなしデータ集合が事前に与えられていて,アルゴリズムはどの点のラベルに問い合わせるかを選べる。
  • ストリーム型能動学習(stream-based active learning) :
    • データが次々と到着すし,アルゴリズムはその時点の入力点に対してラベルと問い合わせるか否かを選べる。

19.4.1 決定理論的アプローチ

能動学習の決定理論的アプローチでは,どのデータをラベル付けすると将来の損失が最も減るかということを考える。

具体的には, \mathbfit{x}への問い合わせをすることの効用を次のように考える。


 \begin{align}
U(\mathbfit{x}) \equiv \mathbb{E}_{p(y \mid \mathbfit{x}, \mathcal{D})} \left[ \min_a (R(a \mid \mathcal{D}) - R(a \mid \mathcal{D}, (\mathbfit{x}, y)))  \right] \\ \\
\end{align}
ここで,

  •  R(a \mid \mathcal{D}) = \mathbb{E}_{p(\theta \mid \mathcal{D})} [l(\theta, a)] : これまで観測したデータのもとでの,将来の行動 aを取ることによる期待損失
  •  R(a \mid \mathcal{D}, (\mathbfit{x}, y)) : データを追加することによる,将来の行動 aを取ることによる期待損失

である。

ただし,個別の \mathbfit{x}と,ありうる応答 yについて計算する必要があるため,多くの計算コストがかかる。

19.4.2 情報理論的アプローチ

情報理論的アプローチでは,タスク特有の損失関数を用いることを避け,かわりに情報理論的にできるだけよいモデルを学習する。すなわち,ラベルがどれだけ情報を与えるか(不確実性をどれだけ減らせるか)という観点でサンプルを選ぶ。


情報論的アプローチでは, \mathbfit{x}を問い合わせた時の効用を,エントロピーの減少分(情報利得)で定義する。


 \begin{align}
U(\mathbfit{x}) \equiv \mathbb{H}(p(\mathbfit{\theta} \mid \mathcal{D})) - \mathbb{E}_{p(y \mid \mathbfit{x}, \mathcal{D})} [ \mathbb{H} (p(\mathbfit{\theta} \mid \mathcal{D}, \mathbfit{x}, y)) ]  \\ \\
\end{align}

実はこれは,ラベル yとモデルパラメータ \mathbfit{\theta}の間の相互情報量に等しく,式変形すると以下のようになる。


 \begin{align}
U(\mathbfit{x}) 
&= \mathbb{H}(p(\mathbfit{\theta} \mid \mathcal{D})) - \mathbb{E}_{p(y \mid \mathbfit{x}, \mathcal{D})} [ \mathbb{H} (p(\mathbfit{\theta} \mid \mathcal{D}, \mathbfit{x}, y)) ]  \\ \\
&= \mathbb{I} (\mathbfit{\theta}, y \mid \mathcal{D}, \mathbfit{x}) \\ \\
&= \mathbb{H}(p(y \mid \mathbfit{x}, \mathcal{D})) - \mathbb{E}_{p(\mathbfit{\theta} \mid \mathcal{D})} [ \mathbb{H} (p(y \mid \mathbfit{x},  \mathbfit{\theta})) ]  \\ \\
\end{align}
このように表すと,出力 yの不確実性に関してのみ考えればよく,パラメータ \mathbfit{\theta}の事後分布は考えなくてよいという利点がある。


また最後の行における p(y \mid \mathbfit{x},  \mathbfit{\theta})に着目すると,これはパラメータ \mathbfit{\theta}を知った下での予測のラベルの確信度が高いような \mathbfit{x}の場合に大きい値を取るので,決定境界(ラベルの確信度が低い)データに注目することを防ぐ効果がある。

このアプローチは,不一致によるベイズ能動学習(Bayesian active learning by disagreement, BALD)と呼ばれる。

19.4.3 バッチ能動学習

通常の能動学習は,1サンプルずつ選択することを想定している。一方で,複数サンプルがまとめて入手できる場合を想定したバッチ能動学習も考えられる。

バッチ能動学習において,効用 U(\mathbfit{X})の最適化問題はNP困難であることが知られているが,適当な条件のもと近似解を与えることができ,かつ「より多くの情報は害を与えない」という原則を反映している。

まとめと感想

今回は,「19章 より少ないラベル付きデータからの学習」における,能動学習についてまとめた。


製造業においては,実験設備があったり,システムにおける制御入力があったりするので,適当な入力点に対する出力を得やすいことがある。そのため,能動学習を上手く使うことにより,効率よくデータ分析を行なうことが可能になると考えられる。

本項の内容は,情報理論的アプローチによって,より効用が入力を得る方法について論じられていた。
「不一致によるベイズ能動学習」は,本質的に予測が難しいデータ点を避けるようになる,という重要な性質を示したものであるが,本項の内容は全体的に抽象的な内容が多かった。
実務においては,ベイズ最適化のような,より具体的な手法が有用であると考えられるので,実務ではベイズ最適化を用いつつ,結果の解釈をする際やモデルを改良する必要がでた際に,本項の内容を思い出していきたい。


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