傳統上我們需要很多的訓練資料才能訓練出乙個好的模型。但是在很多任務上,如:自動駕駛,無人機等,我們就需要快速地應對一些未見過的情形。
遷移學習通過在其他資料集上的大量訓練,然後將其訓練出的模型複製到目標任務上,最後在目標任務上通過少量標註資料對模型進行微調。但是這個基於梯度下降的方法在新任務上依然需要很多的標註資料。
元學習則是指一類只關注學習本身的學習演算法。元學習在任務空間進行訓練,而不是在(像遷移學習一樣)例項空間進行訓練。遷移學習在單個任務上進行優化,但是元學習會在任務空間裡取樣多個任務,然後在多個任務上學習。因此元學習模型理所應當的在未知任務上表現地更好。雖然元學習確實在few-shot learning上表現良好,但是當目標任務上可訓練的樣本較多時,元學習的效能就不太好了。比如可能隨著時間的推移,我們積累了越來越多的標註資料,我們當然想要不斷地提高我們的效能啦!但是隨著資料的增多,元學習可能就不work了。還有一種情形是,目標任務的類別太多時,元學習的表現也不太好。
所以作者就想到了要結合元學習和遷移學習之優勢,以彌補各自的不足。
這個模型有兩個損失函式,1)任務專用的-遷移學習(task-specific),記作 l(x
,y)(
θ)l_(\theta)
l(x,y)
(θ)
; 2)任務無關的-元學習(task-agnostic),記作 lt(
θ)l_t(\theta)
lt(θ)
。這個模型則根據這兩個損失函式更新後的向量的加權和來更新。引數更新方法如下:
本模型的元學習部分使用maml或reptile。
以下是模型的結構。
作者在miniimagenet資料集上做了驗證,結果mtl的表現極好。實驗結果如下:
從實驗來看,mtl在各個任務上都碾壓了遷移學習和元學習的方法,確實是集兩者之所長。考慮到這篇文章這個很玄學的idea,一騎絕塵的實驗結果應該也是這篇文章能發在aaai上的重要原因。
一種深度學習方法 遷移學習
接下來我會介紹關於遷移學習的以下內容。它是什麼?它是如何工作的?為什麼使用它?什麼時候使用?轉移學習的方法 訓練模型 使用預先訓練的模型 和特徵提取 遷移學習 遇到乙個新問題,不是從頭訓練乙個網路模型,而是在現有的預訓練模型上,再次訓練或者直接使用。因為他可以用較少的資料來訓練深度神經網路,如果你資...
學習知識的一種思路
昨天看到王垠博士的思維導圖,裡面有個很重要的概念就是學習知識分類,然後不斷的細化下去。聽說寫作也是一樣,作家也是先寫好提綱,然後一點點填充內容。看到這個讓我想起了禪與電單車裡作者對科學,對文學的學習方法,其實就是分類,然後再對子節點進行分類。其實大多數人都是在做別人早都研究出來的東西,用生活大 裡的...
PHP學習的一種習慣
php學習的一種習慣 習慣是一種常態,一種下意識,一種自動自發,一種經過長期培養而形成的自然而然的狀態,就像 php程式 早已安裝於大腦和肌肉中,成為一種特殊的記憶,是在長時間裡逐漸養成的一種行為。學習習慣的養成,是乙個漫長的過程,它只有起點沒有終點。學習習慣的養成,是一種追求,是一種動力,一種對知...