譯者 | 布加迪
審校 | 孫淑娟
#眾所周知,深度學習模式對資料的需求量大。為深度學習模型提供的數據越多,它們的表現就越好。遺憾的是,在大多數實際情況下,這是不可能的。您可能沒有足夠的數據,或者數據太昂貴而無法收集。
本文將討論在沒有更多資料的情況下改進深度學習模型的四種方法。
深度學習模型之所以引人注目,是由於它們可以學習了解複雜的關係。深度學習模型包含多個層。每一層都學習了解複雜度逐步遞增的資料表示。第一層可能學習偵測簡單的模式,例如邊緣。第二層可能學習查看這些邊緣的模式,例如形狀。第三層可能學習辨識由這些形狀組成的對象,依此類推。
每層由一系列神經元組成,它們連接到前一層中的每個神經元。所有這些層和神經元意味著有大量參數需要最佳化。所以好的方面是深度學習模型擁有強大的功能。但不好的方面意味著它們容易過度擬合。過擬合是指模型在訓練資料中捕捉到過多的干擾訊號,無法適用於新資料。
有了足夠的數據,深度學習模型可以學習偵測非常複雜的關係。不過,如果您沒有足夠的數據,深度學習模型將無法理解這些複雜的關係。我們必須有足夠的數據,這樣深度學習模型才能學習。
但是如果不太可能收集更多的數據,我們有幾種技術可以克服。
遷移學習是一種機器學習技術,您可以拿來針對一個問題訓練的模型,將其用作解決相關的不同問題的起點。
比如說,您可以拿來針對龐大狗圖像資料集訓練的模型,並將其用作訓練模型以識別狗品種的起點。
但願第一個模型學到的特徵可以被重複使用,從而節省時間和資源。至於兩種應用有多大不同,沒有相應的經驗法則。但是,即使原始資料集和新資料集大不相同,照樣可以使用遷移學習。
比如說,您可以拿來針對貓圖像訓練的模型,並將其用作訓練模型以識別駱駝類型的起點。但願在第一個模型中找出四條腿的功能可能有助於識別駱駝。
想進一步了解遷移學習,可以參考《自然語言處理的遷移學習》#。如果您是Python程式設計師,可能還會發覺《使用Python實際動手遷移學習》很有幫助。
資料增強是一種技術,您可以拿現有資料產生新的合成資料。
比如說,如果您有一個狗圖像資料集,可以使用資料增強來產生新的狗圖片。您可以透過隨機裁剪影像、水平翻轉、添加雜訊及其他幾種技術來做到這一點。
如果您有一個小資料集,資料增強有益。透過產生新數據,可以人為地增加數據集的大小,為您的深度學習模型提供更多可使用的數據。
這些關於深度學習的講義有助於您深入了解資料增強。
自動編碼器是一種用於學習低維度資料表示的深度學習模型。
當您有一個小資料集時,自動編碼器很有用,因為它們可以學習將您的資料壓縮到低維度空間。
有許多不同類型的自動編碼器。變分自動編碼器(VAE)是一種流行的自動編碼器。 VAE 是一種生成式模型,這意味著它們可以產生新資料。這大有幫助,因為您可以使用VAE來產生類似於訓練資料的新資料點。這是增加資料集大小而無需實際收集更多資料的好方法。
原文標題:How to Improve Deep Learning Models With Small Datasets
##以上是如何使用小數據集改進深度學習模型?的詳細內容。更多資訊請關注PHP中文網其他相關文章!