search
尋找貓咪~QQ 地點 桃園市桃園區 Taoyuan , Taoyuan

講堂| 劉鐵岩:人工智慧的挑戰與機遇

你離成為人工智慧專家,還有多遠的距離?

近日,四位來自微軟亞洲研究院的AI大咖在科技大學進行了一場以「開啟智能計算的研究之門」為主題的前沿分享。這四位嘉賓分別是:

首席研究員劉鐵岩——人工智慧的挑戰與機遇

首席研究員童欣——數據驅動方法在圖形學中的應用

首席研究員曾文軍——當機器學習遇到大視頻數據

資深研究員謝幸——用戶畫像、性格分析與聊天機器人

在接下來的一周里,我們會陸續在本賬號中發布這四位研究員的演講視頻及精彩內容,希望這些關於前沿技術的思索能夠開啟屬於你的智能計算研究之門,敬請期待吧!

今天,我們與大家分享的是劉鐵岩博士的演講——人工智慧的挑戰與機遇,全文如下(文字內容略有精簡)。

今天我要講的內容主要是一些對人工智慧這個領域的看法。說到智能計算,我們就不能不提人工智慧,人工智慧從1956年的達特茅斯會議開始,到現在61年的歷史,發展過程中風風雨雨,可以看到幾起幾落,至少我們經歷過兩個所謂人工智慧的冬天。

每一次人工智慧的崛起都是因為某種先進的技術發明,而每一次人工智慧遇到了它的瓶頸,也都是因為人們對於人工智慧技術的期望太高,超出了它技術能達到的水準。所以政府、基金會等撤資,導致了研究人員沒有足夠的資金去從事研究。

那麼今天我們處在一個什麼階段呢?有人說現在是人工智慧的春天,有人說是夏天,還有人悲觀一點,說是秋天,秋天的意思就是冬天馬上就來了。作為人工智慧的學者,我們該怎麼看待這件事情,我們能做些什麼?不管大家怎麼預測,至少今天還是一個人工智慧的黃金時代。

為什麼這麼講呢?接下來先給大家展示一些最近人工智慧取得的成果,確實是之前十幾年我們完全想不到的。

首先,我們講人工智慧在語音方面的突破,人工智慧在語音識別,語音合成上面最近都取得了非常矚目的結果。2016年10月份由微軟研究院發布的一個語音識別的最新結果實現了錯誤率為5.9%的新突破,這是第一次用人工智慧技術取得了跟人類似的語音識別的錯誤率。

其次,在圖像方面,人工智慧也有很多長足的進步,比如圖像識別的ImageNet比賽,用計算機去識別數據集中1000個類別的圖像。在2015年,來自微軟亞洲研究院的技術——ResNet,獲得了2015年ImageNet的冠軍,錯誤率是3.5%,而人的錯誤率大概是5.1%。所以可看出在特定領域、特定類別下,其實計算機在圖像識別上的能力已經超過了人的水平。2016年我們微軟亞洲研究院再接再勵,在比圖像識別更難的一個任務——物體分割上面取得了冠軍。

除了語音和圖像以外,其實人工智慧在自然語言上面也取得了很大的進展。左邊這張圖描述了各大公司都在不斷地提高各自語音機器翻譯的水準和技術,右邊這張圖展示的是去年12月微軟發布了Microsoft Translator的一個新功能,它支持50多種語言,可以實現多個人多種語言的實時翻譯,比如大家每個人可能來自不同的國家,只要拿著手機用這個APP我們就可以互相交流。你說一句話或者輸入文字,對方聽到/看到的就是他的母語。

前面說的這些語音、圖像、語言,聽起來還都是一些感知方面的東西。大家也知道,最近這段時間,人工智慧在一些傳統我們認為可能很難由機器來取得成功的領域也獲得了突破。比如左邊這張圖描述的是用人工智慧技術來打遊戲,大家可以看到這個敲磚塊的遊戲,在120分鐘訓練的時候,人工智慧就找到了很有效的得分的途徑。當我們繼續去訓練這個人工智慧的機器人,到了240分鐘以後,它又達到了那種所謂骨灰級玩家的水準,它發現了一些平時我們自己都玩不出來的竅門。

右邊展示的是圍棋比賽,大家都知道AlphaGo非常火,使用了深度增強學習的技術,經過了非常長的訓練時間,引用了大量數據做self-play,最終是以壓倒性的優勢,4:1戰勝了當時的世界冠軍李世石。在去年的IJCAI上面,AlphaGo主要的開發人員做了一個keynote,說自戰勝了李世石之後,AlphaGo並沒有停下腳步,因為它是一個self-play的process,可以繼續訓練,只要給他足夠的運算時間和樣例,它就可以不斷地去訓練。所以也能理解為什麼今年年初Master重新回到大家視野里,可以對圍棋高手60連勝,因為這個差距太大了。

這些事情都是以前人們覺得人工智慧不可以去企及的領域。但正是因為這些計算機科學家、人工智慧科學家不斷地去模仿人的決策過程,比如他們訓練了value network,訓練了policy network,就是怎麼樣根據現在的棋局去評估勝率,去決定下一步該走什麼子,而不是走簡單的窮舉,用這些value network來對搜索樹進行有效的剪枝,從而在有限的時間內完成一個非常有意義的探索,所有這些都是人工智慧技術取得的本質的進展,讓我們看到了一些不一樣的結果。

說了人工智慧的這些輝煌之後,其實有很多問題是需要我們去冷靜思考和回答的。

我們的主題是開啟智能計算的研究之門,我想從一個研究者的角度跟大家討論一下我們還能做些什麼,甚至是更有意義的是去做些什麼。人工智慧表面看起來很火,其實如果把這張魔術的檯布展開,你就會發現它千瘡百孔,各種各樣非常基礎的問題其實並沒有解決,甚至有很多哲學的方法論的東西從我們的角度來看可能也不準確。

面對這樣的情況,更有意義的事情可能是冷靜下來,去從事一些能夠改變人工智慧現狀以及未來的很本質的基礎研究工作,甚至是去反思人工智慧發展的路線圖,看看我們是不是應該重啟一條道路。這些事情才能使得我們不僅僅是隨波逐流,不僅僅是變點現,騙點錢,而是在人工智慧發展的真正道路上留下我們自己的足跡,過了幾十年當大家回憶的時候,另外一個人站在台上講述人工智慧一百年的時候,他會在那個圖上標著一個星星,那裡面講的是你的故事。

前面這些人工智慧現象的背後是什麼?說到技術層面,現在最火的兩個詞,一個叫Deep Learning(深度學習),一個叫Reinforcement Learning(增強學習)。深度學習是什麼?通俗地講,它就是一個端到端的學習,我們不需要一些feature engineering,而是用一個非常複雜的、容量很大的模型去直接擬合輸入輸出,讓模型自己探索有意義的中間表達。

什麼是增強學習?通俗地講,就是學習機器不斷地跟環境做自主的互動,在互動的過程中用長遠的收益來指導當下該做什麼決策,通過不斷的跟環境互動去調整決策的最優性。

之所以現在深度學習和增強學習能夠取得很大的成功,背後有一個很大的原因,就是基於巨大的數據和巨大的運算量訓練出的擁有巨大容量的模型,所以它們的成功離不開硬體系統,這也是為什麼現在GPU這麼火,包括雲計算、多機協作已經成了我們必不可少的環節。

這是現在人工智慧的現狀。面對這樣的現狀,我們是按照大家指定的這條道路去走,多搞幾個GPU去訓練一些模型跟別人PK,還是反思一下這條路對不對,有沒有什麼問題,接下來我想跟大家討論的就是人工智慧的諸多問題。我只列了一些其中的代表,但其實問題遠遠不止這些。

第一件事,現今的人工智慧技術,尤其是以深度學習為代表的,需要大量的標註數據,來讓我們能夠訓練一個有效的模型,它不太依賴於人的先驗知識,要learning from scratch。如果想從零開始學習就需要有大量的樣本提供規律。比如,圖像分類,現在通常會用上千萬張圖像來訓練;語音識別,成千上萬小時的有標註的語音數據;機器翻譯一般都是在千萬量級的雙語語對上去做訓練,這樣的數據之前是不可想象的,但是我們這個時代是大數據時代,所以有了這些數據,就使得深度學習訓練成為了可能。但這是不是一劑萬能的靈藥呢?其實在很多領域裡是不可能或者是很難獲得類似的數據的。比如醫療上面,很多疑難雜症,全世界也沒有幾例,那怎麼能夠對這個類別搜集大數據。所以從這個意義上講,如果我們能夠找到一種方法克服對大的標註數據的需求,我們才能夠使得現在的人工智慧技術突破目前數據給它劃定的邊界,才能夠深入到更多的領域裡面去。

第二個挑戰是關於模型大小以及模型訓練難度的問題,前面提到了深度神經網路有很多層,而且一般參數都很大,幾十億的參數是家常便飯。面對這樣的網路,至少有兩個困難,一個是我們經常提到的梯度消減和梯度爆炸的問題,當深層網路有非常多層次的時候,輸出層和標籤之間運算出來的殘差或者是損失函數,是很難有效地傳遞到底層去的。所以在用這種反向傳播訓練的時候,底層的網路參數通常不太容易被很有效的訓練,表現不好。人們發明了各種各樣的手段來解決它,比如加一些skip-level connection,像我們微軟亞洲研究院發明的ResNet技術就是做這件事情的,還有很多各種各樣的技巧。但這些其實都只是去解決問題的技巧,回過頭來,原來的這個問題本身是不是必要的,是需要我們反思的。

再有就是模型爆炸。前面說了幾十億的參數是家常便飯,幾十億甚至上百億個參數意味著什麼,意味著模型本身的存儲量是非常大的。舉一個簡單的例子,如果我們用神經網路來做語言模型,給出的訓練數據集是Clueweb整個網路上的網頁,大概有十億個網頁的量級。 這樣的一個數據,如果要去用循環神經網路去訓練一個語言模型,簡單計算一下就會知道,它需要用到的模型的大小大概是80G到100G的大小,聽起來好像不太大,但是現在主流的GPU板上的存儲24G已經算是高配,換句話說,80G到100G的大小已經遠遠超過一個GPU卡的容量,那麼就一定要做分散式的運算,還要做模型并行,有很多技術難度在裡面。即便有一個GPU卡,能夠放下這80G或100G的模型,如此大的訓練數據過一遍也可能要用上百年的時間,這聽起來也相當不靠譜。到底需不需要這麼大的模型,有沒有必要我們非要把自己放在一個內存也不夠用,計算時間也非常長,也不能忍受的境地呢,這個是值得思考的問題。

說到大模型,標註數據很大,那必然要提到分散式運算,分散式運算聽起來是一個相對成熟的領域,因為系統領域已經對分散式計算研究了很多年。但是回到我們分散式機器學習這件事情上是有所不同的:這裡我們做分散式運算的目的是為了讓我們能夠用更多的資源來容納更大的模型,使得運算的時間縮短到能接受的程度,但是我們不想丟掉運算的精度。

舉個例子,原來用上百年的時間可以得到一個非常精準的語言模型,現在有100台機器,雖然算的很快,但出來的語言模型不能用了,這件得不償失。

說到分散式運算有兩個主流的方式,一個是同步的并行方式,一個是非同步的并行方式。同步的并行方式是什麼,就是很多機器都分了一個子任務,大家每計算一步之後要互相等待,交換一下計算的結果,然後再往前走。這個過程能夠保證對整個分散式運算的流程是可控的,可以知道發生了什麼,在數學上可以做建模,能夠在理論上有所保證。但它的問題就是所謂的木桶原理,這個集群裡面只要有一台機器很慢,分散式運算就會被這台機器拖垮,就不會得到好的加速比。

所以人們開始做非同步的并行方式,非同步的意思就是每台機器各自做自己的事情,互相不等待,把當前按照各自的數據訓練出來的模型更新推到某一個伺服器上,再更新整體模型。但這時候又出現了一個新的問題,就是亂序更新的問題,這個過程是不能被我們原來的數學模型所描述的,違背了優化技術的一些基本假設。比如當我們使用隨機梯度下降法的時候,可以證明當時用一個不斷減小的學習率時,優化過程是有收斂性的。這是因為我們每一次增加的那個梯度是在上一次計算的模型基礎上算出來的梯度。一旦加上去的梯度可能是舊的,不是依據前一個模型算出來的,到底優化過還能不能收斂,就不那麼清楚了,所以雖然速度快,精度卻可能沒有保證。

第四個,我把它叫做調參黑科技,難言之隱。這件事情特別有趣,我前一段時間參加過一個論壇,一位嘉賓的一句話給我印象特別深,他說大家知道為什麼現在很多公司都有深度學習實驗室嗎,以前沒聽說過有一個叫支持向量機實驗室的,為什麼?這是因為像SVM這樣的技術訓練過程非常簡單,需要調節的超參數很少,基本上只要按部就班去做,得到的結果都差不多。

但深度學習這件事情,如果不來點調參黑科技,就得不到想要的結果。所謂深度學習實驗室,就是一批會調參的人,沒有他們深度學習就沒那麼好用。雖然是句玩笑,但是深度學習力要調的東西確實太多了,比如說訓練數據怎麼來,怎麼選,如果是分散式運算怎麼劃分,神經網路結構怎麼設計,10層、100層還是1000層,各層之間如何連接,模型更新的規則是什麼,學習率怎麼設,如果是分散式運算各個機器運算出來的結果怎麼聚合,怎麼得到統一的模型,等等,太多需要調的東西,一個地方調不好,結果可能就大相徑庭。這就是為什麼很多論文里的結果是不能重現的,不是說論文一定不對,但至少人家沒有把怎麼調參告訴你,他只告訴了你模型長什麼樣而已。

下一個挑戰,叫做黑箱演算法,不明就裡。這不僅僅是神經網路的問題,更是統計機器學習多年來一直的頑疾,就是用一個表達能力很強的黑盒子來擬合想要研究的問題,裡面參數很多。這樣一個複雜的黑盒子去做擬合的時候,結果好,皆大歡喜。如果結果不好,出現了反例,該怎麼解決呢,這裡面幾億、幾十億個參數,是誰出了問題呢,其實是非常難排錯的事情。相反,以前有很多基於邏輯推理的方法,雖然效果沒有神經網路好,但是我們知道每一步是為什麼做了決策,容易分析、排錯。所以最近幾年有一個趨勢,就是把基於統計學習的方法和基於符號計算的方法進行結合,造出一個灰盒子,它既具備很強的學習能力,又能在很大程度上是可理解、可支配、可調整的。

到現在為止,這幾件事都是現在人工智慧技術層面的問題。接下來,談的是更像方法論和哲學的問題,僅為個人的觀點,跟大家一起分享。

其中一條,我叫做蠻力解法,捨本逐末。這句話什麼意思?剛才我提到過深度學習之所以這麼成功,是因為它有一個特彆強的表達能力,在歷史上人們證明過深層神經網路有universal approximation theorem,只要隱結點的數目足夠多,任意給一個連續函數,它都可以無限逼近這個函數,換言之,有了很強的表達能力,什麼問題都可以學的很好。聽起來好像是挺美好的事,但實際上它背後存在一個問題:它擬合的是數據的表象,數據表象可以非常複雜,但是數據背後驅動的規律是不是真的那麼複雜呢,如果我們只看到表象不去研究數據產生的本質,很可能你花了很大的力氣去擬合,但是浪費了很多時間,得到的結果也不魯棒。

舉個例子,我們發現大自然也好,人類社會也好,其實沒有想象的那麼複雜,雖然你看到的很多數據很複雜,它們背後的規律可能非常簡單。像量子力學有薛定諤方程、量子化學、流體力學、生物遺傳學、經濟學、社會學也都有類似的簡單方程,科學家發現那麼紛繁複雜的現象都可以被一個動態系統所刻劃,而動態系統背後的規律可能就是一個最高二階的偏微分方程。大家可以想象,如果不知道這些機理,不對動態系統做建模,只對動態系統的產出數據做建模,就會覺得這個問題非常複雜,要有一個容量非常大的神經網路去逼近這個數據。但反過來,如果目光焦點在這個動態系統身上,可能就兩三個參數的一個二階微分方程就搞定了。

下面也是一個值得思考的問題——動物智能,南轅北轍,雖然前面提到人工智慧產生了很多的進步,但其實目前所做的還主要是認知的事情,做一個Pattern Recognition,聽聽聲音,看看圖像,這是動物也能做的事。今天的人工智慧沒有回答一個關鍵的問題,就是動物和人的區別。可能有人會講,據說猴子的大腦比人的大腦小很多,有可能是體量的不同。但人的祖先跟大猩猩在包容量上應該沒有本質的區別,那到底為什麼經過漫長的進化,人能成為萬物之靈主宰地球了呢?

我自己的觀點是因為人類發明了很多動物界沒有的機制和規律。比如我們有文字,我們可以把我們對世界的認知,總結出來的規律寫下來,把它變成書,變成資料傳給我們的下一代。當老一輩的人去世之後,孩子們讀讀書,就掌握了之前幾百年幾千年人們對世界的認識。但是老一代大猩猩死掉之後,它的孩子就要從頭學起。另外,我們人類有強大的教育體系,人從幼稚園開始,國小,中學,一直進入大學,用了十幾年的時間,就把幾百年、幾千年的知識都掌握在身上了,可以站在巨人的肩膀上繼續往前走,這非常了不起。好的老師,會教出好的學生,教學相長,薪火相傳。

這些人類的精髓在今天的人工智慧技術裡面是並沒有充分體現,而沒有它們我們怎麼能指望深度神經網路達到人的智商呢?

前面列了很多方面,是我們對人工智慧領域的一些看法,不管是從技術層面,還是方法論層面,都有很多值得進一步挖掘的點,只有這些問題真正解決了,人工智慧才可能穩穩妥妥的往前走,而不只是曇花一現。

基於這些考慮,我所在的微軟亞洲研究院機器學習組,對研究方向做了一個相應的布局,比如對偶學習,它解決的就是沒有大規模標註數據的時候,該怎麼訓練一個神經網路、怎麼訓練一個增強學習模型。該論文發表在去年的NIPS大會上,獲得了很大的反響。

還有,我們叫精深學習(Light Learning),為什麼叫Light?前面提到很多模型太大,放不到GPU里,訓練時間很長,我們這個研究就是去回答是否真的需要那麼大的模型。我們展示了一個很有趣的深度學習演算法,叫Light RNN,用該技術,只需要用一個非常小的模型在幾天之內就可以把整個Clueweb數據學完,而且它得到的結果要比用大模型訓練很長時間得到的結果還要好。

并行學習,之前提到并行學習有很多同步非同步之間的權衡,我們發明了一個技術,它有非同步并行的效率,但是能達到同步并行的精度,中間的技術解決方案其實很簡單,在網上也有論文。我們用了泰勒展開,一個非常簡單的數學工具,把這兩者給結合在一起。

符號學習,就是想去解決黑白之間的那個灰盒子問題。

自主學習,是想去解決深度學習調參的黑科技,既然調參這麼複雜,能不能用另外一個人工智慧演算法來調呢,能不能用增強學習的方法來調呢,所以我們做了一系列的工作來解決怎麼去調各種各樣的參數,怎麼用另外一個機器學習來做這個機器學習。

最後一個方向,我們叫做超人類學習,我們想受大自然的啟發,受人類社會發展的啟發,去使得我們的人工智慧技術接近人類,甚至超過人類,這背後是整個人工智慧方法論的變化。

如果大家感興趣,希望你們關注我們微軟亞洲研究院機器學習組,能夠跟我們共同從事機器學習的基礎研究!謝謝大家!

感謝你關注「微軟研究院AI頭條」,我們期待你的留言和投稿,共建交流平台。來稿請寄:[email protected]微軟小冰

進駐微軟研究院微信啦!快去主頁和她聊聊天吧。



熱門推薦

本文由 yidianzixun 提供 原文連結

寵物協尋 相信 終究能找到回家的路
寫了7763篇文章,獲得2次喜歡
留言回覆
回覆
精彩推薦