KAN 在符號表示中領先,但 MLP 仍是多面手。
多層感知器 (Multi-Layer Perceptrons,MLP) ,也被稱為全連線前饋神經網路,是當今深度學習模型的基本組成部分。MLP 的重要性無論怎樣強調都不為過,因為它是機器學習中用於逼近非線性函式的預設方法。然而,MLP 也存在某些侷限性,例如難以解釋學習到的表示,以及難以靈活地擴充套件網路規模。KAN(Kolmogorov–Arnold Networks)的出現,為傳統 MLP 提供了一種創新的替代方案。該方法在準確性和可解釋性方面優於 MLP,而且,它能以非常少的引數量勝過以更大引數量執行的 MLP。那麼,問題來了,KAN 、MLP 到底該選哪一種?有人支援 MLP,因為 KAN 只是一個普通的 MLP,根本替代不了,但也有人則認為 KAN 更勝一籌,而當前對兩者的比較也是侷限在不同引數或 FLOP 下進行的,實驗結果並不公平。為了探究 KAN 的潛力,有必要在公平的設定下全面比較 KAN 和 MLP 了。為此,來自新加坡國立大學的研究者在控制了 KAN 和 MLP 的引數或 FLOP 的情況下,在不同領域的任務中對它們進行訓練和評估,包括符號公式表示、機器學習、計算機視覺、NLP 和音訊處理。在這些公平的設定下,他們發現 KAN 僅在符號公式表示任務中優於 MLP,而 MLP 通常在其他任務中優於 KAN。- 論文地址:https://arxiv.org/pdf/2407.16674
- 專案連結:https://github.com/yu-rp/KANbeFair
- 論文標題:KAN or MLP: A Fairer Comparison
作者進一步發現,KAN 在符號公式表示方面的優勢源於其使用的 B - 樣條啟用函式。最初,MLP 的整體效能落後於 KAN,但在用 B - 樣條代替 MLP 的啟用函式後,其效能達到甚至超過了 KAN。但是,B - 樣條無法進一步提高 MLP 在其他任務(如計算機視覺)上的效能。作者還發現,KAN 在連續學習任務中的表現實際上並不比 MLP 好。最初的 KAN 論文使用一系列一維函式比較了 KAN 和 MLP 在連續學習任務中的表現,其中每個後續函式都是前一個函式沿數軸的平移。而本文比較了 KAN 和 MLP 在更標準的類遞增持續學習設定中的表現。在固定的訓練迭代條件下,他們發現 KAN 的遺忘問題比 MLP 更嚴重。KAN 有兩個分支,第一個分支是 B 樣條分支,另一個分支是 shortcut 分支,即非線性啟用與線性變換連線在一起。在官方實現中,shortcut 分支是一個 SiLU 函式,後面跟著一個線性變換。令 x 表示一個樣本的特徵向量。那麼,KAN 樣條分支的前向方程可以寫成:在原始 KAN 架構中,樣條函式被選擇為 B 樣條函式。每個 B 樣條函式的引數與其他網路引數一起學習。該公式與 KAN 中的 B 樣條分支公式具有相同的形式,只是在非線性函式中有所不同。因此,拋開原論文對 KAN 結構的解讀,KAN 也可以看作是一種全連線層。- 啟用函式不同。通常 MLP 中的啟用函式包括 ReLU、GELU 等,沒有可學習的引數,對所有輸入元素都是統一的,而在 KAN 中,啟用函式是樣條函式,有可學習的引數,並且對於每個輸入元素都是不一樣的。
- 線性和非線性運算的順序。一般來說,研究者會把 MLP 概念化為先進行線性變換,再進行非線性變換,而 KAN 其實是先進行非線性變換,再進行線性變換。但在某種程度上,將 MLP 中的全連線層描述為先非線性,後線性也是可行的。
透過比較 KAN 和 MLP,該研究認為兩者之間的差異主要是啟用函式。因而,他們假設啟用函式的差異使得 KAN 和 MLP 適用於不同的任務,從而導致兩個模型在功能上存在差異。為了驗證這一假設,研究者比較了 KAN 和 MLP 在不同任務上的表現,並描述了每個模型適合的任務。為了確保公平比較,該研究首先推匯出了計算 KAN 和 MLP 引數數量和 FLOP 的公式。實驗過程控制相同數量的引數或 FLOP 來比較 KAN 和 MLP 的效能。KAN 中可學習的引數包括 B 樣條控制點、shortcut 權重、B 樣條權重和偏置項。總的可學習引數數量為:其中, d_in 和 d_out 表示神經網路層的輸入和輸出維度,K 表示樣條的階數,它與官方 nn.Module KANLayer 的引數 k 相對應,它是樣條函式中多項式基礎的階數。G 表示樣條間隔數,它對應於官方 nn.Module KANLayer 的 num 引數。它是填充前 B 樣條曲線的間隔數。在填充之前,它等於控制點的數量 - 1。在填充後,應該有 (K +G) 個有效控制點。在作者的評估中,任何算術操作的 FLOP 被考慮為 1,而布林操作的 FLOP 被考慮為 0。De Boor-Cox 演算法中的 0 階操作可以轉換為一系列布林操作,這些操作不需要進行浮點運算。因此,從理論上講,其 FLOP 為 0。這與官方 KAN 實現不同,在官方實現中,它將布林資料轉換回浮點資料來進行操作。在作者的評估中,FLOP 是針對一個樣本計算的。官方 KAN 程式碼中使用 De Boor-Cox 迭代公式實現的 B 樣條 FLOP 為:連同 shortcut 路徑的 FLOP 以及合併兩個分支的 FLOP,一個 KAN 層的總 FLOP 是:具有相同輸入維度和輸出維度的 KAN 層與 MLP 層之間的 FLOP 差異可以表示為:如果 MLP 也首先進行非線性操作,那麼首項將為零。作者的目標是,在引數數量或 FLOP 相等的前提下,對比 KAN 和 MLP 的效能差異。該實驗涵蓋多個領域,包括機器學習、計算機視覺、自然語言處理、音訊處理以及符號公式表示。所有實驗都採用了 Adam 最佳化器,這些實驗全部在一塊 RTX3090 GPU 上進行。機器學習。作者在 8 個機器學習資料集上進行了實驗,使用了具有一到兩個隱藏層的 KAN 和 MLP,根據各個資料集的特點,他們調整了神經網路的輸入和輸出維度。對於 MLP,隱藏層寬度設定為 32、64、128、256、512 或 1024,並採用 GELU 或 ReLU 作為啟用函式,同時在 MLP 中使用了歸一化層。對於 KAN,隱藏層寬度則為 2、4、8 或 16,B 樣條網格數為 3、5、10 或 20,B 樣條的度數(degree)為 2、3 或 5。由於原始 KAN 架構不包括歸一化層,為了平衡 MLP 中歸一化層可能帶來的優勢,作者擴大了 KAN 樣條函式的取值範圍。所有實驗都進行了 20 輪訓練,實驗記錄了訓練過程中在測試集上取得的最佳準確率,如圖 2 和圖 3 所示。在機器學習資料集上,MLP 通常保持優勢。在他們對八個資料集的實驗中,MLP 在其中的六個上表現優於 KAN。然而,他們也觀察到在一個資料集上,MLP 和 KAN 的效能幾乎相當,而在另一個資料集上,KAN 表現則優於 MLP。總體而言,MLP 在機器學習資料集上仍然具有普遍優勢。計算機視覺。作者對 8 個計算機視覺資料集進行了實驗。他們使用了具有一到兩個隱藏層的 KAN 和 MLP,根據資料集的不同,調整了神經網路的輸入和輸出維度。在計算機視覺資料集中,KAN 的樣條函式引入的處理偏差並沒有起到效果,其效能始終不如具有相同引數數量或 FLOP 的 MLP。音訊和自然語言處理。作者在 2 個音訊分類和 2 個文字分類資料集上進行了實驗。他們使用了一到兩個隱藏層的 KAN 和 MLP,並根據資料集的特性,調整了神經網路的輸入和輸出維度。在文字分類任務中,MLP 在 AG 新聞資料集上保持了優勢。然而,在 CoLA 資料集上,MLP 和 KAN 之間的效能沒有顯著差異。當控制引數數量相同時,KAN 在 CoLA 資料集上似乎有優勢。然而,由於 KAN 的樣條函式需要較高的 FLOP,這一優勢在控制 FLOP 的實驗中並未持續顯現。當控制 FLOP 時,MLP 似乎更勝一籌。因此,在 CoLA 資料集上,並沒有一個明確的答案來說明哪種模型更好。總體而言,MLP 在音訊和文字任務中仍然是更好的選擇。符號公式表示。作者在 8 個符號公式表示任務中比較了 KAN 和 MLP 的差異。他們使用了一到四個隱藏層的 KAN 和 MLP,根據資料集調整了神經網路的輸入和輸出維度。在控制引數數量的情況下,KAN 在 8 個資料集中的 7 個上表現優於 MLP。在控制 FLOP 時,由於樣條函式引入了額外的計算複雜性,KAN 的效能大致與 MLP 相當,在兩個資料集上優於 MLP,在另一個資料集上表現不如 MLP。總體而言,在符號公式表示任務中,KAN 的表現優於 MLP。