发布日期:2024-08-03 16:15 点击次数:61
图片
第一届“欧洲基础物理东谈主工智能会议”(EuCAIFCon)于2024年4月30日至5月3日在阿姆斯特丹举行。会议上许多盘问集结结在基础模子上,探讨是否不错欺诈东谈主工智能发现潜在的新物理定律。令东谈主讶异的是,最近一篇名为KAN的论文在arXiv上发布,探讨了欺诈神经网络发现或再行发现物理和数学模子的可能性。
图片
接下来咱们将潜入探讨构建KANs的数学公式和想法。以了解为什么这个网络会引起如斯大的触动!
KA暗示定理
KAN或Kolmogorov-Arnold网络基于着名数学家Kolmogorov和Arnold的暗示定理。最初,让咱们先退几步来贯通这个定理。
KA定理是由这些数学家冷漠的,用于管理希尔伯特的第13个问题:是否通盘七次方程的解齐不错用两个变量的代数函数来抒发?这是什么真理呢?
假定有如下的七次多项式:
图片
方程1
希尔伯特问,其解x,被合计是三个变量a,b,c的函数,是否不错暗示为有限数指标二元函数的组合:
图片
KA暗示定理指出,关于任何连气儿函数
图片
存在一元连气儿函数g_q, ψ_{p,q},使得:
图片
方程2:KA暗示定理
这意味着(2d+1)(d+1)个一元函数g_q, ψ_{p,q}足以精准暗示一个d变量函数。这里的关节点是,独一的确凿多变量函数是加法,因为其他通盘函数齐不错使用一元函数和乞降来暗示。
咱们需要记取,g_q, ψ_{p,q}齐是一元函数。因此,任何多变量的连气儿函数齐不错暗示为一元函数的组合。哇!我之前不知谈。太酷了!
念念考KA定理和多层感知器(MLPs)
论文的作家指出,这些一维函数(之前界说的)可能是不光滑以致是分形的,因此在实践中可能无法学习。为了构建KANs,作家们超过了KA暗示定理的界说,但最初咱们来念念考MLPs。
多层感知器(MLPs)基于通用靠拢定理,该定理指出任何连气儿函数f:[0, 1]ᵈ → [0, 1]齐不错通过至少包含一个荫藏层的神经网络(权重、偏差和非线性激活函数)来纵脱精准地靠拢。在反向传播流程中,网络学习优化权重和偏差以充任函数靠拢器,而激活函数保捏不变。
目下,咱们能否凭证上述KA暗示定理构建一个基于神经网络的架构?
要是谈判一个监督学习问题,给定{x_i, y_i}对,咱们想找到一个函数使得y_i ≈ f(x_i),那么KA暗示定理告诉咱们,需要找到方程2中的一元函数(g_q, ψ_{p,q)。
图片
图1:念念考和构建KAN,摘自论文
在这里,作家们合计,由于咱们只需要学习一元函数,咱们不错将每个一维函数参数化为B样条弧线(见下文),其局部B样条基函数的系数是可学习的。这导致了KAN的原型,并在图1(b)中进行了证实,输入维度n=2推崇为一个两层神经网络,激活函数舍弃在边上而不是节点上(在节点上进行简便的乞降),中间层的宽度为2n+1。网络的构造,即激活数、节点数等,将很快明白。鉴于方程2中的界说,原始KA暗示定理不错被视为深度为2,每层包含(2d+1)项。
B样条:咱们不错将B样条函数贯通为由多个限度点限度的纯真带组成,用于创建平滑弧线。从数学角度更严格的界说是,p+1阶的B样条是由变量t中p阶的分段多项式函数B_{i, p}组成的纠合。分段多项式衔接处的t值被称为结点。
再次证实,B样条由分段多项式(基函数)构建,其阶数比其基多项式的度数多一。举例,二次B样条的多项式度数为2,阶数为3。这恰是KAN论文中展示和使用的内容。
构建KAN层
还是提到,代表原始KA暗示定理的两层网络太简便,无法纵脱精准地靠拢任何函数。咱们怎样让KAN更宽、更深呢?
这里,作家冷漠了KAN和MLPs之间的绝佳类比以便更潜入探讨。最初,咱们需要了解什么是KAN层以及怎样将它们堆叠起来构建深度神经网络。
最初,不错将KA暗示以矩阵形式抒发:
图片
方程3:以矩阵形式念念考方程2
具有n_{in}维输入和n_{out}维输出的KAN层不错界说为一维函数的矩阵:
图片
方程4:开荒矩阵的维度
在Kolmogov-Arnold定理(方程2)中,里面函数组成一个n_{in}=n和n_{out}=2n+1的KAN层,外部函数组成一个n_{in}=2n+1和n_{out}=1的KAN层。此时,咱们不错将KA暗示视为两个KAN层的组合。让咱们尝试风俗于堆叠更多KAN层时的象征。
咱们不错使用作家提供的示例图来盘问网络维度等内容:
图片
图2:念念考KAN层:摘自论文
作家将n_i暗示为KAN中第i层的节点数,第l层的第i个神经元由(l, i)暗示,其中该神经元的激活由x_{l, i}给出。咱们合计激活函数是位于网络图边际的可学习函数,节点暗示乞降运算。因此,在第1层(0层)和第2层(1层)之间,咱们看到有10个激活函数,分袂由ϕ_{0,1,1}, ϕ_{0,1,2}等暗示。激活函数的数目由0层和1层的节点数决定。
这里咱们不错明白地看到MLPs与KANs的区别。KANs的激活函数位于边际,而MLPs的激活函数位于节点上。
在第0层,咱们有两个节点x_{0,1}, x_{0,2},在第一层,有5个,是以激活函数的数目将是n_l × n_{l+1}。
n_l和n_{l+1}是凭证方程4中界说的里面函数的输入和输出维度详情的。因此咱们从两个输入n_{in}=2驱动,是以n_{out}必须为2n+1=5。这反过来决定了荫藏层中激活函数的数目。
要是咱们继续以节点数n_1=5和n_2=1(n_{out}),在该层有5个激活函数是合理的。这将是外部函数。重申一遍,KA暗示由两个KAN层组成。
KAN层的矩阵形式
目下咱们不错驱动编写激活函数。让咱们望望:通顺第l层和l+1层两个节点的激活函数由ϕ_{l, j, i}暗示,其中{j, i}分袂代表那两层中的第j和第i个神经元。
因此,在第l层和l+1层之间的可学习激活函数:
图片
方程5:KAN边际的可学习激活函数
咱们不错再次检讨图2,西西人提肉肉
图片
通过与图2比拟来贯通节点数目。
咱们将ϕ_{l, j, i}的输入前激活暗示为x_{l, i};然后在激活后有:
图片
激活前后的象征
第(l+1, j)神经元的激活值简便地是通盘传入激活后的乞降。
欺诈这些,咱们不错界说激活的可学习变换矩阵:
图片
方程6:KAN不同层的好意思满可学习激活函数集
欺诈这个咱们也不错编写变换司法:
图片
方程7:好意思满变换司法:给定激活矩阵的预激活和激活后。
再次检讨咱们的贯通,因此与图2比拟:
图片
方程8:鉴于图2,检讨咱们是否能贯通变换矩阵的维度!
如实有5个输出x_{1,1}, x_{1,2}, x_{1,3}, x_{1,4}, x_{1,5}。
一朝咱们准备好了变换矩阵,咱们不错简便地将它们组合(堆叠层)以便更潜入地探讨,如下所示:
图片
方程9:通过堆叠几许KAN层来组成一个KAN
此时咱们也不错意志到,通盘运算齐是可微分的(假定1D函数亦然),梯度不错通过网络流动,即咱们不错进行反向传播!
咱们还不错将KAN与MLP层进行比拟,在MLP层中有权重矩阵(线性变换)和激活函数(非线性)分开:
图片
方程10:将KAN与MLP比拟;权重(线性)和激活(非线性)。
权重矩阵中的值会更新,但一朝界说,MLP中的激活函数等于固定的。这是KAN与MLP层之间的关节区别,咱们的激活函数是可学习的。
由于关于KAN来说,目下一切齐归结为激活函数,作家界说了怎样构建这些函数。
可学习的激活函数
为了构建激活函数ϕ(x),作家提议使用基函数(b(⋅))和样条函数,并将它们组合如下:
图片
方程11:将基函数和样条函数手脚线性组合的可学习激活函数。
作家选拔的基函数为SiLU:
图片
方程12:基函数b(⋅)的选拔
关于样条函数,它是B样条的线性重叠:
图片
方程13:样条函数手脚B样条的线性组合。
要是追念第二张图,咱们看到它是k=3的B样条的线性组合,即阶数为3,是以B样条中的多项式的度数为2。像这么界说样条的一个上风是,通过增多弧线的数目不错使其纵脱平滑。这也在图2中清晰,作家增多了咱们通顺不同多项式的区间数目,从7增多到12。
B样条的权重,即c_i,是可锻练的,作家合计方程11中的因子w的独一用途是更好地限度激活函数的总体大小。
MLP与KAN的参数数目
作家还盘问了频频情况下,KAN比MLP运行较慢。为了贯通这极少,咱们不错简便地通过假定网络深度为L,每层齐有交流数目的节点n_i=N,每个样条的阶数为k(频频为3)在G个区间上,来缠绵参数数目:
图片
KAN与MLP的参数数目对比
可是,KAN所需的宽度即N比MLP中的小,且KAN是可证实的,咱们将看到作家冷漠的一个例子。作家强调锻练KAN比MLP慢的另一个原因是,由于激活函数是可学习的,弗成能欺诈“批处理缠绵”,即无边数据通过交流的函数。这在MLP中不是问题,因为在锻练和测试时天职激活是固定的。
结语
这篇论文中还有好多复杂的细节,但对我个东谈主而言最杰出的是KAN的可证实性。作家展示了KAN不错“发现”好像单的除法律例到结表面中的非庸碌关联。这可能会进一步推进KAN在AI与科学的基础模子中的应用。
淫淫色情网作家建议,KAN可能比象征回首更具“迷惑力”;作家给出了一个例子,通过KAN学习相当弯曲的20阶贝塞尔函数(J_{20}(x)),这通过象征回首在莫得任何干于阿谁额外函数(本例中为贝塞尔函数)的先验常识的情况下是弗成能的。
通过KAN的“发现”示例
在作家冷漠的许多示例中,我可爱一个相对简便但山外有山的“自动可发现”特色的KAN。咱们老是可爱这类物理示例;比如,咱们从相对论速率加法公式驱动:
图片
两个相对论速率的加法
咱们不错谈判KAN的深度,将每一层KAN视为发现一个数学运算;因此,望望上头的公式,最初咱们谈判乘法;作家清晰,学习的激活函数将是线性和二次的,是以:
图片
使用KAN学习乘法,将其视为线性和二次函数的组合
对(1+v_1 * v_2)的求逆将使用一层,而(v_1 + v_2)与(1/(1+v_1 * v_2))的乘法将需要另外两层;统共5层。
但策动东谈主员发现,“自动发现”的KAN只好2层深,这不错通过速率工夫来证实。
在相对论中,咱们不错通过速率工夫简化变换司法;不错界说速率为:
图片
咱们不错使用双曲正切加法公式:
图片
使用这个,不错看到:
图片
目下只好两层豪阔特真理。要是咱们不知谈速率工夫,试图贯通这个2层的自动发现KAN可能会带领咱们发现这个工夫。咱们不错像这个例子中那样使用KAN来发现/再行发现一些基本的物理定律吗?
加载和运行KAN
让咱们仔细望望上头的例子,作家在论文中也提到了这个例子,何况不错在GitHub上找到。咱们将在Colab上运行它。
咱们将驱动腹地装配并加载必要的库。
!pip install pykanfrom kan import KAN, create_dataset
import torch
咱们创建了包含两组速率的数据集,这些速率在锻练和测试集结分开,何况有相应的回首值,即标签(f(v_1, v_2))。为了保障起见,咱们不错使用matplotlib检讨输入速渡过甚相应加成相对速率的散播。
f = lambda x: (x[:,[0]]+x[:,[1]])/(1+x[:,[0]]*x[:,[1]]) # dataset creation where x[:, [0]] represents v1, x[:, [1]]: v2dataset = create_dataset(f, n_var=2, ranges=[-0.9,0.9])#plot the distribution import matplotlib.pyplot as plt### check train and test input distributionfig = plt.figure(figsize=(10, 5))fig.add_subplot(131)plt.hist(dataset['train_input'][:, 0], bins=20, alpha=0.7, label=r'$v_1$-train', color='orange')plt.hist(dataset['train_input'][:, 1], bins=20, alpha=0.7, label=r'$v_2$-train', histtype='step')plt.legend(fontsize=12)fig.add_subplot(132)plt.hist(dataset['test_input'][:, 0], bins=20, alpha=0.7, label=r'$v_1$-test', color='orange')plt.hist(dataset['test_input'][:, 1], bins=20, alpha=0.7, label=r'$v_2$-test', histtype='step')plt.legend(fontsize=12)fig.add_subplot(133)plt.hist(dataset['train_label'].numpy(), bins=20, alpha=0.7, label=r'$\frac{v_1+v_2}{1+v_1\, v_2}$-train', color='orange')plt.hist(dataset['test_label'].numpy(), bins=20, alpha=0.7, label=r'$\frac{v_1+v_2}{1+v_1\, v_2}$-test', histtype='step')plt.legend(fontsize=12)plt.tight_layout()plt.show()
咱们得到了数据和标签的这些直方图。
图片
图3:在[-1, 1]之间立时散播的速渡过甚相应的(相对论性)加和值。
图片
图4:具有学习到的激活函数的两层KAN
第一层的激活函数还是看起来像arctanh,第二层的激活函数看起来像tanh。这确凿很酷!
尝试从模子中赢得第一层激活函数的象征函数暗示的建议,揭示了咱们本色看到的内容:
model.suggest_symbolic(0, 1, 0)>>> function , r2arctanh , 0.9986623525619507tan , 0.9961022138595581arcsin , 0.968244731426239
第二层也相同:
model.suggest_symbolic(1, 0, 0)>>> function , r2tanh , 0.9995558857917786arctan , 0.995667040348053gaussian , 0.9793974757194519
咱们如实得到tanh手脚象征函数的最好建议。
我相当欢跃地看到基础AI、物理学和数学的策动者将怎样归并KAN和MLP,或者修改KAN使其更快、更好、可能更具证实性(要是这是可能的);此外【HMJM-011】SEX by HMJM ハマジムベスト09 6時間,发现/再行发现物理定律的可能性,可能在天体物理学、天地学鸿沟,应该是使用KAN需要探索的另一个方面。
本站仅提供存储办事,通盘内容均由用户发布,如发现存害或侵权内容,请点击举报。