當(dāng)大數(shù)據(jù)材料拿不到手小樣本數(shù)據(jù)怎么起作用?
掃描二維碼
隨時(shí)隨地手機(jī)看文章
大數(shù)據(jù)是打造成功機(jī)器學(xué)習(xí)項(xiàng)目的關(guān)鍵。在很多機(jī)構(gòu)沒(méi)有你想要的數(shù)據(jù)這一關(guān)鍵原材料的情況下,我們?cè)撊绾螌C(jī)器學(xué)習(xí)的想法制成原型,使其產(chǎn)生實(shí)效呢?我們又該如何用有限的數(shù)據(jù)來(lái)源,有效獲取和創(chuàng)造價(jià)值呢?功能性原型(functional prototype)是一種辦法。
因此,我們常常需要開(kāi)發(fā)小樣本數(shù)據(jù)。本文將介紹7種提高小樣本數(shù)據(jù)原型化效果的方法。
1. 模型不可能廣泛適用
這是工作的首要前提。所建立的模型僅僅基于宇宙萬(wàn)物中的極小一部分,只有在這種情境下,模型才能順利運(yùn)行。
如果你利用一系列室內(nèi)照片建立了一個(gè)視覺(jué)原型,那么這一模型絕對(duì)無(wú)法適用于室外。如果你利用網(wǎng)絡(luò)聊天的玩笑話素材建立了一個(gè)語(yǔ)言模型,這一模型也絕對(duì)無(wú)法適用于一部奇幻小說(shuō)。
必須保證你的上司和客戶都明白這一點(diǎn)。只有如此,所有人才能對(duì)模型效果抱有現(xiàn)實(shí)合理的預(yù)期。也只有這樣,才有可能產(chǎn)生更實(shí)用的關(guān)鍵績(jī)效指標(biāo)(KPI),來(lái)量化原型范圍之內(nèi)及范圍之外的模型運(yùn)行效果。
2. 建立良好的數(shù)據(jù)基礎(chǔ)設(shè)施
很多情況下,客戶沒(méi)有你需要的數(shù)據(jù),同時(shí)你又不能調(diào)取公共數(shù)據(jù)。如果收集和標(biāo)注新的數(shù)據(jù)屬于制作原型的步驟之一,應(yīng)確保參與工作的數(shù)據(jù)基礎(chǔ)設(shè)施不會(huì)給你制造麻煩。
最好保證數(shù)據(jù)標(biāo)注簡(jiǎn)單明了,以便非技術(shù)人員理解和實(shí)行。我們最近開(kāi)始使用Prodigy,這一軟件非常好:不僅容易入門,而且功能可拓展。還可以根據(jù)不同項(xiàng)目的大小,利用Prodigy設(shè)立一個(gè)自動(dòng)數(shù)據(jù)攝取系統(tǒng),讓它幫你將數(shù)據(jù)自動(dòng)錄入標(biāo)注庫(kù)中。
如果錄入新數(shù)據(jù)簡(jiǎn)單快捷,新的數(shù)據(jù)也將唾手可得。
3.警惕“幸運(yùn)分組”
在訓(xùn)練機(jī)器學(xué)習(xí)模型時(shí),人們往往會(huì)根據(jù)某些比例,隨機(jī)將數(shù)據(jù)集劃分為訓(xùn)練組和測(cè)試組。這通常是可行的,但是在處理小樣本數(shù)據(jù)時(shí),由于訓(xùn)練樣本量較小,出現(xiàn)噪音的概率很大。
這種情況下,你很可能只是偶然碰到了一個(gè)“幸運(yùn)分組”,即一個(gè)能讓模型在測(cè)試組中完美運(yùn)行和歸納的特定數(shù)據(jù)集分組。但實(shí)際上,這很可能只是因?yàn)闇y(cè)試組的數(shù)據(jù)恰好沒(méi)有包含困難項(xiàng)。
在這種情況下用K-折交叉檢驗(yàn)方法會(huì)是一個(gè)更好的選擇。它的運(yùn)作原理大概是,把一個(gè)數(shù)據(jù)集分為K“份”,訓(xùn)練新模型時(shí),每次使用其中的一份作為測(cè)試組,其余作為訓(xùn)練組使用。以上方法保證了模型在測(cè)試中的表現(xiàn)并不受制于一個(gè)幸運(yùn)(或不幸)的分組。
4.應(yīng)用遷移學(xué)習(xí)
如果你正在處理一些較為程式化的數(shù)據(jù),比如文本、圖片、視頻、音頻等等,可以通過(guò)遷移學(xué)習(xí)利用所有前人在這一領(lǐng)域的成果,就好比站在巨人的肩膀上一樣。
在進(jìn)行遷移學(xué)習(xí)時(shí),你使用的是其他人建立過(guò)的模型(通常來(lái)講,此處的“其他人”指谷歌、臉書(shū)或是一些知名大學(xué)),并在此基礎(chǔ)上,做出調(diào)試以適應(yīng)特殊需求。
遷移學(xué)習(xí)之所以起作用,是因?yàn)榇蟛糠痔幚碚Z(yǔ)言、圖片或是音頻的任務(wù)都具有共同特征,例如計(jì)算機(jī)視覺(jué)中對(duì)特定形狀類型和顏色模式的偵測(cè)。
通過(guò)精準(zhǔn)調(diào)試MobileNet SSD 檢測(cè)模型(MobileNet Single Shot Detector),得以顯著加快項(xiàng)目的進(jìn)程。MobileNet SSD檢測(cè)模型是在谷歌的Open Images v4數(shù)據(jù)集(包含約900萬(wàn)標(biāo)注圖片!)上訓(xùn)練的目標(biāo)檢測(cè)模型。只經(jīng)過(guò)了一天的模型訓(xùn)練,就已經(jīng)能建構(gòu)出一個(gè)相當(dāng)靈活的目標(biāo)檢測(cè)模型,其性能在0.85的mAP值下可以檢測(cè)約1500個(gè)標(biāo)注圖片。
5.嘗試組合多個(gè)“弱學(xué)習(xí)組”
有時(shí)候必須承認(rèn),你的數(shù)據(jù)根本不足以支持你做一些花哨復(fù)雜的工作。不過(guò)幸運(yùn)的是,許多對(duì)于數(shù)據(jù)集樣本容量要求不高的傳統(tǒng)機(jī)器學(xué)習(xí)算法能幫到你。面對(duì)樣本容量少而數(shù)據(jù)維度大的數(shù)據(jù)集,像SupportVector Machine這樣的算法就是比較好的選擇。
不幸的是,這些算法可能沒(méi)有當(dāng)今前沿的數(shù)據(jù)分析方法精準(zhǔn)。這就是為什么人們稱它們?yōu)?ldquo;弱學(xué)習(xí)組”,至少相對(duì)于高參數(shù)化的神經(jīng)網(wǎng)絡(luò),這些算法是更弱的。
集成學(xué)習(xí)的主要內(nèi)容,提高性能的方法之一就是將多個(gè)這樣的“弱學(xué)習(xí)組”進(jìn)行組合(可以是一批諸如Support VectorMachines或Decision Trees之類的程序),使得它們能夠“協(xié)同工作”,共同產(chǎn)生一個(gè)預(yù)測(cè)結(jié)果。
6.開(kāi)展數(shù)據(jù)擴(kuò)充工作
我們常常能通過(guò)擴(kuò)充數(shù)據(jù)來(lái)拓展現(xiàn)有數(shù)據(jù)集。擴(kuò)充數(shù)據(jù),就是在不影響整體的模型輸出結(jié)果的前提下,略微調(diào)整現(xiàn)有數(shù)據(jù)集。比如說(shuō),把一只貓的圖片旋轉(zhuǎn)40度,它仍然是同一個(gè)圖片。
大多數(shù)時(shí)候,擴(kuò)充數(shù)據(jù)能讓你制造更多用來(lái)訓(xùn)練模型的“半獨(dú)立”的數(shù)據(jù)點(diǎn)。剛起步時(shí)可以嘗試在數(shù)據(jù)里加入小部分高斯噪聲(GaussianNoise)。
在計(jì)算機(jī)視覺(jué)領(lǐng)域里,許多方法可以用于放大圖片。Albumentations圖片數(shù)據(jù)增強(qiáng)庫(kù)的使用體驗(yàn)較好,它能完成許多實(shí)用的圖片轉(zhuǎn)化任務(wù),且不會(huì)損害原圖的標(biāo)注。
另一個(gè)廣受好評(píng)的擴(kuò)充技術(shù)是Mixup。這一技術(shù)的功能像它的名稱所說(shuō)那樣,能夠合并輸入端的兩個(gè)圖片,并組合兩者的標(biāo)注。
擴(kuò)充其他類別的數(shù)據(jù)時(shí),應(yīng)適當(dāng)考慮怎樣的圖片轉(zhuǎn)換會(huì)改變標(biāo)注,怎樣的轉(zhuǎn)換不會(huì)改變標(biāo)注。
7.生成人造數(shù)據(jù)
如果你竭盡了數(shù)據(jù)擴(kuò)充的所有可能,就可以考慮編造數(shù)據(jù)了。生成人造數(shù)據(jù),不失為一種補(bǔ)充實(shí)際數(shù)據(jù)集的邊界案例的有效方法。
舉一個(gè)例子,很多機(jī)器加強(qiáng)學(xué)習(xí)系統(tǒng)(比如OpenAI的Dactyl)常常先在3D模擬環(huán)境下訓(xùn)練,而后才在真正的機(jī)器人應(yīng)用。對(duì)圖像識(shí)別系統(tǒng)而言,同樣可以構(gòu)建不同的3D場(chǎng)景,它們足以提供數(shù)以千計(jì)的新數(shù)據(jù)點(diǎn)。
15個(gè)模擬的Dactyl并行訓(xùn)練實(shí)例
生成人造數(shù)據(jù)的方法很多。Kanda正致力于創(chuàng)造一個(gè)基于轉(zhuǎn)臺(tái)結(jié)構(gòu)的數(shù)據(jù)生成方案,用于目標(biāo)檢測(cè)。假如你有很高的數(shù)據(jù)需求,可以考慮用生成式對(duì)抗網(wǎng)絡(luò)(Generative AdversarialNetworks,又名生成對(duì)抗網(wǎng)絡(luò),簡(jiǎn)稱GAN)生成人造數(shù)據(jù)。但要注意,GAN出了名的難以訓(xùn)練,所以在使用前,要確保項(xiàng)目值得運(yùn)用GAN。
有時(shí)候可以組合多種方法:蘋(píng)果公司巧妙地利用GAN來(lái)加工3D人臉建模,使之看起來(lái)更像真實(shí)照片。只要有時(shí)間投入,這就是個(gè)延伸數(shù)據(jù)集的好方法。