久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
    分享

    遷移學(xué)習(xí)

     老河魚的記憶 2018-01-05

    選自MachineLearningMastery

    作者:Jason Brownlee

    參與:Nurhachu Null、劉曉坤

    本文介紹了遷移學(xué)習(xí)的基本概念,以及該方法在深度學(xué)習(xí)中的應(yīng)用,引導(dǎo)構(gòu)建預(yù)測(cè)模型的時(shí)候使用遷移學(xué)習(xí)的基本策略。

    遷移學(xué)習(xí)是一種機(jī)器學(xué)習(xí)方法,就是把為任務(wù) A 開發(fā)的模型作為初始點(diǎn),重新使用在為任務(wù) B 開發(fā)模型的過程中。

    深度學(xué)習(xí)中在計(jì)算機(jī)視覺任務(wù)和自然語言處理任務(wù)中將預(yù)訓(xùn)練的模型作為新模型的起點(diǎn)是一種常用的方法,通常這些預(yù)訓(xùn)練的模型在開發(fā)神經(jīng)網(wǎng)絡(luò)的時(shí)候已經(jīng)消耗了巨大的時(shí)間資源和計(jì)算資源,遷移學(xué)習(xí)可以將已習(xí)得的強(qiáng)大技能遷移到相關(guān)的的問題上。

    讀完本文,你將學(xué)會(huì)如何使用遷移學(xué)習(xí)來加速訓(xùn)練過程,提升深度模型的性能。

    讀完本文之后,你會(huì)了解以下內(nèi)容:

    • 什么是遷移學(xué)習(xí)?如何使用它?

    • 遷移學(xué)習(xí)在深度學(xué)習(xí)中的簡(jiǎn)單例子。

    • 什么時(shí)候可以在你自己的預(yù)測(cè)模型問題中使用遷移學(xué)習(xí)。

    什么是遷移學(xué)習(xí)?

    遷移學(xué)習(xí)是一種機(jī)器學(xué)習(xí)的方法,指的是一個(gè)預(yù)訓(xùn)練的模型被重新用在另一個(gè)任務(wù)中。

    遷移學(xué)習(xí)和域適應(yīng)指的是在一種環(huán)境中學(xué)到的知識(shí)被用在另一個(gè)領(lǐng)域中來提高它的泛化性能。

    ——《深度學(xué)習(xí)》,第 526 頁(yè)

    遷移學(xué)習(xí)與多任務(wù)學(xué)習(xí)以及概念飄移這些問題相關(guān),它不是一個(gè)專門的機(jī)器學(xué)習(xí)領(lǐng)域。

    然而,遷移學(xué)習(xí)在某些深度學(xué)習(xí)問題中是非常受歡迎的,例如在具有大量訓(xùn)練深度模型所需的資源或者具有大量的用來預(yù)訓(xùn)練模型的數(shù)據(jù)集的情況。僅在第一個(gè)任務(wù)中的深度模型特征是泛化特征的時(shí)候,遷移學(xué)習(xí)才會(huì)起作用。

    在遷移學(xué)習(xí)中,我們首先在一個(gè)基礎(chǔ)數(shù)據(jù)集和基礎(chǔ)任務(wù)上訓(xùn)練一個(gè)基礎(chǔ)網(wǎng)絡(luò),然后我們?cè)傥⒄{(diào)一下學(xué)到的特征,或者說將它們遷移到第二個(gè)目標(biāo)網(wǎng)絡(luò)中,用目標(biāo)數(shù)據(jù)集和目標(biāo)任務(wù)訓(xùn)練網(wǎng)絡(luò)。如果特征是泛化的,那么這個(gè)過程會(huì)奏效,也就是說,這些特征對(duì)基礎(chǔ)任務(wù)和目標(biāo)任務(wù)都是適用的,而不是特定的適用于某個(gè)基礎(chǔ)任務(wù)。

    ——論文《How transferable are features in deep neural networks?》(https:///abs/1411.1792)

    深度學(xué)習(xí)中的這種遷移被稱作歸納遷移。就是通過使用一個(gè)適用于不同但是相關(guān)的任務(wù)的模型,以一種有利的方式縮小可能模型的搜索范圍。

    歸納學(xué)習(xí)的解釋

    如何使用遷移學(xué)習(xí)

    你可以在自己的預(yù)測(cè)模型問題上使用遷移學(xué)習(xí)。

    以下是兩個(gè)常用的方法:

    1. 開發(fā)模型的方法

    2. 預(yù)訓(xùn)練模型的方法

    開發(fā)模型的方法

    1. 選擇源任務(wù)。你必須選擇一個(gè)具有豐富數(shù)據(jù)的相關(guān)的預(yù)測(cè)建模問題,原任務(wù)和目標(biāo)任務(wù)的輸入數(shù)據(jù)、輸出數(shù)據(jù)以及從輸入數(shù)據(jù)和輸出數(shù)據(jù)之間的映射中學(xué)到的概念之間有某種關(guān)系,

    2. 開發(fā)源模型。然后,你必須為第一個(gè)任務(wù)開發(fā)一個(gè)精巧的模型。這個(gè)模型一定要比普通的模型更好,以保證一些特征學(xué)習(xí)可以被執(zhí)行。

    3. 重用模型。然后,適用于源任務(wù)的模型可以被作為目標(biāo)任務(wù)的學(xué)習(xí)起點(diǎn)。這可能將會(huì)涉及到全部或者部分使用第一個(gè)模型,這依賴于所用的建模技術(shù)。

    4. 調(diào)整模型。模型可以在目標(biāo)數(shù)據(jù)集中的輸入-輸出對(duì)上選擇性地進(jìn)行微調(diào),以讓它適應(yīng)目標(biāo)任務(wù)。

    預(yù)訓(xùn)練模型方法

    1. 選擇源模型。一個(gè)預(yù)訓(xùn)練的源模型是從可用模型中挑選出來的。很多研究機(jī)構(gòu)都發(fā)布了基于超大數(shù)據(jù)集的模型,這些都可以作為源模型的備選者。

    2. 重用模型。選擇的預(yù)訓(xùn)練模型可以作為用于第二個(gè)任務(wù)的模型的學(xué)習(xí)起點(diǎn)。這可能涉及到全部或者部分使用與訓(xùn)練模型,取決于所用的模型訓(xùn)練技術(shù)。

    3. 調(diào)整模型。模型可以在目標(biāo)數(shù)據(jù)集中的輸入-輸出對(duì)上選擇性地進(jìn)行微調(diào),以讓它適應(yīng)目標(biāo)任務(wù)。

    第二種類型的遷移學(xué)習(xí)在深度學(xué)習(xí)領(lǐng)域比較常用。

    深度學(xué)習(xí)中使用遷移學(xué)習(xí)的例子

    下面用兩個(gè)常見的例子具體介紹一下深度學(xué)習(xí)模型中的遷移學(xué)習(xí)。

    使用圖像數(shù)據(jù)進(jìn)行遷移學(xué)習(xí)

    在使用圖像作為輸入的預(yù)測(cè)建模問題中應(yīng)用遷移學(xué)習(xí)是很常見的,其中使用圖像或視頻作為輸入。

    對(duì)于這種類型的問題而言,使用為大規(guī)模的挑戰(zhàn)性圖像數(shù)據(jù)集預(yù)訓(xùn)練的模型是很常見的做法,例如 ImageNet(1000 類圖像分類挑戰(zhàn)賽的數(shù)據(jù)集)。

    為這個(gè)競(jìng)賽開發(fā)模型的研究組織通常會(huì)將最終模型發(fā)布出來,并且具備重新使用的許可。這些模型的訓(xùn)練一般會(huì)耗費(fèi)幾天到幾星期不等的時(shí)間,這取決于所用的硬件環(huán)境。

    這些模型可以直接下載到,它們將圖像作為輸入。

    以下是這種類型的模型的三個(gè)例子:

    • 牛津 VGG 模型(http://www.robots./~vgg/research/very_deep/)

    • 谷歌 Inception 模型(https://github.com/tensorflow/models/tree/master/inception)

    • 微軟 ResNet 模型(https://github.com/KaimingHe/deep-residual-networks)

    可以在 Caffe Model Zoo(https://github.com/BVLC/caffe/wiki/Model-Zoo)中找到更多的例子,那里分享了很多預(yù)訓(xùn)練的模型。

    這個(gè)方法是有效的,因?yàn)榇罅康膱D片在這個(gè)模型上進(jìn)行訓(xùn)練,需要模型能夠預(yù)測(cè)出相對(duì)比較多的圖片類型,反過來,這需要模型能夠有效地學(xué)習(xí)從圖片中提取特征,以較好地解決這個(gè)問題。

    在斯坦福大學(xué)的課程《Convolutional Neural Networks for Visual Recognition》(視覺識(shí)別中的卷積神經(jīng)網(wǎng)絡(luò))中,作者特別提醒,要仔細(xì)選擇將預(yù)訓(xùn)練模型在多大程度上利用到新模型中。

    卷積神經(jīng)網(wǎng)絡(luò)的前面幾層提取到的特征更泛化,后面層提取到的特征與原始數(shù)據(jù)集更相關(guān)。

    ——遷移學(xué)習(xí),CS231 卷積神經(jīng)網(wǎng)絡(luò)視覺識(shí)別課程 (http://cs231n./transfer-learning/)

    語言數(shù)據(jù)中的遷移學(xué)習(xí)

    在以文本作為輸入-輸出的自然語言處理任務(wù)中,使用遷移學(xué)習(xí)是很常見的。

    對(duì)于這類問題,首先會(huì)使用詞向量(Word embedding)將單詞映射到連續(xù)的高維空間,在這個(gè)高維空間中,意思相近的不同單詞具有相似的向量表征。

    目前已經(jīng)有學(xué)習(xí)這些分散詞表征的高效算法,并且研究組織經(jīng)常在大規(guī)模文本語料庫(kù)上基于許可 license 發(fā)布預(yù)訓(xùn)練模型。

    這類例子包括:

    • 谷歌的 word2vec 模型(https://code.google.com/archive/p/word2vec/)

    • 斯坦福的 GloVe 模型(https://nlp./projects/glove/)

    這些分立詞表征的模型可以在上述地址下載,并且結(jié)合使用在將單詞表征作為輸入或者生成單詞作為輸出的深度語言學(xué)習(xí)模型中。

    Yoav Goldberg 在他的書中提醒道:

    ..... 你可以下載到這些基于特大數(shù)量的文本訓(xùn)練得到的預(yù)訓(xùn)練詞向量...... 但是,訓(xùn)練方法和本質(zhì)語料庫(kù)的不同對(duì)結(jié)果表征有著嚴(yán)重的影響,并且可以獲取的預(yù)訓(xùn)練表征可能不是你的實(shí)際案例中的最佳選擇。

    ——《Deep Learning for Natural Language Processing》(自然語言處理的深度學(xué)習(xí)方法),2017,第 135 頁(yè)

    什么時(shí)候使用遷移學(xué)習(xí)?

    遷移學(xué)習(xí)是一種優(yōu)化,是一種節(jié)省時(shí)間或者得到更好性能的捷徑。

    通常而言,在模型經(jīng)過開發(fā)和測(cè)試之前,并不能明顯地發(fā)現(xiàn)使用遷移學(xué)習(xí)帶來的性能提升。

    Lisa Torrey 和 Jude Shavlik 在他們關(guān)于遷移學(xué)習(xí)的章節(jié)中描述了使用遷移學(xué)習(xí)的時(shí)候可能帶來的三種益處:

    1. 更高的起點(diǎn)。在微調(diào)之前,源模型的初始性能要比不使用遷移學(xué)習(xí)來的高。

    2. 更高的斜率。在訓(xùn)練的過程中源模型提升的速率要比不使用遷移學(xué)習(xí)來得快。

    3. 更高的漸進(jìn)。訓(xùn)練得到的模型的收斂性能要比不使用遷移學(xué)習(xí)更好。

    遷移學(xué)習(xí)能夠改善學(xué)習(xí)的三種方式

    理想情況下,在一個(gè)成功的遷移學(xué)習(xí)應(yīng)用中,你會(huì)得到上述這三種益處。

    如果你能夠發(fā)現(xiàn)一個(gè)與你的任務(wù)有相關(guān)性的任務(wù),它具備豐富的數(shù)據(jù),并且你也有資源來為它開發(fā)模型,那么,在你的任務(wù)中重用這個(gè)模型確實(shí)是一個(gè)好方法,或者(更好的情況),有一個(gè)可用的預(yù)訓(xùn)練模型,你可以將它作為你自己模型的訓(xùn)練初始點(diǎn)。

    在一些問題上,你或許沒有那么多的數(shù)據(jù),這時(shí)候遷移學(xué)習(xí)可以讓你開發(fā)出相對(duì)不使用遷移學(xué)習(xí)而言具有更高性能的模型。

    對(duì)源數(shù)據(jù)和源模型的選擇是一個(gè)開放問題,可能需要領(lǐng)域?qū)<一蛘邔?shí)際開發(fā)經(jīng)驗(yàn)。

    延伸閱讀

    如果你想進(jìn)一步了解相關(guān)內(nèi)容,這一部分給出了更多關(guān)于這個(gè)主題的學(xué)習(xí)資源。

    書籍

    • 深度學(xué)習(xí),2016(http:///2fwdoKR)

    • 自然語言處理的神經(jīng)網(wǎng)絡(luò)方法,2017(http:///2fwTPCn)

    論文

    • 遷移學(xué)習(xí)綜述,2010(https://pdfs./a25f/bcbbae1e8f79c4360d26aa11a3abf1a11972.pdf)

    • 機(jī)器學(xué)習(xí)應(yīng)用研究手冊(cè),第 11 章:遷移學(xué)習(xí)(http:///2fgeVro)

    • 深度神經(jīng)網(wǎng)絡(luò)中的特征具有怎么樣的可遷移性?(https:///abs/1411.1792)

    預(yù)訓(xùn)練模型

    • 牛津 VGG 模型(http://www.robots./~vgg/research/very_deep/)

    • 谷歌 inception 模型(https://github.com/tensorflow/models/tree/master/inception)

    • 微軟 ResNet 模型(https://github.com/KaimingHe/deep-residual-networks)

    • 谷歌 Word2vec 模型(https://code.google.com/archive/p/word2vec/)

    • 斯坦福 GloVe 模型(https://nlp./projects/glove/)

    • Caffe 模型庫(kù) Model Zoo(https://github.com/BVLC/caffe/wiki/Model-Zoo)

    文章

    • 遷移學(xué)習(xí)維基百科(https://en./wiki/Transfer_learning)

    • 遷移學(xué)習(xí)——機(jī)器學(xué)習(xí)的下一個(gè)前沿,2017(http:///transfer-learning/)

    • 遷移學(xué)習(xí)(CS231,卷積神經(jīng)網(wǎng)絡(luò)視覺識(shí)別)(http://cs231n./transfer-learning/)

    • Quora 話題:遷移學(xué)習(xí)是如何起作用的?(https://www./How-does-transfer-learning-work)

    本文為機(jī)器之心編譯,轉(zhuǎn)載請(qǐng)聯(lián)系本公眾號(hào)獲得授權(quán)。

      本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
      轉(zhuǎn)藏 分享 獻(xiàn)花(0

      0條評(píng)論

      發(fā)表

      請(qǐng)遵守用戶 評(píng)論公約

      類似文章 更多

      主站蜘蛛池模板: 日本一区二区不卡精品| 精品一区二区亚洲国产| 91中文字幕一区在线| 亚洲另类丝袜综合网| 狠狠色噜噜狠狠狠狠AV| 亚洲人成网线在线播放VA| 不卡高清AV手机在线观看| 91福利一区福利二区| 亚洲精品无码你懂的| 中文字幕制服国产精品| 国内揄拍国内精品人妻 | 午夜无码片在线观看影院A| 少妇人妻偷人免费观看| 邻居少妇张开腿让我爽了一夜| 女人被爽到高潮视频免费国产| 日韩中文字幕V亚洲中文字幕| 免费观看的AV毛片的网站| 97夜夜澡人人爽人人模人人喊| 亚洲中文字幕无线无码毛片| 成人午夜福利免费专区无码| 亚洲a∨国产av综合av| 欧美国产综合欧美视频| 中文国产不卡一区二区| 在厨房被C到高潮A毛片奶水| 亚洲精品无码久久一线| 少妇高潮喷水正在播放| 久久男人AV资源网站| 四虎成人精品永久网站| 亚洲av午夜成人片| 乱子真实露脸刺激对白| 国产毛1卡2卡3卡4卡免费观看| 大地资源免费视频观看| 久久人搡人人玩人妻精品首页| 少妇高潮水多太爽了动态图| 最新国产精品久久精品| 尹人香蕉久久99天天拍| 国产AV老师黑色丝袜美腿| 美女无遮挡免费视频网站| 红杏亚洲影院一区二区三区| 国产又黄又爽又刺激的免费网址| 日韩人妻中文字幕精品|