1. 程式人生 > >cs231n-(9)遷移學習和Fine-tune網路

cs231n-(9)遷移學習和Fine-tune網路

遷移學習

在實踐中,由於資料集不夠大,很少有人從頭開始訓練網路。常見的做法是使用預訓練的網路(例如在ImageNet上訓練的分類1000類的網路)來重新fine-tune,或者當做特徵提取器。常見的兩類遷移學習場景:

  • 卷積網路當做特徵提取器。使用在ImageNet上預訓練的網路,去掉最後的全連線層,剩餘部分當做特徵提取器(例如AlexNet在最後分類器前,是4096維的特徵向量)。這樣提取的特徵叫做CNN codes。得到這樣的特徵後,可以使用線性分類器(Liner SVM、Softmax等)來分類影象。

  • Fine-tuning卷積網路。替換掉網路的輸入層(資料),使用新的資料繼續訓練。Fine-tune時可以選擇fine-tune全部層或部分層。通常,前面的層提取的是影象的通用特徵(generic features)(例如邊緣檢測,色彩檢測),這些特徵對許多工都有用。後面的層提取的是與特定類別有關的特徵,因此fine-tune時常常只需要Fine-tuning後面的層。

預訓練模型
在ImageNet上訓練一個網路,即使使用多GPU也要花費很長時間。因此人們通常共享他們預訓練好的網路,這樣有利於其他人再去使用。例如,Caffe有預訓練好的網路地址Model Zoo

何時以及如何Fine-tune
決定如何使用遷移學習的因素有很多,這是最重要的只有兩個:新資料集的大小和新資料和原資料集的相似程度。有一點一定記住:網路前幾層學到的是通用特徵,後面幾層學到的是與類別相關的特徵。這裡有使用的四個場景:

1、新資料集比較小且和原資料集相似。因為新資料集比較小,如果fine-tune可能會過擬合;又因為新舊資料集類似,我們期望他們高層特徵類似,可以使用預訓練網路當做特徵提取器,用提取的特徵訓練線性分類器。

2、新資料集大且和原資料集相似。因為新資料集足夠大,可以fine-tune整個網路。

3、新資料集小且和原資料集不相似。新資料集小,最好不要fine-tune,和原資料集不類似,最好也不使用高層特徵。這時可是使用前面層的特徵來訓練SVM分類器。

4、新資料集大且和原資料集不相似。因為新資料集足夠大,可以重新訓練。但是實踐中fine-tune預訓練模型還是有益的。新資料集足夠大,可以fine-tine整個網路。

實踐建議

  • 預訓練模型的限制。使用預訓練模型,受限於其網路架構。例如,你不能隨意從預訓練模型取出卷積層。但是因為引數共享,可以輸入任意大小影象;卷積層和池化層對輸入資料大小沒有要求(只要步長stride fit),其輸出大小和屬於大小相關;全連線層對輸入大小沒有要求,輸出大小固定。

  • 學習率。與重新訓練相比,fine-tune要使用更小的學習率。因為訓練好的網路模型權重已經平滑,我們不希望太快扭曲(distort)它們(尤其是當隨機初始化線性分類器來分類預訓練模型提取的特徵時)。

更多參考

相關推薦

cs231n-(9)遷移學習Fine-tune網路

遷移學習 更多參考 遷移學習 在實踐中,由於資料集不夠大,很少有人從頭開始訓練網路。常見的做法是使用預訓練的網路(例如在ImageNet上訓練的分類1000類的網路)來重新fine-tune,或者當做特徵提取器。常見的兩類遷移學習場景:

keras 深度學習遷移學習fine tune

一.遷移學習 就是說把別人訓練好的網路(比如說卷積特徵提取部分)拿過來配合上自己分類器,這樣可以增加訓練的速度和提高分類效果。 ''' Created on 2018年8月28日 ''' #遷移學習 import keras from keras.

深度學習系列Part2:遷移學習微調深度卷積神經網路

http://www.jiqizhixin.com/article/1465 本文是微軟資料科學家 Anusua Trivedi 所寫的《Deep Learning》系列文章的第二部分,是對遷移學習和微調深度卷積神經網路的介紹。機器之心此前也已經編譯了該系列的第一部分

一文讀懂遷移學習預訓練

轉載:https://zhuanlan.zhihu.com/p/27657264 引言 跟傳統的監督式機器學習演算法相比,深度神經網路目前最大的劣勢是什麼? 貴。 尤其是當我們在嘗試處理現實生活中諸如影象識別、聲音辨識等實際問題的時候。一旦你的模型中包含一些隱藏層時,增

關於機器人抓取的兩篇文章,基於深度學習脈衝神經網路,以及大腦見圖

 Towards Grasping with Spiking Neural Networks for Anthropomorphic Robot Hands Dex-Net 3.0: Computing Robust Robot Suction Grasp Targe

遷移學習fine-tuning的區別

遷移學習是一個idea,把一個預先訓練好的模型的部分挪到一個類似的任務上使用。一方面這節省了訓練的時間;另一方面對於某些任務我們可能有很大的dataset而對於另一些相似的任務並沒有那麼大的dataset,那麼我們就可以拿在前者上訓練好的模型抽掉最後幾層(抽掉多少視後者有多

遷移學習多工學習

遷移學習 總結一下,什麼時候遷移學習是有意義的?如果你想從任務A學習並遷移一些知識到任務B,那麼當任務A和任務B都有同樣的輸入時,遷移學習是有意義的。在第一個例子中,A和B的輸入都是影象,在第二個例子中,兩者輸入都是音訊。當任務A的資料比任務多得多時,遷移學習意義更大。所有

在Debian 9上安裝配置Observium網路監控

           Observium是一個免費的開源網路管理和監控工具,可用於監控所有的網路裝置,特別是交換機等網路裝置。 它是用PHP編寫的,使用SNMP從連線的裝置收集資料並使用Web介面監視它們。 Observium支援大量的網路硬體和作業系統,包括Linux,Wi

遷移學習fine-tuning有什麼區別

遷移學習,個人感覺是一種思想吧,並不是一種特定的演算法或者模型,目的是將已學習到的知識應用到其他領域,提高在目標領域上的效能,比如說一個通用的語音模型遷移到某個人的語音識別,一個ImageNet上的圖片分類問題遷移到醫療疾病識別上。 作為知識的搬運工,下面的內容就要開始盜圖大法了,臺大李巨集毅老師的slid

遷移學習(transfer learning)微調(fine-tune)的幾點認識

遷移學習和微調的區別 什麼是遷移學習? 即一種學習對另一種學習的影響,它廣泛地存在於知識、技能、態度和行為規範的學習中。任何一種學習都要受到學習者已有知識經驗、技能、態度等的影響,只要有學習,就有

# [cs231n (七)神經網路 part 3 : 學習評估 ][1]

標籤(空格分隔): 神經網路 0.回顧 cs231n (一)影象分類識別講了KNN cs231n (二)講了線性分類器:SVM和SoftMax cs231n (三)優化問題及方法 cs231n (四)反向傳播 cs231n (五)神經網路 part 1:

深度學習 Fine-tune 技巧總結

str 要求 圖片 學習 線性分類 選擇 共享 沒有 技巧 深度學習中需要大量的數據和計算資源(乞丐版都需要12G顯存的GPU - -)且需花費大量時間來訓練模型,但在實際中難以滿足這些需求,而使用遷移學習則能有效 降低數據量、計算量和計算時間,並能定制在新場景的業務需求,

jdk1.8學習、jdk1.9學習、jdk10.0學習總結

font .... date des 什麽 普通 例子 span 由於 由於中文參考資料很少,參考鏈接: https://www.oschina.net/translate/109-new-features-in-jdk-10 http://chuansong.me/n

斯坦福cs231n計算機視覺訓練營----(10.8/10.9任務學習筆記)

深度學習緒論視訊筆記: 1.機器學習是在特定的場景中,期望演算法能夠像人一樣,自動給出我們想要的輸出,不需要我們編寫一些特定的規則。 2.傳統機器學習和深度學習的最大的區別是前者用人工提取的特徵來表述資料,然後運用對領域的特定知識進行手動提取;而後者用機器提取的特徵來表述資料,並且自動提取內

人工智慧、機器學習神經網路計算棒走出試驗室的應用場景

跟著“人工智慧”走出試驗室、逐步有了實踐的應用場景,它成為了一項可能在不久的將來徹底改動人類社會的根底技能,也成為了很多人最愛評論的論題。可是,AI(人工智慧)、機器學習、神經網路計算棒,這些詞看著潮,究竟是指什麼呢? 別慌,咱們試著舉幾個簡略的比方來解釋一下。 人工智慧 “科技

pytorch遷移學習中parameters requires_grad=Falseoptimizer優化引數的探討

首先背景是遷移學習,以VGG16網路為例,固定他的特徵提取層,優化他的全連線分類層。 有的書上寫了: for param in vgg.features.parameters(): param.requeires_grad=False 然後在定義優化器的時候,又寫了下面的程

遷移學習的挑戰六大突破點

本文轉載自機器之心 作者:蔣思源  原文連結:http://jiqizhixin.com/article/2956     5 月 28 日,機器之心主辦的為期兩天的全球機器智慧峰會(GMIS 2017)進入第二天,全天議程中最受關注的是多位重要嘉賓

基於深度學習遷移學習的遙感影象場景分類實踐(AlexNet、ResNet)

卷積神經網路(CNN)在影象處理方面有很多出色的表現,在ImageNet上有很多成功的模型都是基於CNN的。AlexNet是具有歷史意義的一個網路,2012年提出來當年獲得了當年的ImageNet LSVRC比賽的冠軍,此後ImageNet LSVRC的冠軍都是都是用CNN做的,並且層

深度學習:深度信念網路(DBN)結構訓練過程

深度信念網路在處理維數比較多的資料時,可以起到壓縮資料維度的作用。其經典結構為: DBN由多個RBM堆疊而成,訓練過程由預訓練和微調構成 深度信念網路訓練步驟: (1)預訓練:分別單獨無監督的訓練每一層RBM網路,確保特徵向量對映到不同特徵空間,都儘可能的保留特徵資訊;它通過一個非監督