なぜディープラーニングは不合理なほどうまく機能するのか

ディープラーニング
この記事は約24分で読めます。

この動画は、ディープラーニングが「不合理なほどうまく機能する」理由を幾何学的な視点から解説している。汎用近似定理によれば2層ニューラルネットワークで任意の連続関数を近似できるはずだが、実際には浅いネットワークでは複雑な境界線を学習することが困難である。しかし、同じニューロン数を複数の層に配置することで、ReLU活性化関数による折り畳み操作が層を重ねるごとに指数関数的に複雑なパターンを生成し、勾配降下法でも効率的に学習できる解に到達可能となる。この現象をベルギーとオランダの複雑な国境線を例に、視覚的に分かりやすく説明している。

Why Deep Learning Works Unreasonably Well
Take your personal data back with Incogni! Use code WELCHLABS and get 60% off an annual plan: Patreon Rewards 33:31- own...

ディープラーニングの幾何学的理解への導入

1989年に、ジョージ・サベノが今では汎用近似定理として知られる定理を証明したんや。複雑な関数、例えばこのバルレ・ヘルトクという街の本当に複雑な境界線を取ってみよう。この地図の部分はベルギーにあって、この部分はオランダにある。汎用近似定理は、この境界線を我々が望むだけ正確にフィットできる2層ニューラルネットワークが存在することを保証してくれるんや。

この結果を感じ取るええ方法は、こんな2層ネットワークが幾何学的に何をするかを見ることや。最近のニューラルネットワークのほとんどは、何らかのバージョンの正規化線形活性化関数を使っとる。視覚的には、これはネットワークの第1層の各ニューロンが、単一の折り線に沿って地図のコピーを折り畳むということを意味するんや。この折り線の位置は、そのニューロンが学習した重みによって制御される。

ここから、第2層の最初のニューロンがこれらの曲がった平面を受け取って、その高さを別の学習した重み値で掛け算する。これは幾何学的には、折り畳まれた平面の部分をさらに上下に曲げて、そのニューロンの重み値が負のときは折り畳まれた領域をひっくり返すんや。これら3つの曲がった平面が、我々のニューロンによって足し合わされて、こんな表面になる。

第1層からの3つの折り線が、我々の地図をこれら5つの領域に分割して、それぞれが第2層表面の異なる平面になるんや。この表面は、第2層の最初のニューロンの出力を示している。第2層の2番目のニューロンは、異なる学習パラメータを使って最初の平面をひっくり返し、スケールし、組み合わせて、同じ5つの地図領域を使うけど異なる高さのこの表面を作り出す。

最初のニューロンによって形成される表面の高さは、地図のある部分がオランダにあることへのモデルの確信度に対応する。そして2番目のニューロン表面の高さは、ベルギーへの確信度に対応するんや。オランダ表面を青色に、ベルギー表面を黄色に塗って、これらの表面を同じ軸上に一緒に持ってくると、表面の交線が、モデルが両方の国に等しく確信を持つ場所を示してくれる。これがモデルの学習した決定境界で、コアのベルギー地域を周囲のオランダ地域から分離する基本的な境界を与えてくれる。

より複雑なネットワーク構造での境界学習

汎用近似定理は、第1層にニューロンを追加し続けるだけで、最終的には完全な境界を表現できるアーキテクチャにたどり着くことを教えてくれる。第1層に8個のニューロンを持つネットワークを訓練すると、この8つの折り畳みの集合が得られて、最初の出力ニューロンのこの表面と、2番目の出力ニューロンのこの表面につながる。これらの新しい表面を同じ軸上に持ってくると、これらの新しいより複雑な交線が見えて、地図を別々の領域に分割し始めるこのより詳細な最終境界につながる。

これが16個のニューロンを持つより大きなモデルの表面と境界や。これが32ニューロンモデル。これが64。そしてこれが128や。これだけ多くの折り線があると、表面がどのように正確に交差しているかを見るのが難しくなってくる。モデルがすべての異なる折り線を使って境界をフィットさせる方法を見やすくするために、表面を平らにしてみよう。ニューロン数をもう一度倍にして256にする。

これが、ニューロンが地図を分割する方法や。そしてこれが最終的な決定境界。これが512ニューロン。そしてこれが1,024や。真の境界に近づいているけど、街のいくつかの部分がまだ抜けている。

これ以上ポリゴンをレンダリングできない点に達したけど、決定境界はまだレンダリングできる。これが10,000ニューロンモデルで得られる境界。そして最後に、これが100,000ニューロンのモデルや。この時点でさらに近づいているけど、100,000ニューロンでも、モデルが学習していない境界の部分がいくつかある。汎用近似定理が本当に機能していないような気がする。

層の深さがもたらす劇的な改善

ここで何が抜けているんやろうか?でも何が間違っているかの詳細に入る前に、もう一つ見せたいことがある。たった128個のニューロンを取って、それらを単一の幅広い層に配置する代わりに、こんな風に32個ずつの4つの別々の層に配置してみよう。各層の出力が次の層に渡される。

このモデルを訓練した後、これらが結果として得られる学習された領域と決定境界や。たった130個の総ニューロンを持つ5層ネットワークが、100,000ニューロンモデルよりも正確な境界を学習できて、地図をより効果的に分割できるんや。

ニューロンを複数の層に再配置することが、なぜモデルをこれほど強力にするんやろうか?より深いモデルと浅いモデルの両方のニューロンは、同じ折り畳み、スケーリング、組み合わせ操作をする。なぜこれらの操作は、複数の層で構成されるとこれほど効果的になるんやろうか?そして、積み重ねられた操作を通って移動するときに、地図の幾何学はどのように変化するんやろうか?

複数層ネットワークの数学的基礎

前回のこのシリーズのパート2では、バックプロパゲーションと勾配降下法を使って最近のモデルがどのように訓練されるかの数学を掘り下げた。緯度と経度の入力が与えられたとき、単層モデルが効果的にヨーロッパの異なる都市上に平面を配置することを学習し、パリ、ベルリン、マドリード、バルセロナを分離することを学ぶのを見た。ここでの重要な機能は、モデルがマドリード上では他のすべての平面の上にマドリード平面を配置し、バルセロナ上では他のすべての平面の上にバルセロナ平面を配置することなどを学習することや。

平面の高さは、特定の都市へのネットワークの最終的な確信度に対応する。ベルギーとオランダの間のバルレ・ヘルト自治体にある世界で最も複雑な地理的境界を考えることを残しておいた。各国に単一の平面が与えられた場合、地図のベルギー部分の上でのみ、ベルギー平面がオランダ平面の上にあるように平面を配置する方法はない。

これを考える別の方法は、2つの傾いた平面が地図上の線で交差し、線の片側のすべてがベルギーの一部として分類され、反対側のすべてがオランダの一部として分類されるということや。そして、この線形決定境界が我々の都市を正しく分割する方法はない。

前回のネットワークは、入力とソフトマックス関数の間に単一のニューロン層があるこんな感じやった。前回見たように、ソフトマックス関数は平面を曲げて、きれいな最終確率値を出力する。しかし重要なことは、平面の交点での決定境界の位置は変えないということや。この理由で、このビデオではソフトマックスにはあまり関心を払わない。

2層ネットワークの詳細な動作メカニズム

このビデオの冒頭で見たネットワークは、もう一つのニューロン層を追加して、大幅により多くを達成できるんや。単純な単層モデルのニューロンと同じように、2層ネットワークの第1層の各ニューロンは、幾何学的に平面のように見える単純な線形モデルを含んでいる。

数学的には、第1層の最初のニューロンは点の座標を受け取って、各座標に重みと呼ばれる学習した数を掛ける。ここでは小文字のmを使って書いている。そしてこれらの結果を足し合わせる。重み値は、各方向での平面の急勾配を制御する。最後に、バイアスと呼ばれるもう一つの学習可能なパラメータを追加する。これは平面全体を上下にシフトさせる。

座標x1=0.6とx2=0.4のこのベルギーの点を地図上で渡すと、x1値を最初の重みで掛けて、x2値を2番目の重みで掛けて、これらの結果を足し合わせる。最後に、バイアス値を追加して、-0.14の最終結果を計算する。この計算された値は、これらの入力座標での最初のニューロンの平面の高さに対応する。

平面の高さ、この例では-0.14を、第2層のニューロンに渡すだけなら、複数の層のニューロンは実際には効果的に単一の層のニューロンに崩れ戻ってしまう。この崩壊を代数的に示すことができる。扱うべき項がたくさんある。これらの最初の2つの方程式は、第1層の最初の2つのニューロンに対応する。これらの上付き文字を使って、各重みがどこから来るかを追跡していることに注目してくれ。1の上付き文字がついたものはすべて、モデルの第1層から来る。

第2層の最初のニューロンの方程式がこれや。第1層の出力を直接第2層に渡すと、これは最初の方程式の組を2番目の方程式にこのようにプラグインするのと同じや。分配して項をまとめると、入力x1に新しい定数を掛けたものプラス入力x2に別の新しい定数を掛けたものプラスこの最終定数という形になる。

この方程式は、個々のニューロン方程式と同じ形を持つが、異なる定数を使っている。この結果は、一層の平面フィッティングニューロンの出力を次の層の入力に単に接続すると、異なる傾いた平面を足し合わせることになり、それは単に異なる傾いた平面になるだけだということを教えてくれる。

ReLU活性化関数の重要性

このように接続された2層ネットワークは、実際には単層モデルと同様に、地図に2つの平面をフィットさせることしかできない。マルチ層ニューラルネットワークがより複雑なパターンを学習できるようになるには、もう一つの小さな数学の部分を追加する必要がある。第1層からの平面の出力を、活性化関数と呼ばれる関数に通して、モデルが扱うためにより複雑な何かに形を変える。

さまざまな活性化関数を使って高性能なニューラルネットワークを構築できることが分かっているけど、今日最もシンプルで広く使われているもの一つが、正規化線形ユニットまたはReLUと呼ばれる関数や。ReLUは信じられないほどシンプルや。ゼロより小さい入力値に対しては、ReLUはゼロを返す。そしてゼロ以上の入力値に対しては、ReLUは単に入力値をそのまま通す。だからReLUのマイナス1はゼロで、ReLUの1は1や。

ReLU活性化関数を第1層の出力平面に適用すると、ゼロより小さい高さを持つ平面の領域は、ゼロの高さまで折り上げられるか切り取られる。だから、平面を出力する代わりに、ネットワークの第1層は今ではこれらの曲がった平面を出力する。これがビデオの冒頭で見た折り畳み操作や。

点の分類プロセスの詳細

点がどの国にあるかを決めるために、例えば先ほど見た座標0.6、0.4のこのベルギーの点について、これらの座標を第1層のニューロンに渡して、点の入力座標での各平面の高さに対応する-0.14と-0.33という値を得る。

ここからReLU活性化関数を適用して、ゼロより下のすべての値をゼロまで折り上げる。両方の平面での点の高さは負やから、両方の点をゼロに設定する。だから入力点0.6、0.4は今、曲がった平面によって0、0の値にマッピングされた。

ここから最終層のニューロンがこれらの0の値にその重みを掛けてバイアス項を追加し、組み合わされた曲がった平面を上下にシフトさせて、点を上の表面の0.03と下の表面の-0.89に移動させる。2番目のニューロンの出力はベルギーへのモデルの確信度に対応し、この場合はより高いので、この点はベルギーにあると分類される。視覚的に、ベルギー平面上のこの点がオランダ平面上の点の上にあることが分かる。

0.3、0.7のこのオランダの点のような点に対して、似たような分析ができる。ここでの重要な違いは、この点が2番目のニューロンのゼロReLU領域に落ちないということや。これは、最終的なオランダ曲がり平面で押し上げられ、最終的なベルギー平面で押し下げられて、正しいオランダ分類につながることを意味する。

複雑なパターンの学習能力

曲がった平面の幾何学は、ネットワークを通してデータを移動することと数値的に等価やけど、地図上のすべての点が一度にどのように処理されるかを見るええ方法を与えてくれる。第1層により多くのニューロンを追加すると、地図にますます多くの折り畳みを作ることができ、出力ニューロンがますます複雑な表面に押し上げたり押し下げたりするために、地図をますます多くの領域に切ることができる。

ビデオの冒頭で見たように、第1層に十分な数のニューロンがあると仮定すると、汎用近似定理は、街の境界を任意の高精度で表現できる2層ニューラルネットワークが存在することを教えてくれる。しかし見たように、第1層に100,000ニューロンでも、境界に完全に一致するモデルを首尾よく訓練することはできなかった。

汎用近似定理の限界

何が起こっているんやろうか?汎用近似定理は時々、ニューラルネットワークは何でも学習できるという意味に誤解される。しかし、それが本当に言っているのは、十分に幅広いニューラルネットワークは任意の連続関数を表現できるということや。

街の境界は実際には連続ではない。しかし、ここで定理が言及している連続性は、実際には境界を見つけるために交差させる最終表面の連続性や。ここでの本当の問題は、汎用近似定理が2層解が存在することを教えてくれるけれど、実際にはその解を見つけることができるということを意味しないということや。そして定理は、与えられた問題を解くのに実際に何個のニューロンが必要かを教えてくれない。

このシリーズのパート1と2で見たように、最近のニューラルネットワークはバックプロパゲーションと勾配降下法を使って学習するけど、これらは最良の解や良い解さえ見つけることを保証しない。代わりに、これらのアルゴリズムはパラメータに小さな反復的更新を行い、通常はパフォーマンスが改善を止めたときに学習プロセスを停止するだけや。

勾配降下法の制約と局所最適解

訓練前に、ネットワークはランダムに初期化されて、折り線を地図上のランダムな位置に配置する。これが5ニューロン2層モデルの1つの初期化や。これが、このモデルの第2層によって折り畳まれた平面がどのように組み合わされるかや。そして、これらの表面が訓練前の決定境界を形成するために交差する方法や。

先ほど考えたベルギーの点をランダムに初期化されたモデルに渡すと、この点は第2層表面のこの平面領域に終わる。この最初のニューロン表面が青で示された最終出力で上になって、モデルが点をオランダにあると誤って分類することを意味する。

このエラーはパート2で見たクロスエントロピー損失を使って測定される。そしてこの損失はバックプロパゲーションアルゴリズムを通して実行されて、モデルの17パラメータそれぞれの勾配値が得られる。

結果として得られる最大の勾配のいくつかは、第1層のこの3番目のニューロンに対するものや。DLDM31とDLDB3勾配の両方が大きくて負や。現在m31は負で、平面をx1方向に下向きに傾けている。勾配は、損失を減らすためにm31を増やすべきだと教えていて、これは平面の傾きを減らしてより平らにする。

バックプロパゲーションはまたDLDB3に対して大きな負の値を返し、平面全体を上向きにシフトするよう教える。この方向でパラメータを調整すると、平面が移動してReLUジョイント線が右に移動する。ネットワーク全体にズームアウトすると、この更新が第2層の中央折り線を右に移動させる方法が分かる。

最終表面では、更新が上の青い表面を下に移動させて、オランダという誤った答えへのモデルの確信度を減らし、決定境界を右に移動させる。この勾配降下プロセスを繰り返して、モデルが学習する様子を見ることができる。

ステップバイステップで、これらの小さな更新が第1層の折り線の位置と、これらの曲がった平面が第2層によって組み合わされる方法の両方を調整して、ベルギーの上にきれいな下に凹んだ表面があって、きれいな境界でオランダのきれいな上に凹んだ表面と交差するまで続く。

局所最適解に陥る問題

最初にこのモデルを訓練しようとしたとき、実際にはこれほどうまく機能しなかった。これに似た別のランダム初期化があった。モデルが学習したい正反対の向きで、上にベルギーのための中央黄色領域を持つように、黄色表面の上に青い表面を配置していた。

この開始点から学習するモデルに対して、バックプロパゲーションアルゴリズムはこれらの表面の向きを逆転し始めて、損失値を下げ、青い表面を下に、黄色表面を上に移動させる。しかしそうすることで、バックプロパゲーションは決定境界を平面から押し出して、街全体を曲がったReLU平面のゼロになった部分に残す。

曲がったReLU平面のゼロになった部分を通る勾配もゼロやから、勾配降下はこの設定から回復することができず、モデルを効果的に単一の平面で作業することになって、最適でない線形決定境界になってしまう。

5ニューロンネットワークにきれいな解が存在することを知っているにもかかわらず、この開始点を与えられた勾配降下はそれを見つけることができない。超幅広い100,000ニューロンネットワークの場合、そこには類似の良い解があるかもしれないけど、勾配降下でそれらに到達できないだけや。

深層ネットワークの優位性

パート1で見たように、モデルが大きくなると、勾配降下が実際にこの高次元損失ランドスケープの局所最小値で立ち往生する可能性は非常に小さくなる。超幅広いネットワークは、小さなネットワークとまったく同じ方法で立ち往生していない可能性がある。

特定の解を見つける方法を教えてくれないことに加えて、汎用近似定理は与えられた問題を解くのに実際に何個のニューロンが必要かも教えてくれない。実際、広いクラスの関数に対して、浅いネットワークで必要なニューロン数は、深いネットワークで必要なニューロン数よりも指数関数的に大きいことが示されている。だから、100,000ニューロンは実際には十分でない可能性がある。

最後に、否定的なことを証明するのは難しい。このビデオを作る過程で、これらの幅広いモデルのためのさまざまなオプティマイザー設定を試した。しかし、100,000ニューロン、10,000ニューロン、あるいはもっと小さな2層モデルを訓練して街の境界にフィットさせる方法があっても驚かないやろう。実験したいなら、記述欄にコードへのリンクを残しておく。進歩があったら結果を送ってくれ。解を見てみたい。

深層ネットワークの幾何学的展開

正確なニューロン数はさておき、先ほど見たように、幅広くする代わりに深くすることで、ニューロンを追加の層に積み重ねることで、信じられないほどの効率的な向上を得ることができる。そして、それが次に注意を向ける場所や。層を積み重ねることでどんな新しい幾何学が生まれるか?そしてこの幾何学はモデルが街の複雑な境界を学習するのをどのように助けるか?

それぞれに2つのニューロンを持つ単純な2層モデルから始めよう。この単純な2層モデルは地図のこれらの折り畳みを学習し、第2層によってこの曲がった上の表面とこの曲がった下の表面に組み合わされる。モデルが両方の国に等しく確信を持つ表面の交線を取ると、この単純な決定境界が得られる。

今、モデルに3番目の層を追加して、2つの追加ニューロンを付けよう。だから今、3つの層と合計6つのニューロンがある。訓練後、第1層はこのように入力平面を折り畳むことを学習する。第2層はこのように曲がった平面を組み合わせることを学習する。

2つの層しかなかったら、これらの表面を一緒に持ってきて最終的な決定境界を形成するだけやろう。しかし今、適用する変換の全く追加の層がある。第1層で行ったように、今はReLU活性化関数を適用する必要があって、ゼロより小さい高さを持つ表面上のすべての値はゼロに設定される。

第1層では、この操作は線形折り線に沿って平面を折り畳んだ。しかし今、モデルの第2層では、折り畳んでいる表面はもはや単純な平面ではない。最初のニューロン表面にZ=0の平面を追加すると、この表面には実際にZ=0を横切る3つの別々の平面があることが分かる。

ReLU活性化関数を適用して表面を折り上げると、第1層から得る平面の各領域に対して1つずつ、3つの別々の新しい折り線が作られる。興味深いことに、これらの折り畳みは同じ角度ではなく、実際に第1層から得る平面のジョイントで曲がる。だからここでは、単一のニューロンがかなり複雑な幾何学で3つの別々の折り畳みを作ることができる。

第2層の2番目のニューロンは同じ操作を適用するけど、異なる学習した重みで、これら3つの新しい折り畳みになる。前の2つの層と同じように、3番目で最終の層は新しい表面をスケールして足し合わせる。

複雑な領域分割の生成

第1層の後、2つのReLU折り畳みの組み合わせで、モデルの次の層が扱う4つの領域が作られた。これらはこのような2D投影で見るのが最も簡単や。第2層からの新しい折り線を積み重ねる。

さまざまな角度でのこれらの新しい折り畳みが、これら10の別々の領域を持つ地図の大幅により複雑なタイリングで一緒になる。ネットワークの最終層が第2層の出力をスケールして足し合わせるとき、結果として得られる表面は同じ10の領域で構成されるが、異なる高さを持つ。これらの表面の高さは、2つの国へのモデルの最終的な確信度に対応する。

これらの表面を一緒に持ってきて、その交線を見つけると、地図のベルギー地域周辺でかなりきれいな区分的線形曲率を示すこの最終決定境界が得られる。だからネットワークの第1層がこれら2つの折り畳みと地図上の4つの別々の領域を作り、それから第2層によってこれら10の領域に分割され、最終層がこれらの表面を作ってきれいな境界で交差するために使われる。

たった2つの追加ニューロンを追加するだけで、地図がこれら4つの領域からこれら10つに変わるという事実は、特にこれら10の領域の複雑な幾何学を考えると、本当に注目に値する。代わりに6つのニューロンをこのような2層ネットワークに配置すると、モデルはこのような4つの地図のコピーを折り畳むことを学習し、これら7つの領域、これらの表面、そしてこの最終決定境界になる。

この決定境界は、より深いモデルによって学習されたものよりも必ずしも悪いわけではないが、より深いモデルによって学習されたタイリングがどれほど複雑かに特に印象を受ける。質的に、浅いネットワークによって学習された地図のタイリングは、4つの線を単に積み重ねたような感じがして、それはまさに我々がやったことや。

一方、より深いモデルによって学習されたタイリングは、完全に違う何かのような感じがする。折り畳み、スケーリング、組み合わせ操作を繰り返すことで、これらの操作は自分自身に複合することができ、第2層のニューロンが、代わりにモデルの第1層に配置された場合よりも大幅により複雑なパターンを生成できるようにする。

指数関数的成長の理論

複合化の類推は偶然ではない。我々のようなReLUネットワークが地図を分割できる最大領域数が、ネットワークの層数で指数関数的に成長することを示すことができることが分かった。この方程式は、各層のニューロン数D、入力数Dsubi、最終出力層を含まないネットワークの層数Kの関数として、モデルが作ることができる理論上の最大領域数を与える。

d=各層2ニューロン、dsubi=2入力、k=2層を代入すると、2の2乗×4=16のモデルの総可能領域が得られる。これは、モデルが実際に学習した10領域より少し上や。モデルにもう一つの2ニューロン層を追加すると、領域数は2の4乗×4=64に成長する。そしてもう一つの層を追加すると256になり、以下続く。

だから、この設定では各層が理論的にモデルが作ることができる領域数を4倍にする。方程式のこの最終多項式部分は、モデルの最終層で何が起こるかを捉えている。浅い2層モデルに戻ると、Kが1になって指数成長項が除去される。見てきたように、2層ネットワークは別々のReLU折り畳みを積み重ねることで入力平面を分割する。

だから、2層ネットワークで地図を分割できる領域数を見つけることは、d本の線で平面を何個の別々の領域に分割できるかを尋ねることと同じや。これは組合せ幾何学のよく知られた結果で、答えはこの多項式で与えられる。

だから理論は、2層ネットワークで作ることができる最大領域数はニューロン数の多項式関数として成長するが、より深いネットワークで作ることができる領域数は層数で指数関数的に成長することを教えてくれる。

このような2層ネットワークの第1層に64個のニューロンを配置すると、最大2081の可能領域になるが、これらのニューロンを代わりに4つの層に再配置すると、7000万を超える可能領域の理論上の最大値になる。これらの成長率の違いは説得力があって、しばしばディープラーニングの効果の理由として指摘される。

実際の成長率と理論の限界

しかし、これらの数字は理論上の上限であって、多くの論文が指摘しているように、これらの境界は非常に緩い。実際には、層を追加するにつれて、深いネットワークによって作られる領域数の指数関数的成長は通常見られない。

我々自身の深いネットワークをスケールアップして、領域数がネットワークでどのようにスケールし、フィットがどのように改善するかを見てみよう。地図をこれら10の領域に分割してこの最終決定境界になるこの3層6ニューロンモデルで終わった。

まず、最初の2つの層のそれぞれに8つのニューロンを持つようにモデルを拡張しよう。第1層の8つの折り畳みが今、地図をこれら19の領域に分解する。そして第2層によって作られる表面のさまざまな折り畳みがこれら102の領域で一緒になる。第2層のパターンは本当に興味深くなり始める。ここで、2番目のニューロンのReLU関数は、10の異なるユニークなジョイントに沿って表面を折り畳んでいる。

最終層はこれらの出力をスケールして組み合わせて、このように交差するこれらの最終表面にして、街の2つの最大セクションをうまく捉えるこの最終決定境界になる。第2層のいくつかのニューロンには色付きの領域がないことに注目してくれ。これは、第1層からの表面全体がZ=0より下にあって、すべての入力がReLU活性化関数によってゼロに設定されることを意味する。

このような死んだニューロンは一般的や。そして勾配降下がモデルアーキテクチャを効率的に使うことについて保証を与えないことの思い出させてくれる。モデルにもう一つの8ニューロン層を追加して、合計4つの層にしよう。

深層ネットワークでの複雑なパターン学習

繰り返し折り畳み、スケーリング、組み合わせ操作の複合効果を本当に見始めることができる。第3層の3番目のニューロンで起こっているReLU折り畳みが、境界周辺にこれらの小さな領域を作る。バックプロパゲーションによって導かれたモデルが、街の境界の詳細構造を捉えるために境界周辺にこれらすべての余分な小さなポリゴンを作る方法を見つけるのは、本当に興味深い。

このスケールでは、このような3D空間ですべてが何が起こっているかを理解するのが困難になる。各層によって2D地図上に形成される領域、最終3D表面、そして最終決定境界に焦点を当てよう。この視点からモデルが学習する様子を見てみよう。

訓練前に、モデルが最初に入力空間をどのように分割し、この決定境界を作るかがここや。訓練プロセスを開始する前に、学習するにつれてモデルの損失を追跡するもう一つのパネルを追加しよう。100回の勾配降下ステップ未満で、モデルは街のコア構造を選び出すことができ、学習するにつれて境界の細かい詳細周辺にますます多くの領域を作って、境界を段階的に締めることができる。

最後に、もう一つの層を追加して、総層数を5つにし、幅を最後にもう一度32ニューロンに増やそう。追加の層が地図のもう一つのタイリングを与えてくれる。そして、このスケールでは、3Dプロットは理解するには少し混沌としすぎる。だから、この最終訓練アニメーションでは2Dプロットだけを見よう。

最終的な複雑な境界の学習

小さなモデルとは違って、この深いモデルは本当により多くの訓練ステップから恩恵を受ける。余分なステップを使って街の境界の詳細を洗練する。32ニューロンずつのたった4つの層がこのレベルの複雑さを学習できるという事実は、本当に注目に値する。最終決定境界は印象的に街のすべての領域を捉えている。

ちょっとした線形モデルの集まりがこんなに複雑なことを一緒にできて、勾配降下を使って実際にこれらの解を見つけることができるということは、本当に信じられない。

約10年前、最初のWelch Labsビデオをリリースした。Neural Networks Demystifiedと呼ばれる。今見ているシリーズのように、Neural Networks Demystifiedはニューラルネットワークがどのように学習するかについてのシリーズで、バックプロパゲーションと勾配降下法に焦点を当てていた。

10年後にこのシリーズに取り組むために座ったとき、正直どこから始めればいいか分からなかった。古いビデオのコアアプローチのほとんどは変わっていないけれど、これらのコアアイデアは信じられないほど複雑な問題を解くためにスケールされてきた。そして、スケールするこの衝撃的な能力が、研究コミュニティをこれらのモデルが何を動かしているかをより深く掘り下げるように導いた。

10年で多くを学んだけど、多くの謎が残っている。このシリーズのパート1では、損失ランドスケープを掘り下げて、10年前に提示した勾配降下の標準的な心象図が、これらのモデルが動作する信じられないほど高次元の空間では実際には通用しないことを見た。

パート2では、モデルがどのように学習するかのコア力学を掘り下げて、最近の大規模言語モデルの文脈でバックプロパゲーションを解剖した。最後に、このビデオでは、深いモデルが再帰的に入力空間を折り畳み、スケールし、組み合わせることで、驚くほど少ないニューロンで信じられないほど複雑なパターンを学習する方法を見た。

制作者の個人的な振り返りと展望

たぶんもう10年で、このようなもう一つのシリーズを作ることができるやろう。これらのモデルがその時何ができるか、そして我々がそれらがどのようにそれをするかをどれだけ理解できるかを待って見なければならない。

2019年に、Welch Labsを完全にやめた。ビデオ作成をフルタイムでやってみたところやったけど、それを機能させるのに十分なお金を稼ぐことができなかった。イライラして、やめた。機械学習エンジニアとして働きに行ったけど、それは素晴らしかったが、本当にビデオを作るはずだという感覚を振り払うことができなかった。

2022年から、TikTokで徐々に戻り始めて、昨年もう一度フルタイムに挑戦するのに十分な勢いを徐々に築くことができた。2019年にやめたとき、ビデオ作成に引き戻し続ける何かについて本当に考える時間があった。

そして、深いところではそれが本当に教育についてだったことに気づいた。子供の頃、数学と科学を愛していたけど、学校でそれを学ばなければならない方法が本当に嫌いだった。学部の後、数学が好きかどうかさえ本当に疑問に思っていた。自分自身の仕事と研究を通してのみ、数年後に数学と科学への愛に戻った。

そして今、Welsh Labsを使って教育をより良くしたい。しかし、そのためには、まず実行可能なビジネスを構築しなければならないことに気づいた。自分と家族を支えることができなければ、これを機能させるのに必要な時間を費やすことはできない。

昨年、スポンサーシップ、ポスターと本の売上、そしてPatreonでのサポートを通して、機械学習エンジニアとして作った収入の約半分を作ることができた。嘘をつくつもりはないが、今のところ、これは生計を立てるのにはるかに困難な方法や。

今年の目標は、完全な収入を置き換えることや。これによって、本当にエスケープベロシティに到達し、Welch Labsでフルタイムを続けることができる。スポンサーシップ、ポスター、本の売上は今年うまくいっているけど、目標を達成するために、Patreonも成長させる必要がある。

Patreonでの月次サポートは多くを意味するやろう。お礼を言う方法として、そして今日、新しい報酬を開始している。月5ドルレベルから、Welch Labsビデオで使われた本物の紙の切り抜きを送る。Welch Labsロゴが前面にある素敵な保護スリーブに入っていて、背面には由来するビデオ、リリース日、そして私の署名が書いてある。

これらは本当に楽しい。2017年まで遡るものがある。月5ドルレベルでは小さな切り抜きを受け取り、月10ドル以上のレベルではより大きな切り抜きを受け取る。切り抜きは最初の月次支払いが通った後に発送され、下の記述でWatch Labs Patreonへのリンクを見つけることができる。

長年にわたってWelch Labsを支援してくれたすべての人に心から感謝している。見てくれてありがとう。

コメント

タイトルとURLをコピーしました