目錄
KAN 只是一個普通的 MLP?   
我想我應該分享一些關於動機的背景資料。我們實現 KAN 的主要想法源於我們正在尋找可解釋的人工智慧模型,這種模型可以「學習」物理學家發現自然規律的洞察力。因此,正如其他人所意識到的那樣,我們完全專注於這一目標,因為傳統的黑箱模型無法提供對科學基礎發現至關重要的見解。然後,我們透過與物理學和數學相關的例子表明,KAN 在可解釋性方面大大優於傳統方法。我們當然希望,KAN 的實用性將遠遠超出我們最初的動機。
首頁 科技週邊 人工智慧 爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

May 07, 2024 pm 03:19 PM
git 模型 訓練 排列

多層感知器(MLP),也被稱為全連接前饋神經網絡,是如今深度學習模型的基礎構建塊。 MLP 的重要性無論如何強調都不為過,因為它們是機器學習中用於逼近非線性函數的預設方法。

但最近,來自MIT 等機構的研究者提出了一種非常有潛力的替代方法—KAN#。此方法在準確性和可解釋性方面表現優於 MLP。而且,它能以非常少的參數量勝過以更大參數量運行的 MLP。例如,作者表示,他們用 KAN 重新發現了結理論中的數學規律,以更小的網路和更高的自動化程度重現了 DeepMind 的結果。具體來說,DeepMind 的 MLP 有大約 300000 個參數,而 KAN 只有大約 200 個參數。

微調內容如下: 這些驚人的研究成果讓KAN迅速走紅,吸引了許多人對其展開研究。很快,有人提出了一些質疑。其中,有一篇標題為「KAN is just MLP」的Colab文件成為了討論的焦點。

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

KAN 只是一個普通的 MLP?   

上述文件的作者表示,你可以把 KAN 寫成一個 MLP,只要在 ReLU 之前加上一些重複和移位。

在一個簡短的範例中,作者展示如何將KAN網路改寫為具有相同數量參數的、具有輕微的非線性結構的普通MLP。

要記住的是,KAN 在邊上有激活函數。他們使用 B 樣條。在展示的例子中,為了簡單起見,作者將只使用 piece-wise 線性函數。這不會改變網路的建模能力。

下面是piece-wise 線性函數的範例:

#
def f(x):if x 
登入後複製

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

# #作者表示,我們可以使用多個ReLU 和線性函數輕鬆重寫這個函數。請注意,有時需要移動 ReLU 的輸入。

plt.plot(X, -2*X + torch.relu(X)*1.5 + torch.relu(X-1)*2.5)plt.grid()
登入後複製

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

真正的問題是如何將 KAN 層改寫成典型的 MLP 層。假設有 n 個輸入神經元,m 個輸出神經元,piece-wise 函數有 k 個 piece。這需要 n∗m∗k 個參數(每條邊有 k 個參數,而你有 n∗m 條邊)。

現在考慮一個 KAN 邊。為此,需要將輸入複製 k 次,每個副本移動一個常數,然後透過 ReLU 和線性層(第一層除外)運行。從圖形上看是這樣的(C 是常數,W 是權重):

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

#現在,可以對每一邊重複這個過程。但要注意一點,如果各處的 piece-wise 線性函數網格相同,我們就可以共享中間的 ReLU 輸出,只需在其上混合權重即可。就像這樣:

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

在 Pytorch 中,這可以翻譯成以下內容:

k = 3 # Grid sizeinp_size = 5out_size = 7batch_size = 10X = torch.randn(batch_size, inp_size) # Our inputlinear = nn.Linear(inp_size*k, out_size)# Weightsrepeated = X.unsqueeze(1).repeat(1,k,1)shifts = torch.linspace(-1, 1, k).reshape(1,k,1)shifted = repeated + shiftsintermediate = torch.cat([shifted[:,:1,:], torch.relu(shifted[:,1:,:])], dim=1).flatten(1)outputs = linear(intermediate)
登入後複製

現在我們的圖層看起來是這樣的: 

  • #Expand shift ReLU
  • Linear

一個接一個地考慮三個層:

  • #Expand shift ReLU (第1 層從這裡開始)
  • Linear
  • Expand shift ReLU (第2 層從這裡開始)
  • Linear
  • Expand shift ReLU (第3 層從這裡開始)
  • #Linear

##忽略輸入expansion ,我們可以重新排列:

  • Linear (第1 層從這裡開始)
  • Expand shift ReLU
  • #Linear (第2 層從這裡開始)
  • #Expand shift ReLU

如下的層基本上可以稱為MLP。你也可以把線性層做大,去掉 expand 和 shift,得到更好的建模能力(儘管需要付出更高的參數代價)。

  • Linear (第2 層從這裡開始)
  • #Expand shift ReLU

#透過這個例子,作者表明,KAN 就是一種MLP。這說法引發了大家對兩類方法的重新思考。

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

對KAN 思路、方法、結果的重新檢視

其實,除了與MLP 理不清的關係,KAN 也受到了其他許多方面的質疑。

總結下來,研究者們的討論主要集中在以下幾點。

第一,KAN 的主要貢獻在於可解釋性,而不在於擴展速度、準確性等部分。

論文作者曾經表示:

  1. KAN 的擴展速度比 MLP 快。 KAN 比參數較少的 MLP 具有更好的準確性。
  2. KAN 可以直覺地視覺化。 KAN 提供了 MLP 無法提供的可解釋性和互動性。我們可以使用 KAN 潛在地發現新的科學定律。

#其中,網路的可解釋性對於模型解決現實問題的重要性不言而喻:

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

##但問題在於:「我認為他們的主張只是它學得更快並且具有可解釋性,而不是其他東西。如果KAN 的參數比等效的NN 少得多,則前者是有意義的。 ?

這種說法目前還存在疑問。在論文中,KAN 的作者表示,他們只用 200 個參數的 KAN,就能復現 DeepMind 用 30 萬參數的 MLP 發現數學定理研究。在看到結果後,喬治亞理工學院副教授 Humphrey Shi 的兩位學生重新審視了 DeepMind 的實驗,發現只需 122 個參數,DeepMind 的 MLP 就能媲美 KAN 81.6% 的準確率。而且,他們沒有對 DeepMind 程式碼進行任何重大修改。為了實現這個結果,他們只減小了網路大小,使用隨機種子,並增加了訓練時間。

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

對此,論文作者也給了正面的回應:  

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

第二,KAN 和MLP 從方法上沒有本質不同。

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

「是的,這顯然是一回事。他們在KAN 中先做激活,然後再做線性組合,而在MLP 中先做線性組合,然後再做激活。 ##除了對方法的質疑之外,研究者也呼籲對這篇論文的評價回歸理性:

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP

「我認為人們需要停止將KAN 論文視為深度學習基本單元的巨大轉變,而只是將其視為一篇關於深度學習可解釋性的好論文。

##第三,有研究者表示,KAN 的想法並不新奇。

「人們在20 世紀80 年代對此進行了研究。Hacker News 的討論中提到了一篇義大利論文討論過這個問題。所以這根本不是什麼新鮮事。 ,KAN 論文的作者也沒有掩蓋這個問題。

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP「這些想法並不新鮮,但我不認為作者迴避了這一點。他只是把所有東西都很好地打包起來,並對toy 數據進行了一些很好的實驗。 1302.4389)也被提到,一些研究者認為二者「雖然略有不同,但想法有點相似」。

作者:最初研究目標確實是可解釋性

#熱烈討論的結果就是,作者之一 Sachin Vaidya 站出來了。

作為論文的作者之一,我想說幾句。 KAN 受到的關注令人驚嘆,而這種討論正是將新技術推向極限、找出哪些可行或不可行所需要的。

我想我應該分享一些關於動機的背景資料。我們實現 KAN 的主要想法源於我們正在尋找可解釋的人工智慧模型,這種模型可以「學習」物理學家發現自然規律的洞察力。因此,正如其他人所意識到的那樣,我們完全專注於這一目標,因為傳統的黑箱模型無法提供對科學基礎發現至關重要的見解。然後,我們透過與物理學和數學相關的例子表明,KAN 在可解釋性方面大大優於傳統方法。我們當然希望,KAN 的實用性將遠遠超出我們最初的動機。

在GitHub 主頁中,論文作者之一劉子鳴也對這項研究受到的評價進行了回應:

爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP最近我被問到到的最常見的問題是KAN 是否會成為下一代LLM。我對此沒有很清楚的判斷。

KAN 專為關心高精度和可解釋性的應用程式而設計。我們確實關心 LLM 的可解釋性,但可解釋性對 LLM 和科學來說可能意味著截然不同的事情。我們關心 LLM 的高精度嗎?縮放定律似乎意味著如此,但可能精度不太高。此外,對於 LLM 和科學來說,準確性也可能意味著不同的事情。

我歡迎人們批評 KAN,實踐是檢驗真理的唯一標準。很多事情我們事先並不知道,直到它們經過真正的嘗試並被證明是成功還是失敗。儘管我願意看到 KAN 的成功,但我同樣對 KAN 的失敗感到好奇。

KAN 和 MLP 不能互相替代,它們在某些情況下各有優勢,在某些情況下各有限制。我會對包含兩者的理論架構感興趣,甚至可以提出新的替代方案(物理學家喜歡統一理論,抱歉)。

#

KAN 論文一作劉子鳴。他是物理學家和機器學習研究員,目前是麻省理工學院和 IAIFI 的三年級博士生,導師是 Max Tegmark。他的研究興趣主要集中在人工智慧 AI 和物理的交叉領域。

以上是爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1666
14
CakePHP 教程
1425
52
Laravel 教程
1325
25
PHP教程
1273
29
C# 教程
1252
24
wordpress文章列表怎麼調 wordpress文章列表怎麼調 Apr 20, 2025 am 10:48 AM

有四種方法可以調整 WordPress 文章列表:使用主題選項、使用插件(如 Post Types Order、WP Post List、Boxy Stuff)、使用代碼(在 functions.php 文件中添加設置)或直接修改 WordPress 數據庫。

git怎麼下載項目到本地 git怎麼下載項目到本地 Apr 17, 2025 pm 04:36 PM

要通過 Git 下載項目到本地,請按以下步驟操作:安裝 Git。導航到項目目錄。使用以下命令克隆遠程存儲庫:git clone https://github.com/username/repository-name.git

git怎麼更新代碼 git怎麼更新代碼 Apr 17, 2025 pm 04:45 PM

更新 git 代碼的步驟:檢出代碼:git clone https://github.com/username/repo.git獲取最新更改:git fetch合併更改:git merge origin/master推送更改(可選):git push origin master

git怎麼刪除倉庫 git怎麼刪除倉庫 Apr 17, 2025 pm 04:03 PM

要刪除 Git 倉庫,請執行以下步驟:確認要刪除的倉庫。本地刪除倉庫:使用 rm -rf 命令刪除其文件夾。遠程刪除倉庫:導航到倉庫設置,找到“刪除倉庫”選項,確認操作。

git下載不動怎麼辦 git下載不動怎麼辦 Apr 17, 2025 pm 04:54 PM

解決 Git 下載速度慢時可採取以下步驟:檢查網絡連接,嘗試切換連接方式。優化 Git 配置:增加 POST 緩衝區大小(git config --global http.postBuffer 524288000)、降低低速限制(git config --global http.lowSpeedLimit 1000)。使用 Git 代理(如 git-proxy 或 git-lfs-proxy)。嘗試使用不同的 Git 客戶端(如 Sourcetree 或 Github Desktop)。檢查防火

如何解決PHP項目中的高效搜索問題? Typesense助你實現! 如何解決PHP項目中的高效搜索問題? Typesense助你實現! Apr 17, 2025 pm 08:15 PM

在開發一個電商網站時,我遇到了一個棘手的問題:如何在大量商品數據中實現高效的搜索功能?傳統的數據庫搜索效率低下,用戶體驗不佳。經過一番研究,我發現了Typesense這個搜索引擎,並通過其官方PHP客戶端typesense/typesense-php解決了這個問題,大大提升了搜索性能。

git怎麼合併代碼 git怎麼合併代碼 Apr 17, 2025 pm 04:39 PM

Git 代碼合併過程:拉取最新更改以避免衝突。切換到要合併的分支。發起合併,指定要合併的分支。解決合併衝突(如有)。暫存和提交合併,提供提交消息。

git commit怎麼用 git commit怎麼用 Apr 17, 2025 pm 03:57 PM

Git Commit 是一種命令,將文件變更記錄到 Git 存儲庫中,以保存項目當前狀態的快照。使用方法如下:添加變更到暫存區域編寫簡潔且信息豐富的提交消息保存並退出提交消息以完成提交可選:為提交添加簽名使用 git log 查看提交內容

See all articles