我為什么不在乎人工智能
有人聽說我想創(chuàng)業(yè),給我提出了一些“忽悠”的想法。他們說,既然你是程序語言專家,而現(xiàn)在人工智能(AI)又非常熱,那你其實(shí)可以搞一個(gè)“自動(dòng)編程系統(tǒng)”,號(hào)稱可以自動(dòng)生成程序,取代程序員的工作,節(jié)省許許多多的人力支出,這樣就可以趁著“AI 熱”拉到投資。
有人甚至把名字都給我想好了,叫“深度程序員”(DeepCoder = Deep Learning + Coder),還有人給我指出了這方向***的,吹得神乎其神的研究,比如微軟的 RubustFill ……
我謝謝這些人的關(guān)心,然而其實(shí)我并不在乎,也不看好人工智能?,F(xiàn)在我簡(jiǎn)單的講一下我的看法。
機(jī)器一樣的心
很多人喜歡鼓吹人工智能,自動(dòng)車,機(jī)器人等技術(shù),然而如果你仔細(xì)觀察,就會(huì)發(fā)現(xiàn)這些人不但不理解人類智能是什么,不理解人工智能有什么局限性,而且這些“AI 狂人”們的心,已經(jīng)嚴(yán)重的機(jī)械化了。他們或多或少的失去了人性,仿佛忘記了自己是一個(gè)人,忘記了人最需要的是什么,忘記了人的價(jià)值。這些人就像卓別林在 『大獨(dú)裁者』***的演講 里指出的:“機(jī)器一樣的人,機(jī)器一樣的心。”
每逢提到 AI,這些人必然聯(lián)想到“取代人類的工作”,“節(jié)省勞動(dòng)力開銷”。暫且不討論這些目標(biāo)能否實(shí)現(xiàn),它們與我的價(jià)值觀,從一開頭就是完全矛盾的。一個(gè)偉大的公司,應(yīng)該為社會(huì)創(chuàng)造實(shí)在的,新的價(jià)值,而不是想方設(shè)法“節(jié)省”什么勞動(dòng)力開銷,讓人失業(yè)!想一下都覺得可怕,我創(chuàng)造一個(gè)公司,它***的貢獻(xiàn)就是讓成千上萬的人失業(yè),為貪得無厭的人節(jié)省“勞動(dòng)力開銷”,讓貧富分化加劇,讓權(quán)力集中到極少數(shù)人手里,***導(dǎo)致民不聊生,導(dǎo)致社會(huì)的荒蕪甚至崩潰……
我不可想象生活在那樣一個(gè)世界,就算那將使我成為世界上最有錢的人,也沒有了意義。世界上有太多錢買不來的東西。如果走在大街上,我看不到人們幸福的笑容,悠閑的步伐,沒有親切的問候,關(guān)愛和幽默感,反而看見遍地痛不欲生的無家可歸者,鼻孔里充滿他們留下的尿騷味,走到哪里都怕有人搶劫,因?yàn)槿藗儗?shí)在活不下去了……
如果人工智能能夠成功的話,這也許就是***的結(jié)果。幸運(yùn)的是,有充足的證據(jù)顯示,人工智能是永遠(yuǎn)不會(huì)成功的。
人工智能的夢(mèng)想與現(xiàn)實(shí)
我也曾經(jīng)為人工智能熱心,我也曾經(jīng)把它作為“偉大的理想”。我也曾經(jīng)以為,有了“邏輯”和“學(xué)習(xí)”這兩個(gè)法(kou)寶(hao),機(jī)器總有一天會(huì)超越人類的智能。
十多年前,人工智能正處于它的冬天。我在清華大學(xué)的圖書館,找到了塵封已久的 Peter Norvig 的大作『 Paradigms of Artificial Intelligence Programming 』(PAIP),開始像考古學(xué)家一樣,逐一實(shí)現(xiàn)其中的各種經(jīng)典 AI 算法。PAIP 的算法側(cè)重于邏輯和推理,因?yàn)樵谒哪甏?,很?AI 研究者都以為人類的智能,歸根結(jié)底就是邏輯推理。他們天真地以為,有了一階邏輯,謂詞邏輯這些東西,可以表達(dá)“因?yàn)樗圆坏?rdquo;,機(jī)器就可以擁有智能。于是他們?cè)O(shè)計(jì)了各種基于邏輯的算法,專家系統(tǒng)(expert system),甚至設(shè)計(jì)了基于邏輯的程序語言 Prolog,把它稱作“第五代程序語言”。***,他們遇到了無法逾越的障礙,眾多的 AI 公司無法實(shí)現(xiàn)他們夸口的目標(biāo),各種基于“神經(jīng)元”的機(jī)器無法解決實(shí)際的問題,巨額的政府和民間投資化為泡影,人工智能進(jìn)入了冬天。
我就是在那樣一個(gè)冬天遇到了 PAIP,它雖然沒能讓我投身于人工智能領(lǐng)域,卻讓我迷上了 Lisp 和程序語言。也是因?yàn)檫@本書,我***次輕松而有章法的實(shí)現(xiàn)了 A* 等復(fù)雜的算法,并且理解到里面的真諦。也是因?yàn)? PAIP,我***次理解到了程序的“模塊化”是什么,我開始在自己的程序里使用小的“工具函數(shù)”,而不再擔(dān)心很多人憂心忡忡的“函數(shù)調(diào)用開銷”。PAIP 和 SICP 這兩本書,***導(dǎo)致了我投身于程序語言領(lǐng)域,并且有幸獲得這個(gè)領(lǐng)域鼻祖?zhèn)兊恼鎮(zhèn)鳌?/p>
在 PAIP 之后,我又迷了一陣子機(jī)器學(xué)習(xí)(machine learning),因?yàn)橛腥烁嬖V我,機(jī)器學(xué)習(xí)是人工智能的新篇章。然而我逐漸的意識(shí)到,所謂的人工智能和機(jī)器學(xué)習(xí),跟真正的人類智能,其實(shí)關(guān)系不大。相對(duì)于實(shí)際的問題,PAIP 里面的經(jīng)典算法其實(shí)相當(dāng)幼稚,復(fù)雜度很高,根本不可能解決大規(guī)模的實(shí)際問題。而“機(jī)器學(xué)習(xí)”這個(gè)名字,其實(shí)完全就是一個(gè)幌子。很多人都看出來了,機(jī)器學(xué)習(xí)說白了就是統(tǒng)計(jì)學(xué)里面的“擬合函數(shù)”,換了一個(gè)忽悠人的名字而已。
人工智能的研究者們總是喜歡抬出“神經(jīng)元”這類名詞來嚇人,喜歡跟你說他們的算法是受了人腦神經(jīng)元工作原理的啟發(fā),然而 AI 研究者,有幾個(gè)真的研究過人腦,解刨過人腦,拿它做過實(shí)驗(yàn),或者讀過腦科學(xué)的研究成果?***你發(fā)現(xiàn),幾乎沒有 AI 研究者真正做過人腦或者認(rèn)知科學(xué)的研究。著名的認(rèn)知科學(xué)家 Douglas Hofstadter 早就在接受采訪時(shí)指出,這幫所謂的“AI 專家”,對(duì)人腦和意識(shí)(mind)是怎么工作的,其實(shí)完全不感興趣,也從來沒有深入研究過,卻號(hào)稱要實(shí)現(xiàn)“通用人工智能”,這就是為什么 AI 直到今天都只是一個(gè)虛無的夢(mèng)想和騙錢的口號(hào)。
縱觀歷史上機(jī)器學(xué)習(xí)能夠做到的事情,無非是一些字符識(shí)別(OCR),語音識(shí)別一類的。各大公司叫得最響亮的 AI 技術(shù),無非是 Siri,Cortana,Google Assistant,Amazon Echo 一類。這些東西里面,到底有多少可以叫做“智能”的東西,我想用過他們的人都應(yīng)該明白。我每一次試用 Siri 都被它的愚蠢所折服,它可以讓你著急得想砸了水果手機(jī)。那另外幾個(gè),也沒有好到哪里去。很多人分不清“文字識(shí)別”和“語言理解”的區(qū)別。這些 OCR 和語音識(shí)別系統(tǒng),雖然能依靠統(tǒng)計(jì)的方法,知道你說的是哪些字,它們卻不能真正理解你在說什么。這就像程序語言里面“語法”和“語義”的差別。識(shí)別出語法很容易,要理解語義,是非常困難的。
我并不是說這些產(chǎn)品完全沒有價(jià)值。我用過 Siri 和 Google Assistant,我發(fā)現(xiàn)它們對(duì)于我唯一的價(jià)值,只是在開車的時(shí)候。因?yàn)殚_車時(shí)操作手機(jī)容易出事,所以我可以利用語音控制。比如我可以對(duì)手機(jī)說:“導(dǎo)航到最近的加油站。” 然而這些“個(gè)人助手”的用途,也就止于這里了。我根本不想在家里和公共場(chǎng)所使用它們,很簡(jiǎn)單的原因:我懶得說話,或者不方便說話。點(diǎn)擊幾下屏幕,我就可以精確地做到我想要的事情,這比說話省力很多,也精確很多。
很多人看到 AlphaGo 的勝利,以為所謂 Deep Learning 終究有一天能夠?qū)崿F(xiàn)人類級(jí)別的智能。在之前的一篇文章里,我已經(jīng)指出了這是一個(gè)誤區(qū)。很多人以為人覺得困難的事情(比如圍棋),就是體現(xiàn)真正人類智能的地方,然而事實(shí)并不是那樣。我問你,心算除法(23423451345 / 729)難不難?這對(duì)于人是很難的,然而任何一個(gè)傻電腦,都可以在 0.1 秒之內(nèi)把它算出來。圍棋,國(guó)際象棋之類也是一樣的原理。這些機(jī)械化的問題,根本不能反應(yīng)真正的人類智能。
自動(dòng)編程是不可能的
現(xiàn)在回到有些人最開頭的提議,實(shí)現(xiàn)自動(dòng)編程系統(tǒng)。我現(xiàn)在可以很簡(jiǎn)單的告訴你,那是不可能實(shí)現(xiàn)的。微軟的 RobustFill 之類,全都是在扯淡。我對(duì)微軟最近乘著 AI 熱,各種煽風(fēng)點(diǎn)火的做法,表示少許鄙視。不過微軟的研究員也許知道這些東西的局限,只是國(guó)內(nèi)小編在夸大它的功效吧。
你仔細(xì)看看他們舉出的例子,就知道那是一個(gè)玩具問題。人給出少量例子,想要電腦完全正確的猜出他想做什么,那顯然是不可能的。很簡(jiǎn)單的原因,例子不可能包含足夠的信息,精確地表達(dá)人想要什么。最最簡(jiǎn)單的變換也許可以,然而只要多出那么一點(diǎn)點(diǎn)例外情況,你就完全沒法猜出來他想干什么。就連人看到這些例子,都不能知道另一個(gè)人想干什么,機(jī)器又如何知道?這根本就是想實(shí)現(xiàn)“讀心術(shù)”。
所以讓機(jī)器能夠猜出人想要干什么,等于要求機(jī)器具有“讀心術(shù)”,那根本就不可能。對(duì)于如此***的問題,都不能100%正確的解決,遇到稍微有點(diǎn)邏輯的事情,就更沒有希望了。所以 RobustFill 所能做的,也就是讓這種極其***的玩具問題,達(dá)到“接近 92% 的成功率”而已了。另外,這個(gè) 92% 是用什么標(biāo)準(zhǔn)算出來的,也很值得懷疑。
任何一個(gè)負(fù)責(zé)的程序語言專家都會(huì)告訴你,自動(dòng)生成程序是根本不可能的事情。因?yàn)?ldquo;讀心術(shù)”是不可能實(shí)現(xiàn)的,所以要機(jī)器做事,人必須至少告訴機(jī)器自己“想要什么”,然而表達(dá)這個(gè)“想要什么”的難度,其實(shí)跟編程幾乎是一樣的。實(shí)際上程序員的工作,不就是告訴電腦自己想要它干什么嗎?最困難的工作(數(shù)據(jù)結(jié)構(gòu),算法,數(shù)據(jù)庫(kù)系統(tǒng))已經(jīng)被固化到了庫(kù)代碼里面,然而表達(dá)“想要干什么”這個(gè)任務(wù),是永遠(yuǎn)無法自動(dòng)完成的。
所以,程序員其實(shí)是一種不可被機(jī)器取代的工作。雖然好的編程工具可以讓他們工作起來更加舒心,任何試圖取代程序員工作,節(jié)省編程勞力開銷,克扣程序員待遇,試圖把他們變成“可替換原件”的做法(比如 Agile),最終都會(huì)倒戈,使得雇主收到適得其反的后果。同樣的原理也適用于其它創(chuàng)造性的工作:廚師,發(fā)型師,畫家,……
傻機(jī)器的價(jià)值
既然我決定不蹚人工智能這攤渾水,那我要怎么創(chuàng)業(yè)呢?很簡(jiǎn)單,我覺得人其實(shí)不需要很“智能”的機(jī)器。比如,有些公司想研制機(jī)器仆人,可以自動(dòng)打掃衛(wèi)生做家務(wù),我覺得這問題幾乎不可能解決,還不如直接請(qǐng)真正智能的——阿姨來幫忙。給她配備更好的工具和通信設(shè)施,讓她工作不累又方便,讓主人家也放心,那豈不是兩全其美?哪里需要什么智能機(jī)器人,難度又高還不好用,還危害社會(huì)。
所以呢我覺得,“傻機(jī)器”才是對(duì)人最有價(jià)值的。有許許多多對(duì)人有用的傻機(jī)器,在等待我們?nèi)グl(fā)明。這些機(jī)器設(shè)計(jì)起來雖然需要靈機(jī)一動(dòng),然而實(shí)現(xiàn)起來難度卻不高,給人帶來便利,經(jīng)濟(jì)上見效也快。這些東西不對(duì)人的工作造成競(jìng)爭(zhēng),反而可能制造更多的就業(yè)機(jī)會(huì),可以說是利國(guó)利民。利用人的智慧,加上機(jī)器的暴力,讓勞動(dòng)人民又省力又能掙錢,才是最合理的發(fā)展方向。
所以設(shè)計(jì)新的,造福于人的傻機(jī)器,應(yīng)該是我創(chuàng)業(yè)的目標(biāo)。