沒有大數據,這7種小樣本數據同樣潛力無窮

2021-01-08 讀芯術

全文共2581字,預計學習時長5分鐘

人們常說,大數據是打造成功機器學習項目的關鍵。但主要的問題在於:很多機構沒有你想要的數據。

在沒有大數據這一關鍵原材料的情況下,我們該如何將機器學習的想法製成原型,使其產生實效呢?我們又該如何用有限的數據來源,有效獲取和創造價值呢?

功能性原型(functional prototype)是一種辦法。因此,我們常常需要開發小樣本數據。本文將介紹7種提高小樣本數據原型化效果的方法。

1. 模型不可能廣泛適用

這是工作的首要前提。所建立的模型僅僅基於宇宙萬物中的極小一部分,只有在這種情境下,模型才能順利運行。

如果你利用一系列室內照片建立了一個視覺原型,那麼這一模型絕對無法適用於室外。如果你利用網絡聊天的玩笑話素材建立了一個語言模型,這一模型也絕對無法適用於一部奇幻小說。

必須保證你的上司和客戶都明白這一點。只有如此,所有人才能對模型效果抱有現實合理的預期。也只有這樣,才有可能產生更實用的關鍵績效指標(KPI),來量化原型範圍之內及範圍之外的模型運行效果。

2. 建立良好的數據基礎設施

很多情況下,客戶沒有你需要的數據,同時你又不能調取公共數據。如果收集和標註新的數據屬於製作原型的步驟之一,應確保參與工作的數據基礎設施不會給你製造麻煩。

最好保證數據標註簡單明了,以便非技術人員理解和實行。我們最近開始使用Prodigy,這一軟體非常好:不僅容易入門,而且功能可拓展。還可以根據不同項目的大小,利用Prodigy設立一個自動數據攝取系統,讓它幫你將數據自動錄入標註庫中。

如果錄入新數據簡單快捷,新的數據也將唾手可得。

3. 開展數據擴充工作

我們常常能通過擴充數據來拓展現有數據集。擴充數據,就是在不影響整體的模型輸出結果的前提下,略微調整現有數據集。比如說,把一隻貓的圖片旋轉40度,它仍然是同一個圖片。

大多數時候,擴充數據能讓你製造更多用來訓練模型的「半獨立」的數據點。剛起步時可以嘗試在數據裡加入小部分高斯噪聲(GaussianNoise)。

在計算機視覺領域裡,許多方法可以用於放大圖片。Albumentations圖片數據增強庫的使用體驗較好,它能完成許多實用的圖片轉化任務,且不會損害原圖的標註。

圖片來源: Albumentations on Github

另一個廣受好評的擴充技術是Mixup。這一技術的功能像它的名稱所說那樣,能夠合併輸入端的兩個圖片,並組合兩者的標註。

圖源: Cecilia Summers & Michael J. D

擴充其他類別的數據時,應適當考慮怎樣的圖片轉換會改變標註,怎樣的轉換不會改變標註。

4. 生成人造數據

如果你竭盡了數據擴充的所有可能,就可以考慮編造數據了。生成人造數據,不失為一種補充實際數據集的邊界案例的有效方法。

舉一個例子,很多機器加強學習系統(比如OpenAI的Dactyl)常常先在3D模擬環境下訓練,而後才在真正的機器人應用。對圖像識別系統而言,同樣可以構建不同的3D場景,它們足以提供數以千計的新數據點。

15個模擬的Dactyl並行訓練實例

生成人造數據的方法很多。Kanda正致力於創造一個基於轉臺結構的數據生成方案,用於目標檢測。假如你有很高的數據需求,可以考慮用生成式對抗網絡(Generative AdversarialNetworks,又名生成對抗網絡,簡稱GAN)生成人造數據。但要注意,GAN出了名的難以訓練,所以在使用前,要確保項目值得運用GAN。

有時候可以組合多種方法:蘋果公司巧妙地利用GAN來加工3D人臉建模,使之看起來更像真實照片。只要有時間投入,這就是個延伸數據集的好方法。

5. 警惕「幸運分組」

在訓練機器學習模型時,人們往往會根據某些比例,隨機將數據集劃分為訓練組和測試組。這通常是可行的,但是在處理小樣本數據時,由於訓練樣本量較小,出現噪音的概率很大。

這種情況下,你很可能只是偶然碰到了一個「幸運分組」,即一個能讓模型在測試組中完美運行和歸納的特定數據集分組。但實際上,這很可能只是因為測試組的數據恰好沒有包含困難項。

在這種情況下用K-折交叉檢驗方法會是一個更好的選擇。它的運作原理大概是,把一個數據集分為K「份」,訓練新模型時,每次使用其中的一份作為測試組,其餘作為訓練組使用。以上方法保證了模型在測試中的表現並不受制於一個幸運(或不幸)的分組。

6. 應用遷移學習

如果你正在處理一些較為程式化的數據,比如文本、圖片、視頻、音頻等等,可以通過遷移學習利用所有前人在這一領域的成果,就好比站在巨人的肩膀上一樣。

在進行遷移學習時,你使用的是其他人建立過的模型(通常來講,此處的「其他人」指谷歌、臉書或是一些知名大學),並在此基礎上,做出調試以適應特殊需求。

遷移學習之所以起作用,是因為大部分處理語言、圖片或是音頻的任務都具有共同特徵,例如計算機視覺中對特定形狀類型和顏色模式的偵測。

通過精準調試MobileNet SSD 檢測模型(MobileNet Single Shot Detector),得以顯著加快項目的進程。MobileNet SSD檢測模型是在谷歌的Open Images v4數據集(包含約900萬標註圖片!)上訓練的目標檢測模型。只經過了一天的模型訓練,就已經能建構出一個相當靈活的目標檢測模型,其性能在0.85的mAP值下可以檢測約1500個標註圖片。

7. 嘗試組合多個「弱學習組」

有時候必須承認,你的數據根本不足以支持你做一些花哨複雜的工作。不過幸運的是,許多對於數據集樣本容量要求不高的傳統機器學習算法能幫到你。面對樣本容量少而數據維度大的數據集,像SupportVector Machine這樣的算法就是比較好的選擇。

不幸的是,這些算法可能沒有當今前沿的數據分析方法精準。這就是為什麼人們稱它們為「弱學習組」,至少相對於高參數化的神經網絡,這些算法是更弱的。

提高性能的方法之一就是將多個這樣的「弱學習組」進行組合(可以是一批諸如Support VectorMachines或Decision Trees之類的程序),使得它們能夠「協同工作」,共同產生一個預測結果。這就是集成學習的主要內容。

留言 點讚 關注

我們一起分享AI學習與發展的乾貨

歡迎關注全平臺AI垂類自媒體 「讀芯術」

相關焦點

  • 「最強AlphaGo」煉成了,但短期內小數據小樣本學習未必現實
    雖然這些嘉賓都是中科視拓相關的研究人員,但這個圓桌後半部分討論了小數據甚至無數據情況下的一些創新研究方向及可能的難題,這部分內容我們認為很有價值。於是,就獲得官方授權及資料,對這個論壇的一些內容做了整理。概括來說:顏水成認為,GAN可以非常好地去解釋小樣本學習的過程,但最終的模型生成機制還是用大數據學出來的,並不是有一個樣本立即能得到一個模型。
  • 大數據與抽樣誤差
    在這一講,我們將著重介紹大數據(big data)與抽樣誤差的關係。作為一種新興數據形態,大數據給人的第一印象就是「數據大」。而且大數據的「大」不僅是就其數據量本身而言,更重要的是其所宣揚的「要總體而非樣本」的數據採集理念。正如舍恩伯格在《大數據時代》一書中所指出的,大數據相對於傳統數據的一個本質特徵就是大數據「不是隨機樣本,而是全體數據」。
  • 移動醫療大數據的幾個偽命題:大數據的陷阱與小數據的重要性
    因為醫療是非常特殊的行業,所以單獨強調大數據是一種很片面、盲目的做法。在這個大數據時代裡,我們要重視傳統的小數據研究(或者也可以稱之為抽樣數據),其實大數據和小數據可以相互結合,相互印證,互為補充,互相借鑑的。那什麼是小數據呢?小數據研究有幾個方向:1.搜集一段時間和地點內的大量醫學資料,進行回顧性研究。
  • 7天掌握7大類試驗設計及其試驗數據的分析
    正如英國統計學家、演化生物學家與遺傳學家,現代統計學與現代進化論的奠基者羅納德·費希爾(Ronald Fisher)所言:科學試驗做完後再找統計學家分析數據,如同病人死了再找醫生進行屍體解剖,醫生會告訴你病人死的原因。同樣,統計學家會告訴你試驗失敗的原因。
  • 如何用非參數檢驗,分析多個相關樣本數據?
    相關樣本的意思是,幾組樣本的數據之間有對應關係,比如同一組學生前後進行兩次同試卷考試,前後兩次的成績都是同一個學生的對同一份試卷作答的成績,如果第一次結果改變那麼第二組結果也應該會改變。與之相對應的另一種樣本類型,是獨立樣本,即幾組數據之間沒有必要的關聯性,一組樣本改變,不會影響其他的樣本。
  • 大數據: 一種新經驗主義方法
    於是,一種基於大數據的新的經驗主義方法迅速興起,很快獲得社會廣泛認可並運用到諸多領域。  在傳統的理性主義方法中,由於只掌握小樣本數據,人們通常基於小樣本數據構建模型並將其泛化,進而解決新的問題。顯然,若待解決的問題與小樣本差別過大,這種模型就會失效。相比之下,大數據的特點是省略複雜的模型,直接尋求面臨情況與已知樣本的匹配。
  • 大數據開發基礎:Java基礎數據類型
    在Java基礎入門學習階段,Java基礎數據類型無疑是基礎當中的重點,掌握基礎數據類型,對於後續去理解和掌握更深入的理論,是有緊密的關聯性的。今天的大數據開發基礎分享,我們就來講講,Java八種基礎數據類型。
  • 統計數據沒有告訴你的那些事兒
    也缺乏對比含有同樣丙烯醯胺跨食品的對比。這就是文章的漏洞——看似科學的數據深究下來則是不攻自破的謠言。原來統計數據也會說謊???這麼一來,下次再買買買之前要擦亮眼睛了:那些號稱具有N年「科學臨床數據」的產品說不定也是騙人的陷阱呢。美國統計學家達萊爾哈夫在《統計數據會說謊》中,從10個方面說明了統計數據的陷阱和如何反駁看似科學的統計數據。
  • 每個數據科學人都應該知道的7種回歸技術
    在本文中,我會以簡單的方式解釋了數據科學中最常用的7種回歸形式。通過這篇文章,我也希望人們能夠對回歸的廣度有一個概念,而不是僅僅對他們遇到的每個問題應都用線性/邏輯回歸,並希望他們能夠使用這麼多的回歸技術!如果您是數據科學的新手,並且正在尋找一個開始學習的地方,那麼「 數據科學 」課程是一個很好的起點!
  • 定目的、觀數據、斷樣本、選公式、縮誤差,五步估算你的樣本有多準
    取而代之的是我們會依賴取樣,通過樣本來估算未知總體的值。當我們缺少用戶總體數據的情況下進行估算的時候,即便是最好的估算結果也只能接近,但並不能得到真實的結果。而且樣本量越小,結果的準確性越差。我們需要一種方法來判斷估算我們到底有多準確才行。於是我們將在一定概率下包含未知參數的這部分數值區間提取出來,這個範圍就叫做置信區間。
  • 大數據開發:Hive調優的幾種思路
    在大數據技術生態當中,Hive調優是實際運行當中常常面臨的問題,企業級的數據平臺,隨著數據規模的不斷增長,要想更高效率地運行下去,就需要根據實際情況來進行優化。今天的大數據開發分享,我們就主要來講講,Hive調優的幾種思路。
  • 「oncomine」——如何在大數據時代挖掘腫瘤數據
  • 五種常用大數據分析方法
    這些關係可能會導致對數據所代表的總體得出某些推論或結論。結論可能會導致數學模型預測當前不在數據集中的數據結果。但是,在導致決策或行動步驟之前,數據分析無效。  那對活躍率和留存情況等數據的監控,要如何發現是否正常呢,需要關注數據變化的幾種指標:  1、波動幅度:短時間內是否有大幅度波動  2、變化持續性:數據波動是否呈現持續性  3、變化規律性:數據變化是否是有一定規律的  4、各指標變化關聯性:關注的各指標的變化間是否有一定的關聯,比如相同時間升降、變化趨勢相同等
  • 小樣本,大數據——有源晶片「主動」出擊
    「弱水三千,只取一瓢飲」,這句詩意的古語在科研領域可以恰當地描述微流控技術的內核,即用最小的成本來獲得最大的收益,僅需極少的樣本採集便可獲得所需的各項信息。
  • 數據挖掘過程中要避免的11大錯誤 | 網際網路數據資訊網-199IT |...
    缺乏數據(Lack Data)對於分類問題或預估問題來說,常常缺乏準確標註的案例。例如:欺詐偵測(Fraud Detection):在上百萬的交易中,可能只有屈指可數的欺詐交易,還有很多的欺詐交易沒有被正確標註出來,這就需要在建模前花費大量人力來修正。信用評分(Credit Scoring):需要對潛在的高風險客戶進行長期跟蹤(比如兩年),從而積累足夠的評分樣本。
  • 兩種分析方法,求解「用樣本估計總體」問題,大數據時代實用技能
    即使在當今的大數據時代,統計學的方法仍是數據分析的靈魂。高中階段學了用樣本估計整體的兩種方法,它們在整個統計過程的位置與作用見下圖:① (直觀的)頻率分布法——分布表、直方圖、折線圖、莖葉圖② (量化的)數字特徵法——眾數、中位數、極差、平均數、方差2.
  • 天問一號雄心勃勃火星探測器任務 7種科學儀器採集數據
    天問一號雄心勃勃火星探測器任務 7種科學儀器採集數據天問一號由一個軌道飛行器和一個著陸器二人組組成,這兩種飛行器的組合以前從未一起發射向火星。鑑於「天問一號」是中國首次在火星上執行全面任務,其雄心勃勃。
  • 天文學家利用LAMOST數據研究大樣本疏散星團的統計性質
    研究人員以Gaia數據為基礎,利用Cantat-Gaudin et al.2018工作中所列出的星團成員星數據,以及LAMOST DR5光譜數據進行了交叉比對,獲得了一個包含8811顆星團成員星的LAMOST光譜星表;利用此星表,研究人員進一步研究並擬合了不同疏散星團成員星的視向速度和金屬豐度分布,最終獲得了295個疏散星團包括位置、自行、視差、視向速度、金屬豐度、年齡
  • 數據的離散程度描述
    在同類離散指標的比較中,離散指標的數值越小,說明數據集合的波動(變異)程度越小;離散指標的數值越大,說明數據集合的波動(變異)程度越大。下面介紹六種最常用的離散程度指標。在了解每種離散程度指標時,根據其含義,大家想想,離散程度指標和集中趨勢指標有沒有對應關係,例如:平均值對應下面的那些離散程度指標;中位數又對應那些指標?
  • 醫療大數據應用越來越廣,如何應對數據「欺騙性」?
    除了大眾所熟知的「系統誤差」,還有數據陷阱以及因模型的脆弱性所帶來的風險。Goodfellow等認為,對於機器學習模型,數據集中一些小的幹擾可能導致模型輸出錯誤的結果。如何發現醫療大數據挖掘分析中的陷阱,並採取相應的策略來減少醫療大數據的欺騙性至關重要。