多層感知器(MLP),也被稱為全連接前饋神經網絡,是如今深度學習模型的基礎構建塊。 MLP 的重要性無論如何強調都不為過,因為它們是機器學習中用於逼近非線性函數的預設方法。
但最近,來自MIT 等機構的研究者提出了一種非常有潛力的替代方法—KAN#。此方法在準確性和可解釋性方面表現優於 MLP。而且,它能以非常少的參數量勝過以更大參數量運行的 MLP。例如,作者表示,他們用 KAN 重新發現了結理論中的數學規律,以更小的網路和更高的自動化程度重現了 DeepMind 的結果。具體來說,DeepMind 的 MLP 有大約 300000 個參數,而 KAN 只有大約 200 個參數。
微調內容如下: 這些驚人的研究成果讓KAN迅速走紅,吸引了許多人對其展開研究。很快,有人提出了一些質疑。其中,有一篇標題為「KAN is just MLP」的Colab文件成為了討論的焦點。
上述文件的作者表示,你可以把 KAN 寫成一個 MLP,只要在 ReLU 之前加上一些重複和移位。
在一個簡短的範例中,作者展示如何將KAN網路改寫為具有相同數量參數的、具有輕微的非線性結構的普通MLP。
要記住的是,KAN 在邊上有激活函數。他們使用 B 樣條。在展示的例子中,為了簡單起見,作者將只使用 piece-wise 線性函數。這不會改變網路的建模能力。
下面是piece-wise 線性函數的範例:
def f(x):if x
# #作者表示,我們可以使用多個ReLU 和線性函數輕鬆重寫這個函數。請注意,有時需要移動 ReLU 的輸入。
plt.plot(X, -2*X + torch.relu(X)*1.5 + torch.relu(X-1)*2.5)plt.grid()
真正的問題是如何將 KAN 層改寫成典型的 MLP 層。假設有 n 個輸入神經元,m 個輸出神經元,piece-wise 函數有 k 個 piece。這需要 n∗m∗k 個參數(每條邊有 k 個參數,而你有 n∗m 條邊)。
現在考慮一個 KAN 邊。為此,需要將輸入複製 k 次,每個副本移動一個常數,然後透過 ReLU 和線性層(第一層除外)運行。從圖形上看是這樣的(C 是常數,W 是權重):
#現在,可以對每一邊重複這個過程。但要注意一點,如果各處的 piece-wise 線性函數網格相同,我們就可以共享中間的 ReLU 輸出,只需在其上混合權重即可。就像這樣:
在 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)
現在我們的圖層看起來是這樣的:
一個接一個地考慮三個層:
##忽略輸入expansion ,我們可以重新排列:
如下的層基本上可以稱為MLP。你也可以把線性層做大,去掉 expand 和 shift,得到更好的建模能力(儘管需要付出更高的參數代價)。
#透過這個例子,作者表明,KAN 就是一種MLP。這說法引發了大家對兩類方法的重新思考。
其實,除了與MLP 理不清的關係,KAN 也受到了其他許多方面的質疑。
總結下來,研究者們的討論主要集中在以下幾點。
第一,KAN 的主要貢獻在於可解釋性,而不在於擴展速度、準確性等部分。
論文作者曾經表示:
#其中,網路的可解釋性對於模型解決現實問題的重要性不言而喻:
##但問題在於:「我認為他們的主張只是它學得更快並且具有可解釋性,而不是其他東西。如果KAN 的參數比等效的NN 少得多,則前者是有意義的。 ?這種說法目前還存在疑問。在論文中,KAN 的作者表示,他們只用 200 個參數的 KAN,就能復現 DeepMind 用 30 萬參數的 MLP 發現數學定理研究。在看到結果後,喬治亞理工學院副教授 Humphrey Shi 的兩位學生重新審視了 DeepMind 的實驗,發現只需 122 個參數,DeepMind 的 MLP 就能媲美 KAN 81.6% 的準確率。而且,他們沒有對 DeepMind 程式碼進行任何重大修改。為了實現這個結果,他們只減小了網路大小,使用隨機種子,並增加了訓練時間。
對此,論文作者也給了正面的回應:
第二,KAN 和MLP 從方法上沒有本質不同。
「是的,這顯然是一回事。他們在KAN 中先做激活,然後再做線性組合,而在MLP 中先做線性組合,然後再做激活。 ##除了對方法的質疑之外,研究者也呼籲對這篇論文的評價回歸理性: ##第三,有研究者表示,KAN 的想法並不新奇。
「人們在20 世紀80 年代對此進行了研究。Hacker News 的討論中提到了一篇義大利論文討論過這個問題。所以這根本不是什麼新鮮事。 ,KAN 論文的作者也沒有掩蓋這個問題。 「這些想法並不新鮮,但我不認為作者迴避了這一點。他只是把所有東西都很好地打包起來,並對toy 數據進行了一些很好的實驗。 1302.4389)也被提到,一些研究者認為二者「雖然略有不同,但想法有點相似」。 作者:最初研究目標確實是可解釋性 #熱烈討論的結果就是,作者之一 Sachin Vaidya 站出來了。
作為論文的作者之一,我想說幾句。 KAN 受到的關注令人驚嘆,而這種討論正是將新技術推向極限、找出哪些可行或不可行所需要的。 在GitHub 主頁中,論文作者之一劉子鳴也對這項研究受到的評價進行了回應: 最近我被問到到的最常見的問題是KAN 是否會成為下一代LLM。我對此沒有很清楚的判斷。 KAN 專為關心高精度和可解釋性的應用程式而設計。我們確實關心 LLM 的可解釋性,但可解釋性對 LLM 和科學來說可能意味著截然不同的事情。我們關心 LLM 的高精度嗎?縮放定律似乎意味著如此,但可能精度不太高。此外,對於 LLM 和科學來說,準確性也可能意味著不同的事情。 我歡迎人們批評 KAN,實踐是檢驗真理的唯一標準。很多事情我們事先並不知道,直到它們經過真正的嘗試並被證明是成功還是失敗。儘管我願意看到 KAN 的成功,但我同樣對 KAN 的失敗感到好奇。 KAN 和 MLP 不能互相替代,它們在某些情況下各有優勢,在某些情況下各有限制。我會對包含兩者的理論架構感興趣,甚至可以提出新的替代方案(物理學家喜歡統一理論,抱歉)。 # KAN 論文一作劉子鳴。他是物理學家和機器學習研究員,目前是麻省理工學院和 IAIFI 的三年級博士生,導師是 Max Tegmark。他的研究興趣主要集中在人工智慧 AI 和物理的交叉領域。 我想我應該分享一些關於動機的背景資料。我們實現 KAN 的主要想法源於我們正在尋找可解釋的人工智慧模型,這種模型可以「學習」物理學家發現自然規律的洞察力。因此,正如其他人所意識到的那樣,我們完全專注於這一目標,因為傳統的黑箱模型無法提供對科學基礎發現至關重要的見解。然後,我們透過與物理學和數學相關的例子表明,KAN 在可解釋性方面大大優於傳統方法。我們當然希望,KAN 的實用性將遠遠超出我們最初的動機。
以上是爆火後反轉? 「一夜解決MLP」的KAN:其實我也是MLP的詳細內容。更多資訊請關注PHP中文網其他相關文章!