深層学習のマスタリング:非線形性をピースワイズな推定による近似するアート パート3
『ディープラーニングのマスタリング 非線形性をピースワイズな推定による近似するアート パート3』
皆さん、こんにちは!私のマスタリングディープラーニングシリーズの第三弾へようこそ。この記事は、非線形性の分割推定による近似の芸術と題された最初の二つのパートの続きです。最初の二つの記事では、ディープニューラルネットワークの内部動作について詳しく掘り下げました。この最終セグメントでは、より現実的なシナリオを表す多次元入力と出力の扱い方を理解することで、私たちの探求を終了します。内容に入る前に、より優れた理解可能な高次元入力空間の折りたたみの視覚化を試みるという提案を頂きました。それでは、このアイデアをさっそく探求してから進みましょう!
上記に描かれたようなシンプルなニューラルネットワークを考えてみましょう。第二の隠れ層におけるhₖ’と示される各ニューロンは、次の形式でハイパープレーンを推定します:
hₖ’ = θ’ₖ₁h₁ + θ’ₖ₂h₂ + β₁
上記の式は、h₁とh₂の空間内の二次元ハイパープレーンを表しています。同様に、以下のように出力yを得ることができます:
- コンピュータビジョンの戦場:チャンピオンを選ぶ
- ヴェクタラは、AI言語モデルの「幻覚」をベンチマーク化し、対処するための画期的なオープンソースモデルを立ち上げます
- 「ロンドン帝国大学チーム、少ないデモンストレーションで新たな現実世界のタスクをマスターするための人工知能の方法を開発」
y = ∑₀¹⁰ Ωᵢhᵢ’ + β₂
以前のブログ記事で探求したように、上記の式を展開してxからyへのマッピングを理解することができます。ただし、現在の焦点は具体的なマッピングではなく、代わりに各々の10個のニューロンが折りたたみプロセスにどのように寄与するかを可視化することです。
上記のニューラルネットワークは、次の関数を推定するためにトレーニングされています:f(x) = sin(2x) + cos(x) + x。各hₖ’は、視覚化可能な二次元表面を表しています。以下は、第二の隠れ層の各ニューロンによって推定されるさまざまな表面を示す図です。
各ニューロンは表面をユニークに折りたたんでおり、この折りたたみがどのように現れるかについての洞察を提供しています。hₖ’の潜在的な推定は、本質的には直線であり、上記に描かれた表面の構成要素です。この表面を、直接線自体を切るのではなく、折りたたまれた紙に切り込みを入れるプロセスと考えることができます。
さて、複数の入力を扱うニューラルネットワークのハンドリング方法を探求しましょう。以下の図に示すようなシンプルな浅いニューラルネットワークを考えます。
隠れ層のユニットに単一の重みだけでなく、2つの重みとバイアスが追加されています。この変更により、各ニューロンは直線ではなく平面を推定しますが、全体のメカニズムは同様です。浅いニューラルネットワークを使用して、f(x₁, x₂) = sin(2x₁)sin(2x₂) + cos(x₁)cos(x₂) + x₁ + x₂のマッピングを推定し、その推定結果を視覚化してみましょう。
隠れ層ユニットの数を増やすと、モデル化しようとしている曲面の推定がさらに向上します。各ニューロンが平面を推定するため、ReLU関数はこれらの平面をいずれかの四方向で切ることができ、分割線形曲面を作成します。先ほど述べたように、分割数が多いほど目標関数を近似することができます。推定された曲面は厳密には分割線形であり、非線形曲面の印象を与えるかもしれませんが、十分にズームインすると、分割線形領域がはっきりと見えることがわかります。
多次元入力の処理方法を理解したことで、同様の推定に深層ニューラルネットワークを使用する制限はありません。深層ネットワークは、同じ数のニューロンを持つ浅いネットワークと比較して、より多くの分割線形領域を作成することができます。たとえば、100個のニューロンを持つ浅いネットワークと2つの層で構成される深層ネットワークを考えると、深層ネットワークは単純な浅いネットワーク全体よりも2つの隠れ層間にさらに多くのパラメータを持っています。両方のネットワークに同じ数のニューロンがあるにもかかわらず、より多いパラメータをコストにして追加の推定能力を得ることができます。
以下の図は、各隠れ層に6つのニューロンを持つ深層ニューラルネットワークによる同様の推定を示しており、32のニューロンを持つ浅いニューラルネットワークで得られる推定と同等のものであることがわかります
多次元の出力をニューラルネットワークがどのように推定するかの探求を続けましょう。より良い理解を得るために、実数値変数xの関数sin(x)およびcos(x)の両方を考慮します。目的は、入力のxからこれらの関数を同時に学習することです。以下に示すような単純な浅いニューラルネットワークをトレーニングして、y₁とy₂を推定します。以前の例では、複数の変数を持つ関数を推定しましたが、今回は複数の関数を推定しています。
私たちは、推定結果が3つのニューロンによって作られた3つのカットに対応する4つの線形領域を示していることを観察できます。興味深い点は、両方の推定関数が同じポイントでカットを持っていることです。この現象は、最終層のニューロンが前の層のニューロンによって行われた推定の線形組み合わせを推定し、これらの線形組み合わせがReLUを通過することでカットが行われるためです。したがって、最終的な推定はこれらの関数の2つの異なる線形組み合わせで構成され、両方の関数において同じ場所でカットが行われる結果となります。
実生活の問題では、入力と出力の両側に複数の変数が関与します。以下の図は、複数の入力を受け取り、複数の出力を同時に推定することができる一般的な浅いニューラルネットワークを表しています。ニューラルネットワークは、複数の多変数関数を同時に推定することができるため、複雑な数学関数の推定に非常に強力なツールです。
このブログは、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!
Was this article helpful?
93 out of 132 found this helpful
Related articles