自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

深度學(xué)習(xí)遇上稀缺數(shù)據(jù)就無計(jì)可施?這里有幾個(gè)好辦法!

人工智能 深度學(xué)習(xí) 大數(shù)據(jù)
本文就讓我介紹幾個(gè)在有限的數(shù)據(jù)上使用深度學(xué)習(xí)的方法,以及闡述為什么我認(rèn)為這可能是未來研究中最令人興奮的領(lǐng)域之一。

對(duì)于深度學(xué)習(xí)而言,在有很多數(shù)據(jù)的情況下,再?gòu)?fù)雜的問題也不在話下,然而沒有這么多數(shù)據(jù)呢?本文作者 Tyler Folkman 針對(duì)這一問題,為大家介紹了幾個(gè)在有限的數(shù)據(jù)上使用深度學(xué)習(xí)的方法,讓深度學(xué)習(xí)即便在面臨數(shù)據(jù)稀缺時(shí),也能大展身手。

[[285157]]

眾所周知,深度學(xué)習(xí)是有史以來最棒的事情。它能夠在大量數(shù)據(jù)上以低成本解決復(fù)雜問題。唯一的問題是你既不在谷歌工作,也不在臉書工作,你的數(shù)據(jù)是稀缺的,那么你該怎么辦?你是能繼續(xù)使用是深度學(xué)習(xí)的能力,還是已無計(jì)可施?

下面就讓我介紹幾個(gè)在有限的數(shù)據(jù)上使用深度學(xué)習(xí)的方法,以及闡述為什么我認(rèn)為這可能是未來研究中最令人興奮的領(lǐng)域之一。

一、先從簡(jiǎn)單的開始

在我們探討在有限的數(shù)據(jù)上使用深度學(xué)習(xí)的方法之前,請(qǐng)先從神經(jīng)網(wǎng)絡(luò)后退一步,建立一個(gè)簡(jiǎn)單的基線。用一些傳統(tǒng)模型(如隨機(jī)森林)進(jìn)行實(shí)驗(yàn)通常不會(huì)花費(fèi)很長(zhǎng)時(shí)間,而這將有助于評(píng)估深度學(xué)習(xí)的所有潛在提升,并針對(duì)你的問題提供更多權(quán)衡深度學(xué)習(xí)方法和其他方法的視角。

二、獲取更多數(shù)據(jù)

這聽起來可能很荒謬,但是你真的考慮過自己能否收集更多的數(shù)據(jù)嗎?我經(jīng)常向公司提出獲取更多數(shù)據(jù)的建議,但他們視我的建議如瘋?cè)睡傉Z,這讓我很吃驚。是的,投入時(shí)間和金錢去收集更多的數(shù)據(jù)是可行的,而事實(shí)上,這通常也是你最好的選擇。例如,也許你正試圖對(duì)稀有鳥類進(jìn)行分類,但數(shù)據(jù)非常有限。幾乎可以肯定地說,你可以僅僅通過標(biāo)注更多的數(shù)據(jù)來比較輕易地解決這個(gè)問題。你不確定需要收集多少數(shù)據(jù)?對(duì)此,你可以在增加額外的數(shù)據(jù)時(shí)嘗試?yán)L制學(xué)習(xí)曲線(相關(guān)教程鏈接),并同時(shí)查看模型性能的變化,從而確定所需的數(shù)據(jù)量。

三、微調(diào)

 

[[285158]]

攝影作者 Drew Patrick Miller,來源 Unsplash(網(wǎng)站鏈接)

 

現(xiàn)在假設(shè)你已經(jīng)有一個(gè)簡(jiǎn)單的基線模型,且在獲取更多數(shù)據(jù)上要么不可行要么太昂貴。此時(shí)最可靠和正確的方法是利用預(yù)訓(xùn)練模型,然后針對(duì)你的問題對(duì)模型進(jìn)行微調(diào)。

微調(diào)的基本思想是取一個(gè)一定程度上跟模型所在域相似的非常大的數(shù)據(jù)集,訓(xùn)練一個(gè)神經(jīng)網(wǎng)絡(luò),然后用你的小數(shù)據(jù)集對(duì)這個(gè)預(yù)先訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)進(jìn)行微調(diào)。你可以在 A Comprehensive guide to Fine-tuning Deep Learning Models in Keras 這篇文章閱讀更多內(nèi)容:

文章鏈接

對(duì)于圖像分類問題,最常用的數(shù)據(jù)集是 ImageNet。這個(gè)數(shù)據(jù)集涵蓋目標(biāo)多個(gè)類的數(shù)百萬張圖像,因此可以用于許多類型的圖像問題。它甚至包括動(dòng)物,因此可能有助于稀有鳥類的分類。

若需要使用一些用于微調(diào)的代碼,請(qǐng)參閱 Pytorch 的教程(教程鏈接)。

四、數(shù)據(jù)增強(qiáng)

如果你無法獲得更多的數(shù)據(jù),并且無法成功地對(duì)大型數(shù)據(jù)集進(jìn)行微調(diào),那么數(shù)據(jù)增強(qiáng)通常是你接下來的最佳選擇。它還可以與微調(diào)一起使用。

數(shù)據(jù)增強(qiáng)背后的思想很簡(jiǎn)單:在不改變標(biāo)簽值的情況下,以提供新數(shù)據(jù)的方式改變輸入。

例如,你有一張貓的圖片,旋轉(zhuǎn)圖片后仍然是一張貓的圖片,這便是一次不錯(cuò)的數(shù)據(jù)增強(qiáng)。另一方面,如果你有一張道路的圖片,想要預(yù)測(cè)適當(dāng)?shù)姆较虮P轉(zhuǎn)度(自動(dòng)駕駛汽車),若旋轉(zhuǎn)這張道路的圖片將會(huì)改變適當(dāng)?shù)姆较虮P轉(zhuǎn)度,除非你把方向盤轉(zhuǎn)度調(diào)整到適當(dāng)位置,否則難以預(yù)測(cè)成功。

數(shù)據(jù)增強(qiáng)是圖像分類問題中最常見的方法,相關(guān)的技術(shù)可以在這個(gè)網(wǎng)站獲取。

你也可以經(jīng)常思考一些創(chuàng)造性的方式來將數(shù)據(jù)增強(qiáng)應(yīng)用到其他領(lǐng)域,例如 NLP(相關(guān)示例可參考),同時(shí)大家也在嘗試使用 GANs 來生成新數(shù)據(jù)。如果對(duì) GAN 方法感興趣,可以閱讀《深度對(duì)抗數(shù)據(jù)增強(qiáng)》(Deep Adversarial Data Augmentation)這篇文章(文章鏈接)。

五、余弦損失

深度學(xué)習(xí)遇上稀缺數(shù)據(jù)就無計(jì)可施?這里有幾個(gè)好辦法!

最近的一篇論文《不使用余弦損失進(jìn)行預(yù)訓(xùn)練的情況下在小數(shù)據(jù)集上進(jìn)行深度學(xué)習(xí)》(Deep Learning on Small Datasets without Pre-Training using Cosine Loss)(論文鏈接)發(fā)現(xiàn),在分類問題中將損失函數(shù)從分類交叉熵?fù)p失轉(zhuǎn)換為余弦損失時(shí),小數(shù)據(jù)集的準(zhǔn)確率提高了 30%,而余弦損失僅為“ 1 - 余弦相似度”。

從上圖中可以看出,基于每個(gè)類的樣本數(shù)量的性能是如何變化的,以及微調(diào)對(duì)于一些小型數(shù)據(jù)集(CUB)是多么有價(jià)值,而對(duì)于其他數(shù)據(jù)集(CIFAR-100)則沒有那么有價(jià)值。

六、深入

在一篇 NIPS 論文《小數(shù)據(jù)集的現(xiàn)代神經(jīng)網(wǎng)絡(luò)泛化》(Modern Neural Networks Generalize on Small Data Sets)(論文鏈接)種,作者將深度神經(jīng)網(wǎng)絡(luò)視為集合。具體來說,即「與其說每一層都呈現(xiàn)出不斷增加的特征層次,不如說最后一層提供了一種集成機(jī)制?!?/p>

從中得到的關(guān)于小數(shù)據(jù)的益處是確保你建立的深度網(wǎng)絡(luò)能利用這種集成效應(yīng)。

七、自編碼器

現(xiàn)在已有通過采用更多優(yōu)化的起始權(quán)重成功使用堆棧自編碼器對(duì)網(wǎng)絡(luò)進(jìn)行預(yù)訓(xùn)練的案例(該案例可參考論文「Using deep neural network with small dataset to predict material defects」)。這樣可以避免局部?jī)?yōu)化和其他不良初始化的陷阱。不過,Andrej Karpathy 建議不要對(duì)無監(jiān)督預(yù)訓(xùn)練過度興奮(相關(guān)文章可參考:http://karpathy.github.io/2019/04/25/recipe/)。

如果你需要復(fù)習(xí)自編碼器相關(guān)知識(shí),可以看看斯坦福大學(xué)的深度學(xué)習(xí)教程(網(wǎng)址)。自編碼器的基本思想是建立一個(gè)預(yù)測(cè)輸入的神經(jīng)網(wǎng)絡(luò)。

八、先驗(yàn)知識(shí)

[[285159]]

圖 4:攝影作者 Glen Noble,來源 Unsplash(網(wǎng)站鏈接)

最后一點(diǎn)是嘗試找到結(jié)合特定領(lǐng)域知識(shí)的方法,以指導(dǎo)學(xué)習(xí)過程。例如,在論文《通過概率程序規(guī)劃歸納進(jìn)行類人概念學(xué)習(xí)》(Human-level concept learning through probabilistic program induction,論文鏈接)中,作者構(gòu)建了一個(gè)能夠在學(xué)習(xí)過程中利用先驗(yàn)知識(shí)從部分概念中構(gòu)造整體概念的模型,這樣的模型能夠?qū)崿F(xiàn)人類水平的性能,并超出了當(dāng)時(shí)的深度學(xué)習(xí)方法。

你也可以使用域知識(shí)來限制對(duì)網(wǎng)絡(luò)的輸入,以降低維度或?qū)⒕W(wǎng)絡(luò)體系結(jié)構(gòu)調(diào)整的更小。

我將其作為最后的選擇,是因?yàn)榻Y(jié)合先驗(yàn)知識(shí)可能是一個(gè)挑戰(zhàn),通常也是最耗費(fèi)時(shí)間的。

九、讓深度學(xué)習(xí)在小數(shù)據(jù)上也能變得很酷

希望本文為你提供了一些關(guān)于如何在有限的數(shù)據(jù)上使用深度學(xué)習(xí)技術(shù)的思路。我個(gè)人認(rèn)為,這是一個(gè)目前沒有得到足夠討論的問題,但它具有令人非常興奮的意義。

大量問題的數(shù)據(jù)非常有限,因?yàn)楂@取更多的數(shù)據(jù)要么非常昂貴要么不可行,就比如說檢測(cè)罕見疾病或教育成果。找到方法來應(yīng)用深度學(xué)習(xí)等最好的技術(shù)來解決這些問題是非常令人興奮的!正如吳恩達(dá)(Andrew Ng)也曾提到:

深度學(xué)習(xí)遇上稀缺數(shù)據(jù)就無計(jì)可施?這里有幾個(gè)好辦法!

本文轉(zhuǎn)自雷鋒網(wǎng),如需轉(zhuǎn)載請(qǐng)至雷鋒網(wǎng)官網(wǎng)申請(qǐng)授權(quán)。

責(zé)任編輯:未麗燕 來源: 雷鋒網(wǎng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)