人工智能70年,研究者們最不愿意面對的慘痛教訓(xùn)是……
本文轉(zhuǎn)載自公眾號“讀芯術(shù)”(ID:AI_Discovery)
自1956年達(dá)特茅斯學(xué)院那場著名會議以來,人工智能研究走過了這么多年的旅途,經(jīng)歷許多高峰也走過很多低谷。前事不忘后事之師,這期間產(chǎn)生了很多經(jīng)驗教訓(xùn)需要我們反復(fù)學(xué)習(xí),而最重要的一條教訓(xùn)卻是很多研究者很難接受的。
從70年的人工智能研究中,我們得出的較大教訓(xùn)是,最大化利用計算能力的一般方法終究是最有效的方法,且具有很大優(yōu)勢。其根本原因在于摩爾定律,或者更確切地說,摩爾定律使單位計算成本持續(xù)呈指數(shù)級下降的現(xiàn)象得以推廣。
大多數(shù)人工智能研究都是在智能體可用計算恒定的情況下進(jìn)行的,在這種情況下,利用人類知識將是提高性能的唯一方法。這不可避免地需要大量計算,花費的時間也會比常見的研究項目稍長一些。為了在短期內(nèi)取得長足的進(jìn)展,研究人員試圖利用該領(lǐng)域已有的人類知識,但從長遠(yuǎn)來看,真正有用的只有計算。
這兩者無需對立,但在實踐中它們卻往往如此。花時間研究這一個,自然會忽略另一個,這有點像投資中的心理承諾。人類知識方法容易復(fù)雜化,不利于采用計算的一般方法發(fā)揮比較大的作用。很多例子表明人工智能研究人員對這一慘痛教訓(xùn)認(rèn)識太晚,其中一些最典型例子會對我們有所啟發(fā)。
在1997年國際象棋人機(jī)大戰(zhàn)中,擊敗世界冠軍加里·卡斯帕羅夫的算法是以大量深度搜索為基礎(chǔ)的。當(dāng)時,大多數(shù)計算機(jī)國際象棋研究人員對此沮喪不已,畢竟他們一直都在探索各種方法,這些方法利用的都是人類對國際象棋特殊結(jié)構(gòu)的理解。
當(dāng)有事實充分證明,使用特殊硬件和軟件的這種相對簡單的基于搜索的算法要更為有效時,這些以人類知識為基礎(chǔ)的國際象棋研究人員就輸不起了。他們狡辯“暴力”搜索這次可能贏了,但這不是通用的策略,而且這無論如何不是人們下國際象棋的方法。這些研究人員希望基于人類知識的方法獲勝,但結(jié)局令他們失望了。
計算機(jī)圍棋也有類似的研究進(jìn)展模式,只是晚了20年。最開始人們通過利用人類知識或游戲特性,盡很大的可能避開搜索,可一旦搜索被大規(guī)模有效應(yīng)用,所有努力都成了徒勞。
同樣重要的是學(xué)習(xí),即通過自我對弈(self-play)來學(xué)習(xí)價值函數(shù)(就像在許多其他游戲甚至國際象棋中一樣,雖然這招在1997年第一次擊敗世界冠軍中沒有發(fā)揮太大用處)。通過自我對弈來學(xué)習(xí)和通用學(xué)習(xí)就像搜索,可以實現(xiàn)大量計算。
搜索和學(xué)習(xí)是在人工智能研究中利用大量計算的兩種最重要技術(shù)。計算機(jī)圍棋就像計算機(jī)象棋一樣,研究人員最初是想使用人類的理解力來達(dá)成目的,但很久以后他們不得不接納了搜索和學(xué)習(xí),這才取得了更大的成功。
在語音識別領(lǐng)域,早在上世紀(jì)70年代,美國國防部高級研究計劃局就發(fā)起了語音識別競賽。參賽作品利用了許多使用人類知識的特殊方法,例如利用詞匯知識、音素知識、人類聲道知識等等。另一方面,基于隱馬爾可夫模型(HMMs)的新方法本質(zhì)上更具統(tǒng)計性,計算量也更大。
統(tǒng)計方法再次戰(zhàn)勝了以人類知識為基礎(chǔ)的方法,導(dǎo)致自然語言處理領(lǐng)域發(fā)生重大變化。經(jīng)過幾十年的發(fā)展,統(tǒng)計和計算逐漸占據(jù)了該領(lǐng)域的主導(dǎo)地位,最近語音識別領(lǐng)域中深度學(xué)習(xí)的興起就是朝著這一方向邁出的最新一步。深度學(xué)習(xí)方法更少地依賴于人類知識而更多地使用計算,加上學(xué)習(xí)大量的訓(xùn)練集,這樣創(chuàng)造出的語音識別系統(tǒng)要比原來的好得多。
就像在游戲中一樣,研究人員總是試圖讓系統(tǒng)按照他們自己的思維方式運行。他們試著將知識放入系統(tǒng)中,但當(dāng)根據(jù)摩爾定律,大量計算變得可行,有效利用計算的方法也找到之后,這最終被證明是適得其反的,同時會極大地浪費了研究人員的時間。
計算機(jī)視覺領(lǐng)域也有類似的模式。早期的方法認(rèn)為視覺是搜索邊緣、廣義柱體或者通過SIFT特征搜索,但今天這些觀點都被拋棄了?,F(xiàn)代的深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)只使用卷積的概念和某些不變性,這些好用得多。
這是一個重要的教訓(xùn)。我們不斷犯著同樣的錯誤,始終沒能徹底了解人工智能領(lǐng)域。想要避免再次犯錯,就必須弄明白是什么導(dǎo)致了錯誤的發(fā)生。從長遠(yuǎn)來看,以我們的思維方式來構(gòu)建系統(tǒng)是行不通的,這是必須吸取的慘痛教訓(xùn)。
這一慘痛教訓(xùn)來源于歷史觀測:人工智能研究人員經(jīng)常試圖將知識構(gòu)建到智能體中,這在短期內(nèi)總是有用的,也令研究者個人感到滿意。但從長遠(yuǎn)來看,這種方法是停滯不前的,甚至?xí)璧K進(jìn)一步的發(fā)展。通過基于搜索和學(xué)習(xí)的規(guī)模計算這一相反的方法,研究人員最終取得了突破性進(jìn)展。
這樣的成功略帶苦澀,而且往往難以被完全接受,這種成功不是通過一種受人支持、以人為中心的方法獲得的。
我們應(yīng)該從慘痛教訓(xùn)中學(xué)到的是,通用方法有巨大的威力,即使可用計算變得非常巨大,這些方法也會隨著計算量的增加而不斷擴(kuò)展,搜索和學(xué)習(xí)似乎正是兩種以這種方式隨意擴(kuò)展的方法。
我們應(yīng)該學(xué)到的第二點是:思想的內(nèi)容實際上是極其龐雜的。我們不該再用簡單方法去探尋思想內(nèi)容,例如思考空間、物體、多智能體或?qū)ΨQ性。這些都是外部世界的一部分,而外部世界是任意的、本質(zhì)上是復(fù)雜的。它們不該被固化,因為它們的復(fù)雜性無窮無盡。
相反,需要構(gòu)建的只有可以發(fā)現(xiàn)和捕獲這種任意復(fù)雜性的元方法。這些方法的關(guān)鍵在于,它們可以獲取很好的近似值,但這種捕獲應(yīng)該由我們的方法來完成,而不是我們自己。人工智能體要做的是像人類一樣去發(fā)現(xiàn),而不是儲存我們的發(fā)現(xiàn)。在人類發(fā)現(xiàn)的基礎(chǔ)上進(jìn)行構(gòu)建會令人更難看清發(fā)現(xiàn)過程是如何完成的。
70多年的探索讓這些事實越來越清晰地浮現(xiàn)在研究人員的眼前,即便再不愿面對,也需要認(rèn)清這些現(xiàn)實了。避免犯錯的方法是面對錯誤。