【DL輪読会】KAN: Kolmogorov–Arnold Networks

69.1K Views

May 09, 24

スライド概要

シェア

またはPlayer版

埋め込む »CMSなどでJSが使えない場合

関連スライド

各ページのテキスト
1.

DEEP LEARNING JP [DL Papers] KAN: Kolmogorov–Arnold Networks 高浜英人 東洋大学(B4) http://deeplearning.jp/

2.

論文情報 ・Title : KAN: Kolmogorov–Arnold Networks ・Author : Ziming Liu, Yixuan Wang, Sachin Vaidya, Fabian Ruehle James Halverson, Marin Soljacic, Thomas Y. Hou, Max Tegmark ・ Submitted : 2024 4/30 ・選定理由 : MLPに代わるNNの根本的な手法の提案に関する論文であり 興味があったから 2

3.

Background and Motivation

4.

MLPの問題点とKANの特徴 ▪ MLPの問題点として学習がブラックボックス化してしまっている点がある ▪ また、線形変換に依存しているため、複雑な関数近似を行う際に効率が悪い ▪ 関数近似性能を担保しつつ、人間が解釈可能な新しいNNの手法を提案することが目標 今回の手法は計算速度が遅く、実世界であえて使う手法ではない 用途としては研究・開発時、NNの使用を対話的にする 4

5.

MLPとKANの比較 5

6.

コルモゴロフ=アーノルド表現定理(KA表現定理)の説明 6 考え方 特定の条件を満たす多変量関数は、1変量関数だけで表現することができる 内と外の2層構造になっている 過去のKA表現定理を使ったNNでは この形に固執していた →この論文では多層化させる 内側 外側 𝑝 = 1, 2, … 𝑛𝑖𝑛 , 𝑞 = 1, 2, … 𝑛𝑜𝑢𝑡 ※ここでの条件はフラクタル的な関数ではないこと

7.

KANのアイデア ▪ パーセプトロンを多層化させたようにKA表現定理によるネットワークも多層化させる ▪ MLPが線形の重みを学習するのに対して、KANは活性化関数そのものを学習するイメージ ▪ その際の活性化関数の学習にはB-splineという手法を用いる 7

8.

B-spline及びベジェ曲線の説明 8 ベジェ曲線 N個の制御点からなるN-1次元の曲線のことで 制御点からなる多角形内に現れるように作図される 基底関数全体が次元を保ったまま すべての制御点から 引っ張られるイメージ https://ja.wikipedia.org/wiki/ベジェ曲線 より引用

9.

B-spline及びベジェ曲線の説明 ベジェ曲線 N個の制御点からなるN-1次元の曲線のことで 制御点からなる多角形内に現れるように作図される B-splineは制御点に引っ張られる範囲(knot vector)を指定して 制御点と基底関数の最大次元を増やしても操作しやすくし 表現できる関数の範囲をベジェ曲線から拡大させたもの 9

10.

10 の定義 の定義 基底関数の最大次元の定義 内のオブジェクト生成と計算 結果のプロット

11.

具体的なKANの実装 表現力を高めるためにKANを2層以上に深くする必要がある →MLPを多層化させることと同じように考える MLPは入力値を線形変換したものを活性化関数の中に入れ、それを繰り返す ex: 𝑅𝑒𝐿𝑈(𝑎1 𝑥1 + 𝑎2 𝑥2 + 𝑎3 𝑥3 … + 𝑎𝑛 𝑥𝑛 + 𝑏) KANは1次元関数の行列で定義され、内側は入力次元、外側は出力次元である 前層の出力を入力として受け取り、それを繰り返す 11

12.

実装における詳細な部分 12 𝜙 𝑥 = 𝑤 𝑏 𝑥 + spline 𝑥 (1) 𝑏 𝑥 = silu 𝑥 = 𝑥/ 1 + 𝑒 −𝑥 (2) spline 𝑥 = σ𝑖 𝑐𝑖 𝐵𝑖 𝑥 (3) ▪ (1)の𝜙 𝑥 は学習される活性化関数を表す ▪ 𝑤は重み、 𝑏 𝑥 は基底関数、 spline 𝑥 はスプライン関数を表す ▪ 基底関数にはsilu 𝑥 を使用する ▪ spline関数はB-splineの線形結合である ▪ 𝑐𝑖 は学習されるための係数、 𝐵𝑖 𝑥 はスプライン基底関数 ▪ 𝑐𝑖 は0に近い状態で初期化する ▪ splineは分割し範囲を指定するが、学習時に超えるかもしれないため 入力範囲に基づいて範囲(グリッド)を調整する

13.

Features of KAN

14.

パラメータの改善 KAN: 𝑂(𝑁 2 × 𝐿 × 𝐺) MLP: 𝑂(𝑁 2 × 𝐿) N : 各レイヤーのNodeの数 L : レイヤーの数 G : グリッドの数 一見するとグリッド分かけられているのでKANの方がオーダーが多いように見えるが KANはNodeの数が少ないためパラメータ数としても削減できている

15.

B-splineによる局所的可塑性の担保 現在のMLPによるNNによる問題点として 破滅的忘却(Catastrophic Forgetting)があげられる 破滅的忘却 ニューラルネットワークが新しいタスクを学習する際に 以前に学習したタスクの情報を忘れてしまう現象 タスクごとに異なる局所的領域を編成するという概念が ないために生じると考えられている KENはB-splineを用い、B-splineは特定領域にしか影響しないように区間を 区切るという特性があり、直感的には解決しているように考えられる 15

16.

Accuracy of KAN

17.

実験の概要 ▪ 回帰と偏微分方程式で近似を行う ▪ 評価指標として精度とパラメータ数において比較を行う ▪ いくつかの合成関数を用いて関数近似の評価を行う 17

18.

連続的で微分可能な式での検証 18 𝑓 𝑥 = 𝐽0 20𝑥 (1) [1, 1] 𝑓 𝑥, 𝑦 = exp sin π𝑥 + 𝑦 2 (2) [2, 1, 1] 𝑓 𝑥, 𝑦 = 𝑥𝑦 (3) [2, 2, 1] 𝑓 𝑥1 , ⋯ , 𝑥100 = exp 𝑓 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 = exp 1 2 π𝑥𝑖 σ100 sin 100 𝑖=1 2 1 2 sin π 𝑥12 + 𝑥22 (4) [100, 1, 1] + sin π 𝑥32 + 𝑥42 これら5つの関数はすべてB-splineで表現できる カギカッコ内の数値はKANで表現できる[in, hide, out]の深さ (5) [4, 4, 2, 1]

19.

連続的で微分可能な式での検証(結果) ▪ すべての結果においてKENがMLPより優れたスケーリングである ▪ 特に高次元の関数の場合は差が顕著である(右2つ) ▪ 1番右の関数において異なる深さのKANを比較しており、 深いほうが表現力が高いことがわかる 19

20.

特殊関数での検証 次にAK表現定理で表現できるか不明瞭な関数について検証する 下記の表にある数学や物理で使用される複雑な関数を使用する 20

21.

特殊関数での検証(結果) 21

22.

偏微分方程式(PDE)に関する検証 22 ポアソン方程式を物理インフォームドニューラルネットワークのフレームワークを 用いて解くというタスクで検証した 結果として、KANはMLPよりも速く収束し、より低い損失を達成し、スケーリング 法則も急勾配である L2乗損失, H1乗損失 トレーニング中の損失の動態 パラメータ数に対する損失のスケーリング法則

23.

破滅的忘却に関する検証 KANの局所的可塑性を検証するために、5つのガウスピークを持つ1次元回帰問題を KANとMLPに学習させる 簡単な課題においては、MLPと比較して明らかに破滅的忘却問題は解決されている 23

24.

KANの解釈可能性についての検証 24 ▪ KENが数式(記号式)における構成的構造(階層構造など)を明らかにできるかを検証している ▪ 具体的には6つの数式に関するタスクをどのように理解しているのかを可視化している

25.

解釈可能性に関する検証(1) 積の関数 … 𝑓 𝑥, 𝑦 = 𝑥𝑦 をどのように学習するか 元々のKANの層構造は [in, hidden, out]が [2, 5, 1]であったものが [2, 2, 1]にプルーニングされ 以下の式として学習された 2𝑥𝑦 = 𝑥 + 𝑦 2 − (𝑥 2 + 𝑦 2 ) 25

26.

解釈可能性に関する検証(2) 除算の関数 … 𝑓 𝑥, 𝑦 = 𝑥/𝑦 をどのように学習するか 元々のKANの層構造は [in, hidden, out]が [2, 5, 1]であったものが [2, 1, 1]にプルーニングされ 以下の式として学習された 𝑥Τ𝑦 = 𝑒𝑥𝑝 𝑙𝑜𝑔𝑥 − 𝑙𝑜𝑔𝑦 26

27.

解釈可能性に関する検証(3) 数値の分類…小数を与えて、第1位の数に基づいてone hot vectorにする input [0.314] → output [0, 0, 0, 1, 0, 0…] input [0.271] → output [0, 0, 1, 0, 0, 0…] 27

28.

考慮すべき点・今後 ▪ 数学的側面から考えるとKANは未知の部分が多い ▪ そもそもKA表現定理が限定的である ▪ 深さ2の(一般的な)KANの[n, 2n+1, 1]にはどのような意味が含まれているのか (→これについては数学の分野でどれくらい進んでいるのかによる?) ▪ splineによる活性化関数について基底関数をもう少し慎重に選んだりすることで 精度などが向上するかもしれない ▪ 計算効率が悪い 28

29.

まとめ ▪ MLPに代わるKANという手法の提案 ▪ KANはKA表現定理を利用して、その公式を多層化したものである ▪ KANはMLPと比較してパラメータ数を削減できる、解釈可能性が高いという特徴をもつ ▪ MLPと比較して計算が遅いという欠点がある(スライドで取り上げられなかったです) ▪ 論文中の検証はすべて単純なものであり、複雑なNNに組み込んだ際にどのような挙動 になるのかは今後の研究次第である 29