深度学习数据扩张_适用于少量数据的深度学习结构
作者:Gorkem Polat
編譯:ronghuaiyang
導(dǎo)讀
一些最常用的few shot learning的方案介紹及對比。
傳統(tǒng)的CNNs (AlexNet, VGG, GoogLeNet, ResNet, DenseNet…)在數(shù)據(jù)集中每個類樣本數(shù)量較多的情況下表現(xiàn)良好。不幸的是,當你擁有一個小數(shù)據(jù)集時,它們通常不能很好地工作。但是,在許多真實的場景中,收集數(shù)據(jù)是很有挑戰(zhàn)性的。例如,在人臉識別系統(tǒng)中,通常每個人的圖像都很少,或者在醫(yī)學領(lǐng)域中,一些罕見疾病的病例也很有限。
那么,當你的類別中只有5個樣本,甚至每個類別只有一個樣本時,深度學習能提供什么呢?這個問題被稱為few-shot learning。這是一個活躍的研究領(lǐng)域,有許多成功的方法可以采用。在本文中,我將只提到一些最有前途的體系結(jié)構(gòu)。
這篇文章不會深入地解釋架構(gòu),因為這會使文章變得很長。相反,我將只介紹架構(gòu)的主要思想,以便任何希望處理小數(shù)據(jù)集的人都可以對模型有一個大致的了解。
Siamese Neural Networks
Siamese Neural Networks的結(jié)構(gòu)
Siamese神經(jīng)網(wǎng)絡(luò)以兩個樣本作為輸入,輸出給定輸入是否屬于同一類的概率(或損失)。輸入樣本通過相同的網(wǎng)絡(luò)(共享權(quán)值),它們的嵌入在損失函數(shù)中進行比較(通常使用基于嵌入的差異的度量)。在訓練過程中,“網(wǎng)絡(luò)”學會以更穩(wěn)健的方式對輸入進行編碼。首先,在支持集(驗證步驟)上對模型進行訓練,以學習相同/不同的配對。然后,將測試樣本與訓練集中的每個樣本進行比較,得到基于學習的編碼后的測試樣本與每個類(one-shot task)的相似度。它是在few-shot學習領(lǐng)域中第一個成功的模型之一,并成為其他模型的基礎(chǔ)。
Siamese Neural Networks的步驟
Triplet Network and Triplet Loss
Triplet Networks
Triplet Network是對Siamese 網(wǎng)絡(luò)的擴展。Triplet網(wǎng)絡(luò)不使用兩個樣本,而是使用三個樣本作為輸入:positive、anchor和negative樣本。Positive樣本和anchor樣本來自同一類,negative樣本來自不同類。Triplet損失的安排使得anchor的嵌入靠近positive而遠離negative。通過這種方式,網(wǎng)絡(luò)在提取嵌入信息時變得更加健壯。Triplet Networks已應(yīng)用于人臉識別數(shù)據(jù)集,顯示出非常好的性能。
Triplet Loss
Matching Networks
Matching Networks
匹配網(wǎng)絡(luò)將嵌入和分類相結(jié)合,形成端到端可微的最近鄰分類器。對于模型的預(yù)測,y?是標簽的加權(quán)和,y?是訓練集。權(quán)重是成對相似性函數(shù)a(?, x?),查詢(測試)樣本和支持(訓練)樣本之間的相似性。匹配網(wǎng)絡(luò)的關(guān)鍵是相似函數(shù)的可微性。
其中C代表了余弦相似度函數(shù),k是在訓練集中的樣本總數(shù),函數(shù)f* 和g是嵌入函數(shù)。總體而言,在測試樣本?的嵌入和訓練集樣本x?的嵌入之間計算相似性。這個工作的主要創(chuàng)新點就是對嵌入函數(shù)優(yōu)化得到最大的分類精度。
Prototypical Networks
Prototypical Networks
原型網(wǎng)絡(luò)不將測試樣本與所有訓練樣本進行比較,而是將測試樣本與類原型(或平均類嵌入)進行比較。其關(guān)鍵假設(shè)是對于每個類別,存在一個嵌入,簇樣本的表示是分布在這個原型的嵌入c?的周圍的。在他們的論文中,證明了它的性能優(yōu)于匹配網(wǎng)絡(luò)。
Meta-Learning
模型不可知Meta-Learning
元學習意味著學會學習。元學習試圖訓練模型的參數(shù),使其通過一個或多個梯度步驟(像人類一樣)在新任務(wù)中表現(xiàn)最佳。模型的參數(shù)根據(jù)更新后的特定于任務(wù)的參數(shù)進行更新,使得任何任務(wù)在完成單一步驟后,其性能都是最高的。
與模型無關(guān)的元學習(MAML)的目的是學習一個通用的模型,這個模型可以很容易地對許多任務(wù)進行微調(diào),只需要幾個迭代步驟。對于元批處理中的每個任務(wù),使用基模型的權(quán)重初始化一個模型。采用隨機梯度下降(SGD)算法更新特定任務(wù)的權(quán)值。然后,使用更新后權(quán)重的損失總和來更新元學習者的權(quán)重。這里的目標是,對于幾個不同的任務(wù),這些參數(shù)的損失將會很小。
模型不可知Meta-Learning算法
Bonus: MetaFGNet
MetaFGNet
除了目標任務(wù)網(wǎng)絡(luò)外,MetaFGNet還使用輔助數(shù)據(jù)訓練網(wǎng)絡(luò)。這兩個網(wǎng)絡(luò)共享初始層(基礎(chǔ)網(wǎng)絡(luò))以學習一般信息。這種方法也被稱為多任務(wù)學習。將輔助數(shù)據(jù)(S)與目標數(shù)據(jù)(T)進行訓練,對目標訓練產(chǎn)生正則化效果。MetaFGNet還使用了一個名為sample selection的過程。輔助數(shù)據(jù)中的樣本通過網(wǎng)絡(luò),對目標分類器的相似度打分,同時也計算源分類器。如果相似性高,得分也會高。只選擇得分閾值以上的樣本進行訓練。這里主要假設(shè)輔助數(shù)據(jù)S應(yīng)該具有與目標集T類似的分布。結(jié)果表明,該過程提高了整體性能。使用元學習方法進行訓練效果有提升。
英文原文:https://medium.com/swlh/deep-learning-architectures-that-you-can-use-with-a-very-few-data-8e5b4fa1d5da
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎總結(jié)
以上是生活随笔為你收集整理的深度学习数据扩张_适用于少量数据的深度学习结构的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到两次分手代表什么
- 下一篇: 深度学习数据更换背景_开始学习数据科学的