演讲 | 微软亚洲研究院刘铁岩:对偶学习推动人工智能的新浪潮
演講 | 微軟亞洲研究院劉鐵巖:對偶學習推動人工智能的新浪潮
?機器之心機器之心整理
演講:劉鐵巖
 
 
12 月 17 日,中國人工智能學會、中國工程院戰(zhàn)略咨詢中心主辦,今日頭條、IEEE《計算科學評論》協(xié)辦的 2016 機器智能前沿論壇暨 2016 BYTE CUP 國際機器學習競賽頒獎儀式在中國工程院舉辦,論壇邀請到今日頭條、微軟、IBM 等業(yè)界科學家以及清華大學、北京大學、Santa Fe 研究所、Georgia Institute of Technology(佐治亞理工)等國內(nèi)外知名院校學者共同探討了機器學習的研究現(xiàn)狀、前沿創(chuàng)新及應用發(fā)展等問題。
 
 
微軟亞洲研究院首席研究員劉鐵巖博士受邀發(fā)表演講。劉博士是微軟亞洲研究院首席研究員,IEEE 院士,ACM 杰出會員,CCF 高級會員。他的研究興趣包括:人工智能、機器學習、信息檢索、數(shù)據(jù)挖掘等。他的先鋒性工作促進了機器學習與信息檢索之間的融合,被國際學術界公認為「排序?qū)W習」領域的代表人物。
 
 
 
 
 
 
劉鐵巖:謝謝大家,感謝組委會的邀請,讓我有這個機會與大家分享我們的研究工作。我剛才坐在臺下聆聽了孫茂松老師和 David 的報告,都獲益匪淺。首先,老師非常全面的回顧了機器翻譯的歷史,又有高屋建瓴的討論,讓我們從中學到了很多的東西。其次,很榮幸我的報告排在 David 之后,做優(yōu)化和機器學習的同事們應該都非常熟悉 David 的 No Free Lunch Theory,尤其在今天全世界都希望用神經(jīng)網(wǎng)絡這「一招鮮」來解決所有問題的時候,更應該仔細琢磨一下這個定理,對大家會有很大的啟示。
 
 
今天我分享的主題是對偶學習。在對這個主題進行深入討論之前,我想同大家一起回顧一下最近這段時間人工智能領域的一些飛速發(fā)展。我舉幾個例子,首先是語音識別。
 ?
 
 
 
可能很多同學都看到過這則新聞,微軟研究院在語音識別方面取得了重大突破,第一次機器學習算法在日常對話場景下取得了和人一樣好的語音識別能力,詞錯誤率降低至 5.9%。
 
 
第二個例子是有關圖像識別和物體分割,在這方面微軟研究院同樣也有世界領先的研究成果。
 ?
 
 
 
2015 年,我們研究院發(fā)明的 ResNet 算法在 ImageNet 比賽中力拔頭籌,超過了人類的識別水平。人眼辨識圖像的錯誤率大概為 5.1%,而 ResNet 的錯誤率低至 3.5%。今年,在 COCO 物體分割競賽中,我們研究院同樣獲得了第一名,和第二名拉開了很大的差距。物體分割比圖像分類更難,不但要識別出圖片里有什么,還要能夠把它的輪廓勾勒出來。
 
 
第三個例子是機器翻譯,最近相關產(chǎn)業(yè)界的發(fā)展突飛猛進。這一方向微軟同樣有著世界領先的技術。
 ?
 
 
 
比如在微軟的 Skype Translator 軟件里,對話雙方可以用不同語言進行交流,系統(tǒng)實現(xiàn)實時語音翻譯。如果今天會場上大家使用 Skype Translator 的話,可能就不需要聘請同聲傳譯公司了。
 
 
第四個例子,最近這段時間人工智能之所以吸引了那么多的眼球,一個重要原因就是它在一些需要極高智商的比賽中取得了關鍵性勝利。比如 AlphaGo 4:1 戰(zhàn)勝了圍棋世界冠軍李世石。在這場人機大戰(zhàn)之后,DeepMind 的科學家沒有停止他們的訓練,據(jù)說今天的 AlphaGo 已經(jīng)達到了人類專業(yè)圍棋十三段的水平,十三段對決九段那簡直就是秒殺。
 ?
 
 
 
人工智能的這些成果非常令人振奮,那么這些成果背后又是怎樣的技術呢?這就不得不提到深度學習和增強學習。
 ?
 
 
 
深度學習使用的是非常復雜,層次很深,容量很大的非線性模型,如深層神經(jīng)網(wǎng)絡,這樣的模型可以很好的擬合大量的訓練數(shù)據(jù),從而在很多識別任務中表現(xiàn)突出。增強學習是一種持續(xù)學習技術,它不斷地和環(huán)境進行交互,根據(jù)環(huán)境的反饋更新模型。這兩種技術還可以相互結(jié)合,我們稱之為深度增強學習。AlphaGo 背后的核心技術就是深度增強學習。那么,到底深度學習和增強學習是不是真的已經(jīng)非常完美,可以解決我們面臨的所有人工智能問題呢?
 
 
其實答案是否定的。仔細分析一下,就會發(fā)現(xiàn)這兩項技術都存在本質(zhì)的弱點。首先,目前深度學習的成功離不開大量的有標簽訓練數(shù)據(jù)。但是獲得海量有標簽數(shù)據(jù)的代價是非常高的,在某些特定的鄰域甚至是不可能完成的任務。比如醫(yī)療領域的疑難雜癥,本身樣本就非常少,有錢也無法取得大量的有標簽數(shù)據(jù)。正所謂成也蕭何,敗也蕭何,大數(shù)據(jù)推動了深度學習的成功,但也成為了深度學習進一步發(fā)展的瓶頸。其次,增強學習雖然不需要利用傳統(tǒng)意義上的有標簽數(shù)據(jù),但是它的學習效率并不高,需要跟環(huán)境進行大量交互從而獲得反饋用以更新模型。然而,有時和環(huán)境的頻繁交互并不現(xiàn)實。比如,在我們學開車的時候,依賴于頻繁地和環(huán)境(周圍的路況,其他的車輛)進行交互是很危險的,可能還沒學會開車就已經(jīng)發(fā)生交通事故了。這就解釋了為什么增強學習取得成功的領域很多都是模擬環(huán)境,比如說打電子游戲、下圍棋等等,它們規(guī)則明確,可以無限次重復。但當把增強學習應用到一些實際場景里,需要和實際用戶進行交互,還可能帶有無法挽回的風險,是不是還能取得同樣的效果呢?目前還沒有被證實。
 ?
 
 
 
了解了深度學習和增強學習的弱點以后,我們不禁要問:有沒有一種新的學習范式可以克服他們的弱點?能否可以不依賴于那么多有標簽的數(shù)據(jù),能否不需要跟真實環(huán)境做那么多次交互,就可以學到有效的模型?為了回答這個問題,我們首先來對現(xiàn)有的人工智能任務做一個仔細的分析。
 ?
 
 
 
通過分析,我們發(fā)現(xiàn)了一個非常重要的現(xiàn)象:現(xiàn)實中,有意義、有實用價值的人工智能任務,往往是成對出現(xiàn)的。比如在做機器翻譯的時候,我們關心從英語翻譯到漢語,我們同樣也關心從漢語翻譯回英語。再比如,在語音領域,我們既關心語音識別的問題,也關心語音合成的問題(TTS)。圖像領域,我們既關心圖像識別,也關心圖像生成。類似這樣的對偶任務還有很多,比如在對話引擎、搜索引擎等場景中都有對偶任務。這種現(xiàn)象給了我們什么啟示呢?
 
 
第一點,由于存在特殊的對偶結(jié)構(gòu),兩個任務可以互相提供反饋信息,而這些反饋信息可以用來訓練深度學習模型。也就是說,即便沒有人為標注的數(shù)據(jù),有了對偶結(jié)構(gòu),我們也可以做深度學習了。第二,這兩個對偶任務,可以互相充當對方的環(huán)境,這樣我們就不必跟真實的環(huán)境做交互,這兩個對偶任務之間的交互就可以產(chǎn)生有效的反饋信號了。總而言之,如果我們能充分地利用對偶結(jié)構(gòu),就有望解決剛才提到的深度學習和增強學習的瓶頸——訓練數(shù)據(jù)從哪里來、和環(huán)境的交互怎么持續(xù)進行下去。
 
 
基于以上的思考,我們提出了一個新的學習范式,叫做對偶學習。它的思路非常簡單。我們假設學習過程中有兩個智能體,其中一個智能體從事的是原任務,就是從 X 到 Y 的學習任務;而另外一個智能體從事的是對偶任務,也就是從 Y 到 X 的學習任務。假如我們把 X 用第一個智能體的模型 F 映射成 Y,再利用第二個智能體的模型 G 把它反映射成 X’。通過比較 X 和 X'我們其實就可以獲得非常有用的反饋信號。
 ?
 
 
 
其實這個做法在剛才孫茂松老師的演講中已經(jīng)提到過,有人曾經(jīng)用這種翻過去再翻回來的方式判斷機器翻譯模型的好壞。如果 X 和 X'的差異很大,就說明這個翻譯系統(tǒng)不靠譜,說明模型 F 和 G 至少有一個不好;如果 X 和 X'很接近,就給了我們一個利好的消息,就是這兩個模型都不錯。除了比較 X 和 X'的差異,其實還有很多其他的反饋信息可以被利用。下面我們以機器翻譯為例,做個詳細的說明。
 
 
 
 
 
 
假設我們有一個英文的句子 X,通過翻譯模型 F 的作用,得到一個中文句子 Y。那么 Y 作為一個中文句子是不是符合語法,是不是順暢,X 到 Y 之間的關系是否和英漢詞典一致等等,都可以作為反饋信息。同樣,當我們用模型 G 把 Y 再變成英文句子 X'以后,也可以去衡量 X'是不是符合語法,是否順暢、X'與 Y 的關系是否與英漢詞典一致,以及 X'和 X 是否相似等等,都可以作為反饋信息。利用這些反饋信息,我們可以使用包括 Policy Gradient 在內(nèi)的方法,來一輪一輪地更新我們的模型,直到最終得到兩個滿意的模型。
 
 
上面的這個過程可以無限循環(huán)下去,每次隨機地抽選一個單語語句,做對偶學習,更新模型,然后再抽選下一個單語語句,進行對偶學習。那么這個過程會不會收斂呢?其答案是肯定的,以機器翻譯為例,我們可以證明,只要機器翻譯模型 F 和 G 的解碼部分都使用的是隨機算法,比如 beam search,這個對偶學習過程就一定是收斂的,也就是說你最終會學到兩個穩(wěn)定的模型 F 和 G。
 
 
那么接下來,我們就來看看這樣的穩(wěn)定模型是否有效。我們對比的算法是一個非常經(jīng)典的神經(jīng)機器翻譯方法,而且用的是他們自己開源的代碼。為了訓練這個對比算法,我們使用了全部的雙語標注數(shù)據(jù)。而我們自己提出的對偶學習算法并不需要雙語標注數(shù)據(jù),用單語數(shù)據(jù)就可以進行學習和迭代了。不過萬事開頭難,我們還是要給這個學習過程一個初始化。在初始化過程中,我們使用了 10% 的雙語語料訓練了一個相對比較弱的模型,然后用對偶學習的迭代過程不斷提高它。也就是說,在初始化完成之后,我們就不再使用任何雙語的標注語料了,而是靠兩個對偶任務互相提供反饋信息進行模型訓練。好,那我們來看看實驗結(jié)果如何。
 ?
 
 
 
這兩張圖展示了法英和英法翻譯的實驗結(jié)果。以第一張圖為例,最左邊這根柱子對應的是用 10% 雙語語料訓練的初始模型;最右邊這根柱子對應的是用 100% 雙語語料訓練的翻譯模型。可以看出,初始模型確實比較弱。當我們使用對偶學習的方法,雖然不再利用任何有標注的雙語數(shù)據(jù),我們?nèi)钥梢院芸斓慕咏踔脸^用百分之百的雙語語料訓練出來的模型。這個結(jié)果非常令人振奮。不僅如此,我們的實驗發(fā)現(xiàn),對偶學習更不容易飽和,因為無標簽的單語數(shù)據(jù)非常豐富、非常多樣化,因此通過不斷調(diào)節(jié)單語數(shù)據(jù)源和調(diào)整反饋信息,可以持續(xù)提高模型的有效性。相反,使用雙語語料比較容易飽和,過幾遍數(shù)據(jù)以后,當信息被挖掘得足夠充分,想要再提升模型精度就變得非常困難了。
 
 
如上這種振奮人心的結(jié)果是否只局限在機器翻譯領域呢?其他領域是否也可以使用類似的方法得到提升呢?答案是肯定的,前面我提到的很多人工智能的任務都具有對偶結(jié)構(gòu),因此都可以用對偶學習來解決。
 ?
 
 
 
這張 PPT 展示了在語音識別和語音合成方面如何定義反饋信號,從而進行對偶學習。
 ?
 
 
 
同樣,這張 PPT 展示了在圖像識別和圖像生成方面如何定義反饋信號,從而進行對偶學習。
 ?
 
 
 
而這張 PPT 則展示了在對話引擎方面如何定義反饋信號,從而進行對偶學習。
 
 
說到這里,可能很多人會有疑問,雖然我們說對偶學習應用很寬泛,但是我們舉的例子都有一個共同特點,就是真實的物理世界里確實存在兩個對偶的任務。那么,如果我們要解決的問題并不存在一個天然的對偶任務怎么辦?其實這個也沒關系,即使沒有物理上的對偶性,也可以通過虛擬的對偶性來完成對偶學習。我舉兩個例子。第一個是在深度神經(jīng)網(wǎng)絡領域常用的 Auto Encoder,仔細分析一下,它其實是對偶學習的一個特例。
 
 
 ?
 
 
 
Auto Encoder 原本的任務是要學習從輸入層到隱層的一個映射(即編碼),為了有效地學習這種映射,我們?nèi)藶樘砑恿艘粋€虛擬任務:就是從隱層到輸入層的逆映射(即解碼,請注意圖中的輸出跟輸入是一樣的數(shù)據(jù)),這樣就形成了機器學習的閉環(huán)。如果用對偶學習的語言描述一下,就是這張圖:通過人為增加解碼回路,使虛擬的對偶性得以成立,從而實現(xiàn)對偶學習。不過需要指出的是,Auto Encoder 和對偶學習有一些小差別,Auto Encoder 只關心單邊任務的模型(也就是編碼器),而在標準的對偶學習中,我們同時關心兩個模型,想把它們都學好。
 
 
 
 
另一個例子是最近這兩年特別火的——Generative Adversarial Nets(GAN)。它的目標是學習一個圖像生成器,為此通過一個鑒別器不斷給生成器提供反饋信息(也就是判別生成器生成的東西是真是假)。這樣的博弈過程可以獲得一個非常有效的圖像生成器,用它可以自動制造訓練樣本來進行深度學習。很顯然,GAN 也可以用對偶學習的語言進行描述,并且它也只是對偶學習的一個特例:它只關心單邊生成器的有效性,而標準的對偶學習會同時關心生成器和鑒別器的有效性。
 
 
到此為止,無論是天然的對偶學習,還是虛擬的對偶學習,都是用來解決無監(jiān)督學習問題的。那么,如果實際中我們的訓練數(shù)據(jù)已經(jīng)非常多了,對偶學習的思想還有用嗎?我們的答案是:有用,而且非常有用。
 
 
讓我們來看一下監(jiān)督學習的例子。我們有一個樣本 X,原任務是要預測它的標簽 Y。為此,我們可以使用已有的很多監(jiān)督學習技術加以實現(xiàn)。但如果我們再給它人為增加一條對偶回路會怎樣呢?假設存在一個對偶任務,是從標簽 Y 到 X 的預測。那么原任務和對偶任務其實存在著非常內(nèi)在的聯(lián)系。利用全概率公式和貝葉斯公式我們可以很容易知道,這兩個任務背后的條件概率是互相約束的,利用這一點可以構(gòu)造一個非常強的正則項來提高模型的學習效率。我們在機器翻譯上的實驗表明,加入這個對偶正則項,翻譯模型的 BLEU score 有大幅度的提升。
 ?
 
 
 
同樣的道理,對偶學習的思想甚至可以提高 inference 的性能。假設我們的模型已經(jīng)訓練好了,原任務是要用它來做預測。傳統(tǒng)的做法是,給定一個樣本 X,基于已有模型,尋找能夠使其條件概率 P(Y|X) 最大化的 Y 作為 inference 的結(jié)果。如果我們運用對偶學習的思想,就會發(fā)現(xiàn)問題還可以反過來看。從對偶任務的模型出發(fā),利用貝葉斯公式,同樣也可以導出條件概率 P(Y|X) 來。按理說這兩個條件概率應該是一致的,但是因為原任務和對偶任務是獨立進行的,實際中它們可能并不完全一致,那么如果綜合考慮這兩個條件概率,我們的置信度會得到提升。相應地,inference 的結(jié)果也會得到明顯的提升。
 ?
 
 
 
到此為止我們介紹了對偶學習在無監(jiān)督學習上的應用、在沒有天然對偶結(jié)構(gòu)時如何使用虛擬回路實現(xiàn)對偶學習、以及如何把對偶學習的思想延展到有監(jiān)督學習和 inference 之中。
 ?
 
 
 
事實上,對偶學習是一個新的學習范式,而不單是一個技巧。它和我們熟知的很多學習范式,如無監(jiān)督學習、半監(jiān)督學習、co-training、多任務學習、遷移學習都有聯(lián)系,又有顯著不同。它提供了一個看待這個世界的不同視角,對很多難題提供了新的解題思路。我們非常有信心對偶學習在更多的領域?qū)〉贸晒ΑN覀兘M的同事們正在這個方向上積極探索,也希望在座的各位能夠加入我們,一起去推動對偶學習的發(fā)展,掀起人工智能的新浪潮,謝謝大家!
總結(jié)
以上是生活随笔為你收集整理的演讲 | 微软亚洲研究院刘铁岩:对偶学习推动人工智能的新浪潮的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 微软亚洲研究院刘铁岩博士:迎接深度学习的
- 下一篇: Google首席科学家谈Google是怎
