問題設定:機械学習における「教師」の概念史

かつてニューラルネットワークをはじめとした機械学習は、「教師あり学習(Supervised learning)」と「教師なし学習(Unsupervised learning)」の区別によって説明されていた。しかしこの「教師あり」と「教師なし」の区別は、遅くても2015年ごろから、徐々に棄却されることになった。2018年から2020年に展開されている機械学習の研究開発の多くは、既にこの「教師あり」と「教師なし」の区別が棄却されていることを前提に進められている。

例えば『敵対的生成クラスタリングネットワーク(ClusterGAN)のアルゴリズム設計』で取り上げたGhasedi, K., et al. (2019)の「敵対的生成クラスタリングネットワーク(generative adversarial clustering network: ClusterGAN)」は、クラスタリングのタスクのために導入された敵対的ゲームにおいて、効率的に性能を向上させるための「自己学習アルゴリズム(self-paced learning algorithm)」を採用している。またこれ以外にも、例えば以下のようなキーワードで、従来の「教師あり」と「教師なし」の区別では説明の付かないモデルやアルゴリズムが次々と提案されている。

  • 「自己教師あり学習(Self-Supervised learning)」(Jing, L., & Tian, Y., 2020, Misra, I., & Maaten, L. V. D., 2020)
  • 「弱教師あり学習(Weakly-Supervised Learning)」(Huang, B., et al. 2020, Pang, S., et al., 2020)、
  • 「半教師あり学習(Semi-Supervised Learning)」(Sohn, K., 2020, Xia, Y., et al. 2020)

実務経験も理論武装も怠らない設計者ならば、恐らくこの傾向の決定的なトリガーとなったのは、「ラダーネットワーク(Ladder Network)」から「敵対的生成ネットワーク(Generative Adversarial Networks: GAN)」までの理論を経由して育まれてきた「半教師あり学習」であると考えるであろう。

教師あり学習と教師なし学習は、確かに一見すると理論的に乖離している状況が続いていた。しかしこの乖離は、幾つかの問題設定の枠組みの中で解消されている。と言うのも、歴史的に教師なし学習のアルゴリズムは、徐々に教師あり学習問題の枠組みの中で再記述されるようになったためである。そして、「幾つかの問題設定の枠組みの中で」というのは、既存の問題設定が、その歴史的な影響から反復的に再設定されているということでもある。それは、機械学習の概念実証や研究開発が、問題を再設定することによって、問題解決策を展開していることを言い表している。言い換えれば、問題を再設定することこそが、問題解決策として機能しているのである。

「半教師あり学習」とは、教師あり学習問題を再設定することで記述されるようになった理論に他ならない。そしてこの問題の解決の過程から、「教師あり」と「教師なし」の区別が棄却され始めたのである。2020年以降の新しいアルゴリズム設計の「理念」は、この区別の棄却から始まっていたと考えられる。

問題設定:初期化戦略としての事前学習問題

モデルの複合性が高いために最適化が困難となる場合や、問題そのものが困難である場合、直接的にモデルを訓練することで問題を解く試みは現実的ではない場合がある。問題解決策としては、初めにより単純なモデルを訓練した後に、そのモデルの複合性を増大させていく方が、効果的な場合もある。あるいは、より単純な問題を解いた後に、より複合的なタスクを目的としたモデルを訓練した方が効果的な場合もある。「事前学習(pre-learning / pre-training)」は、こうして当のより複合的な問題をより単純な問題として再設定した上で、問題解決策を展開していくことを可能にしていた。

識別問題や回帰問題において、教師なし学習の機能は専ら事前学習とその「転移学習(Transfer learning)」に限定されていた。例えば自然言語処理の領域では、教師なし事前学習(Unsupervised pre-learning)が表現学習(Representation Learning)として機能することが期待されている。通常、単語のトークンの埋め込み(embedding)においては、one-hotのベクトルが採用される。だが各ベクトルの距離は全て同一となるために、単語表現にone-hotのベクトルを利用する利点は少ない。だが事前学習された単語埋め込みは、単語間の類似度を単語間の距離として符号化することを可能にする。

こうした事前学習結果は、ニューラルネットワーク言語モデルをはじめとした他のモデルの初期化戦略として入力される。あるモデルの事前学習によって更新されたパラメタを別のモデルの初期パラメタとして扱う学習は、一般的に「転移学習(Transfer learning)」と呼ばれる。転移学習では、学習器は二つ以上の異なる問題設定の問題解決策として機能する。この学習で前提となるのは、ある一つの問題設定における分布$$P_1$$の特徴や変化を説明するような因子の多くが、別の問題設定における分布$$P_2$$を学習するために捉えるべき特徴や変化にとっても適切であるという点である。一般的にこの想定は、入力データが同じでも目標が異なる性質を有した教師あり学習の状況として理解できる。

もし最初の問題設定の分布$$P_1$$からのサンプリングによって大量のデータが得られるなら、そうしたデータは、$$P_2$$から得られる非常に少ない事例のみでも、汎化のための有用な表現学習を可能にする。異なる問題設定に対する有用な特徴量が存在し、それらが複数の問題設定で現れる潜在的な因子に対応する場合、転移学習は表現学習によって達成される。

問題解決策:教師あり事前学習と教師なし事前学習の区別

大別するなら、事前学習のアルゴリズムは「教師あり事前学習(supervised pre-learning)」と「教師なし事前学習(unsupervised pre-learning)」に区別される。教師あり事前学習の多くは「貪欲法(Greedy algorithms)」に準拠したアルゴリズムとなる。貪欲法では、問題を多くの諸要素に区別した上で、その要素ごとに個別に最適な要素を求めていく。

残念ながら、個々の要素における部分最適が全体最適へと直結する保証は無い。だが貪欲法は、全体最適それ自体を求めるアルゴリズムに比して、しばしば計算コストの面で優れている。また貪欲法の解の質は、最適解とは言えないにせよ、少なからず満足できる解である場合が多い。それ故、一部の貪欲法に基づいた教師あり事前学習では、貪欲法によって部分最適の要素を集めた上で、全体最適を求める別のアルゴリズムで当の問題全体を解く「微調整(fine tuning)」の手続きを踏む場合がある。

情報工学者ヨシュア・ベンジオらが分析してきたように、教師あり事前学習の機能は、比較的深い階層にある中間層により良き方向付けを与えることである。言うなればそれは、事前に中間層へ特徴を埋め込んでおくこと(embedding)によって、予め表現学習の予行演習をするようなものだ。実験結果に対する経験的な分析と多様体仮説に基づく直観的(intuitive)な洞察によって、教師あり事前学習は、最適化と汎化の双方において効果的であることが知られている。

一方、教師なし事前学習では、主に「層ごとの貪欲な教師なし事前学習(Greedy layer-wise unsupervised pre-learning)」が採用されている。層ごと(layer-wise)であるというのは、その独立部分が深層アーキテクチャの各層であるということに由来する。層ごとの貪欲な事前学習は、一度に一つの層を扱う。そして、k番目の層を学習する場合には、k-1層までの全ての層を固定しておく。

この層ごとであるという発想は、貪欲法に限らず、深層ボルツマンマシン(Deep Boltzmann Machines)や自己符号化器(Auto-Encoder)をはじめとした表現学習のアルゴリズムにも共通した性質である。各層は、一つ手前の層の出力を入力として受け取る。そしてデータの新しい表現を出力として生成する。ここで目指されるのは、新しい表現の分布が、より単純なものとなることである。とはいえそれは、情報を無暗に捨象してしまうことを意味するのではない。これらのアルゴリズムも表現学習である以上は、観測データ点の特徴を可能な限り全て保持することが要求される。

派生問題:情報保持の副作用

しかし、問題設定次第では、この「観測データ点の特徴を可能な限り全て保持すること」は、副作用を派生させる。例えば画像の識別問題の場合、モデルに観測させる特徴は、大方「外観(appearance)」や「形態(Gestalt)」で済む場合が多い。つまり、モデルに画像の全ての情報を入力させる必要が無いということだ。むしろ全ての情報を入力させる教師なし学習のこの機能は、識別の判断を鈍らせる逆機能となる可能性も考えられる。

「ここで論じられているのは、教師なし学習が効果を改善することのできなかった理由が、最新の教師なし学習の多くが教師あり学習と両立しないためである点だ。問題は、教師なし学習の方法の多くが元のデータに関して可能な限り多くの情報を表現しようとするのに対して、教師あり学習は目前のタスクには関係の無い全ての情報を除外しようとすることにある。」
Valpola, H. (2015). From neural PCA to deep unsupervised learning. In Advances in Independent Component Analysis and Learning Machines (pp. 143-171). Academic Press., p2.

問題解決策:「教師あり学習」と「教師なし学習」の区別の再帰

ラダーネットワーク(Ladder Networks)を提唱したValpola, H. (2015)の最大の功績は、教師なし学習が、教師あり学習の開始後にも実行可能であると見抜いた点である。つまり、教師なし学習を教師あり学習の一環として実行するという発想だ。

多くの問題設定では、非常に多くの情報が入力データに含まれている。そのため初期の教師なし事前学習のみでは、実は完全にその特徴を要約することができない可能性が常に残っていた。可能な限り全ての情報を損なうことなく保持しようとする一方で、それが常に不完全な情報要約に留まる以上、教師なし事前学習が教師あり学習の問題設定で機能するというのは、ありそうもないことになってしまう。

一方、教師あり学習が必要としているのは、前述した通り、データの全ての特徴ではない。むしろ教師あり学習は、データの全ての特徴に対して、<有用な特徴>と<無用な特徴>の区別を導入する。だとすると、こうした教師あり学習が開始した後も尚教師なし学習が実行され続けるようなアルゴリズムならば、教師なし学習は、教師あり学習によって導入される<有用な特徴>と<無用な特徴>の差異を観察することができるようになる。教師なし学習は、<有用な特徴>のみに焦点を当てることによって、データの全ての特徴を要約することの負担から免除されることが可能になる。

これを前提とすれば、Valpola, H. (2015)が教師なし事前学習の段階と教師あり学習の段階の区別を棄却したことの意味が明快となる。彼らはこの区別を棄却すると共に、<教師なし学習>と<教師あり学習>の区別を、<教師あり学習>のアルゴリズムの一環として再記述したのである。ここから、<教師あり学習>の一環として<教師なし学習>を実行していくという発想が抽出される。<教師あり学習>の内部における<教師なし学習>は、<教師あり学習>の前提条件となる初期パラメタを提供する機能を担う一方で、<教師あり学習>によって導入された<有用な特徴>を受け取ることで、より良き表現学習の機会を手にする。つまり<教師あり学習>の一環として<教師なし学習>を実行していくという発想は、<教師なし学習>と<教師あり学習>を循環させるアルゴリズムの設計へと、我々の観点を向けさせてくれるのである。

問題解決策:半教師あり学習

一般的に、<教師なし学習>と<教師あり学習>を構造的に結合させたアルゴリズムは、「半教師あり学習(Semi-supervised Learning)」のアルゴリズムとして記述されている。しかし上述した<教師あり学習>と<教師なし学習>の再帰的な区別に基づいた循環的なアルゴリズムという発想を前提とするなら、<教師なし学習>と<教師あり学習>の構造的な結合が成功をもたらし得るのは、<教師あり学習>が<有用な特徴>の抽出との関連から要求する情報破棄と特徴の集約を<教師なし学習>が実行する場合のみに限られる。

一方、<教師なし学習>には機能的な制約も加えなければならない。具体的に言えば、<教師なし学習>は、単に<教師あり学習>を目的とした表現に新しい機能を追加し続けるように作動してはならない。<教師なし学習>がどの特徴がタスクに関連している<有用な特徴>なのかを観測する前に、入力に関して可能な限り多くの情報を伝播させる特徴選択を実行することは合理的ではある。しかしその合理性は、半教師あり学習問題の枠組みの中で、あくまでも半教師あり学習の合理性への互換性を有さなければならないのである。

階層的潜在変数モデル

多くの教師なし学習の方法は「潜在変数モデル(Latent variable models)」として定式化されている。このモデルでは、未知の潜在変数 $$s(t)$$ が観測データ点 $$x(t)$$ を生成すると仮定される。連続変数の場合、観測データ点の生成は次のように一般化できる。

$$x(t) = g(s(t); \xi) + n(t) \tag{1}$$

ここで、$$n(t)$$ はノイズやモデル化の誤差を表す。$$\xi$$は写像gのパラメタを表す。確率モデルとして表現するなら、この定式は次のように代替できる。

$$p_x(x(t) \mid s(t), \xi) = p_n(x(t) – g(s(t); \xi)) \tag{2}$$

$$p_n$$はノイズ項$$n(t)$$の確率密度関数を表す。未知の潜在変数$$s(t)$$とパラメタ$$xi$$の推論は、観測データ点$$x(t)$$と再構成された$$g(s(t);\xi)$$の誤差の最小化によって基礎付けられる。

この(1)と(2)のモデルは、データについて表現され得る考え得るもの全ての表現を可能にしようとしている潜在変数を記述している。だがここでの潜在変数は、あくまでも単層として構造化されている。こうしたモデルでは、情報の取捨選択が困難となるために、再構成誤差が高まってしまう。また、抽象的な不変特徴(an abstract invariant feature)があれば、特徴の位置、方向性、大きさなどのように、再構成誤差を減少させる上で有益となると思われる<有用な特徴>の詳細に関連したペナルティ項なしには、再構成誤差を減少させることは不可能である。

以上のことが示しているのは、まず潜在変数モデルが単層の潜在変数であるといういことである。そしてこのモデルでは、情報の捨象が困難になるだけではなく、抽象的な不変特徴に焦点を定めることも困難となる。

潜在変数モデルの階層化

こうした困難さを回避するには、潜在変数に次のような階層化を施すことが求められる。

$$p(s^{(l)}(t) \mid s^{(l+1)}(t), \xi) \tag{3}$$

ここで(l)は層数を意味する。この観測では、$$s^{(0)} := x$$となる。この階層化されたモデルでは、より高い層の水準の潜在変数は、もはや全ての特徴を表現してはいない。より低い層では、特徴の詳細部分の表現に特化しているのに対して、より高い層では抽象化され、選択された特徴が表現されている。この時、より高い水準の潜在変数は、より低い水準の変数を表現する手段になる。

$$s^{(l)} = g^{(l)}(s^{(l+1)}(t); \xi^{(l)}) + n^{(l)}(t) \tag{4}$$

しかしより一般化して言えば、より高い水準の変数は、分散のような確率分布の様々な特性を表現することができる。

厳密な推論、すなわち未知の潜在変数の事後確率を計算することは、典型的には数学的困難を招く。代わりに導入されるのは、変分ベイズ法をはじめとした近似推論である。この場合、学習は事後近似との関連からコスト関数を反復的に最小化する処理に照応する。

積層自己符号化器

もし階層的潜在変数モデルが簡易に定義され、学習し得るのならば、問題は解決されたであろう。しかし残念ながら、このモデルはしばしば複合的な確率論的方法を訓練時に必要としてしまう。多くの訓練の形式では、ボトムアップの情報とトップダウンの事前情報を組み合わせることによって、潜在変数を層ごとに更新する必要がある。だがこれにより、ネットワーク内の情報の伝播が遅延してしまう。

自己符号化器は、多くの点で、単層の潜在変数モデルと類似している。ここで鍵となるのは、観測データ点$$x(t)$$の写像における推論過程である。まさにこの仮定が、潜在変数の推論過程と照応するためである。ニューラルネットワークの深層アーキテクチャにおいては、この潜在変数が、隠れ層のユニット$$h(t)$$に対応する。符号化(encoder)の写像をf、復号化(decoder)の写像をgとするなら、自己符号化器は次のようにモデリングされる。

$$h(t) = f(x(t); \xi_f) \tag{5}$$
$$\hat{x}(t) = g(h(t); \xi_g) \tag{6}$$

自己符号化器の学習は再構成誤差$$\mid\mid x(t) – \hat{x}(t)\mid\mid^2$$の最小化によって実行される。

潜在変数モデルとの関連から言えば、符号化と復号化の関連は、認知(recognition)と再構成(reconstraction)の関連として類推できる。また潜在変数モデルと同じように、自己符号化器もまた積層として階層化することができる。

$$h^{(l)} = f^{(l)}\left(h^{(l-1)}(t)\right) \tag{7}$$
$$\hat{h}^{(l-1)}(t) = g^{(l)}\left(\hat{h}^{(l)}(t)\right) \tag{8}$$

このモデルでは、$$h^{(0)} := x$$となる。更に、最終層をLとするなら、$$\hat{h}^{(L)} := h^{(L)}$$にもなる。

ラダーネットワーク

積層自己符号化器を表す(7)と(8)は、階層的潜在変数モデルを表す(4)に照応しているように見える。だが残念ながら、0 < l < L における中間層の振る舞いは、決定論的な変数モデルとしての振る舞いになる。これに対して、階層的潜在変数モデルはあくまでも確率論的な変数モデルとして振る舞う。この差異は、表現学習の差異としても現れる。一方で階層的潜在変数モデルは自立的な表現能力を得る。事前情報が何であれ、確率的潜在変数はその情報に何らかの付加情報を伴わせることとなる。対照的に、決定論的な変数では、情報の付加は伴わない。この差異を乗り越える手掛かりとなるのは、(3)から得られる階層的潜在変数モデルの推論構造である。(8)に対する主要な差異となるのは、$$\hat{s}^{(l)}(t)$$の推論がボトムアップの情報として得られる尤度とトップダウンの情報として得られる事前確率を組み合わせているのに対して、(8)はただトップダウンの情報のみに依存している点である。言い換えれば、(8)における$$\hat{h}(t)$$は、表現においては何ら新しい情報を付加していない。何故なら、この中間層には、ボトムアップの情報は何も入力されていないためである。したがって、次のようなショートカットを追加することで、階層的潜在変数モデルと積層自己符号化器の差異を埋めることが可能になる。$$\hat{h}^{(l-1)}(t) = g^{(l)}(\hat{h}^{(l)}(t), h^{(l-1)}(t)) \tag{9}$$今や、$$\hat{h}^{(l)}$$は$$\hat{h}^{(>l)}$$では失われる情報を補完することができる。言い換えれば、より高い層では、全ての詳細を表現する必要が無くなる。また、写像$$g^{(l)}$$はより高い水準に由来する抽象的な情報を位置、方向性、大きさなどのようにより低い水準に由来する具体的な情報と結合させた上で学習することができる。つまり、より高い層では、より詳細な情報よりも、目前のタスクとの関連性が高いと思われる場合には、抽象的な不変特徴の表現に集中することが可能になるのである。こうしてショートカットが導入された積層自己符号化器を特に「ラダーネットワーク(Ladder networks)」と呼ぶ。

Valpola, H. (2015). From neural PCA to deep unsupervised learning. In Advances in Independent Component Analysis and Learning Machines (pp. 143-171). Academic Press., p6. より掲載。

深層学習の一般的なモデルは、いずれも入力層か出力層のいずれかに誤差関数が備えられている。そうした深層アーキテクチャでは、ネットワークの多くの部分が訓練信号の発生源から遠く離れてしまっている。ラダーネットワークを通常の自己符号化器と同様のアルゴリズムで学習させた場合、問題は悪化するだけだとValpola, H. (2015)が述べているのは、この関連からである。これは、それぞれのショートカットの結合点が再構成ベクトル$$\hat{x}(t)$$に影響を及ぼす機会を持つことで、より高い層における誤差の割合が減少したままになるためだ。標準的な自己符号化器では、全ての訓練信号が階層内の全ての層を通過するように強制される。その場合でも、複数の層を介した非線形関数の学習は、困難になり、かつ時間を要することとなる。

一方これに対して、階層的潜在変数モデルは、全ての潜在変数において、コスト関数を有している。それ故にラダーネットワークは、標準的な自己符号化器ではなく、この階層的潜在変数モデルの構造を継承することとなる。それは、ラダーネットワークにおける各階層のいずれの水準に対しても訓練信号を入力することになるため、ラダーネットワークの学習を効率的に進めることを可能にする。

教師なし学習の再導入

まさにこの関連から、<教師あり学習>の内部に再導入された<教師なし学習>という発想が着目されることになる。と言うのも、<教師なし学習>は、単一の誤差項に由来する勾配の一方通行的な逆伝播に限られない多様な学習アルゴリズムを提供しているためである。<教師なし学習>の導入に際して、Valpola, H. (2015)が記述の出発点としているのは、主成分分析(principal component analysis: PCA)から独立成分分析(Independent component analysis: ICA)までの線形因子モデルの概念史である。

PCAをはじめとした多くの線形因子モデルは、原理的には観測データ点と潜在変数をノイズ分布との関連から如何に設定し得るのかを参照問題としている。一方、ICAはどちらかと言えば表現学習のアルゴリズムとして知られている。ICAは、観測信号を拡大・縮小・結合させることでその観測信号を構成している無数の互いに独立した潜在的な信号に分解するアルゴリズムである。

周知のように、こうしたアルゴリズムで利用される非線形性は、線源分布の非ガウス性を測定する制約関数として解釈することができる。しかしヴァルポラの観点においては、そしてまた我々の問題設定との関連で言えば、次のような解釈も可能である。

「非線形性は、ノイズ除去関数(denoising function)として解釈することができる。」
Valpola, H. (2015). From neural PCA to deep unsupervised learning. In Advances in Independent Component Analysis and Learning Machines (pp. 143-171). Academic Press., p7.

全体として、非線形性におけるPCAの学習規則は、入力の白色化や射影の直交化と組み合わせると、ICA用に調整された線形潜在変数モデルに適用される期待値最大化(expectation maximization: EM)のアルゴリズムへの効率的な近似として解釈することができる。EMアルゴリズムは潜在変数モデルにおけるパラメトリックな写像の最適化のための方法である。それは、潜在変数の期待値計算を実行するEステップとパラメタの尤度の最大化を実行するMステップを交互に実行することで学習を成り立たせている。Eステップは、写像を固定した上で、全てのtにおける$$s(t)$$の事後分布を更新する。一方Mステップはこの逆となる。つまり$$s(t)$$の事後分布を固定した上で、写像を更新する。

EMアルゴリズムとの関連から線形再構成モデルを記述するなら、次のようになる。

$$\hat{x}(t) = g^{(0)}(s(t)) = As(t) \tag{10}$$

これが意味するのは、Eステップのアルゴリズムは、つまるところ次のようになる。

$$\hat{s}(t) = g^{(1)}(A^{-1}x(t)) = g^{(1)}s_0(t)) \tag{11}$$

ここで、$$s_0(t) = A^{-1}x(t)$$である。写像$$g^{(1)}$$は$$s(t)$$の事後分布に依存する。そして、ノイズ分布を$$p_n$$とし、このノイズが低い値の分散$$\sigma_n^2$$を有するとするなら、Eステップは次のように近似される。

$$\hat{s}(t) = g^{(1)}(s_0(t)) \approx s_0(t) + \sigma_n^2\frac{\partial \log p_s(s(t))}{\partial s(t)}_{s(t) = s_0(t)} \tag{12}$$

これを前提とすれば、Mステップでは$$\hat{s}(t)$$と$$s(t)$$との関連から(10)における回帰問題を解くことになる。最小化するコスト関数は次のようになる。

$$C = \frac{1}{T}\sum_{t=1}^{T}\mid \mid x(t) – g^{(0)}(\hat{s}(t))\mid\mid^2 \tag{13}$$

モデル推定において、上記のEMアルゴリズムに伴う問題は、ノイズ$$\sigma_n^2$$における収束のスケールである。もしノイズが無ければ、このアルゴリズムは完全に失速する。しかしこの問題はアルゴリズムの固定点を想定することで対処できる。同時に、以下のように逆写像をパラメタ化することも有用となる。

$$s_0(t) = f^{(1)}(x(t)) = Wx(t) \tag{14}$$

そして、Mステップでの最小化すべきコスト関数は次のようになる。

$$C = \frac{1}{T}\sum_{t=1}^{T}\mid \mid s_0(t) – \hat{s}(t)\mid\mid^2 = \frac{1}{T}\sum_{t=1}^{T}\mid\mid f^{(1)}(x(t)) – \hat{s}(t)\mid\mid^2 \tag{15}$$

仮に、$$W = 0$$で、$$\hat{s}(t) = 0$$の場合、Cは0になる。したがって、(15)は$$s_0(t)$$の共分散二値する制約を伴わせる必要がある。

以上の記述を前提とすれば、このアルゴリズムは本質的に非線形のPCAにおける学習規則と同一となる。入力データが白色化されている時、Mステップは、非線形のPCAにおける学習規則と丁度同じく、単純な行列演算となる。非線形性$$g^{(1)}(s_0(t))$$は、ノイズが含まれた観測データ点を受け取った潜在変数の期待値として解釈できる。まさにこの非線形性こそが、ノイズ除去(denoising)となる。

ラダーネットワークの参照問題において決定的に重要となるのは、コスト関数(15)が、入力データ$$x(t)$$を直接的に参照している訳ではないということである。このコスト関数は、あくまでも、潜在変数$$s(t)$$とノイズ除去を施された変数にのみ言及している。階層的なモデルでは、このことは、どの層もコスト関数に項(term)を与えることで、訓練信号の発生源を各層のパラメタに近付けることを意味している。

ノイズ除去型自己符号化器

(11)で使用されているノイズ除去関数は、潜在変数の事前分布$$p_s$$から導出することができる。このノイズ除去関数を学習する自己符号化器は、特に「ノイズ除去型自己符号化器(Denoising Auto-Encoder)」と呼ばれている。この自己符号化器では、入力データをノイズで破壊(corrupt)し、ネットワークに元の破損していない入力を再構成するように依頼する手続きを踏む。この破壊されたデータの復元を通じて、ノイズ除去型自己符号化器は、ノイズ除去の機能を習得することになる。この学習は、元のデータの分布に収束する。

ノイズ除去関数からデータの確率推定値を導出することも可能であるという点は、驚くべきことである。ノイズ除去関数は絶対確率についての情報を損失すると共に、相対確率に関する情報のみを保存する。何故なら、対数計算は初めに乗算を加算に変換し、定数となる正規化項は微分によって消失するためである。こうしたモデルは、相対確率のみを容易に参照できるエネルギーベース(energy-based)の確率モデルと類似している。ただし、欠損データを再構成できるモデルは、全て確率密度推定量に変えることができる。したがって、入力の損失を破損として使用することによって、たとえノイズ除去関数が確率の正規化係数についての情報を喪失したとしても、自己符号化器は正規化された確率推定値を導出するために使用することができるのである。

ラダーネットワークとの関連で言えば、ノイズ除去型自己符号化器の機能は、ショートカットの接続を含めた過完備(over-complete)な表現を取り扱うことを可能にする点にある。と言うのも、入力がノイズによって破損されているために、ネットワークが入力を単に出力へと複製する恒等関数(identity function)的な機能では再構成が不十分になるためだ。むしろネットワークは、可能な限り容易にノイズを除去することを可能にする表現を発見することへと突き動かされることになる。

ラダーネットワークは、以上のようなノイズ除去型自己符号化器の特性を前提とした上で、このモデルを再帰的(recursively)に適用している。コストCを最小化するノイズ除去型自己符号化器は、次のように表現できる。

$$\hat{x}(t) = corrupt(x(t)) \tag{16}$$

$$\hat{x}(t) = g(\hat{x}(t)) \tag{17}$$

$$C = \frac{1}{T}\sum_{t=1}^{T}\mid \mid x(t) – \hat{x}(t)\mid\mid^2 \tag{18}$$

学習中、ノイズ除去関数gは、x(t)を破損させるために設計者によって挿入されたノイズを除去するべく学習していく。ノイズ除去関数は、多層の写像を実現するために、幾つかの内部変数$$h^{(1)}(t)$$を有している。

$$\tilde{h}^{(1)}(t) = f^{(1)}(\tilde{x}(t)) \tag{19}$$

$$\hat{x}(t) = g\left(\tilde{h}^{(1)}(t)\right) \tag{20}$$

gにノイズ除去の責任を全て押し付けるのではなく、むしろ最初に$$h^{(1)}$$のノイズを如何に除去するのかを学習することにより、その後その結果をxのノイズ除去に利用することが可能になる。

$$h^{(1)}(t) = f^{(1)}(x(t)) \tag{21}$$

$$\tilde{h}^{(1)}(t) = f^{(1)}(\tilde{x}(t)) \tag{22}$$

$$\hat{h}^{(1)}(t) = g^{(1)}\left(\tilde{h}^{(1)}(t)\right) \tag{23}$$

$$\hat{x}(t) = g^{(0)}\left(\hat{h}^{(1)}(t)\right) \tag{24}$$

$$C^{(1)} = \frac{1}{T}\sum_{t=1}^{T}\mid\mid h^{(1)}(t) – \hat{h}^{(1)}(t) \mid\mid^2 \tag{25}$$

$$C^{(0)} = \frac{1}{T}\sum_{t=1}^{T}\mid\mid x(t) – \hat{x}(t)\mid\mid^2 \tag{26}$$

学習では、(25)の最小化による写像$$g^{(1)}$$の訓練と(26)の最小化による全写像の訓練を交互に実行していくことになる。総数を拡張して一般化するなら、隠れ層の写像とコスト関数は次のようになる。

$$h^{(l)}(t) = f^{(l)}\left(h^{(l-1)}(t)\right) \tag{27}$$

$$\tilde{h}^{(l)}(t) = f^{(l)}\left(\tilde{h}^{(l-1)}(t)\right) \tag{28}$$

$$\hat{h}^{(l)}(t) = g^{(l)}\left(\tilde{h}^{(l)}(t), \hat{h}^{(l+1)}(t)\right) \tag{29}$$

$$C^{(l)} = \frac{1}{T}\sum_{t=1}^{T}\mid\mid h^{(l)}(t) – \hat{h}^{(l)}(t) \mid \mid^2 \tag{30}$$

ここで、$$h^{(0)}$$は観測データ点xを意味する。

上記の導入が意味するのは、コスト関数$$C^{(l)}$$が、上記の各層における符号化の写像$$f^{(>l)}$$の学習のためにのみ使用されるべきであって、$$f^{(\leq l)}$$の学習のためには使用されるべきではないということだ。何故なら、このコスト関数は、$$h^{(l)}(t)$$が固定されているという想定に準拠しているためである。このことが意味するのは、学習過程全体を通じて一貫した単一のコスト関数が介在することができないということである。それは、異なる層における学習を交互に実行していかなければならないということも意味する。しかしながら、上述した(15)におけるEMアルゴリズムのコスト関数を想起すればわかるように、(30)のコスト関数は次のように再記述することができる。

$$C = C^{(0)} + \sum_{l=1}^{L}\alpha_l C^{(l)} \tag{31}$$

ここで、係数$$\alpha_l$$は各層におけるコスト関数の相対的な重みを表す。上述したEMアルゴリズムの関連で言えば、$$\hat{h}^{(l)}$$は定数で、$$h^{(l)}$$に由来する勾配を利用して最適化を実行する。これに対してノイズ除去型自己符号化器では、この関連が逆転している。このことが意味するのは、複数のコスト関数を結合し、モデルの全てのパラメタに関してコストの最小化によって学習していくことによって、我々は本質的に双方のタイプの学習を利用していることを意味する。

階層的潜在変数モデルの場合と同様に、高い水準の事前情報は、低い水準の順伝播型の写像への方向付けを提供する。勾配は、符号化のパスに対して逆向きに伝播される。したがってこのモデルは教師あり学習との互換性を有している。標準的な教師あり学習におけるコスト関数は、最上位の層Lに対して単純に追加するだけで設計できる。つまり、$$h^{(L)}(t)$$と対象との間の距離を測定すれば良い。

コスト関数の無相関項

(30)が最小化されるのは、$$h^{(l)}(t) = \hat{h}^{(l)}(t) = constant$$の場合である。$$\hat{h}^{(l)}$$に関する(30)の最小化は、典型的には無相関性を高める。何故なら、この最小化は回帰に等しく、如何なる外部情報も再構成誤差を減少させるために利用され得るためである。$$h^{(l)}(t)$$に関する(30)の最小化は、可能な限り予測可能な射影の発見を促進する。加えて相互情報量は対称的であるために、隠れ層のユニットの活性化のエントロピーが保持される限りにおいて、$$h(t) = constant$$であるところの自明な解を回避することによって、この最小化は他の特徴の予測にも役立つ。

写像$$f^{(l)}$$と$$g^{l)}$$は可能な限り十分に一般化されている。それは汎化性能を損なってはいない。層lにおける隠れ層のユニットの活性度の共分散行列を$$\Sigma^{(l)}$$とするなら、この共分散行列は単位行列と同値である。すなわち、

$$\Sigma^{(l)} = \mathrm{I}$$

ここで、$$\Sigma^{(l)} = \frac{1}{T}\sum_{t=1}^{T}h^{(l)}(t) [h^{(l)}(t)]^T \tag{32}$$

この活性度の平均値はゼロになると仮定している。これは、写像$$f^{(l)}$$と$$g^{(l)}$$の最初の段階がアフィン変換である限りにおいて、汎化性能の損失を伴わせることなく強制できる制約でもある。

$$\Sigma^{(l)} \approx \mathrm{I}$$を促進させる簡易な方法となるのは、$$\sum_{i, j}[\Sigma_{i, j}^{(l)} – \delta_{ij}]^2$$を導出することだ。ここで、$$\delta_{ij}$$はクロネッカーのデルタを表す。言い換えれば、この定式は$$\Sigma^{(l)}$$と$$\mathrm{I}$$の間の差異の平方和を計算している。しかしながら、このコスト関数は$$\Sigma^{(l)}$$の小さ過ぎる固有値と大き過ぎる固有値を区別しない。だが$$h^{(l)}(t)$$の表現を崩壊させるところから学習していくという観点から観れば、ただ小さ過ぎる固有値のみが、問題を派生させる。この状況を解析するためには、次のような展開が有用となる。

$$\sum_{i, j}^{}[\Sigma_{ij}^{(l)} – \sigma(i, j)]^2 = \mathrm{tr}\left([\Sigma^{(l)} – \mathrm{I}]^2\right) = \sum_{i}^{}(\lambda_i^{(l)} – 1)^2 \tag{33}$$

ここで、$$\lambda_i^{(l)}$$は$$\Sigma^{(l)}$$の固有値を表す。第一の等式は行列の対角和の定義を踏襲している。そして第二の等式は、対角和が固有値の和であることに由来する。変数の情報量の健全な尺度は、その辺が固有ベクトルに沿った分布の標準偏差によって規定される長さを有した立方体の体積の二乗となるため、共分散行列の行列式となる。この行列の行列式はその固有値の積に等しい。よって、行列式の対数は固有値の対数の総和に等しくなる。

$$\log \mathrm{det}\Sigma^{(l)} = \sum_{i}^{}\log \lambda_i^{(l)} = \mathrm{tr}\left(\log \Sigma^{(l)}\right) \tag{34}$$

後者の等式は、それが行列の固有値に適用されるように、任意の解析関数が正方行列に対して定義され得るという事実から生じている。このことは、

$$(EAE^{-1})^k = EA^kE^{(-1)}$$

であることからもわかる。したがって、行列のべき級数展開は、固有値についての同様のべき級数展開になる。注意しておかなければならないのは、ここでいう対数表現が、行列の諸要素の対数なのではなく、行列の対数であるという点である。

(34)は情報量が減少することによってより小さくなる尺度でもある。だがλ = 1 の場合には、その最小値がゼロに達する実用的なコスト関数に変えることができる。

$$C_{\Sigma}^{(l)} = \sum_{i}^{}(\lambda_i^{(l)} – \log \lambda_i^{(l)} – 1 ) = \mathrm{tr}\left(\Sigma^{(l)} – \log \Sigma^{(l)} – \mathrm{I}\right) \tag{35}$$

このコストはλ = 0の場合に無限の損失となる。また$$\lambda_i > 1$$ に対して比較的緩やかに増大する。

$$\Sigma^{(l)}$$に関する上記のコストの微分は相対的に単純である。と言うのも、任意の解析的な関数において、

$$\frac{\partial \mathrm{tr}(\phi (\Sigma))}{\partial \Sigma} = \phi^{‘}(\Sigma) \tag{36}$$

が保持されるためである。$$\phi(a) = a – \log a – 1$$の時、$$\phi^{‘}(a) = 1 – a^{-1}$$となる。したがって、

$$\frac{\partial C_{\Sigma}^{(l)}}{\partial \Sigma^{(l)}} = \mathrm{I} – [\Sigma^{(l)}]^{-1} \tag{37}$$

残るは、連鎖則(chain rule)に従って勾配を計算するだけである。それは(32)が単純な二次形式であることから直接的に導入できる。$$\lambda_i = 1$$の時に最小化されるあらゆる二次微分可能なコスト関数は、最小値に近い同じ二次的なふるまいを持つため、より単純な定式(33)も同様に機能する。ただし、ヴァルポラは潜在的な問題を回避するために、(35)が利用されている。

最後に、既に示唆したように、隠れ層のユニットの活性度が実際にゼロ平均を持つことを確実にするように、コスト関数に簡単な項を追加する。

$$\mu^{(l)} = \frac{1}{T}\sum_{t=1}^{T}h^{(l)}(t) \tag{38}$$

$$C_{\mu}^{(l)} = \mid\mid\mu^{(l)}\mid\mid^2 \tag{39}$$

ラダーネットワークの学習アルゴリズム

以上のノイズ除去型自己符号化器とそのコスト関数の設計を前提とすれば、ラダーネットワークの学習アルゴリズムは次のようになる。

$$h^{(0)}(t) := x(t)$$

$$h^{(l)}(t) = f^{(l)}(h^{(l-1)}(t)) \ \ \ for \ 1 \leq l \leq L \tag{40}$$

$$\tilde{h}^{(0)}(t) = corrupt(h^{(0)}(t)) \tag{41}$$

$$\tilde{h}^{(t)}(t) = f^{(l)}(\tilde{h}^{(l-1)}(t)) \ \ \ for \ 1 \leq l \leq L \tag{42}$$

$$\hat{h}^{(L)}(t) = g^{(L)}(\tilde{h}^{(L)}(t)) \tag{43}$$

$$\hat{h}^{(l)}(t) = g^{(l)}(\tilde{h}^{(l)}(t), \hat{h}^{(l+1)}(t)) \ \ \ for \ 0 \leq l \leq L-1 \tag{44}$$

$$C^{(l)} = \frac{1}{T}\sum_{t=1}^{T} \mid\mid h^{(l)}(t) – \hat{h}^{(l)}(t) \mid\mid^2 \tag{45}$$

$$\Sigma^{(l)} = \frac{1}{T}\sum_{t=1}^{T}h^{(l)}(t)[h^{(l)}(t)]^{T} \tag{46}$$

$$C_{\Sigma}^{(l)} = \mathrm{tr}\left(\Sigma^{(l)} – \log \Sigma^{(l)} – \mathrm{I}\right) \tag{47}$$

$$\mu^{(l)} = \frac{1}{T}\sum_{t=1}^{T} h^{(l)}(t) \tag{48}$$

$$C_{\mu}^{(l)} = \mid\mid \mu^{(l)}\mid\mid^2 \tag{49}$$

$$C = C^{(0)} + \sum_{l=1}^{L}\alpha_lC^{(l)} + \beta_lC_{\Sigma}^{(l)} + \gamma_l C_{\mu}^{(l)} \tag{50}$$

ここで、$$\beta_l$$と$$\gamma_l$$は、$$\alpha_l$$同様、共に層ごとのコストの相対的な重みを表す。
写像$$f^{(l)}$$と$$g^{(l)}$$のパラメタの学習はCの最小化に基づいている。単純な解決策となるのは確率的勾配降下法である。しかし基本的に如何なる最適化の方法も利用可能である。どの方法を採用しても、最小化されることになる単一のコスト関数の存在は、採用された最適化の方法が可能にする限りにおいて、学習の収束を保証している。

Valpola, H. (2015). From neural PCA to deep unsupervised learning. In Advances in Independent Component Analysis and Learning Machines (pp. 143-171). Academic Press., p13.より掲載。

派生問題:GANとの関連

ラダーネットワークの構造は、従来の教師なし事前学習の陥穽を上手く覆している。それは<教師あり学習>と<教師なし学習>の区別を<教師あり学習>の内部に再帰的に導入することによって、<教師なし学習>を<教師あり学習>の一環として実行することを可能にしている。この形式的なアルゴリズム設計を可能にするのが、潜在変数モデルである。

潜在変数モデルは、教師あり学習と教師なし学習の構造的な結合を可能にする。この結合によって実現する半教師あり学習を設計する場合、潜在変数モデルは魅力的な方法となる。特に階層的潜在変数モデルを採用することの魅力的な特性は、一般的に低い水準の詳細を表現するための情報を保持ことが可能になると共に、高い水準には目前のタスクに関連する不変の抽象的な特徴に集中することを可能になるということである。

Rasmus, A., et al.(2015)は、多層ニューラルネットワークと畳み込みニューラルネットワークをラダーネットワークとして構成させることで、半教師あり学習のタスクにおける精度と性能を測定した。その結果、単に教師あり学習としてタスクに取り組んだ場合に比して、ラダーネットワークとして構成されたモデルは改善を示したことがわかった。これは、ラダーネットワークとして構成された半教師あり学習が、その内部に導入された<教師なし学習>を十分に活用できていることを示している。逆に言えば、<教師なし学習>が<教師あり学習>を妨げることは無いということでもある。

しかしこれらの検証で用いられた二つのモデルは、可能な選択肢であるに過ぎない。どのような符号化(encoder)と復号化(decoder)がラダーネットワークの構成に最も適しているのかは、未解決問題となっている。2015年の段階でのRasmus, A., et al.(2015)らの研究では、教師あり学習のためにその構造が最適化された符号化にほぼ何も修正を加えなかった。復号化も、ただ情報の伝播が逆向きになるだけで、符号化を反映させる構造として構成されているに過ぎない。例えば復号化の構造が符号化の構造から逸脱するとしても、自己符号化やラダーネットワークの構成においては何も問題は無いはずである。

最適な自己符号化器の探索は、他のユースケースからの影響も受ける可能性がある。例えばMakhzani, A., (2015)の敵対的自己符号化器(Adversarial autoencoders)のモデルは、ラダーネットワークの前提となる階層的潜在変数モデルとは全く異なる敵対的生成ネットワーク(Generative Adversarial Networks: GAN)の枠組みから半教師あり学習を導出している。半教師あり学習問題の枠組みにおいては、こうした生成モデルが比較可能な機能的等価物として研究プログラムに大きな影響を及ぼす可能性がある。

敵対的自己符号化器が自己符号化器を生成器に変換する理論であるのならば、Zhao, J., et al.(2016)のエネルギーベースモデル化されたGAN(Energy-based generative adversarial network: EBGAN)は、自己符号化器を識別器として機能させる理論となる。この識別器としての自己符号化器もまた、ラダーネットワークに基づき、<教師なし学習>と<教師あり学習>の複合体として設計することができる。

ラダーネットワークの構造は他のモデルに対して好意的な影響を与える可能性がある。機能的な入出力関係に大幅な改修を加えずに済むラダーネットワークの構造は、コスト関数の計算に副作用を伴わせることを代償とした上で、敵対的自己符号化器をはじめとした他のモデルの改良においても機能する。特に階層的潜在変数モデルをモチーフとしたノイズ除去型自己符号化器の導出は、原理的に如何なる自己符号化器に対しても、<教師なし学習>の能力を与えることになるであろう。それ故、他のモデルから観れば、ラダーネットワークの構造は精度や性能の改善策として魅力的に映るはずである。

参考文献

  • Bengio, Y., Lamblin, P., Popovici, D., & Larochelle, H. (2007). Greedy layer-wise training of deep networks. In Advances in neural information processing systems (pp. 153-160).
  • Bengio, Y., Mesnil, G., Dauphin, Y., & Rifai, S. (2013, February). Better mixing via deep representations. In International conference on machine learning (pp. 552-560).
  • Erhan, D., Bengio, Y., Courville, A., Manzagol, P. A., Vincent, P., & Bengio, S. (2010). Why does unsupervised pre-training help deep learning?. Journal of Machine Learning Research, 11(Feb), 625-660.
  • Erhan, D., Courville, A., & Bengio, Y. (2010). Understanding representations learned in deep architectures. Department dInformatique et Recherche Operationnelle, University of Montreal, QC, Canada, Tech. Rep, 1355, 1.
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep learning (adaptive computation and machine learning series). Adaptive Computation and Machine Learning series, 800.
  • Huang, B., Chen, R., Zhou, Q., & Xu, W. (2020). Eye landmarks detection via weakly supervised learning. Pattern Recognition, 98, 107076.
  • Jing, L., & Tian, Y. (2020). Self-supervised visual feature learning with deep neural networks: A survey. IEEE Transactions on Pattern Analysis and Machine Intelligence.
  • Makhzani, A., Shlens, J., Jaitly, N., Goodfellow, I., & Frey, B. (2015). Adversarial autoencoders. arXiv preprint arXiv:1511.05644.
  • Misra, I., & Maaten, L. V. D. (2020). Self-supervised learning of pretext-invariant representations. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (pp. 6707-6717).
  • Pang, S., Du, A., Orgun, M. A., & Chen, H. (2020). Weakly supervised learning for image keypoint matching using graph convolutional networks. Knowledge-Based Systems, 105871.
  • Rasmus, A., Berglund, M., Honkala, M., Valpola, H., & Raiko, T. (2015). Semi-supervised learning with ladder networks. In Advances in neural information processing systems (pp. 3546-3554).
  • Sohn, K., Berthelot, D., Li, C. L., Zhang, Z., Carlini, N., Cubuk, E. D., … & Raffel, C. (2020). Fixmatch: Simplifying semi-supervised learning with consistency and confidence. arXiv preprint arXiv:2001.07685.
  • Valpola, H. (2015). From neural PCA to deep unsupervised learning. In Advances in Independent Component Analysis and Learning Machines (pp. 143-171). Academic Press.
  • Zhao, J., Mathieu, M., & LeCun, Y. (2016). Energy-based generative adversarial network. arXiv preprint arXiv:1609.03126.
  • Xia, Y., Liu, F., Yang, D., Cai, J., Yu, L., Zhu, Z., … & Roth, H. (2020). 3d semi-supervised learning with uncertainty-aware multi-view co-training. In The IEEE Winter Conference on Applications of Computer Vision (pp. 3646-3655).