この記事は日経Robotics 有料購読者向けの記事ですが
日経Robotics デジタル版(電子版)』のサービス開始を記念して、特別に誰でも閲覧できるようにしています。
本記事はロボットとAI技術の専門誌『日経Robotics』のデジタル版です

 機械学習において教師あり学習は、一般画像認識や音声認識などで目覚ましい成果を上げている。一方で世の中のほとんどの問題では教師データはほとんど存在せず、教師なしデータが大量に存在する。このような、大量の教師なしデータと少量の教師ありデータが与えられた場合に学習する問題を「半教師あり学習」と呼ぶ。

 生物のほとんどの学習が、このような半教師あり学習の問題だと考えられる。人間は生まれてから様々な物体を、正解を与えられずにただ観察する。そしてある日、その物体のラベル(例えば「これは象」「あれはキリン」など)が与えられると、その教師事例を数千例も与えられなくても途端に認識できるようになる。こうした生物の学習の過程では、教師なしのデータから何らかの学習を行っているはずである。

半教師あり学習は2種類に大別

著者の岡野原大輔氏
著者の岡野原大輔氏

 半教師あり学習の手法は大きく2つに分かれる。1つ目は、「ブートストラップ法」と呼ばれる方法である。教師ありデータから分類器を作り、それを使って教師なしデータにラベルを付け、そのうち確信度の高い分類結果を教師ありデータに追加し、学習する方法である。「ラベルプロパゲーション」や「Self-Training」と呼ばれる手法も近い方法だ。

 2つ目は、教師なしデータからデータの表現方法を獲得し、それを用いて教師あり学習を行う方法である。例えば、図1にあるようなデータ分布の場合、まず教師なしデータだけを用いて、データが2つの集団に分かれるように表現した後、それぞれの集団の代表点のラベル情報を使って、その表現上で分類する。

図1 半教師あり学習の例
図1 半教師あり学習の例
左は白と黒、2つの教師データのみがある場合の教師あり学習による識別境界(点線)。右は、教師データに加え教師なしデータも加えた半教師あり学習により識別境界を得た様子。(図:Techerin、ライセンス:Creative Commons Attribution-Share Alike 3.0 Unported)

 データの表現方法を獲得する手法の代表例が、主成分分析(PCA)である。PCAはデータを最も分散が大きい基底の線形和として表現する。PCAを含め多くの従来手法では、データの表現方法は線形変換にとどまっていた。

 今回は、このデータの表現方法を獲得する「VAE(Variational AutoEncoder、変分自己符号化法)」1)と「Ladder Network(はしごネットワーク)」2)を使った半教師あり学習を紹介する。これらの手法は、ディープラーニング(深層学習)を利用することで、非線形かつ階層的なデータ表現を獲得できる。このため、従来の半教師あり学習と比べ、はるかに高い学習性能を発揮する。

 表現方法の獲得について説明する。観測データをxとし、xを生成している観測できない潜在変数をzとする。このような観測できない変数を含むモデルを「潜在変数モデル」と呼ぶ。例えば観測データxはある物体の画像データであり、zは物体の種類、位置、向き、属性、カメラの向き、照明の位置といった観測データを生成するのに必要な情報だとする。ただし、この潜在変数zが何なのか分からない場合を考える。つまり観測できないだけでなく、何が潜在変数かも分からない場合である。このとき、P(z|x)を「認識モデル」、P(x|z)を「生成モデル」と呼ぶ。

 自己符号化法の場合、x からzへの変換を「符号化」、z からxへの変換を「復号化」と呼び、それぞれ認識モデル、生成モデルに対応する。ベイズの定理により、生成モデルから認識モデルをP(z|x) = P(x|z)P(z)/P(x)と求められるが、P(x|z)が特殊な形をしていない限り、P(z|x)は単純な形にはならない。目標は、良いzの表現と認識モデルの獲得である。

非線形かつ階層的な潜在変数モデル

 VAEについて始めに紹介しよう。認識モデルと生成モデルをそれぞれニューラルネットワークでQh(z|x)、Ps(x|z)と近似する。ただし、hとsはニューラルネットワークを特徴付けるパラメータ(主に重みなど)である。2つのモデルを同時に最適化する上で、次のように定義される尤度の変分下限を利用する。

logP(x) ≥L(s,h,x)          
        = −DKL (Qh(z│x)||P(z))
        +EQh(z│x)[logPs(x│z)]

 ただし、−DKL(Qh(z│x)||P(z))はQとPのKLダイバージェンス距離であり、EQh(z│x)[logPs (x│z)]はQを確率分布としたPの期待値である。事前確率P(z)はP(z)=N(z|0,I)のように正規分布から生成されているとする。この変分下限は、実際の分布P(x,z)がどのような形をしていても常に成り立つ関係式である。この変分下限を上げることで学習を行う。

 変分下限の最初の項はQh(z|x)の事前知識P(z)による正則化に対応する。2つ目の項はあたかもQh(z|x)を使ってxからzへ符号化した後に、Ps(x|z)を使ってzからxを復号しているように見える。このため変分自己符号化法と呼ばれる。

 学習においては、Qh(z|x)とPs(x|z)のパラメータhとsを同時に逆誤差伝播法で最適化する。問題となるのは後者の項である。一般に、対数の期待値の勾配をモンテカルロ法で求めると、推定が不安定になる問題が知られているからだ。そこで、この項と推定値が同じであるような別の関数の勾配の期待値を求める問題に変換する。これを「変数変換トリック」と呼ぶ。こうすることで非常に少ないサンプリング数、ミニバッチで学習する場合は、各サンプルについての期待値のモンテカルロ法による推定のサンプル数を1で学習できることが知られている。

 結果として、VAEは自己符号器ネットワークとほとんど同じように、xからzを生成するニューラルネットワークの後ろに、zからxを生成するニューラルネットワークをつなげた上で、通常の逆誤差伝播法で学習できる。このようにして、データxの潜在変数zが学習される。潜在変数は、各次元が独立であるような事前分布から生成されているため、元の表現よりも学習しやすい表現になっている。VAEで獲得された表現を用いることで、はるかに少ない教師ありデータで、通常の教師あり学習とほぼ同じ精度の学習を達成できる。

VAEより高い精度を実現するLadder Network

 さらに2015年に入って、教師なし学習と教師あり学習を直接統合したLadder Networkという手法が提案された。Ladder Networkは、雑音ありの認識モデルと生成モデル、雑音なしの認識モデルから構成される。Ladder Networkが通常の雑音除去自己符号化器と違うのは、各層で雑音が加えられること、さらに雑音除去をする時、上位の結果を使って除去をしても良いという点である。例えるなら、ある雑音が加えられた画像に対し「これは象で右を向いている」という情報を基に、雑音を除去するタスクを解かせているようなイメージである。

 このようなタスクを解かせることで、上位の層には雑音に不変な重要な情報(「象」、「右を向いている」)が伝わり、各層はそれを抽出するように学習される。また通常の自己符号化器とは異なり、雑音が加わってはいるものの、同じ層から情報が伝わるため、上位の層に入力の詳細を伝える必要はなく、入力の重要な情報のみが上位に伝わるように学習できる。Ladder Networkは教師なしデータを用いて雑音除去モデルで学習すると同時に、教師ありデータを用いて出力yが正解ラベルと一致するように学習する。

 Ladder Networkは各層で雑音除去を行って各層ごとの潜在変数の確率モデルを獲得し、それを用いて認識を行っているといえる。Ladder NetworkはVAEより高い精度を達成できると報告されている。

 半教師あり学習の先には、学習時に対応するラベルの教師データがなく、テスト時に初めてそのラベルを予測する「ゼロショット学習」がある。例えば、「オカピ」が学習事例に含まれていなくても、「オカピはシマウマとシカを足して2で割ったような動物」という情報だけから、オカピを初見でも当ててしまえるようなタスクである。

1)D.P. Kingma., et. al. “Semi-Supervised Learning with Deep Generative Models,” Advances in Neural Information Processing Systems 27 (NIPS), 2014.
2)A. Rasmus., et. al. “Semi-Supervised Learning with Ladder Network,”2015, http://arxiv.org/abs/1507.02672
岡野原 大輔(おかのはら・だいすけ)
Preferred Networks 取締役副社長
岡野原 大輔2006年にPreferred Infrastructureを共同創業。2010年、東京大学大学院博士課程修了。博士(情報理工学)。未踏ソフト創造事業スーパークリエータ認定。東京大学総長賞。