今年GPT的破圈,讓AI又添了一波熱度,實(shí)踐的AI走的非常的穩(wěn)固。然而回過(guò)來(lái)看過(guò)去十年的機(jī)器學(xué)習(xí)理論的發(fā)展,好像沒(méi)有對(duì)AI的發(fā)展帶來(lái)任何幫助,所以AI還需要理論嗎?
最近,有幾個(gè)朋友以不同的方式跟我表達(dá)了同一個(gè)意思:過(guò)去十年,機(jī)器學(xué)習(xí)理論沒(méi)有給AI的發(fā)展帶來(lái)任何幫助,它只是個(gè)理論圈自?shī)首詷?lè)的玩具。
這個(gè)說(shuō)法當(dāng)然存在夸張成分,但是它背后的含義卻讓人難以辯駁。如果我們把AI頂會(huì)過(guò)去10年90%以上的機(jī)器學(xué)習(xí)理論論文都刪去,恐怕幾乎不會(huì)影響AI過(guò)去10年的發(fā)展,也幾乎不會(huì)影響OpenAI推出ChatGPT。更直白一點(diǎn)說(shuō),那些AI大佬們恐怕根本沒(méi)有時(shí)間去閱讀機(jī)器學(xué)習(xí)理論論文,因?yàn)樗麄円χ稣嬲軌蛲苿?dòng)AI前進(jìn)的事情。
AI還需要理論么?
我認(rèn)為,并不是AI不需要理論,而是我們之前做理論的方式有問(wèn)題。
AI理論應(yīng)該長(zhǎng)什么樣子?
姚班的學(xué)生經(jīng)常會(huì)說(shuō),“我不想做工程;我想要做偏理論的研究”。我時(shí)常會(huì)想,什么是理論,什么是工程?
學(xué)生往往是很淳樸的,就像孩子一樣。孩子看見(jiàn)了胡子就以為是老子,而學(xué)生則認(rèn)為一定要有數(shù)學(xué)符號(hào)才是理論。這個(gè)想法本來(lái)無(wú)可厚非,但是在AI頂會(huì)內(nèi)卷的今天,幾乎每篇論文都會(huì)絞盡腦汁地加一點(diǎn)裝飾性的數(shù)學(xué)公式,所以光靠數(shù)學(xué)符號(hào)來(lái)做分類(lèi),效果就不太好了。
所以進(jìn)一步的,恐怕理論論文里面不光要有數(shù)學(xué)符號(hào),還得要有定理和證明。除此之外,最好還有假設(shè),斷言,引理,推論。當(dāng)然,免不了還要有??等十種希臘符號(hào)加上一整頁(yè)以上的推導(dǎo)。這些推導(dǎo)可以是優(yōu)化方面的導(dǎo)數(shù)分析,也可以是泛化方面的Rademacher復(fù)雜度求界,如果都有的話(huà)那就是一盤(pán)色香味俱全的菜——很飽滿(mǎn)了。
做完上述步驟,可以說(shuō)已經(jīng)登堂入室,距離一篇頂會(huì)論文也只有一步之遙。還差什么呢?還差論文的立意和創(chuàng)新點(diǎn)。數(shù)學(xué)中可以證明的東西很多,倘若沒(méi)有和機(jī)器學(xué)習(xí)算法建立起實(shí)際聯(lián)系,那確實(shí)還不能算上乘之作。所以,理論論文的畫(huà)龍點(diǎn)睛之筆,就是和機(jī)器學(xué)習(xí)的現(xiàn)象構(gòu)建起聯(lián)系。
這看似畫(huà)龍點(diǎn)睛的聯(lián)系,卻成了理論論文被人詬病的根源。原因很簡(jiǎn)單,讓理論和實(shí)際構(gòu)建起聯(lián)系,最后得到的結(jié)論大多成了對(duì)現(xiàn)象的解釋?zhuān)苌倌軐?duì)未來(lái)有實(shí)質(zhì)性的預(yù)測(cè)或指引。當(dāng)然,我們不能說(shuō)所有的機(jī)器學(xué)習(xí)理論論文都無(wú)法導(dǎo)出新的算法;但是實(shí)際上絕大部分的重要AI算法都是實(shí)踐派所得,不屬于理論學(xué)家的貢獻(xiàn)。
話(huà)說(shuō)回來(lái),這樣的比較也許并不公平:對(duì)于一個(gè)AI科學(xué)家,他提出一個(gè)新的算法只需要做一些實(shí)驗(yàn)有效果就可以了;而理論學(xué)家的包袱更重,在實(shí)驗(yàn)有效果的同時(shí),他還需要有相應(yīng)的理論證明。這就相當(dāng)于栓著鐵球和別人賽跑,難度增加了不少。因此,理論學(xué)家追著AI大佬追得很辛苦,對(duì)AI大佬提出的新概念如數(shù)家珍;但是AI大佬卻可以對(duì)理論工作視而不見(jiàn),直接擺擺手說(shuō),那些東西我不太了解。
看到這里,很多朋友可能會(huì)說(shuō),機(jī)器學(xué)習(xí)理論不就是這樣的么?理論論文不這么寫(xiě),還能怎么寫(xiě)?
登山與鋪路
在機(jī)器學(xué)習(xí)理論圈待過(guò)幾年之后,就會(huì)發(fā)現(xiàn)理論并沒(méi)有想象中那么神圣。像Knuth大神當(dāng)年寫(xiě)的Toilet paper(https://www.jstor.org/stable/2322567)一樣,只要一個(gè)人愿意,他總是可以寫(xiě)出非常復(fù)雜的讓人望而生畏的證明,雖然這些證明未必有太多實(shí)際價(jià)值和意義。(我對(duì)Knuth大神的Toilet paper不了解,可能他這篇論文是個(gè)例外)所以說(shuō),單純從證明和符號(hào)的復(fù)雜程度,似乎并不能夠用來(lái)判定論文的價(jià)值。
我認(rèn)為,世界上的理論大體可以分為兩種,登山式理論和鋪路式理論。
登山式理論
登山式理論像登山一樣,總是充滿(mǎn)挑戰(zhàn),讓人熱血沸騰。這一類(lèi)理論工作特點(diǎn)是目標(biāo)清晰,就好像珠穆朗瑪峰頂一樣。當(dāng)我們站在山底,目標(biāo)很明確,就是要想方設(shè)法、不惜一切爬到山頂。不過(guò),到山頂?shù)穆酚星f(wàn)條,我們只需要找到一條最合適的路就可以了。雖然說(shuō),我們邁出的每一步都是數(shù)學(xué)推導(dǎo),但是當(dāng)山峰很高很陡的時(shí)候,我們也很難快速地找到一條可行之路。這個(gè)時(shí)候,有兩類(lèi)工具是比較常用的:
制定規(guī)劃。登山之路過(guò)于漫長(zhǎng),我們可以找到幾個(gè)重要的節(jié)點(diǎn),把登山之路拆分成幾個(gè)不同的階段,每次處理其中的一個(gè)階段。這樣,把一個(gè)復(fù)雜的問(wèn)題拆分成很多簡(jiǎn)單的問(wèn)題,往往就會(huì)容易很多。
加假設(shè)。一旦制定了明確的登頂目標(biāo),理論分析的難度就容易受到影響。很多地方不是靠制定規(guī)劃就可以解決的,有的步驟你不得不用一些工具,比如繩索、直升機(jī)、木板等等才能過(guò)去。這樣的工具在機(jī)器學(xué)習(xí)理論圈就是加假設(shè)。比如,我們可以假設(shè)輸入x服從高斯分布,可以假設(shè)目標(biāo)函數(shù)是光滑的,lipschitz的等等。
在很多機(jī)器學(xué)習(xí)理論的論文中,假設(shè)的選取是核心藝術(shù)。如果假設(shè)太強(qiáng)了,比如我們使用了傳送器直接傳到了山頂,那么整個(gè)登山路線(xiàn)顯得索然無(wú)味。如果假設(shè)太弱了,比如我們連繩索都不準(zhǔn)用,那么就會(huì)發(fā)現(xiàn)爬來(lái)爬去爬不到山頂。問(wèn)題是,這些用于登頂?shù)募僭O(shè),在實(shí)際中往往是不完全成立的;或者說(shuō),就算成立,可能也只覆蓋了一個(gè)很小的部分,不能夠真正用于解釋和分析實(shí)際的AI算法。
舉個(gè)例子,我們觀察到了LayerNorm在實(shí)際算法中效果很好,于是我們決定把LN的分析當(dāng)做我們的山頂去攀登??墒牵瑢?shí)際的數(shù)據(jù)分布到底長(zhǎng)什么樣子?我們可能不得不假設(shè)數(shù)據(jù)服從高斯分布。損失函數(shù)滿(mǎn)足什么性質(zhì)?我們可能需要假設(shè)它是光滑的。網(wǎng)絡(luò)結(jié)構(gòu)是什么樣子?我們可能需要假設(shè)它是一個(gè)兩層或者三層的網(wǎng)絡(luò),因?yàn)榫W(wǎng)絡(luò)層數(shù)一多分析起來(lái)就非常困難。優(yōu)化算法的步長(zhǎng)是多少?我們可能需要假設(shè)它非常小,這樣優(yōu)化的過(guò)程在一個(gè)小小的鄰域中才便于分析。這些假設(shè)就像是登山運(yùn)動(dòng)員的工具包里形形色色的工具,要清晰理解它們的用途并不容易,把它們組合起來(lái)完成登頂?shù)娜蝿?wù)更是一種壯舉。但是,真實(shí)的訓(xùn)練過(guò)程往往和這些假設(shè)有一定差距:機(jī)器學(xué)習(xí)理論工作所攀登的山峰,更像是作者精心設(shè)計(jì)的理想山峰,而不是AI科學(xué)家日常真正遇到的那些。
過(guò)去十年,AI領(lǐng)域蓬勃發(fā)展,各種概念層出不窮。理論學(xué)家為了理解一個(gè)概念或算法,制定了很高的登山目標(biāo);但是限于工具的能力,又不得不加上各種假設(shè)助力登頂。最后,很多結(jié)論南轅北轍,得不到理論圈外部的認(rèn)可,我認(rèn)為這和登山式理論的研究范式是脫不開(kāi)關(guān)系的。
鋪路式理論
如果說(shuō)登山式理論目標(biāo)明確,一切都是圍繞登頂;那鋪路式理論則更加佛系,完全是好奇心驅(qū)動(dòng)。我把它叫做“鋪路式”,可能會(huì)有一些歧義:聽(tīng)起來(lái)這樣的理論仍然有目標(biāo)要完成,畢竟鋪路也是一項(xiàng)工程。我想澄清的是,使用“鋪路”這個(gè)詞,我更想強(qiáng)調(diào)它是從某個(gè)點(diǎn)出發(fā),向四周蔓延,是一種自然而然的過(guò)程。如果我們看到了一個(gè)小池塘,就修一條到小池塘的路;如果我們看到了一個(gè)小山坡,就修一條繞開(kāi)它的路。總之,修路的目標(biāo)就是以修路的方式對(duì)這個(gè)世界進(jìn)行四處探索,忠實(shí)地、不加假設(shè)或粉飾地去理解世界。這樣的路一開(kāi)始修得很慢,但是會(huì)越來(lái)越快,因?yàn)樵跀?shù)學(xué)的世界里,一切已有的結(jié)論都可以成為未來(lái)結(jié)論的基礎(chǔ);這樣的路也修得很扎實(shí),因?yàn)閺念^到尾都在描述世界的真實(shí),所以修一步算一步——只要人們對(duì)這個(gè)世界有興趣,就會(huì)想要來(lái)看看已經(jīng)修好的路。
有很多數(shù)學(xué)大師有過(guò)類(lèi)似的觀點(diǎn),我不過(guò)是拾人牙慧,換了個(gè)比方。例如,
柯西:在純數(shù)學(xué)的領(lǐng)域里,似乎沒(méi)有實(shí)際的物理現(xiàn)象來(lái)印證,也沒(méi)有自然界的事物可說(shuō)明,但那是數(shù)學(xué)家遙遙望見(jiàn)的應(yīng)許之地。理論數(shù)學(xué)家不是一個(gè)發(fā)現(xiàn)者,而是這個(gè)應(yīng)許之地的報(bào)導(dǎo)者。
格羅滕迪克:人們永遠(yuǎn)不應(yīng)該試圖證明那些并非幾乎顯而易見(jiàn)的事情。
格羅滕迪克:我腦海中浮現(xiàn)出的類(lèi)比就像是把堅(jiān)果浸入某種軟化液體中。你會(huì)不時(shí)地擦拭,以便液體更好地滲透進(jìn)去,其他時(shí)候則是讓時(shí)間流逝。經(jīng)過(guò)數(shù)周甚至數(shù)月,外殼變得更加靈活,當(dāng)時(shí)間成熟時(shí),手的力量就足夠了,殼就像完美熟透的牛油果一樣打開(kāi)!幾周前,我有了另一個(gè)形象。未知的事物在我看來(lái)就像是一片土地或者堅(jiān)硬的白堊,抵抗著滲透……海水無(wú)聲無(wú)息地緩緩?fù)七M(jìn),似乎沒(méi)有什么發(fā)生,沒(méi)有任何東西移動(dòng),水太遠(yuǎn)了,你幾乎聽(tīng)不見(jiàn)它的聲音……但最終,它包圍了那個(gè)抵抗的物質(zhì)。
小平邦彥講的故事則更加引人入勝:
現(xiàn)在數(shù)學(xué)的研究對(duì)象一般都非常抽象,實(shí)例也十分抽象,讓人難以理解。所以依靠具體事實(shí)歸納來(lái)猜想定理的方式,在大多數(shù)情況下已經(jīng)難以適用。目前的情況下,關(guān)于發(fā)現(xiàn)新定理的思考實(shí)驗(yàn)方式,我本人也是不得而知。如果將精力都花費(fèi)在思索新的思考方式上,恐怕難有所得。實(shí)際上很多時(shí)候無(wú)論如何思考都得不到相應(yīng)的結(jié)果。這樣看的話(huà),是否可以說(shuō)數(shù)學(xué)研究是一份極其困難的工作呢?不過(guò)這倒也未必。有時(shí)候感覺(jué)自己什么也沒(méi)做,那些應(yīng)當(dāng)思考的事情卻很自然地呈現(xiàn)在眼前,研究工作也得以順利推進(jìn)。
夏目漱石在《夢(mèng)十夜》中對(duì)運(yùn)慶(注:日本鐮倉(cāng)時(shí)代的高僧,雕刻技藝十分精湛)雕刻金剛手菩薩像的描述,充分表現(xiàn)了這種感受。這部分內(nèi)容引用如下:
運(yùn)慶在金剛手菩薩的粗眉上端一寸處橫向鑿刻,手中的鑿刀忽而豎立,轉(zhuǎn)而自上而下鑿去。鑿刀被敲入堅(jiān)硬的木頭中,厚厚的木屑應(yīng)聲飛落,再仔細(xì)一看,金剛手菩薩怒意盈盈的鼻翼輪廓已清晰呈現(xiàn)。運(yùn)慶的運(yùn)刀方式無(wú)拘無(wú)束,雕琢過(guò)程中絲毫沒(méi)有任何遲疑。
“他的手法真如行云流水,鑿刀所到之處,居然都自然地雕琢出了內(nèi)心所想的眉毛、鼻子樣子?!蔽腋锌翗O,不禁自言自語(yǔ)道。
結(jié)果,方才那位年輕男子回應(yīng)道:
“什么呀,那可不是鑿刻出的眉毛、鼻子,而是眉毛、鼻子本來(lái)就埋藏在木頭中,他只是用錘子、鑿子將其呈現(xiàn)出來(lái)。就像從泥土中挖出石頭一樣,當(dāng)然不會(huì)出現(xiàn)偏差?!?/strong>
在這種時(shí)刻,我常常感到世間沒(méi)有比數(shù)學(xué)更容易的學(xué)科了。如果遇到一些學(xué)生在猶豫將來(lái)是否從事數(shù)學(xué)方面的工作,我就會(huì)想建議他們“一定要選數(shù)學(xué),因?yàn)樵贈(zèng)]有比數(shù)學(xué)更容易的學(xué)科了”。
這些故事自然有趣,但是如果沒(méi)有親身體驗(yàn),恐怕云里霧里,不知所云。我想,鋪路式科研最重要的一點(diǎn)就是它沒(méi)有預(yù)設(shè)的目標(biāo),不會(huì)為了某個(gè)目標(biāo)而強(qiáng)行加入假設(shè);它更在意研究對(duì)象的真實(shí)性質(zhì),以平常心忠實(shí)地記錄?,F(xiàn)代的純數(shù)研究,大多都是遵從這一思想向前推進(jìn)的。
工程式理論與理論式工程
理解了登山式理論和鋪路式理論,就很難不察覺(jué)到這兩者的區(qū)別。我認(rèn)為,登山式理論是一種“披著理論外衣的工程”。雖然整個(gè)論文充滿(mǎn)了復(fù)雜的數(shù)學(xué)符號(hào),但是它的推進(jìn)目標(biāo)是預(yù)先給定的,而在推進(jìn)的過(guò)程中,發(fā)揮了工程師“逢山開(kāi)路,遇河搭橋”的特長(zhǎng),引入各種假設(shè)與工具,把最后的目標(biāo)解決。而鋪路式理論,則是一種“真實(shí)的理論”,因?yàn)樗谝庋芯康哪繕?biāo)世界的性質(zhì),而把解決問(wèn)題的希望寄托在對(duì)目標(biāo)世界更深刻的理解基礎(chǔ)之上。因此,我姑且把登山式理論稱(chēng)為“工程式理論”。
既然有工程式理論,自然有理論式工程。理論式工程,顧名思義,就是“披著工程外衣的理論”。它雖然整個(gè)過(guò)程中都沒(méi)有使用數(shù)學(xué)符號(hào),但是它沒(méi)有明確的工程目標(biāo),是以“鋪路”的方式推動(dòng)工程的進(jìn)展,更強(qiáng)調(diào)一個(gè)問(wèn)題“應(yīng)該”如何解決,而不是一個(gè)問(wèn)題“要”如何解決。
我認(rèn)為,現(xiàn)在AI領(lǐng)域所采取的研究方式,其實(shí)是一種典型的理論式工程。這個(gè)判斷有幾個(gè)支撐:
Pytorch/Tensorflow作為AI底層框架,把所有的函數(shù)都模塊化,做越來(lái)越高層次的封裝,使得使用網(wǎng)絡(luò)模型變得越來(lái)越簡(jiǎn)單。這些封裝本身并沒(méi)有幫助人們解決某個(gè)具體問(wèn)題;但是長(zhǎng)遠(yuǎn)來(lái)看,封裝可以節(jié)約人們的時(shí)間,把原來(lái)用來(lái)寫(xiě)代碼的精力用于解決更重要的問(wèn)題上。這其實(shí)就是一種鋪路的過(guò)程,就好像在數(shù)學(xué)領(lǐng)域,從最簡(jiǎn)單的基本公理開(kāi)始,得到越來(lái)越強(qiáng)大的理論工具,可以用來(lái)解決越來(lái)越難的問(wèn)題。
過(guò)去十年,人們提出了各種各樣的算法,很多算法通過(guò)一些工程上的trick能夠一時(shí)霸榜,但最后能真正留下來(lái)的往往是簡(jiǎn)潔優(yōu)雅的極少數(shù)。這似乎已經(jīng)成為了AI算法設(shè)計(jì)的一種哲學(xué):少即是多。算法的成功依靠的是對(duì)網(wǎng)絡(luò)結(jié)構(gòu)和數(shù)據(jù)的理解,而不是工程上的技巧。
在預(yù)訓(xùn)練模型領(lǐng)域,像SimCLR, GPT, CLIP等算法的設(shè)計(jì)理念,均推崇從第一性原理出發(fā)、大道至簡(jiǎn)。實(shí)際上,在已有的Pytorch/Tensorflow平臺(tái)提供的高層次封裝基礎(chǔ)之上,給定高質(zhì)量的數(shù)據(jù),這些算法往往只需要至多幾百行代碼就可以實(shí)現(xiàn)。因此,它們更像是哲學(xué)意義上的水到渠成,而不是工程意義上的翻山越嶺、披荊斬棘。
所以,AI領(lǐng)域的實(shí)踐之路走得非常扎實(shí)穩(wěn)健,反而是機(jī)器學(xué)習(xí)理論圈努力了十年,卻沒(méi)有形成太多真正穩(wěn)固的、讓人信服的理論基礎(chǔ)。我想,這就是理論式工程和工程式理論的最大區(qū)別。
最后回到題目。既然AI發(fā)展得這么好,那它還需要(非工程式的)理論么?我認(rèn)為它一定還是需要的,只是我們應(yīng)該反省之前做理論的方式,摒棄登山式/工程式理論的研究范式,探究真正能夠描繪、刻畫(huà)人工智能的新理論。
編輯:黃飛
評(píng)論
查看更多