Deep Learningのマスタリング:Piecewise推定による非線形近似の技術 パート2

Deep Learningのマスタリング:パート2 Piecewise推定による非線形近似のテクニック

みなさん、こんにちは!私のマスタリングディープラーニングシリーズの第2回目へようこそ。この記事は、第1部「ピースワイズ推定による非線形関数の近似術 第1部」の続きとなります。第1部の記事では、ニューラルネットワークが入力xの複数の線形関数を組み合わせて出力yを推定することを学びました。また、入力空間から出力空間へのマッピングf(x,ϕ)を学習することによって、これらのマッピングが本質的に線形であり、非線形性は活性化関数によって導入されることを観察しました。私たちは、これらの非線形関数をいくつかのピースワイズリニア関数を組み合わせて近似することができることを見てきました。これらのピースワイズリニア関数の生成は、入力を1つ以上のポイントで閾値またはクリップする関数の固有の特性です(たとえばReLU)。線形領域の数が無限になるにつれて、これらの線形領域の長さは無限小になり、マッピングが変換されます。以前はピースワイズリニア構造であったものが、非線形関数に進化するのです。万能近似定理は、任意の連続関数に対して、指定された精度でこの関数を近似できる浅いネットワークが存在することを証明しています

必要な精度でそれらを推定するためには、非実用的に大量の隠れユニットが必要な関数もあります。これがディープニューラルネットワークの発見につながりました。ディープニューラルネットワークは、浅いニューラルネットワークの場合よりも多くの線形領域を推定することができます。そこで、2つの浅いニューラルネットワーク(各々に3つの隠れユニット)を組み合わせて、ネットワーク-1の出力を2つ目のネットワークの入力として考えてみましょう。

3つの隠れユニットを持つ2つの浅いニューラルネットワークを組み合わせて作成したディープニューラルネットワーク

上記のプロットは、ディープネットワークによって推定された関数を示しています。この機能を理解するために、層ごとに推定を解析して動作を理解してみましょう。

最初のネットワークのニューロンの出力
y’はh1、h2、およびh3の線形結合(y’ = ReLU [θ₁h₁ + θ₂h₂ + θ₃h₃ + β])です
2番目のネットワークのニューロンの出力
y’はh1、h2、h3の線形結合です(y’ = θ’₁h’₁ + θ’₂h’₂ + θ’₃h’₃ + β’)

この時点ではプロットは何の意味も持ちませんが、その原因の一つはネットワークの容量が不足していることです。しかし、ステップバイステップで理解しようとしましょう。関係を見てみましょう

y = θ’₁h’₁ + θ’₂h’₂ + θ’₃h’₃ + β’

ここで、yはh’₁、h’₂、およびh’₃の3次元ハイパープレーンを表します。残念ながら、このハイパープレーンを視覚化することはできませんが、注意深く見ると、関係を以下のように書き直すことができます:

y = θ’₁ReLU[ϕ₁y’ + β₁] + θ’₂ReLU[ϕ₂y’ + β₂] + θ’₃ReLU[ϕ₃y’ + β₃] + β’

上記の関係はy’についての分割線形の1次元ハイパープレーンを表します。ここで、3次元ハイパープレーンをyからy’に移動することで、1次元ハイパープレーンに展開しました。ディープニューラルネットワークは、この逆となることで正確に同じことを行います。ディープニューラルネットワークは、より高い次元へと、より低い次元の表面を折りたたんで複雑な表現を生成します。この折りたたまれた高次元空間は潜在空間として知られ、推定された高次元表面は入力の潜在表現として知られています。私たちの例では、xからyへのマッピングは、xからy’およびy’からyへの以下の潜在表現を通じて取得されます

y’ = ReLU[θ₁h₁ + θ₂h₂ + θ₃h₃ + β]

y = θ’₁h’₁ + θ’₂h’₂ + θ’₃h’₃ + β’

さらに、これらは1次元のハイパープレーンとしてのxからyへの基礎的なマッピングである1次元のハイパープレーンです。これらの潜在的な関係は、基礎的なxからyへの1次元マッピングを取得するために展開することができます。したがって、ディープネットワークは、入力空間を折りたたむことを考えることができます。すべてのこの数学と次元が混乱している場合は、入力空間を紙と想像してその紙を折りたたむためには3次元で移動する必要があります。ディープニューラルネットワークはまったく同じことをするが、はるかに高い次元で行うのです。

これまでは、ディープネットワークを2つの浅いネットワークの組み合わせと考えたおもちゃの例を考えてきましたが、実際にはもっと実践的なディープネットワークを見てみましょう:

2つの隠れ層を持つディープニューラルネットワークのサンプル

上記のネットワークを訓練して、新しいネットワークがどのように推定するかを見てみましょう。3つではなく、それぞれの層に7つのニューロンを使用してみましょう。ネットワークによって推定された分割関数が下の図に示されています:

ディープネットワークによるyの分割推定

ネットワークは関数の推定を上手に行なっていることがわかります。さて、折りたたみの兆候があるかどうかを調べるために、潜在表現を視覚化してみましょう。前に述べたように、折りたたまれた場合、以下のいずれかの兆候が観察される場合があります:

  1. 値の範囲の変更:ディープネットワークが折り畳み演算を実行した方法に応じて、関数がx軸、y軸、またはその両方に沿って表す値の範囲の変更を検出します。
  2. 重なりやループ:関数が自身を巻き付けるような場合に、ループ状の構造が形成されることがあります。
各ニューロンによるxからy'への7つの異なる潜在表現
折り畳まれた入力空間

予想通り、ネットワークは入力空間を折り畳んで潜在的な表現を作り出しました。上のプロットから明らかにわかります。例えば、ピンクの線を見ると、この変換によりx軸とy軸の範囲が入れ替わっていることが分かります。同様に、青い線も変換を行い、ループが形成され、x軸の範囲が減少しています。これらの変換は、座標軸を交換するだけの簡単なものから、複雑なループ状の構造を作り出す場合もあります。

ディープニューラルネットワークにおける折り畳みという概念は、簡単で直感的な類似性に例えることができます。曲線が描かれた紙をその曲線に沿って折り畳み、切り取ると、紙を広げるとこれらの切り込みが効果的に倍増します。ディープニューラルネットワークでは、似たような原理を使用しますが、重要な違いがあります。手動で切り込みを作る代わりに、これらのネットワークは学習の過程で習得したプロセスを使用します。彼らは潜在的な表現を調整し、データ内により線形な領域を作成するためにそれらを「クリップ」または変換します。この学習された折り畳みプロセスにより、ネットワークはできるだけ変換を適応させ、データ分布により適切にフィットさせることができます。

より複雑な関数f(x) = sin(x) + sin(2x)cos(3x) + 0.2sin(5x)cos(7x) + 0.1sin(10x)をガウスノイズと組み合わせてデータセットを作成しましょう。私たちの目標は、このノイズの存在下でディープニューラルネットワークが基礎となる分布を効果的に推定できるかどうかを評価することです。

データ分布から等しくサンプリングされた1000のポイント
モデルによるノイズ分布の推定

明らかに、モデルは基礎となる分布をかなりの程度まで正確に捕捉しています。モデルの容量を高めれば、推定はさらに改善されるでしょう。これは、深層ニューラルネットワークが強力な推定器としての驚くべき潜在能力を持っていることを示しており、現代の機械学習の世界で重要な位置を占めています。

このブログは、「Understanding Deep Learning」(Simon J.D. Prince著、udlbook.github.io/udlbook/)という書籍からの大いに霊感を受けています。最後のセクションでは、これらのネットワークが多変量の入力と出力に対してどのように推定を行うのかについて掘り下げていきます。プロットを生成するために使用したコードは以下から見つけることができます。もしこのブログが有益であった場合は、いいねをしていただけると大変ありがたいです。

Understanding-Deep-Learning/Mastering_Deep_Learning_The_Art_of_Approximating_Non_Linearities_with_Pi…

Contribute to Raagulbharatwaj/Understanding-Deep-Learning development by creating an account on GitHub.

github.com

We will continue to update VoAGI; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more