問題設定:過学習ニューラルネットワークをはじめとする機械学習の学習アルゴリズムは、誤差(loss)を最小化するために設計されている。学習の本来の目的は、学習時に観測した訓練データに対してではなく、学習時に観測しなかった「未知のデータ」に対して正確な推論や推定を実行できるようになることである。ここで、訓練データと「未知のデータ」は、同一の母集団、同様の確率分布からサンプリングされると想定される。いわゆる「汎化性能」はこのために要求される。論理学的に言えば、汎化とは、訓練データを観測することによって、その上位概念となる母集団の概念を獲得することなのである。可能性を全て網羅して、「未知のデータ」となり得るあらゆるデータセットを事前に準備することは不可能だ。そこで機械学習の学習時には、訓練データとは区別される別のテストデータを同じ母集団からサンプリングすることで、学習アルゴリズムに入力することになる。error)」と呼ぶ。一般的な機械学習の学習アルゴリズムを前提とすれば、訓練誤差はパラメタの更新を反復していくに連れて単調減少していく。テスト誤差はこの限りではない。場合によっては、パラメタの更新回数が増えるに連れて、訓練誤差と乖離し始めることもある。逆に一定回数更新を繰り返していくと、訓練誤差に近接していくこともある。理想的な訓練となるのは、訓練誤差とテスト誤差が共に減少し続けている状態である。入力するデータやパラメタチューニングの状態によっては、テスト誤差が訓練誤差から大きく乖離し続ける場合がある。この場合を特に「過学習(overlearning)」や「過剰適合(overfitting)」などと呼ぶ。何が「過剰(over)」なのかと言えば、この場合のモデルは、訓練データのみを「過剰」に学習してしまい、訓練データのみに「過剰」に適合してしまっているということである。その結果として学習後のモデルは、テストデータに対して上手く推論や推定を実行することができなくなっている。それはつまり、モデルが「未知のデータ」に対する汎化性能を獲得し損ねているということである。高い汎化性能や表現能力を有するニューラルネットワークの設計者は、この問題と無縁ではいられない。ニューロンの個数や隠れ層の個数を増やせば、ニューラルネットワークはより複合的なパターンを表現できるようになる。訓練データのみを複合的に表現すれば、実際のデータ分布とは異なるパターンを分類してしまうようになる。単純に誤差関数を最適化すれば良いという訳ではない。最適化の派生問題として過学習や過剰適合が伴うのである。問題解決策:ドロップアウト過学習や過剰適合の問題解決策を、ここでは一つだけ取り上げよう。「ドロップアウト(dropout)」は、過学習や過剰適合に対する最も有名な対策の一つである。それは、ニューラルネットワークの汎化性能を向上させる技術として導入される。文字通りこの技術は、訓練時にアトランダムに選択したニューロンを除外することで、ニューラルネットワーク上にそのニューロンが存在しないことにする処理を指す。これにより、ニューラルネットワーク上のニューロン同士の過剰な共適応(co-adapting)が抑制される。学習時には、順伝播ごとにアトランダムに除外対象となるニューロンを選択することで、訓練全体を通じてパラメタの値が徐々に調整されていく。一般にあるニューロンがドロップアウト対象になるか否かの確率は、0.5とされる。ドロップアウトを適用したニューラルネットワークの構造は以下のようになる。この図では、隠れ層を2層とした場合のニューラルネットワークが例示されている。左側が通常のニューラルネットワークで、右側がドロップアウトを適用したニューラルネットワークだ。ドロップアウトとして選択される確率は0.5となるため、選択されるニューロンの数も各層で区々となっている。多層ニューラルネットワーク、あるいは深層学習における派生問題の一つは、実装水準での費用対効果である。アルゴリズムの設計者は様々な関数設計やハイパーパラメタの調整に悩まされる。勾配喪失のような派生問題にも注意しなければならない。ミニバッチ法を採るにしても、全体的に大量の訓練データを用意しなければならないことには変わりは無い。ドロップアウトは、こうした派生問題を可能な限り回避した単純明快な方法である。このことは数式でモデル化した場合にも表れている。隠れ層lと接続された入力層のベクトルを$$z^{(l)}$$で表し、隠れ層lと接続された出力層のベクトルを$$y^{(l)}$$と表す。各層の重みを$$W^{(l)}$$とし、バイアスを$$b^{(l)}$$とする。この時、ニューラルネットワークの順伝播は次のようになる。f(z_i^{(l+1)})$$ここでいうrはドロップアウトの確率pについての独立なベルヌーイ確率変数のベクトルを意味する。このベクトルが出力層のyの値に掛け合わされることで、間引きされた(thinned)出力値が計算される。network)」であると言える。このネットワークは、ドロップアウトを回避して生き残ったニューロンによって構成されている。生き延びるか否かは二値であることからもわかるように、n個のニューロンで構成されたニューラルネットワークは、2のn乗もの可能な「間引きされたネットワーク」の集合体であるとも見做せる。ドロップアウトを適用したニューラルネットワークの訓練においては、事実上複数の、別様のモデルが生成されていることになる。一つのモデルのみで学習を繰り返せば、過学習が避けられなくなる。ヴァーチャルにでも複数のモデルを組み込んだネットワークであれば、それぞれの可能なモデルで別様の学習と予測を実行することができる。ドロップアウトの技術では、このモデルの複数性が過学習の回避策になっている。主導的な参照問題の一つは、訓練データだけではなく、新しい観測データ点の入力に対しても性能を発揮するアルゴリズムの設計が如何にして可能になるのかである。機械学習の多くのアルゴリズムは、訓練誤差が増加する可能性を代償として、テスト誤差が減少することを目指して設計される。した方法は、一般的に「正則化(Regularization)」と呼ばれている。正則化は、モデルとアルゴリズムの設計者が試みる「投資」に他ならない。言うのも正則化とは、訓練誤差の増加というリスクを受容することによって、テスト誤差の減少というリターンを得る試みであるためだ。この意味で正則化は、コモディティ化している機械学習ライブラリのエンドユーザーとは無縁の設計である。それはブラックボックスの内部で実行されている無理解で無視しても無害なコンポーネントなのではない。正則化とは、リスクある不確実な状況下の設計者が「期待」や「効用」や「投資対効果」などのような指標との兼ね合いから下す「意思決定」以外の何物でもない。正則化が「意思決定」である理由は、設計者が「正則化を実行するか否か」の選択に迫られるためだけではない。正則化の方法もまた多岐に渡るためでもある。設計者に求められるのは、自らのアルゴリズムとモデルの理論的背景やデータの特徴工学によって、最適な、あるいは満足し得る正則化の方法を選択することである。ニューラルネットワークの理論は、正則化の機能を「過学習」の問題設定との関連から記述してきた。この問題設定は消極的で、「利」を生まない。いう言葉は知っていても実際には何もできないビギナーは、後を絶たないようだ。アルゴリズムとモデルの設計は、この程度で許されるほど甘くはない。上述した正則化の問題設定は、積極的かつ冷徹である。「訓練誤差が増加する可能性を代償として、テスト誤差が減少すること」を目指した正則化問題の枠組みは、誤差という定量評価の指標を明示的に指し示している。正則化という問題設定は、機械学習の定量的な比較可能性を担保している。そこには、有用ならば採用し、無用ならば棄却するという、「意思決定」が介在する。定量評価の指標としての誤差は、機能的に記述されなければならない。ように、誤差の意味論は機能的に変異し得るのである。Äquivalenten)」として区別されている。「機能的に等価」であるというのは、特定の問題設定を前提とした上で、その問題の解決に際して同様に機能していることを意味している。選択肢Aと選択肢Bが機能的に等価となるのは、特定の問題Xの解決に、双方とも有用で役立ちメリットを発揮している場合のみだ。これを前提とすれば、深層学習の設計者は、機能的に等価な複数の誤差関数の「意思決定」を実践しなければならない。Entropyなどのような「関数」を選択しなければならないのである。Learning)の第一人者たちは、正則化問題の枠組みの中で誤差関数の定量評価を見据えたアルゴリズム設計とモデリングに徹してきた。彼らの努力は、しばしば不当にも、コモディティ化され、大衆化している「ディープラーニング」の背後に追いやられていた。model)」の「機能」に過ぎなかった。Usersもその程度のユースケースしか思い描けないからだ。model)」の存在だ。ニューラルネットワークとの関連から端的かつ簡潔に纏めるなら、識別モデルの成功は、ほぼ逆伝播(Backpropagation)やドロップアウト(Dropout)のような学習アルゴリズムと正則化(Regularization)の技術に基づいている。したコモディティ化されている後知恵だけでは、難解な確率計算の近似推論が困難になる。そのため、逆伝播やドロップアウトのような学習アルゴリズムや正則化の技術が統計的機械学習の生成モデルに強い設計思想上の影響を与える機会は限定的であった。function)の機能を利用することが困難であることと照応している。「識別モデル」と「生成モデル」の一見理論的に乖離しているかのように思われる状況は、幾つかの問題設定の枠組みで解消されている。枠組みの中で再記述されることで、理論的な接続可能性が構成されているということである。「幾つかの問題設定の枠組みで」というのは、既存の問題設定が、その歴史的な影響から反復的に再設定されているということでもある。それは、機械学習の概念実証や研究開発が、問題を再設定することによって、問題解決策を展開していることを言い表している。言い換えれば、問題を再設定することこそが、問題解決策として機能しているのである。枠組みのとりわけ生成モデルとの関連から深層学習を再記述することは、コモディティ化され、大衆化している「ディープラーニング」の残滓に囚われない発見探索を可能にする。これらの先行事例を観察する場合には、問題志向型の等価機能分析的なアプローチが最良の方法となるであろう。それは、一定の問題設定を前提とした上で、複数の機能的に等価な問題解決策を比較していく方法である。以下では、絶えず問題設定と問題解決策を区別していくことによって、概念の歴史的意味論を観察していくことになる。枠組みで記述されていたはずの生成モデルが、いつの間にか分類問題のような識別モデルの問題設定でも機能することを明らかとするであろう。GANs)」は、生成器のモデルが敵対者のモデルと競争するというゲーム理論的な状況設定に基づいている。このフレームワークは、これらのモデルが共に多層のパーセプトロンである場合に最も直接的に適用できるようになる。以下では、他でもないこのゲーム理論的な状況設定を選択するという設計者の「意思決定」が如何にして可能になったのかを、GANの概念史の意味論との関連から記述していく。examples)」から区別されなければならない。敵対的事例は、分類器のネットワークに直接的に入力されるデータの勾配に準拠した最適化を利用することで発見される事例である。生成モデルの訓練のために設計された方法なのではない。この方法が機能するのは、興味を引く振る舞いを見せたニューラルネットワークを分析する場合である。ニューラルネットワークは、人間と同様の精度に到達することが間々ある。したがって、こうしたモデルが真にその識別タスクを人間と同じ水準で理解しているのかどうかを知りたくなるのは道理である。そこで、対象となる識別タスクに対するネットワークの理解度を調査するために、モデルが誤分類した事例を探す訳だ。これは、敵対的生成ネットワークの問題設定から逸脱した問題である。敵対的生成ネットワークの定式は、生成器(Generator)と識別器(Discriminator)の区別を導入するところから始まる。GANのフレームワークでは、まず生成器の分布$$p_g$$を観測データ点$$x$$のもとで学習するために、事前分布として、入力ノイズ変数$$p_z(z)$$を定義する。\theta_g)$$として表現する。ここで、$$G$$は、微分可能な関数で、パラメタ$$\theta_g$$に基づいた多層パーセプトロンによって表現できる。\theta_d)$$を定義する。$$D(x)$$は、$$x$$が生成器によって出力された$$p_g$$ではなく観測データ点それ自体である確率を表す。識別器$$D$$の訓練は、訓練事例と$$G$$によってサンプリングされた事例の双方に対して正確なラベルを割り当てる確率を最大化するように実施される。$$G$$に対する訓練はこの訓練と同時に実行される。D(G(z)))$$を最小化するように実施される。game)の問題として設定される。D(G(z)))\right]$$この定式が言い表している通り、識別器Dはサンプルの真偽を識別するように学習する。同時に、生成器は識別器を言わば「騙す」ように学習することで、生成器がサンプルを真であると信じ込ませようとする。最適化が進んだ収束点においては、生成器のサンプルの分布と真の分布との差異は極小化されている。これら2つの分布を区別しようとする識別器は拠り所を失うために、どの入力に対しても0.5の確率値を出力することとなる。ゲーム理論的な定式化の意味論GANのゲーム理論的な記述がミニマックス法に行き着いているのは、理由の無いことではない。一般的に、二つのモデルのコストに対して同時に勾配降下法を適用したとしても、平衡に到達することは保証されていない。導入し、一方のモデルがaを制御してabを報酬として受け取ると共に、他方のモデルがbを制御して-abの報酬を受け取るとする。各モデルが微小なステップで勾配を計算するように学習率を調節すると、各モデルは自身のコストを相手のコストに支払わせるように低減させていくことになる。そのため、aとbは原点の平衡点には到達せずに、安定した円軌道を描写することとなる。ここで、ミニマックスのゲーム理論において、平衡点はVの極小値ではない。この平衡点は、双方のモデルのコストが同時に最小になる点である。言い換えれば、平衡点は、一方のモデルのパラメタに対して極小値であって、他方のモデルのパラメタに対して極大値を取る。これを前提とすれば、双方のモデルの学習アルゴリズムは、いずれのモデルもコストを減少させることのできない鞍点に精確に到達するのではなく、ただ双方のモデルが交互にVの増減を永遠に反復させるように進行する可能性がある。GANの学習アルゴリズムがミニマックス法の設定を採用しているのは、簡潔に纏めてしまうなら、それが当初ゼロサムゲームの設定で試行錯誤されていた名残りであると言える。当初のGANのフレームワークでは、生成器は識別器が正しく推論する対数確率を減少させることを目指して設計されていた。後にGANは、これを発見探索的に再記述することになる。その結果として生成器は、上述した通り、識別器が誤った推論をする対数確率を増加させることを目指して再設計されたのである。この再記述はヒューリスティックな動機付けによって導入されている。それは単に、識別器が生成器のあらゆるサンプルを高い信念で棄却する場合でも、識別器のロジットに関する生成器のコスト関数の微分が強く維持される点のみに起因している。生成器が偽(fake)のサンプルを生成することで識別器を「欺く(confuse)」ことが目指される場合、以上のような意味論が土台となっている。敵対的生成ネットワークの機能GANのフレームワークにおけるネットワーク構造上の利点は、まずマルコフ連鎖が一切必要とはならない点である。propagation)だけで勾配が獲得される。深層ボルツマンマシンをはじめとした生成モデルとは異なり、平均場近似における統計力学的な近似推論やエネルギー分布に関わる熱力学的な分配関数を設定しなくても学習を進めることができる。GANのフレームワークの欠点は、学習の収束の可能性である。凸である場合には、この手続きは収束することが保証されている。凸ではない場合があるために、学習は困難となる。明示的に与えられてはいない。この分布は設計者が積極的に設定しなければならない。アルゴリズム設計上の欠点は、生成ネットワークを生成器と識別器に区別していることと関わる。言うのも、敵対的生成ネットワークの学習アルゴリズムにおいて、DとGの学習は同期的に実行する必要があるためである。Dを更新することなくGを更新してはならない。networks)』によれば、GANを分類問題に応用したモデルはCatGANと呼ぶ。このモデルはカテゴリやクラスの推定を可能にする。そのアルゴリズムを確認すれば、この機能がデータクラスタリングのそれと等価であることがわかる。このデータセットを用いた教師なし学習問題を、Χから識別器Dへの入力によって表現するなら、この問題は、カテゴリあるいはクラスKの番号をアプリオリに選択する問題として設定できる。fit)を実現する識別器Dの訓練である。サンプルの中での正例の確率分布は未知となる。それは最小化のためというよりはむしろ、識別機の性能を判断するための中間測定として特定されなければならない。D)$$が全てのkにおいて事前分布$$p(y)$$に近接するという要求を満たす識別器である。クラスの事前分布が一様分布であると仮定するなら、Χのクラスごとのサンプルは、全てのkにおいて次のように表現される。D)$$問題再設定:GANの多クラス分類問題この問題設定からは二つの洞察が得られる。第一に、このモデルは確率論的でソフト(soft)なクラスタリングの問題として記述できる。この問題に対する問題解決策は、したがって、原理的にデータクラスタリングのアルゴリズムとなる。敵対的生成ネットワークのフレームワークに準拠した場合に特筆すべきなのは、ロバストなモデルとして設計できるという点である。第二の洞察は、標準的な敵対的生成ネットワークの目的関数は、記述問題を解くためには直接的に利用できないことと関わる。その理由は識別器Dの機能にある。この識別器は標準的な敵対的生成ネットワークの最適化によってモデル化されている。このモデルは、入力された観測データ点の統計量を把握しなければならない。識別器が有用となるのは、与えられたサンプルxがχに属するか否かを決定する場合に限られる。データの分布をモデル化できる識別器に対してならば、識別器によるクラスタリングのようなクラスの抽出で有用となる特徴表現を学習していると、原理上は期待することができる。関数Dが真偽(real/fake)を識別するという二値(binary)の分類問題を実行することの意味は、敵対的生成ネットワークのフレームワークに限定されている訳ではない。識別器Dが将来的に焦点を定めることになる観測データ点の特徴は、生成器によって精確にモデル化されている訳ではない。したがって、この特徴表現において、当の問題設定で識別しようとしているクラスの概念に適合させる必要は必ずしも無いということになる。極端に言えば、生成器によって生み出されたデータの中からノイズを検知することによっても、この特徴表現は実現可能である。原理的だが単純明快な上記の問題設定は、敵対的生成ネットワークのフレームワークを多クラスの分類問題に拡張することも可能にしている。このフレームワークに倣い、二人のプレイヤーが参加しているゲームを設定しよう。このプレイヤーの一人である識別器Dには、xがΧに属する確率を予測させる代わりに、K個のカテゴリあるいはクラスの一つ一つにそれぞれのサンプルを割り当てさせることになる。生成器Gによって生成されたサンプルがクラスの割り当てを不確実化させるという前提においてである。このGによるノイズこそが、識別器Dにロバスト性を与える。classes)」へと再記述することができる。問題再設定:GANのクラス確率最適化問題したがって、クラス分類問題における最適化の問題設定は、定式化される標準的な敵対的生成ネットワークから区別される。言うのもこの場合、二値の識別関数を学習する代わりに、いずれのデータxに対してもラベルyを割り当てることによって、K個のカテゴリの中でデータを分割することこそが、識別器の学習の目的となるためだ。定式化して言えば、この識別関数はD(x)となる。この関数の機能は、微分可能な関数で、次のようなK個のクラスのロジットを予測する。\mathbb{R}^K$$相互に排他的なK個のラベルのうちの一つにサンプルxが属する確率は、識別器の出力層におけるソフトマックス関数によって表現できる。e^{D_k(x)}}$$標準的な敵対的生成ネットワークと同様に、生成器はG(z)と表現できる。任意のノイズの分布を表す。DとGはいずれも常に線形関数やロジスティクス関数を出力層に有する多層ニューラルネットワークとしてパラメタ化される。この時、生成器Gの機能は、識別器Dの正則化となる。この関連からDとGはそれぞれの視点から学習を展開することになる。識別器Dは三つの要求を満たそうとする。一つ目がクラスの割り当ての確実性で、二つ目が生成器のサンプルの割り当ての不確実性で、そして三つ目が全てのクラスを同値で扱うということである。生成器Gは二つの要求を満たそうとする。一つは高い確実性を有したクラス割り当てを伴わせるサンプルを生成することである。二つ目は、K個全てのクラスに渡ってサンプルを等価な分布として扱うことである。識別器Dの視点から観察するなら、クラス確率の最大化あるいは最小化の問題は、これらの要求によって再設定することが可能になる。D)$$は上述した要求を如何なるxに対しても最大化されるべきである。予測されるクラスの分布においては、情報理論的な測定を通じた直観(intuition)を働かせることもできる。この問題に適用可能な指標の中で最も直接的に導入できる測定指標は、シャノンエントロピーのHである。このHは、与えられた分布からサンプルされた情報の期待値として定義できる。D)$$が高次のピークになるように条件付けられるのならば、識別器Dはクラス割り当てにおいて確実化されるべきである。D)]$$を求めるのは、どのサンプリングからの描写も常に同様のクラスになるはずだからだ。D)$$を最大化することができる。その最適解において、このエントロピーはクラスにおける条件付き一様分布となる。これが、上述した識別器への第二の要求、生成器のサンプルの割り当ての不確実性という要求を満たすのである。条件付きエントロピーの差異より具体化して言えば、Χからのサンプルにおける条件付きエントロピーの経験的推定は次のようになる。D)$$の期待値として表現できる。ここでzはノイズを表す。この確率分布はモンテカルロ法によるサンプリングによって近似的に生成される。P(z)$$ここでMは独立したサンプルの個数を意味する。N$$と仮定しても良いとされる。この関連から、一様周辺分布との対応関係を前提とした上で、識別器における第三の要求、すなわち全てのクラスを同値で扱うという要求を満たす際、経験的にΧに準拠して生成器Gからサンプリングされている周辺クラス分布のエントロピーを最大化することが可能になる。P(z)$$これら二つのエントロピーのうち後者のエントロピーは、生成器Gの側から観た第二の要求、すなわちK個全てのクラスに渡ってサンプルを等価な分布として扱うという要求を満たすことを必要とする最大化問題として定義される。生成器Gにおける第一の要求に関しては、モンテカルロ法によって近似される上述した期待値表現においてというよりはむしろ最小化と関わる。以上の情報理論的な記述を前提とするなら、敵対的生成ネットワークの多クラスの分類モデルであるCatGANの目的関数を定義することが可能になる。D)\right]\right]\right)$$ここで、Hは上述した定義に従う経験的なエントロピーを意味する。生成器Gにおける$$\mathcal{L}_G$$は、標準的な敵対的生成ネットワークの最適化問題の類推により、最小化問題として定義できる。この定式化は上述した三つの要求を満たすと同時に、次のような単純な情報理論的な解釈を前提としている。information)」の推定値となる。これは、識別器Dが最大化する対象としている一方で、生成器Gに由来するG(z)においては最小化したい情報量でもある。類推的に言い換えれば、$$\mathcal{L}_G$$最初の二つの項もまた相互情報量を表している。この場合、相互情報量は生成されたサンプルと予測されたクラス確率との間の相互情報量となる。SGD)を適用することになる。上記の定式における条件付きエントロピーの項は、サンプルのエントロピーごとの総和を意味する。それ故に単純にバッチ単位での計算が可能になる。D)]$$を求めるには、全データセットΧに渡る総和か、あるいは生成器Gによってサンプリングされた巨大なデータセットにおいてエントロピーを計算しなくてはならない。したがって、単純にバッチ単位でデータセットを分割することは許されない。識別器Dが予測する必要のあるカテゴリKの個数がバッチサイズよりも非常に少ない場合、この問題は単純に解消される。この場合、アトランダムにサンプリングされたバッチサイズ分の周辺クラス分布の推定問題となるためである。バッチサイズをBとするなら、この推定は次のように計算される。D)\right]$$も同様に近似し得る。これが合理的に機能するのは、Kが10以下で、バッチサイズBが100の場合である。カテゴリ数が増えた場合の対応は、未解決問題として留まっている。問題再設定:半教師あり学習問題の枠組み以上のCatGANの定式化は半教師あり学習問題においても再利用することができる。\mathbb{R}^K$$となる。この表現においては、N個のラベル無しサンプルがΧに含まれている。D)$$と$$\chi^L$$から得られた正例のラベルの分布との間のクロスエントロピーを計算することが求められる。y)のクロスエントロピーは次のように計算される。CatGAN)」と呼ぶ。このモデルは二つの目的関数を持つ。識別器Dの視点から観れば、目的関数は$$\mathcal{L}_D^L$$となる。生成器Gの側から観れば、目的関数は$$\mathcal{L}_D^L$$となる。\mathcal{L}_G$$ここで、λはコストの重み付け項を表す。ネットワークの構造的な拡張物は、CatGAN以外にも様々な半教師あり学習アルゴリズムの設計を可能にする。AAE)」のモデルは、自己符号化器を生成モデルに変換することを可能にする。