如何利用小數(shù)據(jù)集改進深度學習模型?
眾所周知,深度學習模型對數(shù)據(jù)的需求量很大。為深度學習模型提供的數(shù)據(jù)越多,它們的表現(xiàn)就越好。遺憾的是,在大多數(shù)實際情形下,這是不可能的。您可能沒有足夠的數(shù)據(jù),或者數(shù)據(jù)過于昂貴而無法收集。本文將討論在不用更多數(shù)據(jù)的情況下改進深度學習模型的三種方法。
為什么深度學習需要這么多數(shù)據(jù)?
深度學習模型之所以引人注目,是由于它們可以學習了解復雜的關系。深度學習模型包含多個層。每一層都學習了解復雜性逐步遞增的數(shù)據(jù)表示。第一層可能學習檢測簡單的模式,比如邊緣。第二層可能學習查看這些邊緣的模式,比如形狀。第三層可能學習識別由這些形狀組成的對象,依此類推。
每層由一系列神經元組成,它們又連接到前一層中的每個神經元。所有這些層和神經元意味著有大量參數(shù)需要優(yōu)化。所以好的方面是深度學習模型擁有強大的功能。但不好的方面意味著它們容易過擬合。過擬合是指模型在訓練數(shù)據(jù)中捕捉到過多的干擾信號,無法適用于新數(shù)據(jù)。
有了足夠的數(shù)據(jù),深度學習模型可以學習檢測非常復雜的關系。不過,如果您沒有足夠的數(shù)據(jù),深度學習模型將無法理解這些復雜的關系。我們必須有足夠的數(shù)據(jù),那樣深度學習模型才能學習。但是如果不太可能收集更多的數(shù)據(jù),我們有幾種技術可以克服:
1、遷移學習有助于用小數(shù)據(jù)集訓練深度學習模型。
遷移學習是一種機器學習技術,您可以拿來針對一個問題訓練的模型,將其用作解決相關的不同問題的起點。
比如說,您可以拿來針對龐大狗圖像數(shù)據(jù)集訓練的模型,并將其用作訓練模型以識別狗品種的起點。
但愿第一個模型學到的特征可以被重用,從而節(jié)省時間和資源。至于兩種應用有多大不同,沒有相應的經驗法則。但是,即使原始數(shù)據(jù)集和新數(shù)據(jù)集大不相同,照樣可以使用遷移學習。
比如說,您可以拿來針對貓圖像訓練的模型,并將其用作訓練模型以識別駱駝類型的起點。但愿在第一個模型中找出四條腿的功能可能有助于識別駱駝。
2、嘗試數(shù)據(jù)增強
數(shù)據(jù)增強是一種技術,您可以拿現(xiàn)有數(shù)據(jù)生成新的合成數(shù)據(jù)。
比如說,如果您有一個狗圖像數(shù)據(jù)集,可以使用數(shù)據(jù)增強來生成新的狗圖片。您可以通過隨機裁剪圖像、水平翻轉、添加噪點及其他幾種技術做到這一點。
如果您有一個小數(shù)據(jù)集,數(shù)據(jù)增強大有益處。通過生成新數(shù)據(jù),可以人為地增加數(shù)據(jù)集的大小,為您的深度學習模型提供更多可使用的數(shù)據(jù)。
3、使用自動編碼器
自動編碼器是一種用于學習低維度數(shù)據(jù)表示的深度學習模型。
當您有一個小數(shù)據(jù)集時,自動編碼器很有用,因為它們可以學習將您的數(shù)據(jù)壓縮到低維度空間中。
有許多不同類型的自動編碼器。變分自動編碼器(VAE)是一種流行的自動編碼器。VAE是一種生成式模型,這意味著它們可以生成新數(shù)據(jù)。這大有幫助,因為您可以使用VAE生成類似于訓練數(shù)據(jù)的新數(shù)據(jù)點。這是增加數(shù)據(jù)集大小而無需實際收集更多數(shù)據(jù)的好方法。
來源:IT168網(wǎng)站