學習點樣學習電腦點學習

學習點樣學習電腦點學習

以前學寫程式嘅時候,我學習嘅方法只有一個:寫,除蟲,再寫,再除蟲。簡單講,就係「實踐」兩個字。

唔係個個都走「實踐」嘅路線。有啲人會叫你搵方法「證明」個程式冇錯。所謂「證明」,又係啲好哲學嘅問題,一講就頭痕。不過喺呢個語境底下,「證明程式冇錯」意思大概係:「如果我認為個程式可能有問題,咁我就搵啲方法令自己合理哋確信個程式真係冇問題」[1]。當然啦,我呢啲自信爆棚嘅人,幾乎從來都唔覺得自己嘅程式有問題,所以我通常唔會做啲「質疑自己」咁精神分裂[2]嘅嘢嘅。
嗱,大家咪以為我真係編程大神。每個人寫程式都會錯,我都唔例外。各種嘅錯都有,例如打錯字(typo)、諗錯嘢,甚至成個程式個核心構思都錯咗,都唔出奇。而我寫程式會出錯,唔係因為我廢,唔係因為我份人唔小心 [3],而係因為寫錯程式,乃係天經地義。

人類本身就係一種會犯錯嘅生物。唔係話你係世界第一嘅編程高手就唔會犯錯。事實上啲世界級高手應付難題嘅時候,一樣會犯錯。如果大家唔信,不妨留意下啲編程比賽 [4]。

如果最叻嘅人都會犯錯,咁我哋點樣保證啲程式冇 bug 呢?唯有實踐。你個程式越係經歷實踐,就會越有信心佢真係 work [5]。

我自細就係呢種環境下學習。「人類係會不斷犯錯」呢個概念深植於我嘅常識之中。所以我而家有種「職業病」[6],就係每當見到人聲稱某樣嘢係事實,我就會質疑佢係咪真係實踐過,定係鳩吹出嚟試都冇試過。呢種諗法其實唔係咩新鮮概念,只不過係科學精神而已。曾幾何時,西方古哲認為世界嘅定律可以唔做實驗,就咁用腦諗出嚟。而家,啲人發現原來做實驗真係有用架!

我而家望住一本 2003 年出版嘅書,叫做《Artificial Intelligence — A Modern Approach》[7]。呢本書有一千頁咁厚,書入面可能引用咗一千個唔同嘅概念,聲稱同人工智能有關,可以幫助解決人工智能嘅問題。

⋯⋯ 而我想知道本書入面嘅概念,究竟有幾多真係「work」。

其實我對住任何講理論嘅書都可以問呢條問題,不過「人工智能理論」係特別好玩嘅例子。人工智能分兩大類,一種就係解決啲實在嘅問題,例如點樣教電腦捉棋捉贏職業高手[8],例如點樣用電腦自動揸車唔會撞車;另一種係「哲學」問題嚟,大概就係想模擬人腦嘅「理性思考模式」。前者嗰啲概念通常冇咩問題,因為佢哋稱聲用嚟解決實實在在現實世界嘅問題, work 同唔 work 大家都心中有數。

後者,就好有趣喇。

呢個世界仲未有一個大家公認為「真係好有智慧」嘅人工智能,所有人工智能嘅研究,基本上都係盲人摸象咁進行。不過基於分析哲學同邏輯學嘅學派,曾經喺人工智能範疇好大聲,因為喺哲學層面,啲人認為人腦係用 propositional logic, first order logic 之類嘅邏輯去諗嘢架嘛。[9] 事關 ‪#‎我唔識哲學‬,所以都係講少兩句。但就算我唔識哲學都知道,事實上呢幾十年有好多人都試過用呢啲邏輯系統去摸擬「智慧」,不過咁耐以嚟都冇人成功過囉。咁耐以嚟,呢個研究方向,講到底只不過一個「信」字。人類好多時候根本唔「理性」,呢個反而係無數心理學實驗得出嘅結論。人工智能用邏輯系統嘅方向研究落去會唔會有成果?冇人知。

化學(chemistry)嘅前身係鍊金術(alchemy),而鍊金術呢家嘢,其實當時都算係一種正式嘅學問,連牛頓都玩過下。係到咗今日,我哋對宇宙嘅定律有咗更深刻嘅理解,我哋先會認為鍊金術係「偽科學」。我會形容而家人類對「人工智能」嘅理解,有啲似中世紀歐洲人對化學嘅理解,係一種「偽科學」。大家都想搵到方法點石成金,但從來都冇人成功過,但又唔知點解,好多人都抱住會成功嘅心態,屢敗屢試。

究竟走一條從來冇人成功過嘅路線,會唔會搵到真理?未搵到真理之前,唔會有人知道。「鍊金術」到「現代化學」係成功轉型嘅例子,但失敗嘅都唔少,冇人可以保證任何嘢。我哋而家知道一般物質係由原子構成,而唔係四大元素。但如果我生於中世紀,我想研究「化學」,我除咗跟當時嘅鍊金術士一齊 on99 咁研究四元素理論,仲可以點?我哋而家馬後炮就知道科學嘅演化歷程,但幾百年前唔會有人可以保證任何研究方向係正確,更加冇人保證研究會得到任何成果。但唔通唔做?唔做就咩都冇。有時,當人類嘅知識有限,就唯有相信啲唔理性嘅嘢。因為無論相信咩都好,都好過咩都唔信。

根本,人類連自己點樣學習都唔係好清楚。根本,人類都只不過係信埋啲濕鳩唔理性嘅嘢,信信下有個天才[10]發現咗啲奇怪嘢,大家先慢慢改觀。至於「天才」係點運作,大概冇咩人知道。可能佢都只不過係一個痴線佬/婆,只不過咁啱得咁巧佢啱咗啫。(都係嗰句,牛頓都玩過鍊金術)

所以,我唔知人類其實係點樣「學習」呢個世界未知嘅事物,我更加唔知電腦應該要點「學習」⋯⋯我更加更加識知點樣學習電腦點樣學習⋯⋯
可能因為,我太理性。
——-
[1] 聽落係咪好撚似知識論(epistemology)嘅問題呢!我先唔會侵犯嗰啲認真看待 Gettier Problem 嘅象牙燈塔看更⋯
[2] aka 笨柒
[3] 我只係指出呢啲事實同個結果無因果關係
[4] 咩 ICPC 呀、topcoder 呀、CodeJam 呀⋯⋯
[5] 留意係「work」,而唔係「冇錯」
[6] in a mad world only the mad are sane
[7] Second Edition, Stuart Russell, Peter Norvig;至於點解我講呢本書,唔係話我特別對本書有咩強烈感受,只係咁啱佢喺我枱面⋯⋯
[8] Deep Blue, Alpha Go 嗰啲
[9] 佢哋認為所有人都「應該」要用呢啲方法去諗嘢。唔用呢啲方法諗嘢嘅人,大概可以定義為「唔理性嘅人」,根據西方古哲,呢啲「人」其實唔係人,因為人類被定義為「理性嘅動物」。(所以,一開始搵個合適嘅定義真係好重要!)
[10] 好多天才都係痴線嘅

啱睇就Like埋我地個Facebook專頁
全職文字工作者、應用哲學家。對「邏輯一致性」、「系統複雜度」之類的偏門學問獨有心得。在美利堅合眾帝國邪惡資本主義集團的領導下,嘗試改變世界。

Leave a Comment

Your email address will not be published. Required fields are marked *