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