有兩個方面需要我們考慮的
當我們有海量的資料資源時,可以不需要遷移學習,機器學習系統很容易從海量資料中學習到乙個魯棒性很強的模型。但通常情況下,我們需要研究的領域可獲得的資料極為有限,在少量的訓練樣本上要求的精度極高,但是實際泛化效果極差,這時需要遷移學習。
訓練成本,很少去從頭開始訓練一整個深度卷積網路,從頭開始訓練乙個卷積網路通常需要較長時間且依賴於強大的 gpu 計算資源。
這裡我們舉乙個例子,假設有兩個任務a和b,任務 a 擁有海量的資料資源且已訓練好,但並不是我們的目標任務,任務 b 是我們的目標任務。下面的網路模型假設是已訓練好的1000個類別模型
而b任務假設是某個具體場景如250個類別的物體識別,那麼該怎麼去做:
建立自己的網路,在a的基礎上,修改最後輸出結構,並載入a的模型引數
根據資料大小調整
(1)如果b任務的資料量小,那麼我們可以選擇將a模型的所有的層進行freeze(可以通過tensorflow的trainable=false引數實現),而剩下的輸出層部分可以選擇調整引數訓練
(2)如果b任務的資料量大,那麼我們可以將a中一半或者大部分的層進行freeze,而剩下部分的layer可以進行新任務資料基礎上的微調
遷移學習 自我學習
最近在看ng的深度學習教程,看到self taught learning的時候,對一些概念感到很陌生。作為還清技術債的乙個環節,用半個下午的時間簡單搜了下幾個名詞,以後如果會用到的話再深入去看。監督學習在前一篇部落格中討論過了,這裡主要介紹下遷移學習 自我學習。因為監督學習需要大量訓練樣本為前提,同...
深度學習 遷移學習
遷移學習 把公共的資料集的知識遷移到自己的問題上,即將已經訓練好的模型的一部分知識 網路結構 直接應用到另乙個類似模型中去 小資料集 利用遷移學習,應用其他研究者建立的模型和引數,用少量的資料僅訓練最後自定義的softmax網路。從而能夠在小資料集上達到很好的效果。例如 imagenet 資料集,它...
遷移學習 domain adaption
一 概念 1 learning from scratch 即學乙個cnn網路with random initialization 2 在新的學習任務中,可以利用現有訓練好的imagenet網路提取特徵,去掉最後乙個分類的全連線層,在classifier層之前提取4096維的特徵,這些特徵稱為cnn ...