從哲學層面淺談計算機學習方法論

張飛洪[廈門]發表於2020-10-27

之前思考和總結過兩篇關於學習的文章,(《如何快速且深入的學習一門新技術》,《微服務學習導航》),個人感覺還是言不盡興,太過膚淺了。所以這篇文章會從更高的形而上的角度來審視自己的學習。其中的思想來源比較複雜,主要是受了老子、王東嶽、李善長、古典文學和電腦科學等的影響,不知其所蹤。

學什麼?

抽象模型

  老子說過吾生有崖,知無涯。以有限的生命去學習無盡的知識是很愚蠢的。所以,學習的終極目標一定不是知識本身,因為知識是表象的、不穩定、會過時。那麼我們應該學什麼,什麼東西才是永恆的?也許我們會有很多見解,比如學習哲學,或者叫哲科;或者學習方法論;或者學習抽象模型等等…

       這些抽象模型的完美體現就是我們經常看到的數學公式,公式好比萬能工具,通過它我們可以知道宇宙和自然是如何規律運轉的。

  現實中,我們會發現各個學科都有自己的抽象模型,這些模型好比天上的繁星,有相似的,更多的是各不相同。所以,認知結構的擴充其實就是對模型邊界的擴充,我們擁有的模型越多,我們的認知越豐富。

  對於計算機來說,什麼是那個不變的宗呢?

計算機模型

  從物理角度看,電晶體的電容只有兩種狀態:開和關;從光傳輸的規律看,電壓只有高低兩種電壓。這對應了數字世界的0和1(量子計算除外)。這裡多加一個或者多個電容,多加一條或者多個線,就有了2的4/8/16/64種狀態。而且隨著奈米技術的發展,多核CPU的增加,5G高頻寬的出現,從物理層面可以表示和傳輸的狀態會越來越多。

  不管虛擬世界多麼紛繁複雜,追溯原點,從物理角度,我們可以從電容開始;從數學層面我們從二進位制開始;從哲學層面,我們從陰陽開始。

  計算機通電的過程很像宇宙大爆炸,接下來就是位元之旅。位元在旅途過程,從磁碟->匯流排->記憶體->CPU,不停的移動。一個位元經過一個函式工廠,可能會產生80個位元,再繞地球一圈,可能又會增加了n次方的位元。

  所以,這是一個由哲學構建的穩定的底層邏輯的世界;這是一個由數學構建的有無窮狀態表示法的位元世界;這是一個以波粒為基礎的極致高效的世界。

  從哲學層面淺談計算機學習方法論

馮-諾伊曼體系

  比如,從組成計算機的金字塔來看,該體系到現在也是穩定的,不管是PC還是移動還是正在發生的物聯網架構。計算機的核心部件還是這麼幾樣東西:運算器、儲存器、控制器,輸入輸出裝置。不同的是在效能,功耗等變得更加強大。

  從哲學層面淺談計算機學習方法論

編譯原理

  如果你要了解各種計算機語言的底層原理,那麼對語法分析,詞法分析,語義分析,正規表示式,有限狀態機的知識點是繞不開的話題,所以說編譯原理其實也沒有怎麼變化過。

  所以,不管是火熱的的go,rust,還是老牌的java、c/c++、python,或者是js、c#等語言,我們其實不應該去糾結千差萬別的語法,而是底層的編譯方法。

  不管是以後的語言如何變化,是屬於指令碼語言還是編譯語言,無論他們的語法如何奇怪,你應該知道他們都要構造語法樹,都要做詞法分析,語義解析,都要把語法樹翻譯成二進位制語言。

分散式原理

  分散式的儲存系統他們實現資料複製的方法是完全一樣的,該原理能查到的最早的出處是 1978 年 Lamport 的一篇論文《The Implementation of Reliable Distributed Multiprocess Systems》。

  1978年啊,同志們,那時候我們都還沒出生呢!這麼老的技術到今天仍然在被廣泛地應用!無論應用技術發展的多快,實際上解決問題的方法,或者說是理論基礎,一直是沒什麼變化的。所以,你在不斷學習新的應用技術的同時,還需要多思考、總結和沉澱,這樣會讓你學習新技術的時候更快更輕鬆。

  不管在mysql,sqlserver關係型資料庫裡面,還是在redis,mongo等非關係型儲存引擎裡,他們都在用資料複製的狀態機原理。

  再比如,許多搜尋引擎(比如ES)和訊息佇列(比如Kafka,RabbitMQ)也在互相抄作業,而且以後的作業會隨著所謂的“新技術”這個偽概念的不斷出現,會越抄越頻繁。

  從哲學層面淺談計算機學習方法論

方法論

不可知論

  愛因斯坦說宇宙就是一個懷錶,裡面是什麼,我一無所知。不可知論的意思不應該是我們真的一無所知,而是假設Default我們一無所知,然後再重新梳理自己思想的真偽。它是一種對基點真偽的追問。因為世界是動態的,五官是不可靠的,固有的知識是有漏洞的,但是我們又喜歡用經驗來衡量和決策。所以,如果能徹底懷疑過往的一切,假設我們的思想都是錯的,那麼對真理的追求會更近一步。

  我們可以舉個例子,隨著業務膨脹和併發的增加,我們通過修修補補的方式以及無法抵抗日益腐爛的程式碼,那麼唯有重新審視底層架構,甚至推倒重來才能暫時解決當前的業務需要。至於未來系統會如何演化,不可知。

       不可知應該是站在不可知的角度去追求可知,是一種虔誠的學習態度。

  

   (不可知論的提出者托馬斯·亨利·赫胥黎)

普遍懷疑

  這裡的普遍懷疑不是為了懷疑而故作高深,因為宇宙是渾然一體的,是混沌的,分科命名不是永恆的名(名可名非常名)。所以,當分科作為一個角度,必然是橫看成嶺側成峰,你怎麼可能是永恆的呢?

  普遍懷疑把本我和思想進行脫鉤,對被思想佔領的肉體和思想本身進行分別求真。

  笛卡爾說肉體是無法被證明存在(bing),我們怎麼能確定自己不是活在虛擬世界裡呢,也就是說我們怎麼能知道到底自己是夢裡的蝴蝶變的還是我們變成夢裡的蝴蝶呢?但是,這個夢卻是真實的,只有思想者是真實的,最後他提出了那句我思我在(i think,therefore i am)的名言。

  普遍懷疑其實就是給自己的思想洗澡,把思想的蘋果全部倒出來,包括爛蘋果和好蘋果,然後重新梳理和歸類。愛因斯坦把牛頓的蘋果倒出來,發現萬有引力定律並不適應微觀世界,最後提出相對論。可見普遍懷疑是破解集體信念和創新的重要工具。

  從哲學層面淺談計算機學習方法論

  (老子對著老虎傳道的深意:“傳道是高度危險的,道是不能說,也是不可說的”)

思想≠我

  當我們被批判的時候,我們會本能的情緒化,因為我們把自己和思想視為一體,對我們觀念的不認可就是對於自己的不認可,所以我不爽了!

  試想,我就是思想嗎?李善長老師說:“不是我擁有思想,而是思想佔有了我。”,我的理解是我們的思想不過是先人智慧的影子,我們長期使用後和身體融化一體罷了。

  所以問題來了,我們到底要為自己辯護,還是為自己的思想辯護?如果是為自己的思想辯護,為什麼要情緒化呢?如果自己的認知本身是有問題的,不應該“聞過則喜”嗎?

  當我們因為別人的不認可而情緒化,其實很多時候就是把思想和我等同起來,這對於學習和進步是一種巨大的禁錮,因為思想不等於我們的肉體。

  

     (笛卡爾)

獨立思考

  談到獨立思考,我們先從智人演化過程的從眾心態講起。在遠古社會,從眾的目的是為了安全感,剛開始可能是為了抵禦猛獸,後面是為了族群的認同。從眾的負面效應是一種非理性的無知,集體無意識的盲從。因為追求安全和族群的認可,會違背自我的思想扭曲,從而失去了獨立判斷的能力。

  雖然這種後果是很可怕的,但直到現在,這種抱團盲從的現象還會隨處可見,因為對於安全感的需求在組織當中還是存在的。如果不能深刻得認識這種現象,那麼自己的思考也是危險。

  獨立思考是痛苦的。很多人寧可死也不願意思考;王興說:很多人為了不去思考,可以做任何事情。

  個人認為,這裡的思考是指體系化、模型化、抽象化、理性化的邏輯思考,並不是指我們日常的感性思維或者形象思維。

  代表計算機世界的思維方式,更切確的說應該是數學思維,是對萬事萬物進行數字建模後的一種面向產業和應用的計算,所以數感、數學思維是計算機學習的內功,雖然當下並不明顯。

總結

  所以,從學習目標來看,我們應該要學習的不是知識本身,而是抽象的知識模型,好比那把萬能鑰匙,模型可以開啟各自知識的鎖頭;從學習的方法來看,我們可以使用普遍懷疑、不可知論,思想和本我的脫鉤、去除盲從慣性來思考,對思想本身進沖洗,對邏輯思維本身進行審視和質疑。借用巴菲特的那句話:“如果那一年我沒有破壞一個我以前特別相信的觀念,這一年我算白過了”。

 

相關文章