當前位置:
首頁 > 知識 > 第四範式首席科學家楊強:AlphaGo的弱點及遷移學習的應對

第四範式首席科學家楊強:AlphaGo的弱點及遷移學習的應對

機器之心整理

演講者:楊強

5 月 27-28 日,機器之心在北京順利主辦了第一屆全球機器智能峰會(GMIS 2017),來自美國、加拿大、歐洲,香港及國內的眾多頂級專家分享了精彩的主題演講。在這篇文章中,機器之心整理了第四範式首席科學家、香港科大計算機科學與工程系主任楊強在大會第二天發表的主題為《遷移學習研究的最新進展》的演講。

楊強,第四範式聯合創始人、首席科學家。楊強教授在人工智慧研究領域深耕三十年,是國際公認的人工智慧全球頂級學者,ACM 傑出科學家,兩屆「KDD Cup」冠軍。現任香港科技大學計算機與工程系主任,是首位美國人工智慧協會(AAAI)華人院士,AAAI 執行委員會唯一的華人委員,國際頂級學術會議 KDD、IJCAI 等大會主席,IEEE 大數據期刊等國際頂級學術期刊主編。楊強教授在數據挖掘、人工智慧、終身機器學習和智能規劃等研究領域都有卓越的貢獻,是遷移學習領域的奠基人和開拓者,他發表論文 400 余篇,論文被引用超過三萬次。

以下是該演講視頻的主要內容:

大家好,我叫楊強,我今天想跟大家分享一下大家可能都關心的問題,機器學習、人工智慧有哪些最新的進展。

我先從最近比較熱的一個話題開始。我們知道本周人工智慧界最熱的一個話題是人機大戰,在烏鎮,AlphaGo 和柯潔進行了三場比賽。這個比賽看上去讓人心潮澎湃,而我們在裡面到底學到了什麼東西呢?

首先,今年的數據和去年與李世乭下棋時候的數據大有不同,去年還用了很多人類大師們下棋的數據,但是今年更多地用了 AlphaGo 自我對弈的數據,這使得數據的質量大幅提高、也就是讓機器學習的效果大為提高。所以說,數據的質量是非常重要的。

第二條,計算架構也很重要。我們知道去年用了上千的 CPU,用了成百的 GPU,但是今年只用了小小的 TPU。今年用的計算架構與去年的計算架構相比,有了一種飛躍性的變化。

再則,智能演算法也是非常重要的。AlphaGo 能夠讓計算機自我訓練,自我學習,靠的是強化學習演算法。有了這樣的演算法,雖然人是沒有辦法打敗機器的,但是機器是可以打敗機器。機器的特點是自動運算,如果我們賦予機器一種能力,讓它能夠自我學習,那麼其某些方面能夠超越人的能力。所以這種自我學習的演算法極其重要。

以上這三點對於商業活動、對於我們把人工智慧落地,其實是非常重要。我們想一想工作當中、生活當中遇見的人工智慧應用:是不是都有高質量的數據、很好的計算架構和自我學習、不斷提高的閉環能力。這三個條件是我今天要說的第一件事。

我們下面進入到主題。在人機大戰中,柯潔給我們留下一句話,柯潔說,AlphaGo 看上去像「神」一樣的存在,好像它是無懈可擊的。我們從機器學習的角度來說 AlphaGo 到底有沒有弱點呢?我個人的觀點是,它是有弱點的,而且這個弱點還挺嚴重:這個弱點就是它沒有「遷移學習」的能力,而遷移學習是我們人類智慧的一種特質。

遷移學習這個特質體現在智慧的什麼方面呢?

機器的一個能力是能夠在大量的數據裡面學習,所以數據的質量是非常重要的,這是我們學到的一點。但是,你能不能在 19×19 的棋盤學到一個知識,再把它推廣到 21×21 的棋盤?你在學會下圍棋之後,你能不能去下象棋?你學會了下圍棋,能不能把它運用在生活當中?運用到生活的方方面面、商業活動、日常活動、指揮機器人的行動當中呢?

機器在今天是沒有這個推廣能力的,這就是我今天要說的題目。

在人類的進化演進當中,遷移學習這種能力是非常重要的。比如說,我們人類在學會騎自行車以後,再騎摩托車就非常容易了,這對於人來說是非常容易的;我們看一兩張圖片,就可以把它擴展到許多其他不同的景象,這種能力也是非常強的;我們有了知識,把這個知識再推廣到其他的知識當中,這個能力說明我們人這個計算系統有什麼能力呢?叫可靠性,我們能把我們過去的經驗帶到不同的場景,這樣就有了一種能夠適應的能力。

那麼,我們怎樣才能讓機器也具有這種能力呢?我再給大家一個例子,讓大家去想一想。

我是從香港科技大學過來,現在我們在北京。我們知道在北京開車,司機是坐在車的左邊,在香港開車,司機是坐在車的右邊。我們在北京學會開車以後,如果去香港租車,怎麼能夠很快地學會在香港開車而不出事呢?這個就是一個訣竅,我把這個訣竅叫作「遷移學習的訣竅。」

大家可能都有過類似的經驗,我告訴你們答案,就是司機的座位總是最靠近路中間的,不管你是在北京開車,還是在香港開車,大家不妨去試一試。這就說明什麼呢?這就說明遷移學習的要素就是發現共性,發現兩個領域之間的共性。如果一旦發現了這種關鍵的共性,遷移就非常容易。我們在機器學習里叫做特徵,發現這種共同的特徵。

遷移學習的三大好處

下面我要說一下,為什麼我們要研究遷移學習?

首先,我們在生活當中遇到更多的是小數據。家裡的小朋友看一張貓的圖片,那麼當他再看到一隻真貓,就會說這是貓。我們不用給他一千萬個正例、一千萬個負例,他就能具有這種能力,人是自然就有這種能力的。因此,小數據上的學習如何能夠實現?這才是真正的智能。

第二個好處,可靠性。我們造一個系統,希望它不僅在那個領域能夠發揮作用,在周邊的領域也能發揮作用。當我們把周邊的環境稍微改一改的時候,這個系統還是可以一樣的好,這個就是可靠性。我們可以舉一反三、融會貫通,這也是我們賦予人的智慧的一種定義。

第三個好處,我們現在越來越多地強調個性化。我們在手機上看新聞、看視頻,手機為我們做提醒,以後家裡面會有機器人,這些都是要為我們個人提供服務的,而這個服務越個性化越好。

但大家有沒有想過,個性的數據往往都是小數據。也就是說,我們可以把幾千、幾萬、幾百萬人的數據綜合在雲端,但那樣做出的一個系統只是一個通用型的系統。我們更重要的是如何能夠把通用的系統加上個人的小數據,就把它遷移到個人的場景當中去。不管是視覺,還是語音識別、推薦等等,其實我們都需要向個性化方向發展,那麼遷移學習就是一個必不可少的工具。

說了這些好處之後,來看一下為什麼今天遷移學習還沒有大規模地推廣?這是因為遷移學習本身是非常非常難的。如上圖所示,這裡問的是教育學裡面的問題,問的是 Learning Transfer,也就是「學習遷移。」

在教育學裡面,對於如何把知識遷移到不同的場景,也是非常關心的。在教育學,這個理念已經有上百年的歷史。就是說如果我們想來衡量一個老師的好壞,我們往往可以不通過學生的期末考試,因為那種只是考特定的知識,學生有的時候死記硬背也可以通過考試。一個更好的方法,是觀察這個學生在上完這門課之後的表現,他有多大的能力能夠把這門課的知識遷移到其他的課里去。那個時候我們再回來說,這個老師的教學是好是壞,這個叫學習遷移。所以,在教育學裡大家就在問,為什麼學習遷移是如此的難?這個難點就是在如何發現共同點。

再回到我剛才開車的例子,在座有多少人經歷過從左邊開車到右邊開車這種非常苦惱的事實?對於我們人來說,發現這種共性也是很難的。好在,現在遷移學習這個領域已經有了十年到二十年努力的結果。

六個進展

遷移學習如此重要,所以有大批的研究者投身到遷移學習的研究中去。下面,我們來看看遷移學習的研究有哪些最新進展。

遷移學習進展一:結構與內容分離

如果我們面臨一個機器學習問題,並想要發現不同問題之間的共性,那麼我們可以把問題的結構和問題的內容剝離開。雖然這樣的分離並不容易,但是一旦能夠完成,那麼系統舉一反三的能力就非常強了。舉個例子,大家可能認為寫電影劇本是一個非常需要藝術,非常需要天才的工作。但是大家可能不知道,寫電影劇本也可以變得像工廠一樣。劇作家的訣竅就是把內容和結構剝離開,他們知道電影頭 10 分鐘該演什麼,後 5 分鐘又該演什麼,在什麼時候應該催人淚下,在什麼時候讓大家捧腹大笑,這些都是有結構的。

怎樣讓機器學習也具有這個能力呢?上圖的左邊是 2005 年《Science》的一篇文章,該論文在手寫識別上把結構和手寫的方式區分開,並發現了在學習結構的這一方面用一個例子就可以了,所以這也就是單個例學習。

右邊是博士生吳宇翔同學最近在進行的一項研究,在大規模的文本上,如果我們能夠把文本的結構和具體的內容用一個深度學習網路給區分開的話,那麼學到結構這一部分的系統就很容易遷移到自然語言系統並處理不同的任務。比如說主題識別、自動文本摘要、自動寫稿機器人等,這一部分真的比較有前景。

第二個進展:多層次的特徵學習

過去我們在學習方面太注重發現共性本身,但是卻沒有注意在不同的層次之間發現這些共性。但現在發現,如果我們把問題分到不同層次,有些層次就更容易幫助我們進行機器學習的遷移。

如上圖圖像識別任務中,如果我們在一個領域已經用了上千萬的數據訓練好了一個八層的深度學習模型,但現在如果我們改變了該分類任務的類別,那麼傳統的機器學習就必須重新進行訓練。但是現在用了這種層次型的遷移學習,我們會發現,不同的層次具有不同的遷移能力,這樣對於不同的層次的遷移能力就有了一個定量的估計。所以,當我們需要處理新任務時,就可以把某些區域或某些層次給固定住,把其他的區域用小數據來做訓練,這樣就能夠達到遷移學習的效果。

在語音任務當中,假設我們已經訓練出一個播音員的語音模型,那麼我們如果把它遷移到一種帶口音的語音中呢?我們其實也可以用這種層次化的遷移,因為如果我們發現一些共性的、內在的層次是語音共同的模式,那麼我們就可以把它遷移過來,再使用小數據就能訓練方言了。

同時如上圖所示,我們對於結構也可以像工程師一樣,進行各種各樣的變換,比如說我們可以在圖像、文字之間發現他們語義的共性。同時如果我們可以用一個多模態的深度學習網路把內部語義學出來,這樣就可以在文字和圖像之間自由的遷移。所以這種多層的遷移,確實帶來很多的便利。

第三個進展:從一步到位的遷移學習,到多步、傳遞式的遷移學習

過去的遷移學習,往往是我也有一個領域已經做好了模型,而目標是把它遷移到一個新的領域。這種從舊領域遷移到新領域,從一個多數據的領域遷移到少數據的領域,這種稱之為單步遷移。但是我們現在發現,很多場景是需要我們分階段進行的,這就像過河,需要踩一些石頭一步步過去。

採用這個思想,我們也可以進行多步傳導式的遷移。比如說我們可以構建一個深度網路,而這個網路的中間層就既能照顧目標這個問題領域,又能照顧原來的領域。同時如果我們有一些中間領域,那麼其可以把原領域和目標領域一步步的銜接起來,A 和 B、B 和 C、C 和 D。這樣我們就可以定義兩個目標函數,左下角目標函數的任務就是分類,並且分類分得越准越好,右下角第二個目標函數需要區分在中間領域到底抽取哪些樣本和特徵,使得其對最後的優化函數是有用的。當這兩個目標函數一同工作時,一個優化了最後的目標,而另一個則選擇了樣本。如此迭代,逐漸就如同右邊那個圖一樣,原領域的數據就從多步遷移到目標領域去了。

最近斯坦福大學有一個實際的例子,他們利用這種多步遷移方法,並通過衛星圖像來分析非洲大陸的貧窮狀況。從白天到晚上的衛星圖像是第一步遷移,從晚上的圖像、燈光到這個地方發達程度是第二步遷移。因此我們通過這兩步的遷移成功地建立了一個模型,即通過衛星圖像分析地方的貧困狀況。

第四個進展:學習如何遷移

這 20 年當中我們積累了大量的知識,並且有很多種遷移學習的演算法,但現在我們常常遇到一個新的機器學習問題卻不知道到底該用哪個演算法。其實,既然有了這麼多的演算法和文章,那麼我們可以把這些經驗總結起來訓練一個新的演算法。而這個演算法的老師就是所有這些機器學習演算法、文章、經歷和數據。所以,這種學習如何遷移,就好像我們常說的學習如何學習,這個才是學習的最高境界,也就是學習方法的獲取。

博士生魏潁就在做這樣的研究,他最後學出的效果就是在給定任何一個遷移學習問題,系統可以自動在過去所有我們嘗試過的演算法裡面,利用經驗找到最合適的演算法,其可以是基於特徵的、基於多層網路的、基於樣本的或者是基於某種混合。

如上圖所示有一個具體應用在輿情分析上的案例。我們知道輿情分析就是給定一些文本、標註,然後學一個模型,這樣再給一些新用戶的反饋,我們就知道它是正面還是負面。但是這種遷移是很難的,因為我們往往面臨的是兩個領域,左邊這個是帶有標註的,右邊這個是沒有標註的。而關鍵是如何把左邊和右邊連起來,我們如何能夠建立詞語和詞語之間的聯繫,才能把具有標註的數據模型成功地遷移到沒有標註的模型上,這些綠色的詞和綠色的詞應該是對應的,紅色的詞和紅色的詞應該是對應的,但是機器並不知道這一點。

該問題過去是由人類標註,但現在我們發現,原來輿情分析的遷移,其中文本當中的每一個字都具有一個連接的能力,而不是說有些詞是連接詞,其他詞都不是,每一個詞在不同的程度具有大小不同的概率,能夠把兩個領域連接起來,關鍵是機器如何能夠自動地發現它。

第五個進展:遷移學習作為元學習

第五個進展,把遷移學習本身作為一個元學習(Meta Learning)的方法,賦予到不同學習的方式上。假設以前我們有一個機器學習的問題或者是模型,現在你只要在上面套一個遷移學習的罩子,它就可以變成一個遷移學習的模型了。這種套一個罩子的辦法怎樣才能夠實現呢?我們現在就在強化學習和深度學習上做這樣的實驗,假設你已經有一個深度學習模型和一個強化學習模型,那麼我們在上面做一個「外套」,能夠把它成功變成一個遷移學習模型。

舉個例子,假設存在個性化的人機對話系統,而我們做了一個任務型的對話系統,它是可以幫助我們做通用型的對話。但是如何能夠把這個系統變成一個個人的、個性化的系統呢?我們既用深度學習、RNN,又用強化學習和所謂的 POMDP 來做了一個通用型的任務學習系統。現在我們就可以通過幾個個性化的例子而得到個性化的選擇。

遷移學習進展 6:數據生成式遷移學習

下面進入到最後一個進展,即數據生成式的遷移學習。我們最近聽到比較多的是生成式對抗網路,這個詞聽起來有點複雜,但是這個圖就是最好的解釋。對於生成式對抗網路來說,圖靈測試外面的裁判是學生,裡面的那個機器也是學生,他們兩個人的目的是在對抗中共同成長,在問問題當中,假設提問者發現一個是機器了,那麼就告訴機器你還不夠真,還需要提高自己。而如果機器發現它把人騙過了,那麼它可以去告訴外面這個裁判,它還不夠精明,還需要提高自己。這樣兩方不斷互相刺激,形成一種對抗,這個是一種共同學習的特點。

所以,這種生成式對抗網路的一個特點,通過小數據可以生成很多模擬數據,通過模擬數據又來判定它是真的還是假的,用以刺激生成式模型的成長。這個就好象是計算機和人之間的博弈,下圖左邊展示的是一棵博弈樹。

我們可以用這個方法來做遷移學習,這裡舉的一個例子是最近的一項工作,我們用判別式模型來區分數字到底是來自於源數據還是目標數據。我們讓生成式模型不斷模擬新的領域,使得到最後我們能夠產生出一大堆新數據,它的數據就是和真實的數據非常的一致。通過這個辦法,一個判別器區分領域,另外一個生成器在生成數據,我們就可以通過小數據產生更多的數據,在新的領域就可以實現遷移學習的目的。

最後我要說,我們在深度學習上已經有了很大的成就,我們今天也在努力進行各種強化學習的嘗試(比如說 AlphaGo),但是我認為機器學習的明天是在小數據、個性化、可靠性上面,那就是遷移學習,這是我們的明天。

謝謝大家!

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

Bengio等提出深度複數網路:用複數構建深度神經網路
摩根大通報告12個亮點總結:金融領域的機器學習工具有哪些?
伯克利教授Stuart Russell:人工智慧的過去、現在和未來
GMIS 2017大會俞凱演講:邁向智能認知型對話交互
J-S Cournoyer:加拿大,領先的人工智慧樞紐的興起

TAG:機器之心 |

您可能感興趣

TensorFlow.js、遷移學習與AI產品創新之道
遷移學習之Domain Adaptation
GloMo 從graph的角度看數據並應用在遷移學習中
GitLab 從微軟 Azure 遷移到 Google 雲平台
GitLab已從Azure遷移至Google Cloud Platform
零示例學習中的映射域遷移 (projection domain shift) 問題
Facebook增強版LASER開源:零樣本遷移學習,支持93種語言
CMU、NYU與FAIR共同提出GLoMo:遷移學習新範式
Day041 Transfer Learning 遷移學習
SDx界新概念:如何規劃和遷移SD-branch
IBM NeurIPS 2018 poster:把深度學習模型的表現遷移到傳統機器學習模型獲得高可解釋性
Deep Learning-風格遷移
將 TensorFlow 訓練好的模型遷移到 Android APP上
DataOps 助力容量管理-Project 遷移優化應用實踐
傳統數倉從 Teradata 遷移到 Hadoop平台實踐
GoDaddy 放棄了自己的 IaaS,大部分遷移到 AWS
Entity Framework Core 之資料庫遷移
IBM與ServiceNow組隊 加快客戶向多雲環境遷移
遷移學習:如何使用TensorFlow機器學習對圖像進行分類?
將MySQL 資料庫遷移到 Amazon Aurora 資料庫