01引言:計算機≠人工智能
2019世界人工智能大會在開幕式上,“鋼鐵俠”馬斯克堅定地表示:“計算機已經在很多方面比人更聰明了,人們和計算機下圍棋像你和宙斯鬥争一樣沒有希望的,我們差太遠了”,“人類智力的追求在越來越少的方面比計算機好,每個方面以後都會被計算機越來越多的超越,這是肯定的”。
對此,“太極拳七段”馬老師則以中國人特有的智慧,風淡雲輕地辯駁道:“和電腦比賽下棋是愚蠢的,隻有愚蠢的人才會跟汽車比誰跑得快”,“人類發明了計算機,我從來沒有看到計算機發明一個人”,“根據科學,人從來無法創造一個比自己更聰明的動物”。
當然,馬斯克對馬雲的觀點也“非常不同意”。兩人孰對孰錯呢?
我們先不說将來AI會不會超越人類,隻說兩位大佬都用到了同一個詞——“計算機”,看來兩位“大馬哥”都把AI等同于計算機了。如果按照嚴格的科學定義,把計算機視為一台嚴格遵照機械程序執行任務的圖靈機,那麼,計算機究竟能不能模仿人類的全部能力,這在理論上還是存在重大争議的。計算機≠人工智能,這是AI界的主流看法,但人們往往把這兩個概念混為一談。
計算機跟人工智能的關系,遠比人們通常理解的更複雜。一部計算機發展史,就是一部人工智能的逐夢史。但現實和夢想之間,卻隔着深不可測的海洋。
02圖靈機的創世紀
20世紀後半葉,計算機技術的廣泛應用,個人計算機(PC)的全球普及,這或許是人類曆史上意義最為深遠的技術革命,托夫勒稱之為“第三次浪潮”,人類社會繼農業階段、工業階段後,進入到了信息化階段。通用計算機(圖靈機)的發明,就是這一偉大曆史轉折的關鍵點。
說到計算機,其實人類很早就使用各種計算裝置了。從中國古代的算盤,古希臘安提凱希拉天文計算裝置,到17世紀帕斯卡和萊布尼茲設計的“加法機”,19世紀巴貝奇設計的“差分機”,再到20世紀上半葉IBM早期推出的各種機械?電子數字計算機,這些計算裝置無一例外有一個共同特點,即它們都是專用計算機而非通用計算機。也就是說,它設計用來做什麼,就隻能做什麼,别的什麼都不能做,其程序和計算是分離的。
所以,如果要解決不同的計算任務,就得設計、制作不同的計算裝置,硬件、軟件都得重新再做。但人類要解決的計算任務是源源不斷、無窮無盡的,原則上就得做無窮多台不同的計算機才行。所以,專用計算機是不能普及化的,制作成本就會非常高,隻能用于特殊的計算任務,或工業與軍事上的重要目标。
而通用計算機的出現就改變了這種技術瓶頸,使得計算機普及化成為可能。什麼是通用計算機?簡單說,就是一台可以完成任何計算任務的機器。這樣一來,我們隻要在機器内部裝入不同的計算程序,它就可以執行任何計算任務,即隻需更換軟件,毋須更換硬件。現在我們的個人電腦,既可以聽音樂、玩遊戲、看視頻,也可以做數據分析、文字處理、美術設計,搜索、網購、通訊、遠程控制等等,它幾乎無處不在,無所不能,一台電腦在,天下任我行。所以,從專用計算機到通用計算機,這是一個曆史性的跨越,人類從此進入了計算機時代。
通用計算機的發明,主要歸功于兩位天才數學家——圖靈和馮·諾依曼。圖靈被稱為“計算機科學之父”, 他做出了通用計算機的數學模型,這就是永垂青史的“圖靈機”;馮·諾依曼被稱為“現代計算機之父”,在圖靈機的基礎上,他進一步做出了通用計算機的工程構架,這就是大名鼎鼎的“馮·諾依曼體系”。
直到今天,所有計算機都還嚴格遵循着圖靈和馮·諾依曼的理論設計。通用計算機比專用計算機究竟好在哪呢?我們說一個經典的故事。世界上第一台電子計算機是由莫希利、埃克特在1946年設計的ENIAC(譯成中文是“電子數字積分和計算機”),由于它缺乏通用性、可變性與存儲程序的機制,因此耗電多、費用高就成為其不可承受之重,而程序與計算分離是其緻命的缺陷。據說,當年隻要ENIAC一開動,整個費城的燈光都會黯然失色。後來,馮·諾依曼受軍方委托,對ENIAC方案進行改進,他根據圖靈機的構思,提出了一種新的計算機設計方案EDVAC(譯成中文是“離散變量自動電子計算機”),完美地解決了ENIAC的所有難題。這就是著名的“諾依曼機”,也是世界上第一台通用電子計算機。
諾依曼機最大的特點就是“程序内存”,也就是說,它的程序被處理成數據裝進了計算機内部,所以計算機就能自動依次執行這些指令,不需要從外部接線來執行指令了。譬如像ENIAC,其程序和計算是分離的,每次更換新的指令時,需要把數百條線路重新接到機器上去,一群接線員要手忙腳亂地忙活幾天,才能進行幾分鐘的運算,這樣一來,效率就太低了,能耗非常高。根據諾依曼機的設計方案,隻要程序能夠内存,它就可以做成芯片裝進計算機裡了,軟件工業由此而興,這是現代計算機的核心。目前,從就業人數上看,全球硬件工程師人數隻有100萬左右,但軟件工程師人數卻過億,差距非常大。
從專用計算機到通用計算機,不僅是科學的一次飛躍,也是科技的一次革命。如果說蒸汽機是18世紀的通用技術,電力是19世紀的通用技術,那麼計算機就是20世紀的通用技術,它不僅改變了人類的社會組織行為,也改變了人類的日常生活方式。
03機器學習的艱難崛起
那麼,計算機又是怎麼跟人工智能挂上鈎的?如果一台通用計算機的功能非常強大,可以用它來模拟人類的所有行為,這個研究方向就是人工智能。按照“人工智能之父”約翰·麥卡錫的解釋就是:“(我們的目标)是遠離對人類行為的研究,将計算機作為解決某種難題的工具。這樣一來,人工智能就會成為計算機而非心理學的分支學科。”
計算機和人工智能的思想先驅都是圖靈,他最早提出了用計算機來模拟人類思維的設想。1936年,24歲的圖靈就寫出了他的成名作《論可計算數及其在可判定性問題上的應用》,給出了“機械計算”的嚴格定義,這就是“圖靈機”的概念。1950年,圖靈發表了AI史上的經典論文《計算機器與智能》,開篇就提出“機器能夠思維嗎?”這一直指本質的問題,文中他特意說明,機器就是指“數字計算機”,并設計了一個模仿遊戲來驗證機器是否具有思維能力,這就是著名的“圖靈測試”。機器能否具備真正的思維能力,這就是圖靈給我們留下的思想謎題。
整個人類科學史,差不多就是一部天才們的獨創思想史,在浩瀚的宇宙中,其思想光芒猶如璀璨星辰,指引着人類探索的方向。圖靈的天才思想激發了後來數學家們對設計“智能機器”的強烈願望,這就是人工智能的源起,就像麥卡錫定義的那樣:“人工智能是研制智能機器的一門科學與技術”。
二戰後,在學術界和工業界的共同推動下,AI技術迅速崛起,形成了第一波AI熱。1956年,由麥卡錫和馬文·明斯基兩人發起,舉辦了意義深遠的達特茅斯會議,與會者全是當時計算機科學、認知科學和信息科學的頂尖高手,信息論創始人香農也參加了,IBM贊助了本次會議。麥卡錫在會上首次提出了“人工智能”這一術語,标志着這一門學科的正式誕生。
剛開始,大家對AI技術抱有很大的期望和信心,認為很快就能設計出智能機器。1967年,在接受記者采訪時,明斯基還信誓旦旦地表示:“再過3∽8年的時間,我們将創造一台能夠達到普通人類總體智力水平的機器。我指的是一台能夠閱讀莎士比亞著作,給車上潤滑油,會耍手腕,能講笑話,而且還會跟人打上一架的機器。那時,機器能以令人驚奇的速度自學。幾個月後以後,它将達到天才水平,而再過上幾個月,它的能力将不可估量。”當時這番話幾乎是天方夜譚,即使現在也還是遙不可及的目标。
AI領域最先取得重大進展的是機器證明(ATP)。1959年,美籍華裔數學家王浩用計算機證明了羅素《數學原理》中的350條定理,隻用了9分鐘,但羅素和懷特海合寫這部書卻花了整整10年的時間。在棋類遊戲上,機器也表現出了很高的“智能”,1997年,IBM超級電腦“深藍”戰勝國際象棋世界冠軍卡斯帕羅夫,這也是AI史上的一個标志性事件。但除了專家系統,早期AI技術做得都不成功,尤其是在機器翻譯、圖像識别、語音識别等這些具有商業價值的項目上,當時AI技術根本無法處理,這就導緻從20世紀70年代到2005年這長達30多年的“AI寒冬”。
為什麼會這樣?就是大家的研究方向出了偏差。當時AI的研究方法,主要有“符号主義”和“聯結主義”這兩種觀點。符号主義主張,如果我們把計算機的編程做得非常全面、強大,那麼用純粹邏輯程序的方法,機器就能模拟人類的全部行為,參加達特茅斯會議的科學家幾乎都是符号主義的擁趸者。聯結主義走的卻是另外一條技術路線,它主張模拟人類的神經網絡,通過機器學習的方法來實現AI的全部目标。
有意思的是,在漫長的“AI寒冬”裡,符号主義曾是絕對的主流,但後來卻逐漸銷聲匿迹了,而聯結主義是少數派,隻有它熬過了嚴寒,最終迎來了燦爛盛放的春天。
為什麼會這樣?現在回過頭再去看這段曆史,就比較清楚了:符号主義是希望把人類行為的所有問題都設計好,編程好,這是一種确定性的機器認識過程,由一台功能強大的通用計算機就能實現;而聯結主義并不是事先就把所有問題都設計好,編程好,而是通過模仿神經元聯結方式,去模拟人類學習過程,這就是一種不确定性的機器認識過程,但它也暗示了,神經網絡可能根本就不是圖靈機。簡單講,就是學習機可以自動編程,而計算機隻能人工編程,兩者是不同的概念。
符号主義和聯結主義的根本分歧點在于:我們根本不可能事先就把所有問題都設計好,編程好,“萬能算法”是不存在的,電腦隻能像人腦那樣,通過模拟複雜的神經網絡聯結方式,激發出某種“超計算”的自組織行為,它才可能具備真正的思維能力。
其實,在圖靈《計算機器與智能》這篇開創性的論文中,就注意到了這個問題,在結尾處還專門寫了一章來讨論“學習機”,他指出學習機和數字計算機是有重大區别的:數字計算機的程序是固定的,運算過程也是确定的,而學習機是随機的,運算規則也可以改變。所以,當我們說“基于神經網絡的機器學習不是純粹的圖靈機”時,希望大家千萬不要大驚小怪,因為圖靈自己早就預示過這種結果。
我們再來說基于神經網絡的機器學習,其靈魂人物是W.H.匹茨和G.欣頓兩人,就像圖靈和馮·諾依曼是計算機的靈魂人物一樣。匹茨發明了神經網絡,欣頓進一步完善了它,并在“AI寒冬”中堅持這個研究方向30多年,最終取得曆史性的成功。
匹茨是一位拉馬努金式的天才。1943年,匹茨和W.S.麥卡洛克首次提出了“神經網絡”的概念,這是一個優美的數學理論,他們采用了鍊式環狀的卡爾納普語言網絡系統,來描述神經元各種聯結方式,這是一項開創性的工作,具有非凡的想象力。當時麥卡洛克是芝加哥大學神經生理學教授,而匹茨隻是一個在芝加哥大學旁聽的流浪少年,還不到20歲,但他通過自學已精通了模數學。在匹茨-麥卡洛克模型的基礎上,1957年,羅森布拉特提出了“感知機”模型,這是一個具備初級學習能力的單層神經網絡,它可以根據信号彙總強度和阈值之間的誤差,來重新調整各項加權,從而達到理想的輸出效果。走出第一步看似簡單,但這卻是“開天辟地”的關鍵一步,在科學探索上,提出問題比解決問題更重要,開辟新方向比形成體系化更重要。
但遺憾的是,這種單層神經網絡,連最簡單的XOR問題——即判定一個兩位的二進位制數是否僅包含0或1——都不能解決,所以它基本上沒有實際用途。直到1974年,欣頓提出多層神經網絡模型後,才很好地解決了XOR問題。這一年,還是哈佛大學博士生的沃博斯首次提出了反向傳播算法(即BP算法),1986年,欣頓又重新發現這一方法,并首先利用廣義反向傳播算法來訓練多層神經網絡,至此,基于多層神經網絡的深度學習方法,終于登上了AI的曆史舞台。但當時正值“AI寒冬”,這一方法也被“雪藏”了近30年。如果不是欣頓等少數人的堅持,深度學習早就被“凍死”了,哪裡還會迎來春暖花開呢?
有趣的是,欣頓是布爾代數創始人G.布爾的玄孫,布爾代數是計算機開關電路設計的數學基礎,神經網絡看來又成為了學習機開關電路設計的數學基礎,欣頓艱難的理論堅持,或許就來源于靈魂深處對“布爾家族”的那份榮譽感。
欣頓後來回憶說,1970年代,他剛提出分層神經網絡的想法時,大家都不認可,“傳統的思路無疑更受關注和信任”,導師對他也很不看好,這是最艱難的時候。“每周我和導師都會發生激烈争辯,我一直堅持自己的想法,對導師說,‘好吧,再給我六個月,我會證明給你看的’。然後六個月過去了,我會說‘快了快了,再給我半年時間吧’。之後,我索性說‘再給我五年吧’,人們都說,你已經做了五年,但它并不管用。”但欣頓始終堅持自己的思想,熬過了将近30年的漫漫寒冬,這一理論才獲得舉世公認。
2005年是AI史上的關鍵一年,欣頓提出了深度學習神經網絡的整體構架,這一成就堪比馮·諾依曼體系。随着互聯網和大數據的興起,深度學習也很快獲得了富有成效的商業應用,像傳統AI技術不能處理的機器翻譯、圖像識别和語音識别等難題,也取得了突破性的進展。因為,訓練神經網絡需要海量的數據,這個條件在前互聯網時代是不存在的。
現在,谷歌神經機器翻譯(GNMT)已經接近人工翻譯的水平,IBM 開發的超級計算機“沃森”也以絕對優勢赢得了人機辯論賽。特别是,AlphaGo讓深度學習一戰成名,舉世震驚,也讓大家看到了神經網絡技術的無限潛力。欣頓也被人們譽為“深度學習教父”,成為AI界的神級存在,他後來加入了谷歌公司,現在是谷歌副總裁,2017年他被彭博社評為改變全球商業格局的50人之一。深度學習已俨然成為當前AI研究的絕對主流,廣泛應用到自動駕駛、物聯網構架、醫療診斷、自然語言理解、科研數據分析、仿生機器人等多個商業領域,推動了全球性的AI熱潮。很多人相信,21世紀将是AI時代。
就像深度學習另一位先驅者Y.本希奧總結的:“在經曆了人工智能的寒冬之後,深度學習神經網絡的強勢回歸不僅僅代表着技術上的勝利,也給整個科學領域上了一課。回顧人工智能的曆史,我們必須意識到,哪怕一些好的想法受到當時的技術狀态限制而看似前景渺茫,我們也不應放棄。鼓勵多樣化的科研課題與方向,或許有一天就會讓一時處于低谷的領域迎來複興。”看上去很美,智能機器似乎即将美夢成真,但人們的懷疑卻從未停止過。
04深度學習的理論極限
神經網絡究竟是什麼?它是計算機,還是學習機?深度學習的工作原理是什麼?這些都還是未知之謎。AlphaGo的發明者戴密斯·哈薩比斯博士在烏鎮接受記者采訪時說過,他并不知道AlphaGo是如何決定下一步棋的。德州農工大學數學家、FAIR 的訪問科學家 Boris Hanin 說得更直接:“最接近事實的情況是,我們對神經網絡的實際運作方式幾乎一無所知,也不知道什麼才是真正有洞察力的理論。”欣頓在谷歌 I/O 2019 大會上也表示過,沒有人知道神經網絡究竟是如何工作的。
盡管深度學習現在看起來紅紅火火,風光無限,但最近人們對它的反思和質疑也日漸增多起來,大家聚焦點都在一個地方:它本質上隻是一種統計方法,并未形成真正的理解能力,因此它還不具備像人類那樣學習與認識能力。
欣頓本人其實對深度學習做過許多反思,對反向傳播這一核心算法,他表示“深感懷疑”,建議“把它全部抛掉,從頭再來”,指出要讓神經網絡變得更聰明,就必須更好地發展“無監督學習”。
楊立昆(Yann LeCun)是Facebook 首席 AI 科學家,他發明了著名的卷積視覺神經網絡,并和欣頓、本希奧共獲2018年度圖靈獎,這是深度學習的三位先驅者。他非常明确地指出過深度學習的局限性,譬如,需要太多的訓練數據,不能推理,也不具備常識,“這些深度學習系統不知道如何整合抽象知識”。
他進一步解釋說,“如果你思考一下動物和嬰兒是如何學習的,在生命的最初幾分鐘、幾小時、幾天裡,學很多東西都學得很快,以至于看起來像是天生的,但事實上,他們不需要硬編碼,因為它們可以很快學會一些東西。” 他承認,目前還不清楚哪些途徑可以幫助深度學習走出低谷。
清華大學人工智能研究院院長張钹院士也認為,目前基于深度學習的AI技術已觸及天花闆,它做得效果最好的是棋類遊戲、圖像識别和語音識别這三個領域,但在其他領域很難再出現像AlphaGo這樣的奇迹了。他進一步分析說,深度學習要發揮出潛力,必須具備五個條件,即“充分的數據”,“确定性”,“完全的信息”,“靜态環境”,“特定領域”,實際上,隻要符合這些條件,機器還是在“照章辦事”,并不具有“靈活性和創造性”。因此他斷言:“現在的深度學習本質上是基于概率統計”,“這個方法本身通常無法找到‘有意義’的規律,它隻能找到重複出現的模式,也就是說,你光靠數據,是無法達到真正的智能。”
大佬們講了這麼多深度學習的缺點和缺陷,歸根結底,其實就是一條:深度學習隻是專用學習機,而不是通用學習機。譬如,你做了一個下圍棋的多層神經網絡,就不能拿來下象棋;做了一個寫詩的深度學習算法,就不能拿來譜曲。也就是說,有多少項學習任務,原則上就得做多少台學習機。這樣一來,我們又陷入到圖靈之前專用計算機的那種困境中了,因為人類面臨的學習任務也是源源不斷、無窮無盡的,不可能去做無窮多台不同的學習機。
大道至簡,隻有專用計算機而沒有通用計算機,就做不出來真正的計算機;隻有專用學習機而沒有通用學習機,也做不出來真正的人工智能。我們還缺乏一種通用學習機的基礎理論,這是當前AI研究面臨的最大“瓶頸。”
05從通用學習機走向通用人工智能
但是,現在人們講得最多的是“通用人工智能”(AGI)這個概念,而不是“通用學習機 ”這個概念。哈薩比斯博士在劍橋大學演講時就說過,其團隊的最終目标就是要讓AlphaGo實現AGI,即使用一套單獨的、靈活的且具有變通能力的算法,就能夠真正像人腦系統那樣,僅通過原始數據就能從零開始學習如何掌握任意一項任務。
人們對AGI的一般定義是:一種可以模仿人類所有行為的AI,也就是說,機器可以執行人類所有能夠完成的任務。這是一種強AI的定義。一般認為,AGI不可能由通用計算機來實現,但它可以由通用學習機來實現。因為,電腦和人腦都一樣,絕不可能把所有任務的程序都事先設計好,編程好,必須從數據和經驗中去不斷學習,不斷糾偏糾錯、歸納概括,最終自己編程來掌握某項任務。
最早提出“通用學習機”這個概念的,是美國俄亥俄州立大學數學博士熊楚瑜,目前AI界大概隻有20幾個人在做這件事情,屬于極少數派。但如果跟“通用計算機”遙相呼應,“通用學習機”倒是相得映彰的一個新概念,也相當簡潔優美。什麼是通用學習機?簡單說,就是從歸零狀态開始,通過數據輸入,能夠對任何學習任務進行自動編程的機器。
所以,我們把機器分成兩類,一類是計算機,是人工編程的,其程序是固定好的,一類是學習機,是自動編程的,其程序是可以改變的。深度學習也是從歸零狀态開始,不斷輸入數據,不斷調整權重參數,通過逐層梯度下降的反向傳播,最終收斂到一個最佳匹配的概率分配函數上。所以,深度學習的程序是在不斷修改、不斷完善的,它不再是一台計算機,而是一台學習機。
無論多麼複雜的機器行為,均有其基本的數學原理。下面,我們就用一個最簡單的數學模型來說明計算機和學習機的區别。
無論計算機還是學習機,都是一台信息處理器M,當對M輸入一個數據x,經内部處理後,M就會輸出一個數據y。所謂編程,一般是分兩步走:首先,我們要建立起輸入x和輸出y之間的一種函數關系y=f(x),這一步就叫“數學建模”;然後,就是來求解這個函數f,即用一個圖靈機來解這個方程f,如果f有解,那麼在有限步驟内,圖靈機肯定就會獲得确定的結果,我們把這些有限步驟寫成代碼,這一步就叫“編程”,機器就會按照固定程序來機械地進行運算了。
但是,機器行為的複雜性在于:并非所有的任務都可以數學建模,即建立起輸入和輸出之間一種确定的函數關系;也并非所有的函數都可求解,即有些任務可以數學建模 ,但卻無法求解,寫成代碼形式。
所謂計算機,就是其模函數f和代碼都是人工設計好的,機器按照固定程序進行運算就行。而所謂學習機,其模函數f并不是确定的,而是要根據輸入和輸出的匹配關系來逐步調整,當最終調整到位時,機器就會确定一個模函數并寫成代碼,這就是機器的自動編程。專用學習機隻能建立、求解某一特殊類型的模函數,而通用學習機可以建立、求解任何類型的模函數。
如果我們能把人工編程這一套機制裝進機器内部,讓機器通過自我學習,形成自動編程的能力,我們認為機器就具備了真正的思維能力,這是人工智能的本質。從專用計算機到通用計算機,從通用計算機再到專用學習機,從專用學習機再飛躍到通用學習機,這就是近百年計算機和人工智能發展走過的崎岖道路。
曆史總是驚人地相似,我們已超越了圖靈時代,正處在一個巨大的曆史轉折點上。就像圖靈提出通用計算機的數學模型,開辟了20世紀人類的計算機時代,我們隻有提出通用學習機的數學模型,給出AGI工程構架體系,21世紀人類才能真正邁進人工智能時代。通用學習機就是AGI的“圖靈機”。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!