jiku log

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

「確率的機械学習 入門編II」を読む ~第19章 より少ないラベル付きデータからの学習 ④半教師あり学習・その2~

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

はじめに

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

本記事は,「第19章 より少ないラベル付きデータからの学習」の半教師あり学習における,グラフ上のラベル伝播・一致正則化に関する読書メモである。

19.3 半教師あり学習

19.3.4 グラフ上のラベル伝播

2つのデータが何らかの意味で似ている場合,両者のラベルは同一である,と考えてもよい。このような仮定を多様体仮説(manifold hypothesis)と呼ぶ。

ラベル伝播法(label propagation)は,多様体仮説に基づいて,ラベルなしデータにラベルを付与する方法である。
ラベル伝播法では,データを

  • ノード : データ
  • エッジ : 類似度

というグラフで表現する。これに基づき,辺に隣接している「ラベルが既知」の節点から「ラベルが未知」の節点へと伝播させる。


ラベル伝播が上手くいくかどうかは,データ間の類似度に依存する。単純なデータであればユークリッド距離を用いれば十分だが,高次元の複雑なデータに対しては固有の事前知識を用いて定めることになる。

19.3.5 一致正則化

一致正則化(consistency regularization)の基本的なアイディアは,入力を少し変えても(摂動があっても),モデルの出力は大きく変わらないというものである。

この「大きく変わらない」という性質である「一致性」について,これを測定するにはモデルのみの出力が必要であり,ラベルは不要なので,半教師あり学習の損失関数に用いやすい。


一般的な状況として,入出力を表すモデル p_{\theta}(y \mid \mathbfit{x})を考える。一致正則化においては,入力 \mathbfit{x}に対して,摂動(画像の回転やノイズ付加など)を加えた入力 \mathbfit{x}'を考える。これを用いると,損失関数は以下のようになる。


 \begin{align}
\mathcal{L}(\mathbfit{x}) = -\sum_{i=1}^M \log p_{\theta}(y=y_i \mid \mathbfit{x}_i)
 + \lambda \sum_{j=1}^N \lVert p_{\theta}(y \mid \mathbfit{x}_j) - p_{\theta}(y \mid \mathbfit{x}_j') \rVert^2 \\ \\
\end{align}

正則化パラメータの扱い

この損失関数において,正則化パラメータ \lambdaの値が大きすぎると,自己訓練の確証バイアスと同様に,誤った予測がますます正当化されるようになる。

そのため, \lambdaは0で初期化し,学習が進むにつれて大きくしていくことが重要である。

仮想敵対的訓練

一致正則化においては,データ拡張,すなわち摂動を加えたデータ \mathbfit{x}'を生成する確率的な変換 q(\mathbfit{x}' \mid \mathbfit{x})が重要になる。しかしこれを設計するにはドメイン知識が必要となる。


代わりの方法として,仮想敵対的訓練(virtual adversarial training, VAT)と呼ばれる方法が提案されている。
VATでは,入力の「最も予測を変えやすい方向」に摂動を加えても予測が変わらないように学習するという考え方にもとづく。

一般的な一致正則化では,ドメイン知識によって摂動を加えるが,VATでは,以下で計算された摂動 \mathbfit{\delta}を用いる。


 \begin{align}
\mathbfit{\delta} = \operatorname*{argmax}_{\mathbfit{\delta}} D_{\mathbb{KL}} (p_{theta} (y \mid \mathbfit{x}) \mid \mid p_{\theta}(y \mid \mathbfit{x} + \mathbfit{\delta} )) \\ \\
\end{align}

まとめと感想

今回は,「19章 より少ないラベル付きデータからの学習」の半教師あり学習における,グラフ上のラベル伝播・一致正則化についてまとめた。


データをグラフとみなして,ラベルを伝播させる,という方法は興味深い発想だった。グラフ上の重みの伝播は,遷移行列を掛けることによって表現できるので,考え方は馴染みやすい。
一方で,類似度の定義には注意が必要なので,実際に使う際には,データの種類に応じた距離尺度を選択できるようになりたい。


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