丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號(hào)安全和更好的產(chǎn)品體驗(yàn),強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時(shí)鏈接,僅用于文章預(yù)覽,將在時(shí)失效
人工智能 正文
發(fā)私信給谷磊
發(fā)送

0

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

本文作者: 谷磊 2017-03-20 12:23
導(dǎo)語:本文為劉鐵巖博士在中國(guó)人工智能學(xué)會(huì)AIDL第二期人工智能前沿講習(xí)班所做的現(xiàn)場(chǎng)演講的第二部分,主要介紹了深度學(xué)習(xí)的訓(xùn)練方法和技巧、深度學(xué)習(xí)的挑戰(zhàn)和應(yīng)對(duì)方法等問題。

雷鋒網(wǎng)[AI科技評(píng)論]按:本文是雷鋒網(wǎng)編輯根據(jù)劉鐵巖博士在中國(guó)人工智能學(xué)會(huì)AIDL第二期人工智能前沿講習(xí)班*機(jī)器學(xué)習(xí)前沿所作報(bào)告《迎接深度學(xué)習(xí)的“大”挑戰(zhàn)》編輯整理而來,發(fā)文前已得到劉鐵巖博士的親自刪減校正。

該報(bào)告分(上)、(下)兩部分,上半部分傳送門:微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(上)

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

劉鐵巖

劉鐵巖博士,微軟亞洲研究院首席研究員,領(lǐng)導(dǎo)機(jī)器學(xué)習(xí)和人工智能方向的研究工作。同時(shí)他也是美國(guó)卡內(nèi)基-梅隆大學(xué)(CMU)客座教授、英國(guó)諾丁漢大學(xué)榮譽(yù)教授、中國(guó)科技大學(xué)、中山大學(xué)、南開大學(xué)的博士生導(dǎo)師。劉博士的先鋒性工作促進(jìn)了機(jī)器學(xué)習(xí)與信息檢索之間的融合,被國(guó)際學(xué)術(shù)界公認(rèn)為“排序?qū)W習(xí)”領(lǐng)域的代表人物,他在該領(lǐng)域的學(xué)術(shù)論文已被引用近萬次,并受Springer出版社之邀撰寫了該領(lǐng)域的首部學(xué)術(shù)專著(并成為Springer計(jì)算機(jī)領(lǐng)域華人作者十大暢銷書之一)。近年來,劉博士在博弈機(jī)器學(xué)習(xí)、深度學(xué)習(xí)、分布式機(jī)器學(xué)習(xí)等方面也頗有建樹,他的研究工作多次獲得最佳論文獎(jiǎng)、最高引用論文獎(jiǎng)、研究突破獎(jiǎng);被廣泛應(yīng)用在微軟的產(chǎn)品和在線服務(wù)中、并通過微軟認(rèn)知工具包(CNTK)、微軟分布式機(jī)器學(xué)習(xí)工具包(DMTK)、微軟圖引擎(Graph Engine)等項(xiàng)目開源。他曾受邀擔(dān)任了包括SIGIR、WWW、KDD、ICML、NIPS、AAAI、ACL在內(nèi)的頂級(jí)國(guó)際會(huì)議的組委會(huì)主席、程序委員會(huì)主席、或領(lǐng)域主席;以及包括ACM TOIS、ACM TWEB、Neurocomputing在內(nèi)的國(guó)際期刊副主編。他是國(guó)際電子電氣工程師學(xué)會(huì)(IEEE)院士,美國(guó)計(jì)算機(jī)學(xué)會(huì)(ACM)杰出會(huì)員,中國(guó)計(jì)算機(jī)學(xué)會(huì)(CCF)學(xué)術(shù)工委,中文信息學(xué)會(huì)(CIPS)信息檢索專委會(huì)副主任。

以下為雷鋒網(wǎng)編輯整理的劉鐵巖博士所做的現(xiàn)場(chǎng)演講的第二部分,主要介紹了深度學(xué)習(xí)的訓(xùn)練方法和技巧、深度學(xué)習(xí)的挑戰(zhàn)和應(yīng)對(duì)方法等問題。文末,劉博士結(jié)合眼下AI的研究進(jìn)展,對(duì)深度學(xué)習(xí)領(lǐng)域深刻的“吐槽”了一番,妙趣橫生且發(fā)人深省。

深度學(xué)習(xí)的訓(xùn)練方法和技巧

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

前面提到的BN方法還不能解決所有的問題。 因?yàn)榧幢阕隽税谆せ詈瘮?shù)的導(dǎo)數(shù)的最大值也只有0.25,如果層數(shù)成百上千,0.25不斷連乘以后,將很快衰減為0。所以后來又涌現(xiàn)出一些更加直接、更加有效的方法。其基本思路是在各層之間建立更暢通的渠道,讓信息流繞過非線性的激活函數(shù)。這類工作包含Highway Network、LSTM、ResNet等。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

Highway Network和LSTM一脈相承,除了原來的非線性通路以外,增加了一個(gè)由門電路控制的線性通路。兩個(gè)通路同時(shí)存在,而這兩個(gè)通路到底誰開啟或者多大程度開啟,由另外一個(gè)小的神經(jīng)網(wǎng)絡(luò)進(jìn)行控制。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

相比之下,ResNet的做法更加直接,它不用門電路控制,而是直接增加總是開通的線性通路。雖然這些方法的操作方式不同,但是它們的基本出發(fā)點(diǎn)是一樣的,就是在一定程度上跳過非線性單元,以線性的方式把殘差傳遞下去,對(duì)神經(jīng)網(wǎng)絡(luò)模型的參數(shù)進(jìn)行有效的學(xué)習(xí)。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

在前面提到的各項(xiàng)技術(shù)的幫助下,深層神經(jīng)網(wǎng)絡(luò)的訓(xùn)練效果有了很大的提升。這張圖展示了網(wǎng)絡(luò)不斷加深、效果不斷變好的歷史演變過程。2012年ImageNet比賽中脫穎而出的AlexNet只有8層,后來變成19層、22層,到2015年,ResNet以152層的復(fù)雜姿態(tài)出場(chǎng),贏得了ImageNet比賽的冠軍。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

從這張圖上可以看出,隨著層數(shù)的不斷變深,圖像的識(shí)別錯(cuò)誤率不斷下降,由此看來,網(wǎng)絡(luò)變深還是很有價(jià)值的。

到此為止,我們把深度學(xué)習(xí)及其訓(xùn)練方法和技巧給大家做了一個(gè)非常簡(jiǎn)短的介紹。

深度學(xué)習(xí)的挑戰(zhàn)和機(jī)遇

深度學(xué)習(xí)的挑戰(zhàn)

接下來我們進(jìn)入下一個(gè)主題:深度學(xué)習(xí)的挑戰(zhàn)和機(jī)遇。很多人都在討論為什么深度學(xué)習(xí)會(huì)成功,說起來無外乎來源于機(jī)器學(xué)習(xí)優(yōu)化過程的三個(gè)方面。

基本上所有的有監(jiān)督機(jī)器學(xué)習(xí)都是在最小化所謂的經(jīng)驗(yàn)風(fēng)險(xiǎn)。在這個(gè)最小化的式子里包含以下幾個(gè)元素:

  • 一個(gè)是數(shù)據(jù):X是數(shù)據(jù)的輸入、Y是數(shù)據(jù)的標(biāo)簽;

  • 二是模型,用f表示(L是loss function);

  • 三是針對(duì)f的尋優(yōu)過程。

首先對(duì)數(shù)據(jù)X、Y而言,深度學(xué)習(xí)通常會(huì)利用非常大量的數(shù)據(jù)進(jìn)行訓(xùn)練。舉個(gè)例子,機(jī)器翻譯的訓(xùn)練數(shù)據(jù)通常包含上千萬個(gè)雙語句對(duì),語音識(shí)別常常使用幾千或者上萬個(gè)小時(shí)的標(biāo)注數(shù)據(jù),而圖像,則會(huì)用到幾百萬甚至幾千萬張有標(biāo)簽的圖像進(jìn)行訓(xùn)練。前面還提到了下圍棋的AlphaGo,它使用了3千萬個(gè)棋局進(jìn)行訓(xùn)練??梢赃@么說,現(xiàn)在主流的深度學(xué)習(xí)系統(tǒng)動(dòng)輒就會(huì)用到千萬量級(jí)的有標(biāo)簽訓(xùn)練數(shù)據(jù)。這對(duì)于十幾年前的機(jī)器學(xué)習(xí)領(lǐng)域是無法想象的。

其次,深度學(xué)習(xí)通常會(huì)使用層次很深、參數(shù)眾多的大模型。很多應(yīng)用級(jí)的深層神經(jīng)網(wǎng)絡(luò)會(huì)包含十億或者更多的參數(shù)。使用如此大的模型,其好處是可以具備非常強(qiáng)的逼近能力,因此可以解決以往淺層機(jī)器學(xué)習(xí)無法解決的難題。

當(dāng)然當(dāng)我們有那么大的數(shù)據(jù)、那么大的模型,就不得不使用一個(gè)計(jì)算機(jī)集群來進(jìn)行優(yōu)化,所以GPU集群的出現(xiàn)成為了深度學(xué)習(xí)成功的第三個(gè)推手。

成也蕭何敗也蕭何,深度學(xué)習(xí)受益于大數(shù)據(jù)、大模型、和基于計(jì)算機(jī)集群的龐大計(jì)算能力,但這些方面對(duì)于普通的研究人員而言,都蘊(yùn)含著巨大的挑戰(zhàn)。我們今天要探討的是如何解決這些挑戰(zhàn)。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

首先,讓我們來看看大數(shù)據(jù)。即便在語音、圖像、機(jī)器翻譯等領(lǐng)域我們可以收集到足夠的訓(xùn)練數(shù)據(jù),在其他的一些領(lǐng)域,想要收集到千萬量級(jí)的訓(xùn)練數(shù)據(jù)卻可能是mission impossible。比如在醫(yī)療行業(yè),有些疑難雜癥本身的樣例就很少,想要獲取大數(shù)據(jù)也無從下手。在其他一些領(lǐng)域,雖然有可能獲取大數(shù)據(jù),但是代價(jià)昂貴,可能要花上億的成本。那么對(duì)于這些領(lǐng)域,在沒有大的標(biāo)注數(shù)據(jù)的情況下,我們還能使用深度學(xué)習(xí)嗎?

其次,在很多情況下,模型如果太大會(huì)超出計(jì)算資源的容量。比如,簡(jiǎn)單計(jì)算一下要在10億量級(jí)的網(wǎng)頁上訓(xùn)練一個(gè)基于循環(huán)神經(jīng)網(wǎng)絡(luò)的語言模型,其模型尺寸會(huì)在100GB的量級(jí)。這會(huì)遠(yuǎn)遠(yuǎn)超過主流GPU卡的容量。這時(shí)候可能就必須使用多卡的模型并行,這會(huì)帶了很多額外的通信代價(jià),無法實(shí)現(xiàn)預(yù)期的加速比。(GPU很有意思,如果模型能塞進(jìn)一張卡,它的運(yùn)算并行度很高,訓(xùn)練很快。可一旦模型放不進(jìn)一張卡,需要通過PCI-E去訪問遠(yuǎn)端的模型,則GPU的吞吐量會(huì)被拖垮,訓(xùn)練速度大打折扣。)

最后,即便有一些公司擁有強(qiáng)大的計(jì)算資源,同時(shí)調(diào)度幾千塊GPU來進(jìn)行計(jì)算不成問題,也并表示這樣可以取得預(yù)期的加速比。如果這些GPU卡之間互相等待、內(nèi)耗,則可能被最慢的GPU拖住,只達(dá)到了很小的加速比,得不償失。如何保證取得線性或者準(zhǔn)線性加速比,并且還不損失模型訓(xùn)練的精度,這是一個(gè)重要且困難的研究問題。

深度學(xué)習(xí)“大”挑戰(zhàn)的應(yīng)對(duì)策略

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

接下來我會(huì)介紹我們研究組是如何解決前面提到的有關(guān)大數(shù)據(jù)、大模型、大規(guī)模訓(xùn)練的技術(shù)挑戰(zhàn)的。為此,我會(huì)簡(jiǎn)要介紹我們最近從事的三項(xiàng)研究工作:

  • 一個(gè)對(duì)偶學(xué)習(xí)Dual Learning;

  • 二是輕量級(jí)算法LightRNN;

  • 三是Delay-Compensated ASGD。

對(duì)偶學(xué)習(xí)Dual Learning

    微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

對(duì)偶學(xué)習(xí)是我們?nèi)ツ昴甑装l(fā)表在NIPS(NIPS是機(jī)器學(xué)習(xí)領(lǐng)域最頂級(jí)的學(xué)術(shù)會(huì)議)上的一篇論文,發(fā)表之后收到了很大的反響。這個(gè)論文提出了一個(gè)聽起來很簡(jiǎn)單的思路,有效地解決了缺乏有標(biāo)簽訓(xùn)練數(shù)據(jù)的問題。那我們是如何做到這一點(diǎn)的呢?

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

我們的基本思路是在沒有人工標(biāo)注數(shù)據(jù)的情況下,利用其它的結(jié)構(gòu)信息,建立一個(gè)閉環(huán)系統(tǒng),利用該系統(tǒng)中的反饋信號(hào),實(shí)現(xiàn)有效的模型訓(xùn)練。這里提到的結(jié)構(gòu)信息,其實(shí)是人工智能任務(wù)的對(duì)偶性。

什么是人工智能任務(wù)的對(duì)偶性呢?讓我們來看幾個(gè)例子。比如機(jī)器翻譯,我們關(guān)心中文到英文的翻譯,同時(shí)也關(guān)心從英文到中文的翻譯。比如語音方面,我們關(guān)心語音識(shí)別,同時(shí)也關(guān)心語音合成。同樣,我們關(guān)心圖像分類,也關(guān)心圖像生成。如此這般,我們發(fā)現(xiàn),很多人工智能任務(wù)都存在一個(gè)有意義的相反的任務(wù)。能不能利用這種對(duì)偶性,讓兩個(gè)任務(wù)之間互相提供反饋信號(hào),把深度學(xué)習(xí)模型訓(xùn)練出來呢?

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

  微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

這是完全可行的。舉一個(gè)簡(jiǎn)單的例子,比如左邊的Agent很懂中文,并且想把中文翻譯成英文,他有一點(diǎn)關(guān)于英文的基礎(chǔ)知識(shí),換句話說他擁有一個(gè)中到英翻譯的弱模型。右邊這個(gè)agent則相反,他精通英文并想把英文翻譯成中文,但只擁有一個(gè)英到中翻譯的弱模型。

現(xiàn)在左邊的agent拿到了一個(gè)中文句子,用他的弱模型將其翻譯成了英文,丟給右邊的agent。右邊的agent做的第一判斷是她收到的句子是否是個(gè)合理的英文句子?如果從英文語法的角度看,這個(gè)句子亂七八糟的看不懂,她就會(huì)給出一個(gè)負(fù)反饋信號(hào):之前的中到英的翻譯肯定出錯(cuò)了。如果這個(gè)句子從語法上來看沒啥問題,她就會(huì)用自己的弱翻譯模型將其翻譯回中文,并且傳給左邊的agent。同樣,左邊的agent可以通過語法判斷這個(gè)翻譯是否靠譜,也可以通過這個(gè)翻譯回來的句子和原本的中文句子的比較來給出進(jìn)一步的反饋信號(hào)。雙方可以通過這些反饋信號(hào)來更新模型參數(shù)。這就是對(duì)偶學(xué)習(xí),是不是特別簡(jiǎn)單?

這個(gè)過程聽起來簡(jiǎn)單,但真正做起來不那么容易。因?yàn)檫@個(gè)閉環(huán)中很多的反饋信號(hào)都是離散的,不容易通過求導(dǎo)的方式加以利用,我們需要用到類似強(qiáng)化學(xué)習(xí)中Policy Gradient這樣的方法實(shí)現(xiàn)模型參數(shù)的優(yōu)化。我們把對(duì)偶學(xué)習(xí)應(yīng)用在機(jī)器翻譯中,在標(biāo)準(zhǔn)的測(cè)試數(shù)據(jù)上取得了非常好的效果。我們從一個(gè)只用10%的雙語數(shù)據(jù)訓(xùn)練出的弱模型出發(fā),通過無標(biāo)簽的單語數(shù)據(jù)和對(duì)偶學(xué)習(xí)技術(shù),最終超過了利用100%雙語數(shù)據(jù)訓(xùn)練出的強(qiáng)模型。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

除了前面提到的機(jī)器翻譯的例子,還有很多對(duì)偶學(xué)習(xí)的例子:比如說語音信號(hào)處理、圖像信號(hào)處理、對(duì)話等等,都可以做對(duì)偶學(xué)習(xí)。這幾張PPT分別展示了在這些應(yīng)用里如何定義反饋信號(hào),實(shí)現(xiàn)有效的參數(shù)優(yōu)化。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

其實(shí)人工智能任務(wù)的對(duì)偶性是非常本質(zhì)的,用好了在很多地方都會(huì)取得意想不到的結(jié)果。它不僅可以幫助我們把無標(biāo)簽數(shù)據(jù)用起來,還可以顯著地提高有標(biāo)簽數(shù)據(jù)的學(xué)習(xí)效果。接下來我們將會(huì)展示對(duì)偶學(xué)習(xí)的各種擴(kuò)展應(yīng)用。

首先,有人可能會(huì)問,你舉的這些例子里確實(shí)存在天然的對(duì)偶性,可以也有些任務(wù)并沒有這種天然的對(duì)偶性,那能不能使用對(duì)偶學(xué)習(xí)技術(shù)來改善它們呢?答案是肯定的。如果沒有天然的對(duì)偶性,我們可以通過類似“畫輔助線”的方法,構(gòu)建一個(gè)虛擬的對(duì)偶任務(wù)。只不過在完成對(duì)偶學(xué)習(xí)之后,我們僅僅使用主任務(wù)的模型罷了。大家可能也聽過這幾年很火的GAN(Generative Adversarial Nets),它就可以看做一種虛擬的對(duì)偶學(xué)習(xí)。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

其次,還有人可能會(huì)問,對(duì)偶學(xué)習(xí)主要是解決無標(biāo)簽數(shù)據(jù)的學(xué)習(xí)問題,那我如果只關(guān)心有監(jiān)督的學(xué)習(xí)問題,這個(gè)結(jié)構(gòu)對(duì)偶性還有幫助嗎?答案也是肯定的。

以前人們?cè)谟?xùn)練一對(duì)對(duì)偶任務(wù)的時(shí)候,通常是獨(dú)立進(jìn)行的,也就是各自利用自己的訓(xùn)練數(shù)據(jù)來訓(xùn)練,沒有在訓(xùn)練過程考慮到還存在另一個(gè)有結(jié)構(gòu)關(guān)系的訓(xùn)練任務(wù)存在。其實(shí),這兩個(gè)訓(xùn)練任務(wù)是存在深層次內(nèi)在聯(lián)系的。大家學(xué)過機(jī)器學(xué)習(xí)原理的話,就知道我們訓(xùn)練的分類模型其實(shí)是去逼近條件概率P(Y|X)。那么一對(duì)對(duì)偶任務(wù)的模型分別逼近的是P(Y|X)和P(X|Y)。他們之間是有數(shù)學(xué)聯(lián)系的:P(X)P(Y|X)=P(Y)P(X|Y)。其中的先驗(yàn)分布P(X)和P(Y)可以很容易通過無標(biāo)簽數(shù)據(jù)獲得。

因此,我們?cè)谟?xùn)練兩個(gè)模型的時(shí)候,如果由他們算出的聯(lián)合概率不相等的話,就說明模型訓(xùn)練還不充分。換言之,前面的等式可以作為兩個(gè)對(duì)偶任務(wù)訓(xùn)練的正則項(xiàng)使用,提高算法的泛化能力,在未知的測(cè)試集上取得更好的分類效果。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

我們把這個(gè)正則項(xiàng)應(yīng)用到機(jī)器翻譯中,再次取得了明顯的提升,從英法互譯的數(shù)據(jù)上看,BLEU score提高了2個(gè)點(diǎn)。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

同樣,加入這個(gè)正則項(xiàng),在圖像分類、圖像生成、情感分類、情感生成等方面都取得了很好的效果。我們舉個(gè)例子,傳統(tǒng)技術(shù)在做情感生成的時(shí)候,出來的語句是似然比較大的句子,通常是訓(xùn)練數(shù)據(jù)里最多出現(xiàn)的詞語和句式。而引入了情感分類的對(duì)偶正則項(xiàng),生成的句子就會(huì)更多地包含那些明顯攜帶感情色彩的詞語。這樣生成的句子就會(huì)既有內(nèi)容、又有情感,效果更好。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

第三,或許有人還可能會(huì)問:如果我無法改變模型訓(xùn)練的過程,別人已經(jīng)幫我訓(xùn)練好了兩個(gè)模型,對(duì)偶性還能幫我改善推斷的過程嗎?答案還是肯定的。假設(shè)我們之前已經(jīng)獨(dú)立地訓(xùn)練了兩個(gè)模型,一個(gè)叫f,一個(gè)叫g(shù)(比如f是做語音識(shí)別的,g是做語音合成的),現(xiàn)在要用他們來做inference。這個(gè)時(shí)候,其實(shí)前面說的概率約束還在。我們可以通過貝葉斯公式,把兩個(gè)對(duì)偶任務(wù)的模型聯(lián)系起來,實(shí)現(xiàn)共同的推斷。具體細(xì)節(jié)如圖所示。我們做了大量實(shí)驗(yàn),效果非常好。比如在機(jī)器翻譯方面,聯(lián)合推斷又會(huì)帶來幾個(gè)點(diǎn)的BLEU score的提升。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

總結(jié)一下,我們認(rèn)為對(duì)偶學(xué)習(xí)是一個(gè)新的學(xué)習(xí)范式,它和co-training、Transfer learning等既有聯(lián)系又有區(qū)別。它開啟了看待人工智能任務(wù)的新視角,應(yīng)用價(jià)值遠(yuǎn)遠(yuǎn)不止前面的具體介紹,如果大家有興趣可以跟我們一起挖掘。

輕量級(jí)算法LightRNN

接下來,我們來討論一下如何處理大模型的挑戰(zhàn)。舉個(gè)例子,假設(shè)我們要利用clueweb這樣的互聯(lián)網(wǎng)數(shù)據(jù)集來訓(xùn)練語言模型。這種大數(shù)據(jù)集通常有千萬量級(jí)的詞表,其中包含很多生僻的人名、地名、公司名,新詞、衍生詞、甚至是用戶輸入的錯(cuò)詞。如果使用前面提到的循環(huán)神經(jīng)網(wǎng)絡(luò)來訓(xùn)練語言模型,經(jīng)過非常簡(jiǎn)單的運(yùn)算就可以得出,其模型規(guī)模大約80G,也就是說你需要有80G的內(nèi)存才能放下這個(gè)RNN模型,這對(duì)于CPU不是什么問題,但是對(duì)GPU而言就是非常大的挑戰(zhàn)了,主流的GPU只有十幾二十G的內(nèi)存,根本放不下這么大的模型。 就算真的可以,以目前主流GPU的運(yùn)算速度,也要將近200年才能完成訓(xùn)練。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

那這個(gè)問題怎么解決呢?接下來我們要介紹的LightRNN算法是一種解決的辦法,我相信還有很多別的方法,但是這個(gè)方法很有啟發(fā)意義。它的具體思路是什么呢?首先,讓我們來看看為什么模型會(huì)那么大,其主要原因是我們假設(shè)每個(gè)詞都是相互獨(dú)立的,因而如果有1千萬個(gè)詞,就會(huì)訓(xùn)練出1千萬個(gè)向量參數(shù)來。顯然這種假設(shè)是不正確的,怎么可能這1千萬個(gè)詞之間沒有關(guān)系呢?如果我們打破這個(gè)假設(shè),試圖在學(xué)習(xí)過程中發(fā)現(xiàn)詞匯之間的相關(guān)性,就可能極大地壓縮模型規(guī)模。特別地,我們用2個(gè)向量來表達(dá)每個(gè)詞匯,但是強(qiáng)制某些詞共享其中的一個(gè)分量,這樣雖然還是有那么多詞匯,我們卻不需要那么多的向量來進(jìn)行表達(dá),因此可以縮小模型尺寸。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

具體而言,我們建立了一張映射表,在這張表里面每一個(gè)詞對(duì)應(yīng)兩個(gè)參數(shù)向量(x和y),表里所有同一行的詞共享x,所有同一列的詞共享y。相應(yīng)地,我們需要把RNN的結(jié)構(gòu)做一些調(diào)整,如下圖所示。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

這樣我們就可以把一個(gè)80G的模型,壓縮到只有50M那么大。這么小的模型,不僅訓(xùn)練起來很快,還可以隨便塞到移動(dòng)終端里,實(shí)現(xiàn)高效的inference。

那么有人會(huì)問了,前面的LightRNN算法嚴(yán)重依賴于這個(gè)二維映射表,可是怎么才能構(gòu)建出一個(gè)合理的表格,使得有聯(lián)系的詞共享參數(shù),沒有聯(lián)系的詞就不共享參數(shù)呢?其實(shí)這是一個(gè)經(jīng)典的問題。假設(shè)我給每個(gè)詞都已經(jīng)有一個(gè)參數(shù)表達(dá),x、y已經(jīng)有了,就可以通過求解一個(gè)最優(yōu)二分圖匹配的問題實(shí)現(xiàn)二維映射表的構(gòu)造。而一旦有了映射表,我們又可以通過RNN的訓(xùn)練更新參數(shù)表達(dá)。這是一個(gè)循環(huán)往復(fù)的過程,最終收斂的時(shí)候,我們不但有了好的映射表,也有了好的參數(shù)模型。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

我們?cè)跇?biāo)準(zhǔn)數(shù)據(jù)集上測(cè)試了LightRNN算法。神奇的是,雖然模型變小了,語言模型的Perplexity竟然變好了。這個(gè)效果其實(shí)有點(diǎn)出乎我們的預(yù)期,但是卻也在情理之中。因?yàn)長(zhǎng)ightRNN打破了傳統(tǒng)RNN關(guān)于每個(gè)詞都是獨(dú)立的假設(shè),主動(dòng)挖掘了詞匯之間的語義相似性,因此會(huì)學(xué)到更加有意義的模型參數(shù)。這對(duì)inference是很有幫助的。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

其實(shí)LightRNN的思想遠(yuǎn)遠(yuǎn)超過語音模型本身,機(jī)器翻譯里、文本分類里難道就沒有這個(gè)問題嗎?這個(gè)技術(shù)可以推廣到幾乎所有文本上的應(yīng)用問題。甚至,除了文本以外,它還可以用來解決大規(guī)模圖像分類的問題。只要模型的輸出層特別大,而且這些輸出類別存在某些內(nèi)在的聯(lián)系,都可以采用LightRNN的技術(shù)對(duì)模型進(jìn)行簡(jiǎn)化,對(duì)訓(xùn)練過程進(jìn)行加速。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

除此之外,模型變小了,對(duì)分布式訓(xùn)練也很有意義。分布式運(yùn)算的時(shí)候,各個(gè)worker machine之間通常要傳遞模型或者模型梯度。當(dāng)模型比較小的時(shí)候,這種傳輸?shù)耐ㄐ糯鷥r(jià)就比較小,分布式訓(xùn)練就 比較容易取得較高的加速比。

Delay-Compensated ASGD

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

說到分布式訓(xùn)練,我們順便就講講第三個(gè)挑戰(zhàn)。我們這里討論的主要是數(shù)據(jù)并行,也就是數(shù)據(jù)太多了,一臺(tái)機(jī)器或者放不下、或者訓(xùn)練速度太慢。假設(shè)我們把這些數(shù)據(jù)分成N份,每份放在一臺(tái)機(jī)器上,然后各自在本地計(jì)算,一段時(shí)間以后把本地的運(yùn)算結(jié)果和參數(shù)服務(wù)器同步一下,然后再繼續(xù)本地的運(yùn)算,這就是最基本的數(shù)據(jù)并行的模式。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

數(shù)據(jù)并行模式有兩個(gè)常用的做法:

  • 一是同步;

  • 二是異步。

同步并行指的是本地將模型更新后發(fā)給參數(shù)服務(wù)器,然后進(jìn)入等待狀態(tài)。直到所有模型更新都發(fā)到參數(shù)服務(wù)器以后,參數(shù)服務(wù)器將模型進(jìn)行平均和回傳,大家再各自以平均模型為起點(diǎn),進(jìn)行下一輪的本地訓(xùn)練。這個(gè)過程是完全可控的,而且在數(shù)學(xué)上是可以清晰描述的。但是,它的問題是由于互相等待,整個(gè)系統(tǒng)的速度會(huì)被最慢的機(jī)器拖垮。雖然使用了很多機(jī)器一起進(jìn)行并行運(yùn)算,但通常無法達(dá)到很高的加速比。為了解決這個(gè)問題,異步并行被大量使用。

所謂異步并行指的是,本地機(jī)器各自進(jìn)行自己的訓(xùn)練工作,一段時(shí)間以后將模型更新推送到參數(shù)服務(wù)器上,然后并不等待其他機(jī)器,而是把當(dāng)前參數(shù)服務(wù)器上的全局模型拿下來,以此為起點(diǎn)馬上進(jìn)行下一輪的本地訓(xùn)練。這個(gè)過程的好處就是快,因?yàn)楦鱾€(gè)機(jī)器之間不需要互相等待,但是訓(xùn)練過程在數(shù)學(xué)上的描述是不清晰的,因?yàn)榘芏鄟y序更新,它和單機(jī)串行訓(xùn)練的過程相去甚遠(yuǎn),所以訓(xùn)練的結(jié)果沒有很好的理論保證,會(huì)受到各個(gè)機(jī)器之間速度差的影響。我們用延遲來描述這種速度差。具體來說,假設(shè)我們一共有10臺(tái)機(jī)器參與運(yùn)算,對(duì)于其中的一臺(tái)機(jī)器,當(dāng)我從參數(shù)服務(wù)器上取得一個(gè)模型,并且根據(jù)本地?cái)?shù)據(jù)求出模型梯度以后,在我打算將這個(gè)梯度回傳給參數(shù)服務(wù)器之前,可能其他的機(jī)器已經(jīng)把他們的模型梯度推送給了參數(shù)服務(wù)器,也就是說參數(shù)服務(wù)器上的全局模型可能已經(jīng)發(fā)生了多次版本變化。那么我推送上去的模型梯度就不再適用了,因?yàn)樗鼘?duì)應(yīng)于一個(gè)舊模型,我們稱之為延遲的梯度。當(dāng)延遲的梯度被加到全局模型以后,可能毀掉全局模型,因?yàn)樗呀?jīng)違背了梯度下降的基本數(shù)學(xué)定義,因此收斂性沒法得到很好的保障。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

為了解決這個(gè)問題,人們使用了很多手段,包括SSP、AdaDelay等等。他們或者強(qiáng)制要求跑的快的機(jī)器停下來等待比較慢的機(jī)器,或者給延遲的梯度一個(gè)較小的學(xué)習(xí)率。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

也有人證明其實(shí)這個(gè)延遲和Momentum有某種關(guān)系,只需要調(diào)整momentum的系數(shù)就可以平衡這個(gè)延遲。這些工作都很有意義,但是他們并沒有非常正面地分析延遲的來源,并且針對(duì)性地解決延遲的問題。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

我們研究組對(duì)這么問題進(jìn)行了正面的回答。其實(shí)這個(gè)事說起來也很簡(jiǎn)單。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

大家想想,我們本來應(yīng)該加上這個(gè)梯度才是標(biāo)準(zhǔn)的梯度下降法,可是因?yàn)檠舆t的存在,我們加卻把t時(shí)刻的梯度加到了t+τ時(shí)刻的模型上去。正確梯度和延遲梯度的關(guān)系可以用泰勒展開來進(jìn)行刻畫:它們之間的差別就是這些一階、二階、和高階項(xiàng)。如果我們能把這些項(xiàng)有效地利用起來,就可以把延遲補(bǔ)償?shù)?。這事看起來好像簡(jiǎn)單,做起來卻不容易。

首先,泰勒展開在什么時(shí)候有意義呢?Wt和Wt+τ距離不能太遠(yuǎn),如果相差太遠(yuǎn),那些高階項(xiàng)就不是小量,有限泰勒展開就不準(zhǔn)了。這決定了在訓(xùn)練的哪個(gè)階段使用這項(xiàng)技術(shù):在訓(xùn)練的后半程,當(dāng)模型快要收斂,學(xué)習(xí)率較小的時(shí)候,可以保證每次模型變化不太大,從而安全地使用泰勒展開。

其次,即便是多加上一個(gè)一階項(xiàng),運(yùn)算量也是很大的。因?yàn)樘荻群瘮?shù)的一階導(dǎo)數(shù)對(duì)應(yīng)于原目標(biāo)函數(shù)的二階導(dǎo)數(shù),也就是對(duì)應(yīng)于海森陣。我們知道海森陣計(jì)算和存儲(chǔ)的復(fù)雜度都很高,在模型很大的時(shí)候,實(shí)操性不強(qiáng)。

那么怎么解決這個(gè)挑戰(zhàn)呢?我們證明了一個(gè)定理,在特定情況下,Hessen陣可以幾乎0代價(jià)地計(jì)算出來,而且近似損失非常之小。具體而言,我們證明了對(duì)于一些特定的損失函數(shù)(負(fù)對(duì)數(shù)似然的形式),二階導(dǎo)可以被一階導(dǎo)的外積進(jìn)行無偏估計(jì)。無偏估計(jì)雖然均值相同,方差可能仍然很大,為了進(jìn)一步提升近似效果,我們通過最小化MSE來控制方差。做完之后我們就得到了一個(gè)新的公式,這個(gè)公式除了以前的異步的梯度下降以外還多引入一項(xiàng),其中包含一個(gè)神奇的Φ函數(shù)和λ因子,只要通過調(diào)節(jié)他們就可以有效的補(bǔ)償延遲。

在此基礎(chǔ)上,我們進(jìn)一步證明,使用延遲補(bǔ)償?shù)漠惒讲⑿兴惴梢匀〉酶玫氖諗啃再|(zhì),其對(duì)延遲的敏感性大大降低。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

這一點(diǎn)被我們所做的大量實(shí)驗(yàn)驗(yàn)證。實(shí)驗(yàn)表明,我們不僅可以取得線性加速比,還能達(dá)到幾乎和單機(jī)串行算法一樣的精度。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

到這兒為止我們針對(duì)大數(shù)據(jù)、大模型、大計(jì)算的挑戰(zhàn),分別討論了相應(yīng)的技術(shù)解決方案。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

如果大家對(duì)這些研究工作感興趣,可以看一下我們的論文,也歡迎大家使用微軟的開源工具包CNTK和DMTK,其中已經(jīng)包含了我們很多的研究工作。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

關(guān)于AI的一些看法

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

在報(bào)告的最后,和大家聊點(diǎn)開腦洞的話題。這幾張PPT是中文的,其實(shí)是我之前在一次報(bào)告中和大家分享的關(guān)于AI的觀點(diǎn)時(shí)使用的。其中前三個(gè)觀點(diǎn)已經(jīng)在今天的講座中提到了。我們?cè)賮砜纯春竺鎺讞l:

首先是關(guān)于深度學(xué)習(xí)的調(diào)參問題?,F(xiàn)在深度學(xué)習(xí)技術(shù)非常依賴于調(diào)參黑科技。即便是公開的算法,甚至開源的代碼,也很難實(shí)現(xiàn)完美復(fù)現(xiàn),因?yàn)槠浔澈蟮恼{(diào)參方法通常不會(huì)公開。那么,是否可以用更牛的黑科技來解決這個(gè)調(diào)參黑科技的問題呢?這幾年炒的很火的Learning to Learn技術(shù),正是為了實(shí)現(xiàn)這個(gè)目的。大家可以關(guān)注一下這個(gè)方向。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

其次,深度學(xué)習(xí)是個(gè)黑箱方法。很多人都在吐槽,雖然效果很好,就是不知道為什么,這使得很多敏感行業(yè)不敢用,比如醫(yī)療、軍工等等。怎樣才能讓這個(gè)黑盒子變灰甚至變白呢?我們組目前在從事一項(xiàng)研究,試圖把符號(hào)邏輯和深度學(xué)習(xí)進(jìn)行深度集成,為此開發(fā)了一個(gè)新系統(tǒng)叫g(shù)raph machine,今年晚些時(shí)候可能會(huì)開源,到時(shí)候大家就可以進(jìn)一步了解我們的具體做法。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

最后,我來吐槽一下整個(gè)深度學(xué)習(xí)領(lǐng)域吧 :).

我覺得現(xiàn)在所謂的AI其實(shí)不配叫做 Artificial Intelligence,更像是animal Intelligence。因?yàn)樗粔蛑悄埽鉀Q的絕大部分問題都是動(dòng)物智能做的事情。關(guān)鍵原因是,它沒有抓到人和動(dòng)物的關(guān)鍵差別。人和動(dòng)物的差別是腦容量的大小嗎?是大數(shù)據(jù)、大計(jì)算、大模型能解決的嗎?我個(gè)人并不這樣認(rèn)為。我覺得人和動(dòng)物主要的差別是在于人是社會(huì)動(dòng)物,人有一套非常有效的機(jī)制,使人變得越來越聰明。

我給大家舉個(gè)簡(jiǎn)單的例子,雖然動(dòng)物也會(huì)通過強(qiáng)化學(xué)習(xí)適應(yīng)世界,學(xué)得一身本事。但是,一旦成年動(dòng)物死掉,他們積累的技能就隨之消失,幼崽需要從頭再來,他們的智能進(jìn)化就被復(fù)位了。而人則完全不同,我們?nèi)藭?huì)總結(jié)知識(shí),通過文字記錄知識(shí)、傳承知識(shí);人有學(xué)校,有教育體系(teaching system),可以在短短十幾年的時(shí)間里教會(huì)自己的孩子上下五千年人類積累的知識(shí)。所以說,我們的智能進(jìn)化過程從未復(fù)位,而是站在前人的肩膀上繼續(xù)增長(zhǎng)。這一點(diǎn)秒殺一切動(dòng)物,并且使得人類的智能越來越強(qiáng)大,從而成為了萬物之靈。

可是現(xiàn)在的人工智能研究并沒有對(duì)這些關(guān)鍵的機(jī)制進(jìn)行分析和模擬。我們有deep learning,但是沒有人研究deep teaching。所以我才說現(xiàn)在的人工智能技術(shù)是南轅北轍,做來做去還是動(dòng)物智能,只有意識(shí)到人和動(dòng)物的差別才能有所突破?;蛟S,Deep Teaching才是人工智能的下一個(gè)春天。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

前面這些思考引導(dǎo)我在微軟亞洲研究院組織研究項(xiàng)目的時(shí)候進(jìn)行合理的布局,比如我們正在從事著對(duì)偶學(xué)習(xí),Light machine learning,符號(hào)學(xué)習(xí),分布式學(xué)習(xí)、群體學(xué)習(xí)等研究工作。我們拒絕跟風(fēng),而是追隨內(nèi)心對(duì)人工智能的認(rèn)識(shí)不斷前行。今天的講座目的不僅是教會(huì)大家了解什么是深度學(xué)習(xí),更重要的是啟發(fā)大家一起努力,把人工智能這個(gè)領(lǐng)域、深度學(xué)習(xí)這個(gè)領(lǐng)域推向新的高度,為人工智能的發(fā)展做出我們中國(guó)人獨(dú)特的貢獻(xiàn)!

這就是今天分享的所有內(nèi)容。謝謝大家!  

雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

微軟亞洲研究院劉鐵巖博士:迎接深度學(xué)習(xí)的“大”挑戰(zhàn)(下)

分享:
相關(guān)文章

編輯

專注報(bào)道人工智能。微信:ydxy301
當(dāng)月熱門文章
最新文章
請(qǐng)?zhí)顚懮暾?qǐng)人資料
姓名
電話
郵箱
微信號(hào)
作品鏈接
個(gè)人簡(jiǎn)介
為了您的賬戶安全,請(qǐng)驗(yàn)證郵箱
您的郵箱還未驗(yàn)證,完成可獲20積分喲!
請(qǐng)驗(yàn)證您的郵箱
立即驗(yàn)證
完善賬號(hào)信息
您的賬號(hào)已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說