深層学習のマスタリング:非線形性をピースワイズな推定による近似するアート パート3

『ディープラーニングのマスタリング 非線形性をピースワイズな推定による近似するアート パート3』

皆さん、こんにちは!私のマスタリングディープラーニングシリーズの第三弾へようこそ。この記事は、非線形性の分割推定による近似の芸術と題された最初の二つのパートの続きです。最初の二つの記事では、ディープニューラルネットワークの内部動作について詳しく掘り下げました。この最終セグメントでは、より現実的なシナリオを表す多次元入力と出力の扱い方を理解することで、私たちの探求を終了します。内容に入る前に、より優れた理解可能な高次元入力空間の折りたたみの視覚化を試みるという提案を頂きました。それでは、このアイデアをさっそく探求してから進みましょう!

latent representationsを視覚化するためのシンプルなニューラルネットワーク

上記に描かれたようなシンプルなニューラルネットワークを考えてみましょう。第二の隠れ層におけるhₖ’と示される各ニューロンは、次の形式でハイパープレーンを推定します:

hₖ’ = θ’ₖ₁h₁ + θ’ₖ₂h₂ + β₁

上記の式は、h₁h₂の空間内の二次元ハイパープレーンを表しています。同様に、以下のように出力yを得ることができます:

y = ∑₀¹⁰ Ωᵢhᵢ’ + β₂

以前のブログ記事で探求したように、上記の式を展開してxからyへのマッピングを理解することができます。ただし、現在の焦点は具体的なマッピングではなく、代わりに各々の10個のニューロンが折りたたみプロセスにどのように寄与するかを可視化することです。

上記のニューラルネットワークは、次の関数を推定するためにトレーニングされています:f(x) = sin(2x) + cos(x) + x。各hₖ’は、視覚化可能な二次元表面を表しています。以下は、第二の隠れ層の各ニューロンによって推定されるさまざまな表面を示す図です。

Ten different neurons fold the surface defined over h₁, h₂, and hₖ in ten unique ways.

各ニューロンは表面をユニークに折りたたんでおり、この折りたたみがどのように現れるかについての洞察を提供しています。hₖ’の潜在的な推定は、本質的には直線であり、上記に描かれた表面の構成要素です。この表面を、直接線自体を切るのではなく、折りたたまれた紙に切り込みを入れるプロセスと考えることができます。

さて、複数の入力を扱うニューラルネットワークのハンドリング方法を探求しましょう。以下の図に示すようなシンプルな浅いニューラルネットワークを考えます。

simple shallow neural network with two inputs

隠れ層のユニットに単一の重みだけでなく、2つの重みとバイアスが追加されています。この変更により、各ニューロンは直線ではなく平面を推定しますが、全体のメカニズムは同様です。浅いニューラルネットワークを使用して、f(x₁, x₂) = sin(2x₁)sin(2x₂) + cos(x₁)cos(x₂) + x₁ + x₂のマッピングを推定し、その推定結果を視覚化してみましょう。

浅いニューラルネットワーク(12の隠れ層ユニットを使用)によるf(x₁、x₂)の推定
浅いニューラルネットワーク(32の隠れ層ユニットを使用)によるf(x₁、x₂)の推定
浅いニューラルネットワーク(64の隠れ層ユニットを使用)によるf(x₁、x₂)の推定

隠れ層ユニットの数を増やすと、モデル化しようとしている曲面の推定がさらに向上します。各ニューロンが平面を推定するため、ReLU関数はこれらの平面をいずれかの四方向で切ることができ、分割線形曲面を作成します。先ほど述べたように、分割数が多いほど目標関数を近似することができます。推定された曲面は厳密には分割線形であり、非線形曲面の印象を与えるかもしれませんが、十分にズームインすると、分割線形領域がはっきりと見えることがわかります。

多次元入力の処理方法を理解したことで、同様の推定に深層ニューラルネットワークを使用する制限はありません。深層ネットワークは、同じ数のニューロンを持つ浅いネットワークと比較して、より多くの分割線形領域を作成することができます。たとえば、100個のニューロンを持つ浅いネットワークと2つの層で構成される深層ネットワークを考えると、深層ネットワークは単純な浅いネットワーク全体よりも2つの隠れ層間にさらに多くのパラメータを持っています。両方のネットワークに同じ数のニューロンがあるにもかかわらず、より多いパラメータをコストにして追加の推定能力を得ることができます。

以下の図は、各隠れ層に6つのニューロンを持つ深層ニューラルネットワークによる同様の推定を示しており、32のニューロンを持つ浅いニューラルネットワークで得られる推定と同等のものであることがわかります

2つの隠れ層を持つ深層ニューラルネットワークによるf(x₁、x₂)の推定

多次元の出力をニューラルネットワークがどのように推定するかの探求を続けましょう。より良い理解を得るために、実数値変数xの関数sin(x)およびcos(x)の両方を考慮します。目的は、入力のxからこれらの関数を同時に学習することです。以下に示すような単純な浅いニューラルネットワークをトレーニングして、y₁y₂を推定します。以前の例では、複数の変数を持つ関数を推定しましたが、今回は複数の関数を推定しています。

2つの異なる関数y₁とy₂を同時に推定する単純な浅いニューラルネットワーク
3つの隠れ層ユニットを持つモデルによって生成された推定関数f₁(x)とf₂(x)

私たちは、推定結果が3つのニューロンによって作られた3つのカットに対応する4つの線形領域を示していることを観察できます。興味深い点は、両方の推定関数が同じポイントでカットを持っていることです。この現象は、最終層のニューロンが前の層のニューロンによって行われた推定の線形組み合わせを推定し、これらの線形組み合わせがReLUを通過することでカットが行われるためです。したがって、最終的な推定はこれらの関数の2つの異なる線形組み合わせで構成され、両方の関数において同じ場所でカットが行われる結果となります。

モデルによって生成されたy₁とy₂の推定値

実生活の問題では、入力と出力の両側に複数の変数が関与します。以下の図は、複数の入力を受け取り、複数の出力を同時に推定することができる一般的な浅いニューラルネットワークを表しています。ニューラルネットワークは、複数の多変数関数を同時に推定することができるため、複雑な数学関数の推定に非常に強力なツールです。

一般的な浅いニューラルネットワークで、多変量の入力を受け入れて複数のマッピングを同時に推定する。

このブログは、Simon J.D. Princeの著書「Understanding Deep Learning」(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

AIニュース

エンタープライズAIプラットフォームは、Amazon Bedrockを利用したものです

さまざまな基礎モデルを使用したAmazon Bedrockの解説と、エンタープライズGen AIプラットフォームの構築方法についてのガイド

機械学習

バーゼル大学病院が、「TotalSegmentator」を発表:体のCT画像の主要な解剖構造を自動的にセグメント化するための深層学習セグメンテーションモデル

過去数年間、実施されるCTスキャンの数と利用可能なデータ処理能力は増加してきました。ディープラーニングの進展により、画...

人工知能

「Retrato:セルフィーをプロの写真に変える」

予算の関係でプロの写真撮影が難しい場合、非常に安価なオプションがありますそれが「Retrato」です

人工知能

「GPT4Readability — リードミーをもう一度書く必要はありません」

複雑なPythonのコードベースをナビゲートすることは、特にプロジェクトに十分なドキュメンテーションがない場合には困難なタ...

AIニュース

Googleは、AIを搭載したブラウザベースの開発者の楽園である「Project IDX」を発表しました

AIのイノベーションを推進し、その限界を打ち破るために、Googleは最新プロジェクト「Project IDX」を発表しました。この野心...

人工知能

ChatGPTのドロップシッピング用プロンプト

利益を生むeコマースビジネスを開始するには、完全なチームが必要でしたそれがChatGPTが現れるまでのことでした