0
雷鋒網(wǎng) AI 科技評(píng)論按,日前,在中國(guó)運(yùn)籌學(xué)會(huì)的閉門(mén)會(huì)議——現(xiàn)代運(yùn)籌學(xué)發(fā)展討論會(huì)上,馮?諾依曼理論獎(jiǎng)得主、斯坦福大學(xué)管理科學(xué)與工程系教授,杉數(shù)科技奠基人葉蔭宇老師發(fā)表了精彩的演說(shuō)。
葉蔭宇:斯坦福大學(xué)李國(guó)鼎工程講席教授,管理科學(xué)與工程系工業(yè)聯(lián)盟計(jì)劃主任,從事最優(yōu)化、運(yùn)籌學(xué)、供應(yīng)鏈方法、傳感器網(wǎng)絡(luò)、市場(chǎng)平衡與價(jià)格、數(shù)據(jù)與計(jì)算等方向的研究。他是運(yùn)籌管理學(xué)領(lǐng)域最高獎(jiǎng)項(xiàng)——馮·諾依曼理論獎(jiǎng)的唯一一位華人得主,國(guó)際最知名的運(yùn)籌學(xué)專家之一。
葉蔭宇教授先是介紹了自己最近做的一些研究工作,提到了運(yùn)籌優(yōu)化與目前大熱的領(lǐng)域如 machine learning、deep learning 互相結(jié)合的點(diǎn)。他表示:「優(yōu)化要結(jié)合實(shí)際來(lái)解決問(wèn)題,也不一定是局限于哪一個(gè)領(lǐng)域,比如傳統(tǒng)的計(jì)算機(jī)領(lǐng)域、統(tǒng)計(jì)或者是其他領(lǐng)域。」
在演講結(jié)束之后,他對(duì)現(xiàn)場(chǎng)的提問(wèn)進(jìn)行了精彩的回答,比如說(shuō)如何一直保持旺盛的精力來(lái)進(jìn)行科學(xué)研究,如何進(jìn)行有品位的研究。
在最后,他也對(duì)中國(guó)運(yùn)籌學(xué)的發(fā)展提出了自己的看法:一,不要固步自封,要時(shí)刻保持新思路、新想法;二,要做點(diǎn)實(shí)際的事,而不是只沉迷于紙上的研究。
以下為他的演講內(nèi)容,雷鋒網(wǎng) AI 科技評(píng)論做了不改變?cè)獾木庉嬚怼?/p>
最近的一些研究工作
說(shuō)下我最近做的一些工作,以及其中有可能跟 machine learning、deep learning 有關(guān)系的點(diǎn)。
眾所周知 policy iteration 這個(gè)算法一直工作得非常好,在MDP(馬爾科夫決策問(wèn)題)中幾乎都是用這套方法??上Т蠹乙恢辈恢肋@個(gè)算法在理論上到底好不好,但是我們證明了在理論上它就是好的,而且收斂速度是線性的。這是 OR(運(yùn)籌學(xué))中間的結(jié)果,也是傳統(tǒng) OR 的問(wèn)題,但是在 machine learning 中情況會(huì)有不同。最近我們做了一些 value iteration 的工作,主要解決的問(wèn)題是 sample complexity(樣本復(fù)雜度)。具體來(lái)說(shuō),傳統(tǒng)的 value iteration 算法需要知道所有的狀態(tài)轉(zhuǎn)移概率,對(duì) information 的要求很高。而我們的算法會(huì)對(duì)轉(zhuǎn)移概率進(jìn)行采樣,不需要用全部的信息,而且依然保留了較好的理論性質(zhì)。
其實(shí)最近炒得比較火的 AlphaGo Zero,它也是個(gè) stochastic game(隨機(jī)博弈),即在馬爾科夫決策過(guò)程中,有部分決策者是想把它 maximize(最大化),有部分決策者是想把它 minimize(最小化)。在 stochastic game 中有一個(gè)跟 policy iteration method 比較相像的方法叫 strategy iteration method。很多人說(shuō)我不要訓(xùn)練集就可以把 AlphaGo Zero 訓(xùn)練好,其實(shí)完全是可以理解的,因?yàn)槟阃耆梢宰约喝?sample 產(chǎn)生訓(xùn)練集。這個(gè)一點(diǎn)不奇怪,所以可能做 machine learning 的人可以注意一下這一點(diǎn)。
非凸優(yōu)化問(wèn)題
再另外一個(gè)我想講講非凸的問(wèn)題,我們最近也研究了很多非凸問(wèn)題。像 machine learning、deep learning 就是利用梯度法去解一些非凸問(wèn)題找到比較好的解。其實(shí)我們?cè)?1996 年已經(jīng)有研究帶約束的二次規(guī)劃。在優(yōu)化理論中間有所謂的一階條件,也有二階條件,二階有充分條件,也有必要條件。我們可以證明很多很多的算法收斂到的解是滿足二階最優(yōu)條件的。對(duì)于非正交規(guī)劃,我個(gè)人覺(jué)得找起始點(diǎn)非常重要。我不熟悉 machine learning、deep learning 里所謂的 tune up 這些東西,我覺(jué)得在某種意義上來(lái)說(shuō),很多工作也在找起始點(diǎn)。
我以前在通信領(lǐng)域,或者是物聯(lián)網(wǎng)領(lǐng)域解一些問(wèn)題。例如知道某兩點(diǎn)之間的距離,能不能反過(guò)來(lái)把位置信息找出來(lái),這實(shí)際上是一個(gè)非常非凸的問(wèn)題。我個(gè)人認(rèn)為,有一個(gè)解這些非凸優(yōu)化非常好的方法,就是能不能找到一些所謂的 convex relaxation(凸松弛)。很多非凸問(wèn)題肯定都是找到了一些 convex relaxation,通過(guò) convex relaxation 找到一個(gè)解,說(shuō)不定就是原問(wèn)題的最優(yōu)解。
我發(fā)現(xiàn)我們?cè)诤芏鄦?wèn)題上解得很好。我們最近在幫美國(guó)一個(gè)系統(tǒng)解流體管道的壓力最優(yōu)化問(wèn)題,針對(duì)他們的水管道石油管道等等。它的決策變量其實(shí)就是壓力,然后再就是流量。大家知道電流里面我們有歐姆定律;流體力學(xué)就是相當(dāng)于壓力差等于阻力乘以流體的平方。歐姆定律是線性的,盡管壓力是變量,流量也是變量,但它是線性關(guān)系,流體力學(xué)就不是線性關(guān)系,壓力差,HI 減去 HJ 等于電阻,電阻是跟管道的直徑有關(guān)聯(lián),等于 Q 乘以 R 的平方。這個(gè)等式中,因?yàn)?Q 是變量,壓力也是變量,那么肯定就不是凸的了。這邊是二次,那邊是線性,那么是不是線性項(xiàng)大于等于 Q 的平方就可以了。因?yàn)?Q 的平方是一個(gè)凸函數(shù),小于某個(gè)線性函數(shù),如果我們能最終找到一個(gè)點(diǎn),然后反過(guò)來(lái)再用梯度法來(lái)算,就可以最終求解。一個(gè)城市管道他們以前幾天算不了的問(wèn)題,現(xiàn)在幾分鐘就可以算出來(lái)。
找到一個(gè)好的起始點(diǎn),所以我說(shuō)我們能不能搞 smart tuning。我知道搞 deep learning 的人通?;◣讉€(gè)月去 tune 那些東西,也得到了很好的結(jié)果,但實(shí)際上花了很多人力和時(shí)間。
我個(gè)人認(rèn)為現(xiàn)在優(yōu)化的方向,是必須跟一些數(shù)據(jù)結(jié)合起來(lái)。反過(guò)來(lái),應(yīng)該也想想這些 machine learning 中一些比較流行的方法對(duì)優(yōu)化有什么幫助,例如一些 ADMM 算法怎么更快地解傳統(tǒng)的優(yōu)化問(wèn)題。
將 robustness 引進(jìn)到 learning 里
我今天早上的講座關(guān)于是怎么把 robustness 引進(jìn)到 learning 里。這個(gè)在我們 optimization 里面已經(jīng)有了 10-20 年的歷史了。我最近看到的一些學(xué)術(shù)論文說(shuō),其中有些 learning 的算法對(duì)于一些 attack、noise 比較 vulnerable。我今天早上講,一個(gè)熊貓的圖像,稍微加一點(diǎn) noise,我們?nèi)搜劭磥?lái)還像熊貓,但是機(jī)器學(xué)習(xí)的算法會(huì)識(shí)別出它是一個(gè)猴子。
現(xiàn)在關(guān)于 AI 有一種看法,說(shuō)它是一種不太嚴(yán)格的科學(xué),甚至有人說(shuō)它是煉金術(shù),我倒不至于同意這種說(shuō)法,倒覺(jué)得它更像我們的中醫(yī),即沒(méi)有很多的科學(xué)證明,但是長(zhǎng)期的經(jīng)驗(yàn)證明還是有效的。中醫(yī)經(jīng)常有人說(shuō),這個(gè)病人治好了,這個(gè)病人也好了。我覺(jué)得機(jī)器學(xué)習(xí)的算法如果能夠把 robustness 再提高一點(diǎn),那么大家就可以放心大膽地使用了。
我覺(jué)得如果本來(lái)就沒(méi)有嚴(yán)格的科學(xué)依據(jù),比如說(shuō)你送飛船上去,到底是用 physical 上的流體力學(xué),以科學(xué)的方法來(lái)設(shè)計(jì)軌道,還是用 machine learning 來(lái) design 這個(gè)軌道,我想大家目前還是比較相信用嚴(yán)格的數(shù)學(xué)方法來(lái) design 這個(gè)軌道。但是到了一定的時(shí)候,沒(méi)有 physical 的東西來(lái) design 軌道,但 machine learning、deep learning 已經(jīng)到了某一個(gè)可以 trust 的地步的話,我覺(jué)得這個(gè)時(shí)候就可以用了。另外,這個(gè)里面必須引進(jìn)一些所謂 robustness,如果太 vulnerable,那人家稍微破壞一點(diǎn),給你搞亂一下,馬上學(xué)習(xí)結(jié)果就錯(cuò)了。我覺(jué)得我們 make decision 的時(shí)候,必須要非常小心,必須要能 trust。
這個(gè)時(shí)候,例如找最短路徑時(shí),原來(lái)那些基于線性規(guī)劃的方法,在某些問(wèn)題上,已經(jīng)有成條的理論。不過(guò)同樣也可以用 machine learning 找最短路徑。我覺(jué)得可以加一些 robustness 在里面,這個(gè)方面在優(yōu)化里面已經(jīng)研究得很成熟了。其實(shí)它跟正則化又有關(guān)系,實(shí)際上算法復(fù)雜性不會(huì)增加,就是在 objective function 里面稍微加一點(diǎn)抗干擾因素。我們系里面也有一些學(xué)生在做。我的學(xué)生最近也在自己開(kāi)發(fā)一些解大型非凸優(yōu)化問(wèn)題的算法,寫(xiě)一個(gè) open source 庫(kù)。他們那些方法不太實(shí)用,完全是理論性的,我倒是希望找到一些比較實(shí)用的方法,我比較喜歡做一些工具,沒(méi)有什么理論基礎(chǔ),但是我會(huì)想辦法。比如說(shuō) policy iteration method,實(shí)際中有些問(wèn)題幾乎比內(nèi)點(diǎn)法好多了,很多年前就能夠從理論上說(shuō)明了,目前跟 AI 也是有關(guān)系的。我覺(jué)得既然工作得這么好,它一定有點(diǎn)道理。
我覺(jué)得我們優(yōu)化要結(jié)合實(shí)際來(lái)解決問(wèn)題,也不一定是局限于哪一個(gè)領(lǐng)域,比如傳統(tǒng)的計(jì)算機(jī)領(lǐng)域、統(tǒng)計(jì)或者是其他領(lǐng)域。
問(wèn)答環(huán)節(jié)
問(wèn):我想請(qǐng)教一下葉老師一個(gè)看法,在優(yōu)化里面,boundary 一直在變,如果是線性的方式容易,非線性的就難了,后來(lái)發(fā)現(xiàn)這不對(duì),是 convex、nonconvex,現(xiàn)在發(fā)現(xiàn)又不對(duì)了,nonconvex 有時(shí)候也還是容易的,但是有些 nonconvex 問(wèn)題又不行,您覺(jué)得下面這個(gè)可能會(huì)怎么樣。
答:我個(gè)人倒沒(méi)有從這個(gè)方面來(lái)看,我現(xiàn)在發(fā)現(xiàn) machine learning 中的一些問(wèn)題和 deep learning 中,以及我們優(yōu)化中的問(wèn)題有一個(gè)不同的地方,就是很多的問(wèn)題都是沒(méi)有約束的。然后通常優(yōu)化中如果這個(gè)問(wèn)題沒(méi)有約束,就可以用梯度法、牛頓法、擬牛頓法等進(jìn)行求解。從優(yōu)化角度來(lái)說(shuō),好像不是那么具有挑戰(zhàn)性。我覺(jué)得長(zhǎng)期以來(lái) deep learning 的問(wèn)題忽略了約束,而這一點(diǎn)正反映了 deep learning 的問(wèn)題多把它當(dāng)成是一個(gè) black box,我的參數(shù)是沒(méi)有什么物理背景,正負(fù)、無(wú)窮大、零,都沒(méi)有關(guān)系。但是我覺(jué)得有一點(diǎn),就是在我們學(xué)習(xí)的時(shí)候,如果參數(shù)有一定的物理背景,我們應(yīng)該引進(jìn)它的基本的機(jī)理,還要讓他 obey 一些 basic science rule。比如說(shuō)流體力學(xué)的 rule,你必須把那個(gè)條件加進(jìn)去,作為約束放進(jìn)去。但是有一點(diǎn)我不知道,像這種解的比較好的非約束的算法,怎么能夠解到約束上面去。或者 deep learning 的很多模型,是不是也應(yīng)該要加一些簡(jiǎn)單的 science base。
對(duì)于所有的線性規(guī)劃,我們總是要評(píng)內(nèi)點(diǎn)法好,還是單純形法好,其實(shí)現(xiàn)在看來(lái)這個(gè)沒(méi)有什么意義。我覺(jué)得所有的算法都要把它定制化,定制到什么樣的結(jié)構(gòu)上,你才能說(shuō)哪一個(gè)是最好的。
剛才有人問(wèn)我,machine learning 對(duì)優(yōu)化算法有沒(méi)有什么幫助,我說(shuō)肯定有幫助,就是把優(yōu)化算法的定制化。你根據(jù)問(wèn)題的不同結(jié)構(gòu)、不同特點(diǎn),在所有的優(yōu)化函數(shù)中找一個(gè)對(duì)他最實(shí)用的。這個(gè)方法可能人學(xué)不出來(lái),只能通過(guò)大量的數(shù)據(jù)學(xué)出來(lái)。而且我覺(jué)得特別解非凸問(wèn)題等,對(duì)于不同的問(wèn)題,最好的解的方法不一樣。能不能用 machine learning,根據(jù)這些問(wèn)題的特點(diǎn),找一個(gè)對(duì)癥下藥的方法,然后這樣我倒覺(jué)得對(duì)我們優(yōu)化算法很有幫助。哪怕就是解整數(shù)線性規(guī)劃,不同方法的計(jì)算量差別也會(huì)很大。比如說(shuō)解二次規(guī)劃的問(wèn)題,到底是用二階錐規(guī)劃好,還是原來(lái)的凸規(guī)劃好,這個(gè)差別會(huì)很大的。
我覺(jué)得優(yōu)化算法對(duì)不同問(wèn)題的定制化這應(yīng)該是一個(gè)方向,包括怎么樣定制,參數(shù)怎么寫(xiě),解線性規(guī)劃。我們也調(diào)參數(shù),不調(diào)不行,有的對(duì)這個(gè)問(wèn)題好,對(duì)那個(gè)問(wèn)題不好,這里你很難調(diào)到一個(gè)配方,對(duì)所有的算法都好。所以這個(gè)本身就是一個(gè)定制化的問(wèn)題。
問(wèn):葉老師在我們心目中是大神,剛才有人提到,葉老師精力特別旺盛,我有個(gè)很自然的問(wèn)題,您是怎么做到的?您有什么秘訣。
答:你們當(dāng)老師的一定要鼓勵(lì)學(xué)生熱愛(ài)體育,我以前搞田徑,我現(xiàn)在快 70 歲了,我 1965 年的時(shí)候,是全國(guó)中學(xué)生的跳高冠軍,三級(jí)跳也是冠軍,跳遠(yuǎn)拿的是第幾名我忘記了。當(dāng)時(shí)沒(méi)有全國(guó)運(yùn)動(dòng)會(huì),就是各個(gè)省自己開(kāi)運(yùn)動(dòng)會(huì),然后把成績(jī)報(bào)到全國(guó)進(jìn)行匯總,進(jìn)行排名。這個(gè)成績(jī)還是在那里,我們當(dāng)初跳高是剪式跳高,當(dāng)時(shí)不像現(xiàn)在這樣。總結(jié)起來(lái),我的意思就是說(shuō),要熱愛(ài)體育。
問(wèn):您為什么能夠在這么多領(lǐng)域里面,做出這么多有品味的研究,在這方面有什么分享?
答:我個(gè)人認(rèn)為,自己只是江湖中的一個(gè)小角色。我做研究就是喜歡想。我不知道你們是不是非要寫(xiě)在紙上,我通常把問(wèn)題想通,我自己喜歡想一環(huán)一環(huán)的問(wèn)題。其實(shí)我下棋下得不好,我想這些問(wèn)題的思路我覺(jué)得應(yīng)該可以證明出來(lái),其實(shí)不用紙寫(xiě)出來(lái)我覺(jué)得應(yīng)該就可以了。然后我就告訴學(xué)生這個(gè)問(wèn)題應(yīng)該過(guò)得去,比如現(xiàn)在我的學(xué)生做的這些東西。主要是想這個(gè)問(wèn)題的關(guān)鍵,如果能夠推過(guò)去,推導(dǎo)的關(guān)鍵在什么地方,你把關(guān)鍵想通了,就沒(méi)有什么問(wèn)題了。然后就是這樣先想,再寫(xiě)。再就是自己要有一個(gè)品位,我覺(jué)得小打小鬧,有些人開(kāi)始可以搞一點(diǎn),但是到了一定的時(shí)候就不能這樣了。
我比較容易看出學(xué)生的一些特長(zhǎng),是搞組合比較好,還是分析隨機(jī)算法很好,例如線性方程解得蠻漂亮等。我始終認(rèn)為,其實(shí)在運(yùn)籌學(xué)中間的一些問(wèn)題,不一定要運(yùn)用到非常高深的數(shù)學(xué),有些算法是非?;镜?。找到證明的方向,比用到證明的方法更重要。方向找對(duì)了,證明非常的簡(jiǎn)單,就是線性代數(shù),加上一些馬爾科夫等,分析一下基本上就過(guò)去了。所以這些我覺(jué)得還是要有個(gè) sense,這個(gè)方向?qū)Σ粚?duì),一步一步走過(guò)來(lái),這是我的一點(diǎn)體會(huì)。然后再就是對(duì)學(xué)生,因人而異,找到比較切合他的點(diǎn),觀察他比較擅長(zhǎng)什么。
我有個(gè)習(xí)慣,其實(shí)我很喜歡看電視劇,我太太也說(shuō)我,在電視前一天看兩、三個(gè)小時(shí)電視劇。其實(shí)我看電視節(jié)目都在想問(wèn)題,我可以同時(shí) enjoy 這些電視劇,比如《人民的名義》等,我自己也有很多問(wèn)題是在那個(gè)時(shí)候想出來(lái)的,可以同時(shí)進(jìn)行。
問(wèn):您在斯坦福工作也會(huì)關(guān)注國(guó)內(nèi)的運(yùn)籌學(xué),在您看來(lái),我們中國(guó)的運(yùn)籌優(yōu)化發(fā)展,怎么樣往前走一大步?您能提點(diǎn)見(jiàn)解嗎?
答:現(xiàn)在很多搞統(tǒng)計(jì)、machine learning、計(jì)算機(jī)等的優(yōu)秀的人才都回來(lái)了,對(duì)于運(yùn)籌學(xué),我個(gè)人有一點(diǎn)感覺(jué),我們把自己封閉起來(lái)了。再加上國(guó)內(nèi)大環(huán)境也比較強(qiáng)調(diào)管理,這個(gè)在學(xué)科內(nèi)屬于運(yùn)籌控制等,我覺(jué)得現(xiàn)在我們一定要打破這個(gè) boundary,包括在斯坦福等很多地方,學(xué)術(shù)研究很多方面都沒(méi)有 boundary,只要有興趣的問(wèn)題,大家都可以去做研究。
第一,搞優(yōu)化的時(shí)候,我們運(yùn)籌學(xué)會(huì)要不被潮流 left out,現(xiàn)在 AI、machine learning、計(jì)算機(jī)蓬勃發(fā)展,我們要跟上潮流,比如關(guān)注 machine learning 中的優(yōu)化問(wèn)題。另外,我們能不能提供新的思路、新的方法,更好地幫助他們解決問(wèn)題,這點(diǎn)很重要,我們一定要跟他們結(jié)合起來(lái)。
第二,還是要針對(duì)實(shí)體的經(jīng)濟(jì),對(duì)比較大的公司,不管是前面發(fā)言的華為,還是其他 BAT 這樣的公司,都要有用。這一點(diǎn)是非常不容易的,不光靠學(xué)術(shù)。可能是我年紀(jì)大了,反而覺(jué)得覺(jué)得光紙上談兵不行,必須對(duì)實(shí)際有意義。中國(guó)運(yùn)籌學(xué),長(zhǎng)期還是得將學(xué)術(shù)研究與深層的應(yīng)用結(jié)合起來(lái),想一些東西。再深層意義上,我覺(jué)得老師到一定的年齡,還是需要考慮到這一點(diǎn):現(xiàn)在各個(gè)公司的研發(fā)力量都很強(qiáng),包括 BAT 等,他們現(xiàn)在自己內(nèi)部都有很多搞統(tǒng)計(jì)、計(jì)算機(jī)的,所以老師們可以去稍微指導(dǎo)一下,說(shuō)一說(shuō),提供一些最新的信息。
我還是擔(dān)心運(yùn)籌學(xué)長(zhǎng)期干我們之前的那些事,比較封閉。另外,我倒非常希望看到有些東西,比如將原有算法和新的 deep learning 算法比較,我非常期望看到,到底是結(jié)合的好,還是 AI 的好,還是運(yùn)籌搞的這些基礎(chǔ)的比較好。這些很有意思,都是需要去試的。
一個(gè)是 OR 要走出去,不要孤芳自賞;第二就是要做點(diǎn)實(shí)際的事。這是我個(gè)人的看法。
(完)
雷鋒網(wǎng) AI科技評(píng)論編輯整理。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見(jiàn)轉(zhuǎn)載須知。