close
香港科大教授楊強:如何讓AlphaGo舉一反三?
在7月21日舉行的第三屆中國人工智能大會(CCAI 2017)上,香港科技大學計算機與工程系主任楊強教授表示,“我們知道AlphaGo很厲害,但是它還有哪些點不夠呢?它不會舉一反三。”
楊強表示,“你讓它下一盤棋,它不會利用前面的知識來幫助自己很快地學習新的棋藝,更不會利用下棋的知識做一些其他事,比如說自動駕駛。我們人是有這個能力的,如何能夠賦予計算機做這件事,這就是我們研究的一條主線。”
楊強提出,賦予計算機舉一反三的能力叫“遷移學習”,這被學術界和工業界認為是深度學習領域下一個研究和應用的重點。
以下為楊強演講(略有刪減):
大傢好!今天很高興跟大傢分享我和研究生同學在研究當中的一些心得,總結起來叫深度學習的遷移模型。
首先講一下我們的出發點,我們知道AlphaGo很厲害,但是它還有哪些點不夠呢?它不會舉一反三。你讓它下一盤棋,它不會利用前面的知識來幫助自己很快地學習新的棋藝,更不會利用下棋的知識做一些其他事,比如說自動駕駛。我們人是有這個能力的,如何能夠賦予計算機做這件事,這就是我們研究的一條主線。
由此引入我們的研究方向就是遷移學習(Transfer Learning),我們知道人能很自然地做這件事,從自行車遷移到摩托車,生活中還有很多的例子。這也從某種程度上解釋瞭我們看到小孩子在學習中並不需要上千萬的正例和負例幫助他學習,他往往用很少的例子就能學會一個很復雜的概念。同時學術界、工業界現在也認為遷移學習是下一個研究和應用的重點。去年Andrew Ng(前百度公司首席科學傢 吳恩達)就講瞭遷移學習下一步將被大量應用。
一、遷移學習的三大優點
為什麼我們做遷移學習?我總結瞭三條原因:
小數據。我們生活當中大量遇見的是小數據而不是大數據,當數據很稀疏,看到不同的類別我們還是能在當中做出很靠譜的模型。這並不是空穴來風,而是之前我們有過很多大數據的經驗可以去借鑒,站在大數據的巨人肩膀上,所以人工智能大量地應用,遷移學習這種模式是必不可少的。
可靠性。即使我們有一個大數據模型,我們也很關心它的可靠性。把一個模型遷移到不同的領域,就會發現它的準確率會大量下降,如何防止這一點,我們就需要模型本身具有自適應的能力,能夠自帶遷移能力。
個性化。我們整個的社會,我們的應用在向一個個性化的方向發展,有瞭雲端,有瞭各種各樣的終端,終端的操作者都是我們個性化的人。那麼我們讓一個模型、一個服務來適應我們每個人的特性,遷移學習是必不可少的。
遷移學靜電機習的難點在於找出不變量。遷移學習又是很難的。教育學有一個概念叫“學習遷移”,就是說如果一個學生學到瞭很靠譜的知識,怎樣檢測呢,就是看看他有沒有能力遷移到未來的場景,再學一門新課他就發現學得容易,但是這種學習遷移能力的傳輸又非常難。
我們來看看怎樣找出不變量。在國內和世界很多地方,駕駛員都是坐在左邊,但是去香港駕駛員就是在右邊,很多人不會開車瞭,就會出現危險,但是用遷移學習教你一招馬上可以開,而且很安全,就是找出一個不變量。這個不變量就是司機的位置總是靠路中間最近的,你就保持司機的位置離中線最近就可以瞭。
找出不變量很難,但是在其他的領域已經大量出現。最近Yann LeCun提出一個問題:機器學習的熱力學模型是什麼?我的回答是遷移學習,把一個領域裡面的知識、也就是“能量”,轉化到另外一個領域,這和熱力學把兩個物質放在一起,然後研究熱是如何能量是如何在物質間傳播的,是類似的概念。區別是,在我們這裡的知識比物理裡的能量復雜很多倍。所以這個問題在科學上也是有深遠意義的。
二、如何實現遷移學習:深度學習+遷移學習
今天我講的是如何實現遷移學習中的一個方面。從單層次來看一個東西,把一個領域裡的模型和知識通過層次分解,就好比杭州有雷鋒塔,我們可以從一個古典的建築發展到像雷鋒塔這樣有層次的建築,一層一層分析,深度學習恰恰為我們提供瞭分層和層次。
下面我就仔細地描述一下,深度學習如果是從左到右,從輸入到輸出的變化過程,中間是有很多非線性地轉化,我們可以忽略不計,但是這些層次我們要遷移到新的領域的話,知識的遷移就相當於參數的遷移,這些參數就是權重。
在這個裡面我們可以看知識到底有多少可以從藍色到橘色的,從源領域到目標領域,產生這樣的遷移,我們可以看到中間層有很多層參數可以共享。另外層次越高的話,可能它關心的高層的概念離得越遠。我們關心的是領域之間的距離,我們能否把領域之間的距離刻畫出來,在深度學習的初創期,有很多啟發式的做法,其實很多概念是和遷移學習不謀而合的。
下面我們看看這樣一種分層的研究對遷移學習到底產生瞭什麼樣的作用呢?我的學生魏穎就把最近的遷移學習和深度學習共同的工作畫瞭表,這裡面的名詞像CNN、DDC都是最近發表的文章裡面的系統名。橫軸是年代,從2011年到最近,縱軸是準確率。左邊是我一些學生做的工作,把遷移學習在不同領域裡面的子空間,它們共享的知識找到,但是沒有用到深度學習的概念,大概是2010年、2011年做的工作,叫TCA。
右邊上面角是DAN,是深度學習加上遷移學習。我們看到深度學習加上遷移學習準確率大大提高,這不僅僅對理論有幫助,對工程的效率也是有幫助的。這裡面用一個距離的表述,使用MMD發現兩個領域兩個數據集之間的距離,這個距離是在網絡的上層,從左到右,從下到上,更重要的是發現並且盡量減少這樣的距離。
大傢可以看到固定住,從一個領域遷移到另外一個領域,在下層比較容易遷移,在上層我們就關心領域之間的距離。
也有人把這個工作系統地進行瞭比較,我們可以看到代表遷移能力的紅色是逐層下降的,從左到右逐層加深,如果是以深度學習的模型,下層在圖像上比較容易遷移,在上層就不容易。我們在當中也可以做各種各樣的演算和變化,比如說我們可以讓遷移過來的參數,讓它在之後的領域裡面再得到重新的訓練,這樣就會得到上面的這條線,我們這個線放得越寬遷移能力就會變得越強,如果兩個領域之間相差太大瞭,那麼這個遷移是沒辦法進行的,就像下面的這條藍線直線下降,這個能力就不行。
關於模型遷移,我們關心兩點。
一是不同模型裡面的一個層次,它的遷移量化。
二是兩個領域的距離有沒有一個很好的衡量,這也為我們的研究提供瞭一個很好的指引方向,像這裡幾條線就是更進一步地說明我剛才表明的觀點,第一個是細微的調參,就是目標領域幫助我們繼續調參是有幫助的。
另外從上層到下層是通用到個體的一種演化,大傢看這些曲線是下降的。另外我們關心兩個領域之間的距離。
下面我們就可以利用這個觀點,對於不同的知識遷移的場景進行總結。
第一個是說我們在兩個領域完全都沒有標註的,目標和源數據都沒有標註,這個時候我們就可以利用剛才的知識把下層固定住,直接遷移。在比較靠上層就可以放開,利用的方法是可以來減少兩個領域之間的距離,這個距離雖然我們沒有標註,我們還是可以把它衡量出來的,就像用剛才MMD的方法。
還有一個方法是就用一個Loss描述,這也有所不同,比如說兩個領域之間的直接衡量,還有我們同時做兩件事,第一件事是說利用兩個領域之間的距離,我們要把這個距離盡量減少,同時我們讓每個領域自己能夠更好地表達它自己。
三、三種不同的遷移方法
將這些概念加起來,就可以總結出三個不同的遷移方法。
基於差異的方法
在哪裡做遷移的轉換、自適應。可以在某個層次來做,也可以在多個層次來做,如何來衡量兩個領域之間的距離,可以用鮮艷的這種概率、模型,也可以用聯合概率、模型,另外還可以將源領域的信息加進來,建立一個更準確的Loss。這都是圖像領域獲得的知識,那自然語言會不會有類似的方式呢?
下面一篇描述NLP的文章也證明瞭這一點,假設我們把自然語言的深度處理分成三個層次,即E、H、O,如果我們鎖定不變,而其他的層次有可能變化,也有可能不變化,這樣可以發現,先遷移後微調的效果最好。
還有,在目標領域我們能夠讓它的再生後期做自適應的學習,就是開鎖的這種,效果是最好的。
這個模型也可以發展到多模態,上面的源領域是圖像,下面的可以是文字,可以讓他們之間有一些層次可以分享。最後得到的系統就是既可以理解一個源領域,比如說圖像可以轉化為文字,又可以把文字轉化成圖像。另外還可以加入正則化,我們可以變化各種各樣的正則,使得靠上層的層次之間互相靠攏。
傳遞式遷移學習
有瞭剛才的這些層次概念,可以將遷移學習進一步地發展,過去的遷移學習都是給一個源領域,一個目標領域,從源到遷移目標,現在我們可以多步遷移,從A到B,然後從B到C,就像石頭過河一樣的,這是我們最近做的工作,傳遞式的遷移學習。
傳遞式的遷移學習也可以利用深度學習的分層這個概念進行。我們右邊這裡有三類數據,有一個是源領域的數據,比如圖像,有一個是目標領域的數據,比如說文字,中間有很多文字和圖像混雜在一起的領域。我們一個做法就是在中間領域挑一些樣本,讓它更好地幫助源領域遷移到目標領域,這些就像中間石頭過河一樣的。
如何得到這個,在訓練目標模型的時候我們就有兩個數據,一個是不斷地檢測在目標領域的分類效果,另外一個是不斷地嘗試新的樣本,這些樣本來自於中間領域和源領域,最後使整個不同的數據集之間形成一個新的數據集。
這樣的一個理念在應用當中也非常有用,這是斯坦福大學最近做的一項工作,是從一個圖像到衛星圖像區分在非洲大陸上的貧困情況,最後就發現這種傳遞式的遷移方法效果確實和人為地去采樣、標註效果差不多,一個是0.776,一個是0.761,而它中間人為的參與大大減少,因為它用瞭傳遞的過程。
生成對抗網絡GAN
還有一種最近比較火的思想就是叫生成對抗網絡GAN,它的思想來自兩個模型交互,一個是生成模型,可以生成樣板,就是右邊的G模塊,它一開始是非常粗糙的。還有是D模型,比較生成和真實的樣本,它可以告訴你有沒有被發現,你生成模型生成的樣本夠不夠好,經過他們兩者之間的博弈,最後就產生瞭學習的躍進,使得G和D兩者都得到瞭改進。
很多學者也用這個方法來做遷移學習,比如說給兩個數據集,我們一開始並沒有一個數據,並不知道這個包對應這個鞋,系統通過深度網絡,可以把這個Alignment模型生成出來,根據這個模型找到一個最匹配的鞋的模型,而且是完全生成的,在原數據,鞋的數據集是沒有的,就像右邊這裡展示的。這種也是遷移學習的概念。
Cycle GAN的思想也非常有趣,一個源領域可以遷移到一個目標領域的話,我們同樣也應該讓一個目標領域的數據、知識遷移到源領域。如果是回來的話,如果還能返回原來的樣本,那麼就是說明遷移已經學得靠譜瞭。就像我們拿一首唐詩到機器翻譯的軟件翻譯成英文,然後再拿同樣的軟件再翻譯回中文,我們大傢知道往往得到像亂碼一樣的東西,完全回不到原來的一首詩,如果能夠回到原來的詩,那翻譯就靠譜瞭,概念也是類似的。
GAN的模型確實帶來瞭遷移的新意,讓兩個領域同時做兩件事,這個圖表示做的兩件事。綠色部分是兩者共享的深度學習的層次空間。我們如何找到這樣的層次呢?就依靠第二件事,就是我們盡量地找到一個區分領域的模型,我們有源領域A和目標領域B,如果有一天模型發展到我們區分不瞭數據來自於哪個模型,那就說明共享的模型靠譜瞭,它就是抓住瞭兩個領域之間的不變量,那就回到瞭左右開車的場景,那個不變量就找到瞭,這就可以用這部分做遷移瞭。最後得到的領域,準確率最高的就是通過剛才的模型得到的。
四、遷移學習應用案例
下面說一下我和我學生一起做的遷移學習的工作,尤其是跟深度學習結合。
一個叫戴文淵的學生,在第四范式這個公司做的工作就很有意義,他們為銀行做一個大額產品的營銷,比如說車貸,比較貴的車貸的樣本非常少,少於一百個,這麼少的數據是沒辦法建模型的,怎麼辦?去借助小微貸款的數據,比如說上億的客戶的交流,然後發現兩個領域,一個是小微貸款,一個是大額貸款,他們之間的共性,把這個模型遷移過來,這就使得它的響應率提高瞭2倍以上。
另外是我們要去發表的一篇文章,做輿情分析。我們知道輿情分析是非常有用的,不管是在商業上還是在政府的服務上,大傢都希望瞭解那麼多的留言,是正向還是負向的?為什麼是這樣的?對哪些產品有興趣?大傢對哪個服務滿意等。我這裡給出兩個不同的領域,如果我們在一個領域已經有像最左邊這裡給出的標註,比如說Great,這就是一個贊,說這個是Owful book,就給出一個差。我們的問題是能否借助相同領域的數據來減少我們的分量,使得我們建立一個靠譜的模型,在新的領域、目標領域。這是一個非常好的遷移學習的場景。
但是過去做遷移工作的時候,需要有一個概念叫Pivot,兩個領域之間共享的關鍵詞,這兩個關鍵詞對於指出這個是正向和負向也是非常有用的,像Great這個詞,Boring和Awful,以前完全是靠人找到這兩個詞,我們知道這是不靠譜的。
我們通過遷移學習把這個詞找出來,在這裡用的工具是Adversarial模型,在一堆摹本裡面找出關註量比較大的詞和詞組,有瞭這一Adversarial模型,我們就可以自動打分,我們打的分數是否靠譜,可以用另外一個Domain Label的詞告訴我們,什麼樣的詞才有這樣的特性呢?首先兩個領域共享,能夠幫助我們在新領域共同地指出輿情的趨向。同時希望模型越少越好,就是這三件事翻譯成目標函數裡面,就能建立模型。左邊是輿情的Classifier,右邊是領域的,我們同時希望領域的混淆度越大越好,同時我們希望Sentiment(輿情)的準確率越高越好,這兩個之間形成博弈,就形成瞭GAN(生成網絡)的概念,另外是多任務學習,就是兩個任務共同進行,共同有一些共享。
最後我們在正確設定瞭一些距離函數和Loss以後,就可以學出來,效果非常好。
最後一個應用是和上海汽車做的研究,汽車在跑的時候能否根據它的路況分析車到底做什麼?是共享還是私用的?我們很榮幸得到瞭一些數據,在這些數據裡面我們可以同時進行兩種分析,一種是圖像分析,雖然我們本領域沒有太多的標註數據,但是可以借用出租車來學習。左邊的是同時做兩個任務的學習,第一個是根據現在出租車的數據,來幫助我們標註互聯網汽車的數據,但是這個當中可能會有錯誤,所以我們在本領域可以用一些圖像分析來矯正這些錯誤,校正完再拿回來拓展這樣的一個樣本集。在這兩個之間進行多次往返以後,我們就會得到一個很靠譜的模型,最後這樣的一個算法我們就可以得到一個很不錯的遷移效果。
最後總結一下,遷移學習和深度學習可以非常有機地結合,兩個是可以互補的,深度學習幫助我們分非常細地層次,每一層我們可以進行量化的分析,遷移學習可以幫助深度學習變得更加靠譜,得到的一個結果就是深度學習的遷移模型,同時也應該說是遷移學習的一個深度模型。
(責任編輯:崔晨靜電除煙機 HX015)
和訊網今天刊登瞭《香港科大教授楊強:如何讓AlphaGo舉一反三? 》一文,關於此事的更多報道,請在和訊財經客戶端上閱讀。
靜電機保養
在7月21日舉行的第三屆中國人工智能大會(CCAI 2017)上,香港科技大學計算機與工程系主任楊強教授表示,“我們知道AlphaGo很厲害,但是它還有哪些點不夠呢?它不會舉一反三。”
楊強表示,“你讓它下一盤棋,它不會利用前面的知識來幫助自己很快地學習新的棋藝,更不會利用下棋的知識做一些其他事,比如說自動駕駛。我們人是有這個能力的,如何能夠賦予計算機做這件事,這就是我們研究的一條主線。”
楊強提出,賦予計算機舉一反三的能力叫“遷移學習”,這被學術界和工業界認為是深度學習領域下一個研究和應用的重點。
以下為楊強演講(略有刪減):
大傢好!今天很高興跟大傢分享我和研究生同學在研究當中的一些心得,總結起來叫深度學習的遷移模型。
首先講一下我們的出發點,我們知道AlphaGo很厲害,但是它還有哪些點不夠呢?它不會舉一反三。你讓它下一盤棋,它不會利用前面的知識來幫助自己很快地學習新的棋藝,更不會利用下棋的知識做一些其他事,比如說自動駕駛。我們人是有這個能力的,如何能夠賦予計算機做這件事,這就是我們研究的一條主線。
由此引入我們的研究方向就是遷移學習(Transfer Learning),我們知道人能很自然地做這件事,從自行車遷移到摩托車,生活中還有很多的例子。這也從某種程度上解釋瞭我們看到小孩子在學習中並不需要上千萬的正例和負例幫助他學習,他往往用很少的例子就能學會一個很復雜的概念。同時學術界、工業界現在也認為遷移學習是下一個研究和應用的重點。去年Andrew Ng(前百度公司首席科學傢 吳恩達)就講瞭遷移學習下一步將被大量應用。
一、遷移學習的三大優點
為什麼我們做遷移學習?我總結瞭三條原因:
小數據。我們生活當中大量遇見的是小數據而不是大數據,當數據很稀疏,看到不同的類別我們還是能在當中做出很靠譜的模型。這並不是空穴來風,而是之前我們有過很多大數據的經驗可以去借鑒,站在大數據的巨人肩膀上,所以人工智能大量地應用,遷移學習這種模式是必不可少的。
可靠性。即使我們有一個大數據模型,我們也很關心它的可靠性。把一個模型遷移到不同的領域,就會發現它的準確率會大量下降,如何防止這一點,我們就需要模型本身具有自適應的能力,能夠自帶遷移能力。
個性化。我們整個的社會,我們的應用在向一個個性化的方向發展,有瞭雲端,有瞭各種各樣的終端,終端的操作者都是我們個性化的人。那麼我們讓一個模型、一個服務來適應我們每個人的特性,遷移學習是必不可少的。
遷移學靜電機習的難點在於找出不變量。遷移學習又是很難的。教育學有一個概念叫“學習遷移”,就是說如果一個學生學到瞭很靠譜的知識,怎樣檢測呢,就是看看他有沒有能力遷移到未來的場景,再學一門新課他就發現學得容易,但是這種學習遷移能力的傳輸又非常難。
我們來看看怎樣找出不變量。在國內和世界很多地方,駕駛員都是坐在左邊,但是去香港駕駛員就是在右邊,很多人不會開車瞭,就會出現危險,但是用遷移學習教你一招馬上可以開,而且很安全,就是找出一個不變量。這個不變量就是司機的位置總是靠路中間最近的,你就保持司機的位置離中線最近就可以瞭。
找出不變量很難,但是在其他的領域已經大量出現。最近Yann LeCun提出一個問題:機器學習的熱力學模型是什麼?我的回答是遷移學習,把一個領域裡面的知識、也就是“能量”,轉化到另外一個領域,這和熱力學把兩個物質放在一起,然後研究熱是如何能量是如何在物質間傳播的,是類似的概念。區別是,在我們這裡的知識比物理裡的能量復雜很多倍。所以這個問題在科學上也是有深遠意義的。
二、如何實現遷移學習:深度學習+遷移學習
今天我講的是如何實現遷移學習中的一個方面。從單層次來看一個東西,把一個領域裡的模型和知識通過層次分解,就好比杭州有雷鋒塔,我們可以從一個古典的建築發展到像雷鋒塔這樣有層次的建築,一層一層分析,深度學習恰恰為我們提供瞭分層和層次。
下面我就仔細地描述一下,深度學習如果是從左到右,從輸入到輸出的變化過程,中間是有很多非線性地轉化,我們可以忽略不計,但是這些層次我們要遷移到新的領域的話,知識的遷移就相當於參數的遷移,這些參數就是權重。
在這個裡面我們可以看知識到底有多少可以從藍色到橘色的,從源領域到目標領域,產生這樣的遷移,我們可以看到中間層有很多層參數可以共享。另外層次越高的話,可能它關心的高層的概念離得越遠。我們關心的是領域之間的距離,我們能否把領域之間的距離刻畫出來,在深度學習的初創期,有很多啟發式的做法,其實很多概念是和遷移學習不謀而合的。
下面我們看看這樣一種分層的研究對遷移學習到底產生瞭什麼樣的作用呢?我的學生魏穎就把最近的遷移學習和深度學習共同的工作畫瞭表,這裡面的名詞像CNN、DDC都是最近發表的文章裡面的系統名。橫軸是年代,從2011年到最近,縱軸是準確率。左邊是我一些學生做的工作,把遷移學習在不同領域裡面的子空間,它們共享的知識找到,但是沒有用到深度學習的概念,大概是2010年、2011年做的工作,叫TCA。
右邊上面角是DAN,是深度學習加上遷移學習。我們看到深度學習加上遷移學習準確率大大提高,這不僅僅對理論有幫助,對工程的效率也是有幫助的。這裡面用一個距離的表述,使用MMD發現兩個領域兩個數據集之間的距離,這個距離是在網絡的上層,從左到右,從下到上,更重要的是發現並且盡量減少這樣的距離。
大傢可以看到固定住,從一個領域遷移到另外一個領域,在下層比較容易遷移,在上層我們就關心領域之間的距離。
也有人把這個工作系統地進行瞭比較,我們可以看到代表遷移能力的紅色是逐層下降的,從左到右逐層加深,如果是以深度學習的模型,下層在圖像上比較容易遷移,在上層就不容易。我們在當中也可以做各種各樣的演算和變化,比如說我們可以讓遷移過來的參數,讓它在之後的領域裡面再得到重新的訓練,這樣就會得到上面的這條線,我們這個線放得越寬遷移能力就會變得越強,如果兩個領域之間相差太大瞭,那麼這個遷移是沒辦法進行的,就像下面的這條藍線直線下降,這個能力就不行。
關於模型遷移,我們關心兩點。
一是不同模型裡面的一個層次,它的遷移量化。
二是兩個領域的距離有沒有一個很好的衡量,這也為我們的研究提供瞭一個很好的指引方向,像這裡幾條線就是更進一步地說明我剛才表明的觀點,第一個是細微的調參,就是目標領域幫助我們繼續調參是有幫助的。
另外從上層到下層是通用到個體的一種演化,大傢看這些曲線是下降的。另外我們關心兩個領域之間的距離。
下面我們就可以利用這個觀點,對於不同的知識遷移的場景進行總結。
第一個是說我們在兩個領域完全都沒有標註的,目標和源數據都沒有標註,這個時候我們就可以利用剛才的知識把下層固定住,直接遷移。在比較靠上層就可以放開,利用的方法是可以來減少兩個領域之間的距離,這個距離雖然我們沒有標註,我們還是可以把它衡量出來的,就像用剛才MMD的方法。
還有一個方法是就用一個Loss描述,這也有所不同,比如說兩個領域之間的直接衡量,還有我們同時做兩件事,第一件事是說利用兩個領域之間的距離,我們要把這個距離盡量減少,同時我們讓每個領域自己能夠更好地表達它自己。
三、三種不同的遷移方法
將這些概念加起來,就可以總結出三個不同的遷移方法。
基於差異的方法
在哪裡做遷移的轉換、自適應。可以在某個層次來做,也可以在多個層次來做,如何來衡量兩個領域之間的距離,可以用鮮艷的這種概率、模型,也可以用聯合概率、模型,另外還可以將源領域的信息加進來,建立一個更準確的Loss。這都是圖像領域獲得的知識,那自然語言會不會有類似的方式呢?
下面一篇描述NLP的文章也證明瞭這一點,假設我們把自然語言的深度處理分成三個層次,即E、H、O,如果我們鎖定不變,而其他的層次有可能變化,也有可能不變化,這樣可以發現,先遷移後微調的效果最好。
還有,在目標領域我們能夠讓它的再生後期做自適應的學習,就是開鎖的這種,效果是最好的。
這個模型也可以發展到多模態,上面的源領域是圖像,下面的可以是文字,可以讓他們之間有一些層次可以分享。最後得到的系統就是既可以理解一個源領域,比如說圖像可以轉化為文字,又可以把文字轉化成圖像。另外還可以加入正則化,我們可以變化各種各樣的正則,使得靠上層的層次之間互相靠攏。
傳遞式遷移學習
有瞭剛才的這些層次概念,可以將遷移學習進一步地發展,過去的遷移學習都是給一個源領域,一個目標領域,從源到遷移目標,現在我們可以多步遷移,從A到B,然後從B到C,就像石頭過河一樣的,這是我們最近做的工作,傳遞式的遷移學習。
傳遞式的遷移學習也可以利用深度學習的分層這個概念進行。我們右邊這裡有三類數據,有一個是源領域的數據,比如圖像,有一個是目標領域的數據,比如說文字,中間有很多文字和圖像混雜在一起的領域。我們一個做法就是在中間領域挑一些樣本,讓它更好地幫助源領域遷移到目標領域,這些就像中間石頭過河一樣的。
如何得到這個,在訓練目標模型的時候我們就有兩個數據,一個是不斷地檢測在目標領域的分類效果,另外一個是不斷地嘗試新的樣本,這些樣本來自於中間領域和源領域,最後使整個不同的數據集之間形成一個新的數據集。
這樣的一個理念在應用當中也非常有用,這是斯坦福大學最近做的一項工作,是從一個圖像到衛星圖像區分在非洲大陸上的貧困情況,最後就發現這種傳遞式的遷移方法效果確實和人為地去采樣、標註效果差不多,一個是0.776,一個是0.761,而它中間人為的參與大大減少,因為它用瞭傳遞的過程。
生成對抗網絡GAN
還有一種最近比較火的思想就是叫生成對抗網絡GAN,它的思想來自兩個模型交互,一個是生成模型,可以生成樣板,就是右邊的G模塊,它一開始是非常粗糙的。還有是D模型,比較生成和真實的樣本,它可以告訴你有沒有被發現,你生成模型生成的樣本夠不夠好,經過他們兩者之間的博弈,最後就產生瞭學習的躍進,使得G和D兩者都得到瞭改進。
很多學者也用這個方法來做遷移學習,比如說給兩個數據集,我們一開始並沒有一個數據,並不知道這個包對應這個鞋,系統通過深度網絡,可以把這個Alignment模型生成出來,根據這個模型找到一個最匹配的鞋的模型,而且是完全生成的,在原數據,鞋的數據集是沒有的,就像右邊這裡展示的。這種也是遷移學習的概念。
Cycle GAN的思想也非常有趣,一個源領域可以遷移到一個目標領域的話,我們同樣也應該讓一個目標領域的數據、知識遷移到源領域。如果是回來的話,如果還能返回原來的樣本,那麼就是說明遷移已經學得靠譜瞭。就像我們拿一首唐詩到機器翻譯的軟件翻譯成英文,然後再拿同樣的軟件再翻譯回中文,我們大傢知道往往得到像亂碼一樣的東西,完全回不到原來的一首詩,如果能夠回到原來的詩,那翻譯就靠譜瞭,概念也是類似的。
GAN的模型確實帶來瞭遷移的新意,讓兩個領域同時做兩件事,這個圖表示做的兩件事。綠色部分是兩者共享的深度學習的層次空間。我們如何找到這樣的層次呢?就依靠第二件事,就是我們盡量地找到一個區分領域的模型,我們有源領域A和目標領域B,如果有一天模型發展到我們區分不瞭數據來自於哪個模型,那就說明共享的模型靠譜瞭,它就是抓住瞭兩個領域之間的不變量,那就回到瞭左右開車的場景,那個不變量就找到瞭,這就可以用這部分做遷移瞭。最後得到的領域,準確率最高的就是通過剛才的模型得到的。
四、遷移學習應用案例
下面說一下我和我學生一起做的遷移學習的工作,尤其是跟深度學習結合。
一個叫戴文淵的學生,在第四范式這個公司做的工作就很有意義,他們為銀行做一個大額產品的營銷,比如說車貸,比較貴的車貸的樣本非常少,少於一百個,這麼少的數據是沒辦法建模型的,怎麼辦?去借助小微貸款的數據,比如說上億的客戶的交流,然後發現兩個領域,一個是小微貸款,一個是大額貸款,他們之間的共性,把這個模型遷移過來,這就使得它的響應率提高瞭2倍以上。
另外是我們要去發表的一篇文章,做輿情分析。我們知道輿情分析是非常有用的,不管是在商業上還是在政府的服務上,大傢都希望瞭解那麼多的留言,是正向還是負向的?為什麼是這樣的?對哪些產品有興趣?大傢對哪個服務滿意等。我這裡給出兩個不同的領域,如果我們在一個領域已經有像最左邊這裡給出的標註,比如說Great,這就是一個贊,說這個是Owful book,就給出一個差。我們的問題是能否借助相同領域的數據來減少我們的分量,使得我們建立一個靠譜的模型,在新的領域、目標領域。這是一個非常好的遷移學習的場景。
但是過去做遷移工作的時候,需要有一個概念叫Pivot,兩個領域之間共享的關鍵詞,這兩個關鍵詞對於指出這個是正向和負向也是非常有用的,像Great這個詞,Boring和Awful,以前完全是靠人找到這兩個詞,我們知道這是不靠譜的。
我們通過遷移學習把這個詞找出來,在這裡用的工具是Adversarial模型,在一堆摹本裡面找出關註量比較大的詞和詞組,有瞭這一Adversarial模型,我們就可以自動打分,我們打的分數是否靠譜,可以用另外一個Domain Label的詞告訴我們,什麼樣的詞才有這樣的特性呢?首先兩個領域共享,能夠幫助我們在新領域共同地指出輿情的趨向。同時希望模型越少越好,就是這三件事翻譯成目標函數裡面,就能建立模型。左邊是輿情的Classifier,右邊是領域的,我們同時希望領域的混淆度越大越好,同時我們希望Sentiment(輿情)的準確率越高越好,這兩個之間形成博弈,就形成瞭GAN(生成網絡)的概念,另外是多任務學習,就是兩個任務共同進行,共同有一些共享。
最後我們在正確設定瞭一些距離函數和Loss以後,就可以學出來,效果非常好。
最後一個應用是和上海汽車做的研究,汽車在跑的時候能否根據它的路況分析車到底做什麼?是共享還是私用的?我們很榮幸得到瞭一些數據,在這些數據裡面我們可以同時進行兩種分析,一種是圖像分析,雖然我們本領域沒有太多的標註數據,但是可以借用出租車來學習。左邊的是同時做兩個任務的學習,第一個是根據現在出租車的數據,來幫助我們標註互聯網汽車的數據,但是這個當中可能會有錯誤,所以我們在本領域可以用一些圖像分析來矯正這些錯誤,校正完再拿回來拓展這樣的一個樣本集。在這兩個之間進行多次往返以後,我們就會得到一個很靠譜的模型,最後這樣的一個算法我們就可以得到一個很不錯的遷移效果。
最後總結一下,遷移學習和深度學習可以非常有機地結合,兩個是可以互補的,深度學習幫助我們分非常細地層次,每一層我們可以進行量化的分析,遷移學習可以幫助深度學習變得更加靠譜,得到的一個結果就是深度學習的遷移模型,同時也應該說是遷移學習的一個深度模型。
(責任編輯:崔晨靜電除煙機 HX015)
和訊網今天刊登瞭《香港科大教授楊強:如何讓AlphaGo舉一反三? 》一文,關於此事的更多報道,請在和訊財經客戶端上閱讀。
靜電機保養
- 靜電機 【專家推薦】餐廳業者安裝推薦,有了靜電機做生意油煙問題免煩惱
- 靜電除油機 【油煙處理首選】您是小吃、燒烤店的業者嗎,選擇靜電機就對了~~
- 營業用抽油煙機 【mobile01】靜電機DIY安裝流程說明~
台灣電動床工廠
電動床
台灣電動床工廠
電動床
AUGI SPORTS|重機車靴|重機車靴推薦|重機專用車靴|重機防摔鞋|重機防摔鞋推薦|重機防摔鞋
AUGI SPORTS|augisports|racing boots|urban boots|motorcycle boots
一川抽水肥清理行|台中抽水肥|台中市抽水肥|台中抽水肥推薦|台中抽水肥價格|台中水肥清運
X戰警多鏡頭行車記錄器專業網|多鏡頭行車記錄器|多鏡頭行車紀錄器比較|多鏡頭行車紀錄器推薦|多鏡頭行車紀錄器影片
台中抽水肥專業網|台中抽水肥|台中市抽水肥|台中抽水肥推薦|台中抽水肥價格|台中水肥清運
台灣靜電機批發工廠|靜電機|靜電機推薦|靜電油煙處理機|靜電油煙處理機推薦
優美環保科技工程-靜電機,靜電機推薦,靜電機保養,靜電機清洗,靜電油煙處理機
文章標籤
全站熱搜
留言列表