paint-brush
コルモゴロフ・アーノルドネットワーク (KAN) と多層パーセプトロン (MLP) の比較@aibites
957 測定値
957 測定値

コルモゴロフ・アーノルドネットワーク (KAN) と多層パーセプトロン (MLP) の比較

Shrinivasan Sankar8m2024/06/29
Read on Terminal Reader

長すぎる; 読むには

KAN は、今日のすべての LLM の基礎となっている多層パーセプトロンに挑戦します。しかし、KAN は生き残り、成果を上げることができるでしょうか? 比較してみましょう。
featured image - コルモゴロフ・アーノルドネットワーク (KAN) と多層パーセプトロン (MLP) の比較
Shrinivasan Sankar HackerNoon profile picture
0-item

私たちは、古典的な多層パーセプトロン (MLP) を当然のこととして受け止め、その周りに数多くのアーキテクチャを構築してきました。MLP は、chatGPT、LLAMA、DALLE、CLIP など、今日見られるすべての LLM または基盤モデルの一部です。また、YOLO-v* などの単純な認識モデルにも含まれています。


では、MLP に対抗する新しい技術があると言ったらどうでしょう。MLP に対抗する「コルモゴロフ-アーノルド ネットワーク」、略して KAN と呼ばれる新しい論文が発表されました。彼らが提案するソリューションが本当に拡張可能であれば、次世代のニューラル ネットワークが実現し、汎用人工知能 (AGI) にさらに一歩近づくことになります。


MLP は ReLU、シグモイド、tanh、GeLU などの活性化関数で構成されていますが、KAN ではこれらの活性化関数を学習することを提案しています。では、KAN はどのようにしてそれを実行するのでしょうか。その背後にある数学はどのようなものでしょうか。どのように実装されているのでしょうか。また、KAN をどのようにトレーニングするのでしょうか。

ここで KAN 論文を要約しようと最善を尽くしました。この要点を読むか、48 ページに及ぶ論文を読むか、どちらかをお選びいただけます。

視覚的な説明

あなたも私と同じように、物事を視覚化して理解を深めたい場合は、この記事のビデオをご覧ください。


MLP — 問題点

まず、私たちがよく知っている MLP から始めましょう。MLP はノードとエッジで構成されています。各ノードでは、入力が合計され、ReLU、GeLU、SeLU などのアクティベーションが適用されて、その特定のノードの出力が生成されます。

MLPとKANの違いを示す論文の図


これらの活性化関数は、トレーニング プロセス中に変更されることはありません。つまり、パラメーターはありません。特定のトレーニング データセットに合わせて調整できるほどインテリジェントではありません。そのため、トレーニング中にトレーニングまたは更新されるのは、これらの各ノードの重みです。

さて、活性化関数を固定し、トレーニング可能にする必要があるという仮定に疑問を投げかけるとどうなるでしょうか。これが、KAN ネットワークが取り組もうとした課題です。KAN ネットワークの活性化関数は、トレーニング プロセス中に更新されます。さらに深く掘り下げる前に、多項式と曲線フィッティングから始めましょう。

多項式と曲線フィッティング

したがって、KAN の基本的な考え方は、任意の多変量複合関数を、単一変数である複数の関数の合計に分解できるというものです。

x^2 関数と x^3 関数を説明するアニメーション

たとえば、上の黄色の曲線でプロットされている y=x³ の 3 次方程式があるとします。また、上のアニメーションの青い曲線で示されているように、y=x² の別の 2 次方程式があるとします。この視覚化から、x² を使用しても x³ で達成される曲率は決して達成できないことがわかります。


下の赤い点と青い点で表されるデータが与えられ、2 つのクラス間のバイナリ分類境界を見つけたいとします。

x^3 が x^2 よりもよく適合するおもちゃの問題です。ただし、2 つの x^2 曲線を追加することで、x^2 でも解決できます。

2 次多項式を使用すると、 x² 曲線は「U」字型ですが、データは「S」字型であるため、2 つの間の境界を見つけることができません。このデータにはの使用が適していますが、追加の計算コストがかかります。別の解決策としては、入力xが負の場合はを使用し、 x が正の場合は - を使用することです (上図で手で描かれた青い曲線)。

私たちが行ったのは、2 つの低次多項式を追加して、自由度の高い曲線を実現しただけです。これがまさに KAN ネットワークの背後にあるアイデアです。

おもちゃの問題

ここで、データが単純な方程式y=exp(sin(x1² + x2²) + sin(x3² + x4²))によって生成されることがわかっている、もう少し複雑なおもちゃの問題を取り上げてみましょう。入力変数は 4 つあり、指数、正弦、および平方の 3 つの演算があります。したがって、以下に示すように、3 つの異なる演算専用の 3 つのレイヤーを持つ 4 つの入力ノードを選択できます。

4 つの入力、3 つの基底関数の 3 つの層を持つシンプルな KAN ネットワーク

4 つの入力と 3 つの基底関数 (指数、正弦波、平方) を使ったおもちゃの問題に対する KAN ネットワーク

トレーニング後、ノードはデータに適合させるために二乗、正弦波、指数関数に収束します。


これはおもちゃの問題なので、データの元となる方程式はわかっています。しかし、実際には、現実世界のデータの分布はわかりません。この問題に対処する 1 つの方法は、B スプラインを使用することです。

スプラインとBスプライン

B スプラインの基本的な考え方は、任意の関数または曲線をより単純な関数または曲線の組み合わせとして表現できるというものです。これらの単純な関数は基底関数と呼ばれます。たとえば、下の図の赤い曲線を見てみましょう。簡単にするために、これを 2 つの基底関数だけで表現してみます。


これを 2 つの基底関数の合計で表すと、3 つのポイントに分解できます。これらのポイントはノットと呼ばれます。基底関数の数はn個までです。この基底関数の組み合わせを制御するパラメーターはc です。2つの曲線を「結合」すると、ノットで不連続が生じることがあります。この解決策は、曲線の曲率をノットで制限して、滑らかな曲線を得ることです。たとえば、下の図の緑の矢印で示されているように、2 つの曲線の傾きがノットで同じになるように制限できます。

Bスプラインと基底関数を説明する私の落書き

ニューラル ネットワークではこのような制約を課すことはできないため、論文では残差活性化関数が導入されています。これは、正規化のように機能します。実際には、これは以下の論文に示されているように、標準のスプライン関数に追加された SeLU 活性化です。

スプライングリッドとKANの細粒度化

KAN は、細粒化と呼ばれる新しいトレーニング方法を導入します。私たちがよく知っているのは、モデルにパラメータを追加する微調整です。ただし、細粒化の場合、スプライン グリッドの密度を向上させることができます。これは、グリッド拡張と呼ばれています。

標準的なニューラルネットワークの微調整に相当する細粒化を示す論文の図の一部

論文の上の図からわかるように、細粒度化とは、B スプラインのグリッドを単に密にすることで、より代表的になり、より強力になることです。

計算の複雑さ

スプラインの欠点の 1 つは、再帰的であるため計算コストが高いことです。スプラインの計算複雑度は O(N²LG) で、MLP の通常の複雑度 O(N²L) よりも高くなります。追加の複雑度はグリッド間隔 G によって生じます。

著者らは、次のことを示してこの固有の問題を擁護している。

  • KANに必要なパラメータの数は、同じ問題に対するMLPに比べて少ない。
  • KAN はトレーニング中に迅速かつ効率的に収束するため、必要なトレーニング時間が短縮されます。

これらの防御のグラフは結果のセクションで見ていきます。ここでは、KAN の別の特徴について詳しく見ていきましょう。

解釈可能性とKANレイヤーの選択

KAN は関数を学習するため、MLP のように特定のデータや問題に対して MLP の深さと幅を選択するだけで設計できる単なるブラック ボックスではありません。したがって、KAN をより解釈しやすくし、優れた KAN ネットワークを設計するには、以下の手順に従う必要があります。

  • スパース化。予想よりも大きな KAN ネットワークから開始し、機械学習で一般的に行われる入力の代わりに活性化関数の L1 ノルムを導入することで正規化を導入します。
  • プルーニング。スパース ネットワークがトレーニングされると、設定された基準またはスコアで特定のしきい値を下回る不要なノードを削除できます。
  • シンボル化。与えられたデータがどのような関数で構成されているのか漠然とわかっている場合は、その関数を受け取るノードをいくつか設定できます。これをシンボル化と呼びます。たとえば、音波を扱う場合、データのほとんどは正弦波なので、ノードの一部を正弦波に設定することで作業が楽になります。フレームワークでは、 fix_symbolic(l,i,j,f)というインターフェイス関数を提供することでこれを可能にします。ここで、 l、i、j はノードのレイヤーと位置であり、 fsine, cosine, log, etcの関数です。

KANモデルをトレーニングするためのさまざまな手順

訓練されたKANネットワークに到達するために論文で提案されたさまざまなステップの概要

さまざまな手順は、上の図にまとめられています。まず、大規模なネットワークから始めてスパース化 (手順 1) し、結果として得られたネットワークを整理 (手順 2)、いくつかのシンボル化を設定 (手順 3)、ネットワークをトレーニング (手順 4) し、最終的にトレーニング済みモデルに到達します。

実験と結果

上記の手順を使用して、5 つの異なるおもちゃの問題に対して KAN ネットワークをトレーニングし、その有効性を示し、MLP と比較しました。比較から得られた重要なポイントは次のとおりです。

  • KAN は MLP よりもはるかに高速にトレーニングされるため、固有の計算の複雑さが軽減されます。
  • KANはMLPがより多くのパラメータでできることを、より少ないパラメータで実現できる。
  • KANはMLPに比べて損失が急速に減少し、非常にスムーズに収束する。

最初のポイントは、上の図の 5 つのおもちゃの問題の 5 つのプロット内の太い青い線で示されています。最後の 2 つのポイントは、損失曲線と、特定の問題を解決するためのパラメーター数を示す下部のプロットで示されています。

論文の結果によると、KAN はより速く収束し、より少ないパラメータでより短時間でトレーニングできるため、計算の複雑さの問題を克服できる。

破滅的な忘却

次に注目すべき点は、破滅的な忘却問題では KAN が MLP よりもはるかに優れているということです。連続学習のためにシーケンス データを入力すると、KAN は MLP に比べて過去のデータをはるかによく記憶しているように見えます。これは下の図に示されています。KAN はデータ内の 5 つのフェーズを再現しますが、MLP は苦戦しています。

論文の図では、KAN は MLP よりも破滅的な忘却を克服するのに優れていることが示されています。

その他の結果

彼らはまた、偏微分や物理方程式を含む問題に KAN を使用できることを示す広範な実験も行いました。それらの詳細に立ち入るよりも、KAN と MLP のどちらを選択するべきかについて見てみましょう。

KANとMLPの選択

以下の図は、MLPよりもKANを選ぶべき場合の指針を示しています。以下の場合はKANを選択してください。

  • 波形やグラフなどの構造データを扱っている場合
  • データから継続的に学習したい
  • トレーニング時間はあまり気にしないでください!
  • 高次元データ

論文のKANとMLPの図の選択

そうでなければ、MLP が勝ちます。

大声で叫ぶ

この記事が気に入ったら、ぜひフォローしてくださいツイッタートップ AI ラボの研究の最新情報を毎週共有する場所はどこですか?

また、私のチャンネルを購読してくださいYouTubeチャンネルAIの概念と論文を視覚的に説明します。

考察と結論

私の意見では、KAN は、トランスフォーマーが NLP の世界を席巻したように、MLP に取って代わるために存在しているわけではありません。むしろ、KAN は数学や物理学のニッチな問題に役立つことが証明されるでしょう。それでも、さらに多くの改善が必要だと感じています。しかし、基礎モデルで解決されるビッグデータの問題に関しては、少なくとも現在の状態では、KAN にはまだまだ道のりが残っています。

さらに、トレーニング アプローチと KAN アーキテクチャの設計は、現代のニューラル ネットワークの設計とトレーニングの標準的な方法から逸脱する傾向があります。とはいえ、GitHub ページにはすでに 13,000 個のスターと 1,200 個のフォークがあり、何かが起こりそうな予感がします。このスペースを待ち、見守っていきましょう。