終極演算法 2 終極演算法

2021-08-15 10:59:32 字數 3174 閱讀 3701

機器學習的應用非常廣泛,更為驚人的是,相同的演算法可以完成不同的事。在機器學習領域之外,如果你要解決不同的問題,就得編寫兩個不同的程式。

相同的機器學習演算法不僅可以完成無窮無盡且不同的事,而且和被它們替代的傳統演算法相比,它們要簡單得多。多數學習演算法可能只有數百行或者數千行。相比之下,傳統程式則需幾十萬甚至上百萬行**。

如果那麼少的學習演算法就可以做那麼多事,那麼有乙個邏輯上的疑問:單個學習演算法可以把所有的事情做完嗎?實際上,對所有主要的學習演算法——包括最近鄰演算法、決策樹學習演算法以及貝葉斯網路——來說,如果你為學習演算法提供足夠、適當的資料,該演算法可以實現任一功能(對學習任何東西來說,都與數學相關)。需要注意的是,「足夠資料」也有可能無限。

本書的中心假設就是:

所有知識,無論是過去的、現在的還是未來的,都有可能通過單個通用學習演算法來從資料中獲得。

作者將該演算法稱為「終極演算法」。

一種演算法怎麼可能學習那麼多不同的事情?實際上,種種證據表明終極演算法是存在的,下面來看看它們是什麼樣的:

來自神經科學的論證

2023年4月,麻省理工學院的神經系統科學家團隊在《自然》雜誌上發布了一項非同尋常的實驗結果。他們對雪貂的大腦進行重新佈線,改變了雪貂從眼睛到聽覺皮層以及耳朵到視覺皮層之間的連線。你可能覺得實驗結果就是雪貂會嚴重致殘,但並沒有:聽覺皮層學會看,視覺皮層學會聽,而且雪貂沒事。

大腦中的所有資訊都以同樣方式(通過神經元的放電模式)來表示。學習機制也相同:記憶通過加強集群放電神經元之間的連線得以形成,涉及乙個叫作長時程增強的生物化學過程。

關於大腦是終極演算法這個觀點的最重要論據,就是大腦負責我們能感知以及想象的一切如果某物存在,但大腦無法對其進行學習,那麼我們就不知道它的存在。

來自演化論的證據

生物多樣性源於單一機制:自然選擇。計算機科學家對該機制非常熟悉:我們通過反覆研究嘗試許多備選方法來解決問題,選擇並改進最優方案,並盡可能多地嘗試這些步驟。演化論是一種演算法。

來自物理學的證據

在2023年的一篇著名文章中,物理學家、諾貝爾物理學獎得主尤金.維格納驚嘆「數學在自然科學中不可思議的有效性」。由少量的觀察推導出規律,是什麼神奇的力量讓這些規律可以運用到超出其**範圍的領域?這些規律都是基於資料得來的,而為什麼這些規律比資料還要準確好幾個數量級?最重要的是,為什麼簡潔、抽象的數學語言能夠如此精確地解釋我們無限複雜的世界?數學就是如此,而且終極演算法就是其邏輯的延伸。

來自統計學的論證

根據統計學流派的觀點,所有形式的學習都是基於乙個簡單的公式——貝葉斯定理。貝葉斯定理會告訴你,每當你看到新的證據後,如何更新你的想法。

貝葉斯定理就是將資料變成知識的機器。據貝葉斯統計學派的觀點,貝葉斯定理就是將資料變成知識的唯一正確方法。如果該學派的觀點正確,貝葉斯定理要麼就是終極演算法,要麼就是推動終極演算法發展的動力。

來自電腦科學的論證

2023年,艾倫.圖靈想象出乙個奇怪的裝置,它有一條紙帶和機器頭,頭可以在紙帶上進行閱讀和書寫,就是現在人們知道的圖靈機。每乙個可以想得到的、可以用邏輯推理解決的難題,都可以通過圖靈機解決。此外,一台所謂的萬能圖靈機可以通過閱讀紙帶上的具體要求來模仿所有東西,換句話說,我們能夠對圖靈機進行程式設計,用它來做所有的事情。

機器學習演算法與知識工程師

當然,有很多人支援終極演算法,也有很多人懷疑終極演算法。當某方法可以簡單解決複雜問題時,存在懷疑符合情理。對終極演算法最堅定的反抗來自機器學習永恆的敵人:知識工程。根據知識工程支持者的觀點,知識無法自動被學習,必須通過人類專家編入計算機,才能對它進行學習。

另乙個對機器學習持懷疑態度的人是語言學家諾姆.喬姆斯基。喬姆斯基認為,語言必須是與身俱來的,因為孩子聽到的合乎語法的句子僅僅是一些例子,不足以學習語法。然而,這種說法僅僅將學習語言的任務交給了進化,它並沒有反對終極演算法,只是反對「終極演算法是大腦」這個觀點。

另外乙個可能會反對終極演算法的觀點來自心理學家傑瑞.福多,他認為心理是由一系列模組組成的,這些模組之間只有有限的聯絡。即使我們相信心理模組理論,這個理論也並沒有暗指不同的模組會使用不同的學習演算法。

「無論你的演算法有多聰明,總有它無法掌握的東西。」除了人工智慧和認知科學,反對機器學習的常見觀點幾乎都可以用這句話概括。

有些事可預料,而有些事卻不能預料,這個說法是正確的,而機器學習演算法的首要任務就是區別可**的事與不可**的事。但終極演算法的目標是要學習一切能認知的東西。

在機器學習中,複雜性存在於資料中。終極演算法需要做的就是消化複雜性,因此,如果終極演算法變得非常簡單,那麼我們也不用感到驚訝。雖然人類的手很簡單,但是它卻可以製作並使用無數種工具。終極演算法與演算法的關係,就如同手指與鋼筆、劍、螺絲刀、叉子的關係。

我們不必從零開始尋找終極演算法,而有幾十年的機器學習研究可以利用。我們尋找終極演算法的過程是複雜且活躍的,因為在機器學習領域存在不同思想的學派,主要學派包括符號學派、聯結學派、進化學派、貝葉斯學派、類推學派。每個學派都有其核心理念以及其關注的特定問題。

對於符合學派來說,所有的資訊都可以簡化為操作符號,就像數學家那樣,為了解方程,會用其他表示式來代替本來的表示式。他們的主演算法是逆向演繹。

對於聯結學派來說,學習就是大腦所做的事情,因此我們要做的就是對大腦進行逆向演繹。他們的主演算法是反向傳播學習演算法。

進化學派認為,所有形式的學習都源於自然選擇。如果自然選擇造就我們,那麼它就可以造就一切,我們要做的,就是在計算機上對它進行模仿。他們的主演算法是基因程式設計。

貝葉斯學派最關注的問題是不確定性。所有掌握的知識都有不確定性,而且學習知識的過程也是一種不確定的推理形式。他們的主演算法就是貝葉斯定理及其衍生定理。

對於類推學派來說,學習的關鍵就是要在不同場景中認識到相似性,然後由此推導出其他相似性。他們的主演算法就是支援向量機。

每個學派對其中心問題的解決方法都是乙個輝煌、來之不易的進步,但真正的終極演算法應該把5個學派的5個問題都解決,而不是只解決乙個。

本書將綜合出乙個擁有所有這些功能的終極演算法:我們對終極演算法的追求之旅讓我們了解這5個學派。學派與學派相遇、談判、衝突的地方,也是這個旅程最艱難的部分。每個學派都有自己不同的觀點,我們必須將這些觀點集中起來。將所有資訊集中起來變成解決方案的方法,並不是很容易找到的,有些人甚至說不可能找到,但這就是我們要做的事情。

終極演算法. [美] pedro domingos 著. 黃芳萍 譯

生成樹演算法終極解析!

許多老師講乙個新協議時,總會 強制性 地給你灌輸它的各種規則,導致許多學生死記硬背之後任然一臉懵逼。我當初聽stp時 也是遺留了很多問題 比如為什麼這麼設計 這種機制為什麼不能這樣改進 如果這麼這麼的話,會怎麼怎麼樣。太多的不理解導致我的記憶效率大大降低。所以我 希望可以從乙個協議的起源,開發的目地...

生成樹演算法終極解析!

許多老師講乙個新協議時,總會 強制性 地給你灌輸它的各種規則,導致許多學生死記硬背之後任然一臉懵逼。我當初聽stp時 也是遺留了很多問題 比如為什麼這麼設計 這種機制為什麼不能這樣改進 如果這麼這麼的話,會怎麼怎麼樣。太多的不理解導致我的記憶效率大大降低。所以我 希望可以從乙個協議的起源,開發的目地...

怎麼更好地終極理解遞迴演算法

遞迴真是個奇妙的思維方式。對一些簡單的遞迴問題,我總是驚嘆於遞迴描述問題和編寫 的簡潔。但是總感覺沒能融會貫通地理解遞迴,有時嘗試用大腦去深入 遞迴 層次較深時便常產生進不去,出不來的感覺。這種狀態也導致我很難靈活地運用遞迴解決問題。有一天,我看到一句英文 to iterate is human,t...