產經情報

極限學習機(ELM)

日期:2020-07-31

史上最天才的網路「極限學習機」(ELM)?

有一些狂熱者們相信,極限學習機(Extreme Learning Machine, EML)可以算是有史以來最天才的神經網路之一,以至還專門搞了個研究 ELM 結構的會議。

支持者們認為,ELM 可以在只有很少訓練數據情況下,以超級快的訓練速度完成任務。

但是反對者們卻表示,橋豆麻袋(啾抖媽ㄉㄟ),我有一言。首先說它爆強,為啥在機器學習領域卻鮮有耳聞,況且一些深度學習大佬還對它有各種批評,包括勒丘恩大佬(Yann LeCun),都認為 EML 宣傳和可信度都言過於實了。

但儘管如此,無論對它看法如何,人們一般還是會同意這還是一個蠻有趣的想法。


【ELM 的隨機性,具備通用近似定理的能力】

ELM 結構由兩層網路組成:第一層先隨機初始化然後固定住,而第二層則是可訓練的。

大體上來說就是,首先網路隨機地將數據投影到一個新空間,然後執行一次多重回歸(輸出當然過激活函數)。隨機投影相當於一種降維(或升維)方法,用隨機矩陣乘以輸入,這個想法乍一聽可能很奇怪,但實際上卻會很有效(稍後可以通過直觀類比來理解)。它通過某種形式的隨機失真來施加噪聲,之後讓網路其餘部分來學習適應,從而為學習機會打開了新的大門。

事實上,正因為這種隨機性,極限學習機已被證明具有通用近似定理(Universal Approximation Theorem)能力,同時在隱層中只需要相對較少的節點。

但實際上,在 20 世紀 80-90 年代,在神經網路發展早期,隨機投影的概念就已被探索過了。這也是為啥有人批評 ELM 一點也不新,僅僅只是一個新瓶裝舊酒的東西。而且像很多其他結構,如 echo state machines 和 liquid state machines,也都有用隨機跳轉連接和其他來源的隨機性。


【ELM 不用「反向傳播」】

然而,ELM 和其他神經網路結構最大的不同或許在於它不用反向傳播 。而因為其可訓練部分只是個簡單的多元回歸,所以參數訓練方法和回歸中擬合系數的訓練方法差不多,這也以為著其訓練方式的根本不同。

對於反向傳播,幾乎是從最原始人工神經網路來,幾乎每個神經網路都是通過這種,在整個網路中向前或向後來回傳播訊息信號,迭代更新的方式進行優化。由於這種方法存在很久了,大家也想當然地假定它肯定被各種驗證分析過,是最佳方法。但研究人員還是不得不說,標準的反向傳播還有很多問題,比如訓練速度很慢,或是容易進入不太好的局部最優。


【使用更數學化的公式設置權重】

另一方面,ELM 使用了一個更數學化的公式來設置權重, 當然也沒那麼深入。可以認為隨機層是用來取代更需要計算的細節部分。從技術上講,現在都用的 Dropout 層其實也可以算是一種隨機投影。

由於 ELMs 同時採用了隨機性和無反向傳播算法,它們的訓練速度比標準的神經網路要快得多。

當然,它是否表現得更好就是另一個問題了。

有人可能會提出這樣一種觀點,即 ELM 比標準神經網路更能反映人類的學習方式(儘管兩者都可能差得遠),因為它僅需幾個示例就能非常快速地解決簡單任務,而迭代更新的神經網路則要來回不斷,起碼要成千上萬的樣本訓練才能泛化表現良好。而與機器相比,人類雖然有其弱點,但在示例學習率上(示例表示學會所需的例子數),人類絕對是不可匹敵的,這一點也可以說是我們真正被稱為智能的地方。


【極限學習機的基本概念簡單到「愚蠢」?】

極限學習機的概念非常簡單——簡單到有些人可能會稱其為愚蠢了。計算機科學家、深度學習先驅楊勒丘恩(Yann LeCun)就說 「隨機連接第一層是你可以做的最愚蠢的事了」,在此論點之後,他列舉了很多高級些的方法來非線性地變換向量的維數,例如通過用反向傳播進行定位,進一步加強 SVM 的核方法。

勒丘恩還說,其實,ELM 本質上是一個具有更差轉換核的 SVM。而用 SVM 可以更好地為 ELM 能解決的有限範圍內問題進行建模。而對此唯一的辯駁可能就是用「隨機核」而不是專用核計算效率更高一些,因為 SVM 是眾所周知的高耗模型。這裡,ELM 可能帶來的性能降低是否值得,則又是另一個值得探討的話題。

然而,無論是否像 ELM 一樣,根據很多其他實驗,在簡單的神經網路中使用隨機投影或過濾器以及其他模型已在各種標準訓練任務(現在可能都是「簡單的任務」),如 MNIST 上有了驚人的表現。儘管這些方法性能不是最好的,但一個方法能經過嚴格審查,即使看起來很荒唐,但也能在排行榜上佔據了一席之地(此外,有更輕量級的體系結構和較小的計算量),這本身就讓人很感興趣。


【為什麼固定隨機連接有效?】

這是一個非常關鍵的問題:很明顯,如果 ELM 的性能與普通的反向傳播網路一樣好(甚至更好)的話,那麼就說明 ELM 中的隨機連接是有效的。雖然從數學上難以理解,但極限學習機的論文原作者黃光斌(Guang Bin-Huang)講了一則寓言來舉例說明瞭這一概念:

你現在想用石頭填滿一個湖,直到石頭填充至水平面,接著就能通過石頭看到空湖的底部,這是條曲線(代表數據的函數)。工程師們仔細計算了下湖泊的大小、填充湖泊石頭的大小以及在優化任務中起作用的眾多微小因素。(優化適合該功能的許多參數。)

給石頭倒到湖中是一項糟糕但還能接受的工作。

另一方面,鄉村老農炸掉了附近的山,開始往湖里扔石頭。當農民撿起一塊石頭(隱藏層結點)時,他不需要知道湖或石頭的大小,他只需要隨意地扔石頭並將石頭鋪開。如果某個區域的岩石開始堆積到地表上方時,那麼農夫就會用錘子將其砸碎(β 參數-各種規則化處理),以平整地表。

當工程師仍在計算岩石的高度和體積以及湖泊的形狀時,農民已經填滿了湖泊。對於農夫來說,扔多少塊石頭都沒關係:他更快地完成了工作,可以提早下班回家吃飯了。

儘管將這個類比直接用於不同場景時存在一些問題,但這是對 ELM 的本質以及隨機性在模型中所發揮作用的一個直觀解釋。ELM 的本質在於,naive 並不總是件壞事:簡單的解決方案可能能更好地解決不太複雜的問題。


【總結雙方爭議關鍵】

極限學習機使用的是固定且隨機的第一層和可訓練的第二層兩層網路結構,這本質上是一個隨機投影,緊跟一個多重回歸。

支持者說,ELM 在簡單的場景(如 MNIST)中能夠借助非常少的示例、非常快速地學習,其優點是易於程式設計,而且無需選擇諸如網路結構、優化器和損失函數之類等參數。

而另一方面,反對者認為,SVM 在這些情況下會更好,ELM 不適合解決更複雜的問題,而且它僅僅只是一個新瓶裝舊酒的概念。

ELM 通常無法處理好複雜的任務,但它在較簡單的任務上表現良好,這也為探索更多輕量級的體系結構、非反向傳播模型擬合和隨機投影提供了一個好的示例。至少,極限學習機(或任何一個你想取的名字)是每個深度學習愛好者都應該瞭解的一個有趣想法。