<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          干貨丨深度遷移學(xué)習(xí)方法的基本思路(文末送書)

          共 8599字,需瀏覽 18分鐘

           ·

          2021-01-30 11:42

          百度前首席科學(xué)家、斯坦福大學(xué)副教授吳恩達(dá)(Andrew Ng)曾經(jīng)說過:遷移學(xué)習(xí)將是繼監(jiān)督學(xué)習(xí)之后的下一個(gè)促使機(jī)器學(xué)習(xí)成功商業(yè)化的驅(qū)動(dòng)力。

          本文選自《深度學(xué)習(xí)500問:AI工程師面試寶典》,將重點(diǎn)介紹目前最熱門的深度遷移學(xué)習(xí)方法的基本思路。

          ▼限時(shí)5折,掃碼了解詳情▼

          隨著遷移學(xué)習(xí)方法的大行其道,越來越多的研究人員開始使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí)。與傳統(tǒng)的非深度遷移學(xué)習(xí)方法相比,深度遷移學(xué)習(xí)直接提升了在不同任務(wù)上的學(xué)習(xí)效果,并且由于深度遷移學(xué)習(xí)直接對(duì)原始數(shù)據(jù)進(jìn)行學(xué)習(xí),所以它與非深度遷移學(xué)習(xí)方法相比有兩個(gè)優(yōu)勢(shì)。

          (1)能夠自動(dòng)化地提取更具表現(xiàn)力的特征。

          (2)滿足了實(shí)際應(yīng)用中的端到端(End-to-End)需求。
          近年來,以生成對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Nets,GAN)為代表的對(duì)抗學(xué)習(xí)也吸引了很多研究者的目光,基于GAN的各種變體網(wǎng)絡(luò)不斷涌現(xiàn)。對(duì)抗學(xué)習(xí)網(wǎng)絡(luò)與傳統(tǒng)的深度神經(jīng)網(wǎng)絡(luò)相比,極大地提升了學(xué)習(xí)效果。因此,基于對(duì)抗網(wǎng)絡(luò)的遷移學(xué)習(xí)也是一個(gè)熱門的研究點(diǎn)。
          上圖為深度遷移學(xué)習(xí)方法與非深度遷移學(xué)習(xí)方法的結(jié)果對(duì)比,展示了近幾年的一些代表性方法在相同數(shù)據(jù)集上的表現(xiàn)。從圖中的結(jié)果可以看出,與傳統(tǒng)的非深度遷移學(xué)習(xí)方法(TCA、GFK等)相比,深度遷移學(xué)習(xí)方法(BA、DDC、DAN)在精度上具有顯著的優(yōu)勢(shì)。

          下面我們來重點(diǎn)介紹深度遷移學(xué)習(xí)方法的基本思路。

          首先來回答一個(gè)最基本的問題:為什么深度網(wǎng)絡(luò)是可遷移的?然后,介紹最簡(jiǎn)單的深度網(wǎng)絡(luò)遷移形式——微調(diào)。接著分別介紹使用深度網(wǎng)絡(luò)和深度對(duì)抗網(wǎng)絡(luò)進(jìn)行遷移學(xué)習(xí)的基本思路和核心方法。

          1??深度網(wǎng)絡(luò)的可遷移性

          隨著AlexNet在2012年的ImageNet大賽上獲得冠軍,深度學(xué)習(xí)開始在機(jī)器學(xué)習(xí)的研究和應(yīng)用領(lǐng)域大放異彩。盡管取得了很好的結(jié)果,但是神經(jīng)網(wǎng)絡(luò)本身解釋性不好。神經(jīng)網(wǎng)絡(luò)具有良好的層次結(jié)構(gòu),很自然地就有人開始思考能否通過這些層次結(jié)構(gòu)來很好地解釋網(wǎng)絡(luò)。于是,就有了我們熟知的例子:假設(shè)一個(gè)網(wǎng)絡(luò)要識(shí)別一只貓,那么一開始它只能檢測(cè)到一些邊邊角角的東西,和貓根本沒有關(guān)系;然后可能會(huì)檢測(cè)到一些線條和圓形;慢慢地,可以檢測(cè)到貓所在的區(qū)域;接著是貓腿、貓臉等。
          下圖是深度神經(jīng)網(wǎng)絡(luò)進(jìn)行特征提取分類的簡(jiǎn)單示例。
          概括來說就是:前面幾層學(xué)到的是通用特征(General Feature);隨著網(wǎng)絡(luò)層次的加深,后面的網(wǎng)絡(luò)更偏重于與學(xué)習(xí)任務(wù)相關(guān)的特定特征(Specific Feature)。這非常好理解,我們也很容易接受。那么問題來了,如何得知哪些層能夠?qū)W到通用特征,哪些層能夠?qū)W到特定特征呢?更進(jìn)一步來說,如果應(yīng)用于遷移學(xué)習(xí),如何決定該遷移哪些層、固定哪些層呢?
          這個(gè)問題對(duì)于理解神經(jīng)網(wǎng)絡(luò)和深度遷移學(xué)習(xí)都有著非常重要的意義。來自康奈爾大學(xué)的Jason Yosinski等人率先進(jìn)行了深度神經(jīng)網(wǎng)絡(luò)可遷移性的研究,該論文是一篇實(shí)驗(yàn)性質(zhì)的文章(通篇沒有一個(gè)公式)[Yosinski et al.,2014]。其目的就是要探究上面提到的幾個(gè)關(guān)鍵性問題。因此,文章的全部貢獻(xiàn)都來自實(shí)驗(yàn)及其結(jié)果。
          對(duì)于ImageNet的1000個(gè)類別,作者將其分成兩份(A和B),每份500個(gè)類別。然后,分別對(duì)A和B基于Caffe訓(xùn)練AlexNet網(wǎng)絡(luò)。AlexNet網(wǎng)絡(luò)共有8層,除第8層為與類別相關(guān)的網(wǎng)絡(luò)無法進(jìn)行遷移外,作者在1到7這7層上逐層進(jìn)行微調(diào)實(shí)驗(yàn),探索網(wǎng)絡(luò)的可遷移性。
          為了更好地說明微調(diào)的結(jié)果,作者提出了兩個(gè)有趣的概念:AnB和BnB。這里簡(jiǎn)單介紹一下AnB和BnB。(所有實(shí)驗(yàn)都是針對(duì)數(shù)據(jù)B來說的。)
          AnB:將A網(wǎng)絡(luò)的前n層拿來并將其固定,剩下的層隨機(jī)初始化,然后對(duì)B進(jìn)行分類。
          BnB:將B網(wǎng)絡(luò)的前n層拿來并將其固定,剩下的隨機(jī)初始化,然后對(duì)B進(jìn)行分類。
          深度網(wǎng)絡(luò)遷移的實(shí)驗(yàn)結(jié)果1如下。
          這個(gè)圖說明了什么呢?我們先看BnB和BnB+(即BnB加上微調(diào))。對(duì)于BnB而言,原訓(xùn)練好的B模型的前3層可以直接拿來使用,而不會(huì)對(duì)模型精度有什么損失。到了第4層和第5層,精度略有下降,不過還可以接受。然而到了第6層、第7層,精度居然奇跡般地回升了,這是為什么?
          原因如下:對(duì)于一開始精度下降的第4層、第5層來說,到了這兩層,特征變得越來越具體,所以下降了。而對(duì)于第6層、第7層來說,由于整個(gè)網(wǎng)絡(luò)就8層,我們固定了第6層、第7層,那這個(gè)網(wǎng)絡(luò)還能學(xué)什么呢?所以很自然地,精度和原來的B模型幾乎一致。
          對(duì)BnB+來說,結(jié)果基本上保持不變。說明微調(diào)對(duì)模型精度有著很好的促進(jìn)作用。
          我們重點(diǎn)關(guān)注AnB和AnB+。對(duì)于AnB來說,直接將A網(wǎng)絡(luò)的前3層遷移到B,貌似不會(huì)有什么影響,再次說明,網(wǎng)絡(luò)的前3層學(xué)到的幾乎都是通用特征。往后,到了第4層、第5層時(shí),精度開始下降,原因是這兩層的特征不通用了。然而,到了第6層、第7層,精度出現(xiàn)了小小的提升后又下降,這又是為什么?作者在這里提出兩點(diǎn):互相適應(yīng)(Co-Adaptation)和特征表示(Feature Representation)。也就是說,在第4層、第5層,主要是由于A和B兩個(gè)數(shù)據(jù)集的差異比較大,精度才會(huì)下降的;到了第6層、第7層,由于網(wǎng)絡(luò)幾乎不再迭代,學(xué)習(xí)能力太差,此時(shí)特征學(xué)不到,所以精度下降得更厲害。
          對(duì)于AnB+,加入了微調(diào)以后,AnB+的表現(xiàn)對(duì)于所有的n幾乎都非常好,甚至比baseB(最初的B)還要好一些。這說明,微調(diào)對(duì)深度遷移有著非常好的促進(jìn)作用。
          綜合分析上述結(jié)果就得到了下圖的深度網(wǎng)絡(luò)遷移實(shí)驗(yàn)結(jié)果2。
          作者進(jìn)一步設(shè)想,是不是在分A、B數(shù)據(jù)時(shí),里面存在一些比較相似的類使結(jié)果變好了?例如,A里有貓,B里有獅子,所以結(jié)果會(huì)好。為了排除這些影響,作者又重新劃分?jǐn)?shù)據(jù)集,這次讓A和B幾乎沒有相似的類別。在這個(gè)條件下再做AnB,與原來精度進(jìn)行比較,得到如下深度網(wǎng)絡(luò)遷移實(shí)驗(yàn)結(jié)果3。
          上圖說明,隨著可遷移層數(shù)的增加,模型性能會(huì)下降。但是,前3層仍然是可以遷移的。同時(shí),與隨機(jī)初始化所有權(quán)重相比,遷移學(xué)習(xí)獲得的精度更高。

          結(jié)論:

          雖然論文[Yosinski et al.,2014]并沒有提出創(chuàng)新的方法,但通過實(shí)驗(yàn)得到了以下幾個(gè)結(jié)論,這對(duì)深度學(xué)習(xí)和深度遷移學(xué)習(xí)的研究都有著非常好的指導(dǎo)意義。

          (1)神經(jīng)網(wǎng)絡(luò)的前3層基本都是通用特征,進(jìn)行遷移的效果比較好。

          (2)在深度遷移網(wǎng)絡(luò)中加入微調(diào),效果提升會(huì)比較大,可能會(huì)比原網(wǎng)絡(luò)效果還好。

          (3)微調(diào)可以比較好地克服數(shù)據(jù)之間的差異性。

          2? 微調(diào)? ?

          深度網(wǎng)絡(luò)的微調(diào)(Fine-Tune)也許是最簡(jiǎn)單的深度網(wǎng)絡(luò)遷移方法。簡(jiǎn)而言之,微調(diào)是利用別人已經(jīng)訓(xùn)練好的網(wǎng)絡(luò),針對(duì)自己的任務(wù)再進(jìn)行調(diào)整。從這個(gè)意義上看,不難理解微調(diào)是遷移學(xué)習(xí)的一部分。對(duì)于微調(diào),有以下幾個(gè)常見問題。

          (1)為什么需要已經(jīng)訓(xùn)練好的網(wǎng)絡(luò)。
          在實(shí)際應(yīng)用中,我們通常不會(huì)針對(duì)一個(gè)新任務(wù),從頭開始訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò)。這樣的操作顯然是非常耗時(shí)的。尤其是,我們的訓(xùn)練數(shù)據(jù)不可能像ImageNet那么大,可以訓(xùn)練出泛化能力足夠強(qiáng)的深度神經(jīng)網(wǎng)絡(luò)。即使我們有如此之多的訓(xùn)練數(shù)據(jù),從頭開始訓(xùn)練,其代價(jià)也是不可承受的。
          那怎么辦呢?遷移學(xué)習(xí)告訴我們,利用之前已經(jīng)訓(xùn)練好的模型,將它很好地遷移到自己的任務(wù)上即可。
          (2)為什么需要微調(diào)。
          因?yàn)閯e人訓(xùn)練好的模型,可能并不完全適用于我們自己的任務(wù)。別人的訓(xùn)練數(shù)據(jù)和我們的數(shù)據(jù)可能不服從同一個(gè)分布;也可能別人的網(wǎng)絡(luò)能做比我們的任務(wù)更多的事情;可能別人的網(wǎng)絡(luò)比較復(fù)雜,而我們的任務(wù)比較簡(jiǎn)單。
          舉例子來說,假如我們想訓(xùn)練一個(gè)貓狗圖像二分類的神經(jīng)網(wǎng)絡(luò),那么在CIFAR-100上訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)就很有參考價(jià)值。但是CIFAR-100有100個(gè)類別,我們只需要2個(gè)類別。此時(shí),就需要針對(duì)我們自己的任務(wù),固定原始網(wǎng)絡(luò)的相關(guān)層,修改網(wǎng)絡(luò)的輸出層,以使結(jié)果更符合我們的需要,這樣,會(huì)極大地加快網(wǎng)絡(luò)訓(xùn)練速度,對(duì)提高我們?nèi)蝿?wù)上的精度表現(xiàn)也有很大的促進(jìn)作用。
          (3)微調(diào)的優(yōu)勢(shì)。
          微調(diào)有以下幾個(gè)優(yōu)勢(shì)。
          針對(duì)新任務(wù),不需要從頭開始訓(xùn)練網(wǎng)絡(luò),可以節(jié)省時(shí)間。
          ?預(yù)訓(xùn)練好的模型通常是在大數(shù)據(jù)集上進(jìn)行訓(xùn)練的,這無形中擴(kuò)充了我們的訓(xùn)練數(shù)據(jù),使模型更魯棒、泛化能力更好。

          ?微調(diào)實(shí)現(xiàn)簡(jiǎn)單,我們只需關(guān)注自己的任務(wù)即可。


          3 深度網(wǎng)絡(luò)自適應(yīng)? ?

          基本思路

          深度網(wǎng)絡(luò)的微調(diào)可以幫助我們節(jié)省訓(xùn)練時(shí)間,提高學(xué)習(xí)精度。但是微調(diào)有它的先天不足:它無法處理訓(xùn)練數(shù)據(jù),無法測(cè)試不同數(shù)據(jù)的分布情況。因?yàn)槲⒄{(diào)的基本假設(shè)也是訓(xùn)練數(shù)據(jù)和測(cè)試數(shù)據(jù)服從相同的數(shù)據(jù)分布。這在遷移學(xué)習(xí)中是不成立的。因此,我們需要更進(jìn)一步,針對(duì)深度網(wǎng)絡(luò)開發(fā)出更好的方法使之更好地完成遷移學(xué)習(xí)任務(wù)。
          以前面介紹過的數(shù)據(jù)分布自適應(yīng)方法為參考,許多深度學(xué)習(xí)方法都設(shè)計(jì)了自適應(yīng)層(Adaptation Layer)來完成源域和目標(biāo)域數(shù)據(jù)的自適應(yīng)。自適應(yīng)能夠使源域和目標(biāo)域的數(shù)據(jù)分布更加接近,從而使網(wǎng)絡(luò)的精度、穩(wěn)定性更好。
          從上述分析可以得出,深度網(wǎng)絡(luò)的自適應(yīng)主要完成兩部分工作。

          (1)決定哪些層可以自適應(yīng),這決定了網(wǎng)絡(luò)的學(xué)習(xí)程度。

          (2)決定采用什么樣的自適應(yīng)方法(度量準(zhǔn)則),這決定了網(wǎng)絡(luò)的泛化能力。
          早期的研究者在2014年環(huán)太平洋人工智能大會(huì)(Pacific Rim International Conference on Artificial Intelligence,PRICAI)上提出了名為DANN(Domain Adaptive Neural Networks)的神經(jīng)網(wǎng)絡(luò)[Ghifary et al.,2014]。DANN的結(jié)構(gòu)異常簡(jiǎn)單,它只由兩層神經(jīng)元——特征層神經(jīng)元和分類器層神經(jīng)元組成。作者的創(chuàng)新之處在于,在特征層后加入MMD適配層,用來計(jì)算源域和目標(biāo)域的距離,并將其加入網(wǎng)絡(luò)的損失中進(jìn)行訓(xùn)練。但是,由于網(wǎng)絡(luò)太淺,表征能力有限,故無法很有效地解決領(lǐng)域自適應(yīng)問題。因此,后續(xù)的研究者大多都基于其思想進(jìn)行改進(jìn),如將淺層網(wǎng)絡(luò)改為更深層的AlexNet、ResNet、VGG等,將MMD換為多核MMD等。
          下面將介紹幾種常見的深度網(wǎng)絡(luò)自適應(yīng)方法。
          基本方法
          (1)DDC方法。
          加州大學(xué)伯克利分校的Tzeng等人首先提出了DDC(Deep Domain Confusion)方法來解決深度網(wǎng)絡(luò)的自適應(yīng)問題[Tzeng et al.,2014]。DDC方法遵循了上面討論過的基本思路,采用了在ImageNet數(shù)據(jù)集上訓(xùn)練好的AlexNet網(wǎng)絡(luò)進(jìn)行自適應(yīng)學(xué)習(xí)[Krizhevsky et al.,2012]。
          下圖是DDC方法示意圖。
          DDC方法固定了AlexNet的前7層,在第8層(分類器前一層)上加入了自適應(yīng)的度量。自適應(yīng)度量方法采用了被廣泛使用的MMD準(zhǔn)則。

          為什么選擇倒數(shù)第2層?DDC方法的作者在文章中提到,他們經(jīng)過多次實(shí)驗(yàn),在不同的層進(jìn)行了嘗試,最終發(fā)現(xiàn)在分類器前一層加入自適應(yīng)可以達(dá)到最好的效果。這與我們的認(rèn)知也是相符合的。通常來說,分類器前一層即特征,在特征上加入自適應(yīng),也正是遷移學(xué)習(xí)要完成的工作。
          (2)DAN方法。
          清華大學(xué)的龍明盛等人于2015年發(fā)表在ICML(Internation Conference on Machine Learning)上的DAN(Deep Adaptation Networks)方法對(duì)DDC方法進(jìn)行了幾個(gè)方面的擴(kuò)展[Long et al.,2015a]。首先,有別于DDC方法只加入一個(gè)自適應(yīng)層,DAN方法同時(shí)加入了3個(gè)自適應(yīng)層(分類器前3層)。其次,DAN方法采用表征能力更好的多核MMD(MK-MMD)度量來代替DDC方法中的單核MMD[Gretton et al.,2012]。最后,DAN方法將多核MMD的參數(shù)學(xué)習(xí)融入深度網(wǎng)絡(luò)的訓(xùn)練中,并且未額外增加網(wǎng)絡(luò)的訓(xùn)練時(shí)間。DAN方法在多個(gè)任務(wù)上都取得了比DDC方法更好的分類效果。
          為什么適配3層?原來的DDC方法只適配了1層,現(xiàn)在DAN方法基于AlexNet網(wǎng)絡(luò),適配最后3層(第6、7、8層)。因?yàn)镴ason在文獻(xiàn)[Yosinski et al.,2014]中已經(jīng)提出,網(wǎng)絡(luò)的遷移能力從這3層開始就會(huì)有特定的任務(wù)傾向,所以要著重適配這3層。至于別的網(wǎng)絡(luò)(如GoogLeNet、VGG等)是不是適配這3層就需要通過自己的實(shí)驗(yàn)來驗(yàn)證,要注意的是DAN方法只關(guān)注AlexNet。DAN方法示意圖如下。
          (3)同時(shí)遷移領(lǐng)域和任務(wù)的方法。
          DDC方法的作者Tzeng在2015年擴(kuò)展了DDC方法,提出了領(lǐng)域和任務(wù)同時(shí)遷移的方法[Tzeng et al.,2015]。他提出網(wǎng)絡(luò)要進(jìn)行兩部分遷移。
          一是域遷移(Domain Transfer),尤其指適配邊緣分布,但沒有考慮類別信息。域遷移就是在傳統(tǒng)深度網(wǎng)絡(luò)的損失函數(shù)上,再加一個(gè)混淆損失(Confusion Loss)函數(shù),兩個(gè)損失函數(shù)一起計(jì)算。
          二是任務(wù)遷移(Task Transfer),就是利用類別之間的相似度進(jìn)行不同任務(wù)間的學(xué)習(xí)。舉個(gè)類別之間相似度的例子:杯子與瓶子更相似,而它們與鍵盤不相似。
          現(xiàn)有的深度遷移學(xué)習(xí)方法通常都只考慮域遷移,而沒有考慮類別之間的信息。如何把域遷移和任務(wù)遷移結(jié)合起來,是一個(gè)需要研究的問題。
          Tzeng針對(duì)目標(biāo)任務(wù)的部分類別有少量標(biāo)簽,剩下的類別無標(biāo)簽的情況,提出名為域遷移和任務(wù)遷移的聯(lián)合CNN體系結(jié)構(gòu)(Joint CNN Architecture For Domain and Task Transfer)。其最大的創(chuàng)新之處在于,提出現(xiàn)有的方法都忽略了類別之間的聯(lián)系,并提出在現(xiàn)有損失函數(shù)的基礎(chǔ)上還要再加一個(gè)軟標(biāo)簽損失(Soft Label Loss)函數(shù)。意思就是在源域和目標(biāo)域進(jìn)行適配時(shí),也要根據(jù)源域的類別分布情況來調(diào)整目標(biāo)域。相應(yīng)地,他提出的方法就是把這兩個(gè)損失函數(shù)結(jié)合到一個(gè)新的CNN網(wǎng)絡(luò)上,這個(gè)CNN是基于AlexNet修改而來的。總的損失函數(shù)由3部分組成,第1部分是普通訓(xùn)練的損失函數(shù),第2部分是域自適應(yīng)的損失函數(shù),第3部分是目標(biāo)域上的軟標(biāo)簽損失函數(shù)。
          下圖為同時(shí)遷移領(lǐng)域和任務(wù)的方法示意圖。
          該網(wǎng)絡(luò)由AlexNet修改而來,前面幾層無變化,區(qū)別是在fc7層后面加入了一個(gè)域分類器,在該層實(shí)現(xiàn)域自適應(yīng),在fc8層后計(jì)算網(wǎng)絡(luò)的損失函數(shù)和軟標(biāo)簽損失函數(shù)。
          那么什么是軟標(biāo)簽損失?
          軟標(biāo)簽損失就是不僅要適配源域和目標(biāo)域的邊緣分布,還要把類別信息考慮進(jìn)去。具體做法如下,在網(wǎng)絡(luò)對(duì)源域進(jìn)行訓(xùn)練時(shí),把源域中的每一個(gè)樣本處于每一個(gè)類的概率都記下來,然后,對(duì)于所有樣本,屬于每一個(gè)類的概率就可以通過先求和再求平均數(shù)得到。下為軟標(biāo)簽損失示意圖。這樣做的目的是,根據(jù)源域中的類別分布關(guān)系,來對(duì)目標(biāo)域做相應(yīng)的約束。
          (4)JAN方法。
          DAN方法的作者龍明盛2017年在ICML上提出了JAN(Joint Adaptation Networks)方法[Long et al.,2017],在深度網(wǎng)絡(luò)中同時(shí)進(jìn)行聯(lián)合分布的自適應(yīng)和對(duì)抗學(xué)習(xí)。JAN方法將只對(duì)數(shù)據(jù)進(jìn)行自適應(yīng)的方式推廣到了對(duì)類別的自適應(yīng)上,提出了JMMD度量(Joint MMD)。下為JAN方法示意圖。
          (5)AdaBN方法。
          與上述研究選擇在已有網(wǎng)絡(luò)層中增加適配層不同,北京大學(xué)的H Li和圖森科技的N Wang等人提出了AdaBN(Adaptive Batch Normalization)方法[Li et al.,2018],其通過在歸一化層加入統(tǒng)計(jì)特征的適配來完成遷移。下圖是AdaBN方法示意圖。

          AdaBN方法與其他方法相比,實(shí)現(xiàn)起來相當(dāng)簡(jiǎn)單,不帶有任何額外的參數(shù),在許多公開數(shù)據(jù)集上都取得了很好的效果。


          4? 深度對(duì)抗網(wǎng)絡(luò)遷移? ?

          生成對(duì)抗網(wǎng)絡(luò)GAN(Generative Adversarial Nets)是目前人工智能領(lǐng)域的研究熱點(diǎn)之一[Goodfellow et al.,2014],它被深度學(xué)習(xí)領(lǐng)軍人物Yann LeCun評(píng)為近年來最令人欣喜的成就。由此發(fā)展而來的對(duì)抗網(wǎng)絡(luò),也成為提升網(wǎng)絡(luò)性能的利器。本節(jié)介紹深度對(duì)抗網(wǎng)絡(luò)用于解決遷移學(xué)習(xí)的基本思路及其代表性研究成果。

          基本思路
          GAN受博弈論中的二人零和博弈(Two-Player Game)思想的啟發(fā)而提出。它包括兩部分:生成網(wǎng)絡(luò)(Generative Network),負(fù)責(zé)生成盡可能逼真的樣本,被稱為生成器(Generator);判別網(wǎng)絡(luò)(Discriminative Network),負(fù)責(zé)判斷樣本是否真實(shí),被稱為判別器(Discriminator)。生成器和判別器互相博弈,就完成了對(duì)抗訓(xùn)練。
          GAN的目標(biāo)很明確,就是生成訓(xùn)練樣本,這似乎與遷移學(xué)習(xí)的大目標(biāo)有些許出入。然而,由于在遷移學(xué)習(xí)中天然存在一個(gè)源域和一個(gè)目標(biāo)域,因此,我們可以免去生成樣本的過程,而直接將其中一個(gè)領(lǐng)域的數(shù)據(jù)(通常是目標(biāo)域)當(dāng)作生成的樣本。此時(shí),生成器的職能發(fā)生變化,不再生成新樣本,而去扮演特征提取的功能——不斷學(xué)習(xí)領(lǐng)域數(shù)據(jù)的特征,使判別器無法對(duì)兩個(gè)領(lǐng)域進(jìn)行分辨。這樣,原來的生成器也可以稱為特征提取器(Feature Extractor)。
          通常用??來表示特征提取器,用??來表示判別器。
          正是基于這樣的領(lǐng)域?qū)顾枷?,深度?duì)抗網(wǎng)絡(luò)可以被很好地應(yīng)用到遷移學(xué)習(xí)問題中。
          與深度網(wǎng)絡(luò)自適應(yīng)遷移方法類似,深度對(duì)抗網(wǎng)絡(luò)的損失函數(shù)也由兩部分構(gòu)成:網(wǎng)絡(luò)訓(xùn)練損失函數(shù)??和領(lǐng)域判別損失函數(shù)??,如下所示。

          核心方法
          (1)DANN方法。
          Yaroslav Ganin等人首先在遷移學(xué)習(xí)中加入了對(duì)抗機(jī)制,并將他們的網(wǎng)絡(luò)稱為DANN(Domain-Adversarial Neural Networks)方法[Ganin et al.,2016]。在此研究中,網(wǎng)絡(luò)的學(xué)習(xí)目標(biāo)是,生成的特征盡可能幫助區(qū)分兩個(gè)領(lǐng)域的特征,同時(shí)使判別器無法對(duì)兩個(gè)領(lǐng)域的差異進(jìn)行判別。該方法的領(lǐng)域?qū)箵p失函數(shù)表示為:

          其中

          (2)DSN方法。
          來自Google Brain的Bousmalis等人提出DSN(Domain Separation Networks)方法對(duì)DANN進(jìn)行了擴(kuò)展[Bousmalis et al.,2016]。DSN方法認(rèn)為,源域和目標(biāo)域都由兩部分構(gòu)成:公共部分和私有部分。公共部分可以學(xué)習(xí)公共的特征,私有部分用來保持各個(gè)領(lǐng)域獨(dú)立的特性。DSN方法進(jìn)一步對(duì)損失函數(shù)進(jìn)行了定義。

          其具體含義如下。
          ??為網(wǎng)絡(luò)常規(guī)訓(xùn)練的損失函數(shù)。
          ??為重構(gòu)損失函數(shù),確保私有部分仍然對(duì)學(xué)習(xí)目標(biāo)有作用。
          ??公共部分與私有部分的差異損失函數(shù)。
          ??源域和目標(biāo)域公共部分的相似性損失函數(shù)。
          如下是DSN方法示意圖。
          (3)SAN方法。
          清華大學(xué)龍明盛等人2018年發(fā)表在CVPR(Computer Vision and Pattern Recognition)上的文章提出了部分遷移學(xué)習(xí)(Partial Transfer Learning)。作者認(rèn)為,在大數(shù)據(jù)時(shí)代,通常我們會(huì)有大量的源域數(shù)據(jù)。這些源域數(shù)據(jù)與目標(biāo)域數(shù)據(jù)相比,在類別上通常更為豐富。例如,基于ImageNet訓(xùn)練的圖像分類器,必然是針對(duì)幾千個(gè)類別進(jìn)行的分類。在實(shí)際應(yīng)用時(shí),目標(biāo)域往往只是其中的一部分類別。這樣就會(huì)帶來一個(gè)問題:那些只存在于源域中的類別在遷移時(shí),會(huì)對(duì)遷移結(jié)果產(chǎn)生負(fù)遷移影響。這種情況是非常普遍的,因此,就要求相應(yīng)的遷移學(xué)習(xí)方法能夠?qū)δ繕?biāo)域選擇相似的源域樣本(類別),同時(shí)也要避免負(fù)遷移。但是目標(biāo)域通常是沒有標(biāo)簽的,因此我們并不知道它和源域中哪個(gè)類別更相似。作者稱這個(gè)問題為部分遷移學(xué)習(xí)(Partial Transfer Learning)。Partial即只遷移源域中和目標(biāo)域相關(guān)的那部分樣本。
          下圖展示了部分遷移學(xué)習(xí)示意圖。
          作者提出了名為選擇性對(duì)抗網(wǎng)絡(luò)(Selective Adversarial Networks,SAN)的方法來處理選擇性遷移問題[Cao et al.,2017]。在該問題中,傳統(tǒng)的對(duì)抗網(wǎng)絡(luò)不再適用。所以需要對(duì)其進(jìn)行一些修改,使它能夠適用于選擇性遷移問題。

          圖書推薦

          ▊《深度學(xué)習(xí)500問:AI工程師面試寶典》

          談繼勇 主編,郭子釗、李劍、佃松宜 副主編

          • Github 標(biāo)星4.2萬的火爆之作

          • 歷時(shí)3年,融合產(chǎn)學(xué)研的精心制作

          • 集百家所長(zhǎng),凝聚了眾多一線科研人員及工程師的經(jīng)驗(yàn)

          • 讓你不再因?yàn)槿狈A(chǔ)知識(shí)而對(duì)深度學(xué)習(xí)望而卻步

          • 細(xì)化問題,助你面試查漏補(bǔ)缺,重點(diǎn)突破

          • 兼具廣度與深度,深度學(xué)習(xí)知識(shí)框架的全景圖呈現(xiàn)

          本書凝聚了眾多一線科研人員及工程師的經(jīng)驗(yàn),旨在培養(yǎng)讀者發(fā)現(xiàn)問題、解決問題、擴(kuò)展問題的能力。本書內(nèi)容取材于編者在日常學(xué)習(xí)過程中總結(jié)的知識(shí)點(diǎn)及各大公司常見的筆試、面試題。是一本兼具廣度與深度的著作。

          新書活動(dòng)限時(shí)5折

          (掃碼了解本書詳情)


          ??福利來了??
          評(píng)論區(qū)留言送書!

          你在學(xué)習(xí)深度學(xué)習(xí)的過程中遇到過哪些問題?希望讀者后續(xù)分享哪個(gè)系列的干貨?對(duì)于用心留言(20字以上)點(diǎn)贊前8名的同學(xué)將送《深度學(xué)習(xí)500問》一本,到1月31日22:00截止。
          (為防止刷量,1月31日18時(shí)對(duì)留言前20名做個(gè)截圖作為證據(jù),與最終點(diǎn)贊數(shù)量作對(duì)比。)
          瀏覽 18
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  操逼电影网址 | 日韩欧美超清 | 天堂一区在线观看 | 免费全黄A片免费播放 | 91ThePorn国产 |