我們提出了乙個新穎的框架,用於擴增機器學習的反例資料集。反例是分類錯誤的示例,對重新訓練和改進模型具有重要意義。我們框架的關鍵元件包括乙個反例生成器,它生成由模型和錯誤表錯誤分類的資料項。錯誤表是一種新穎的資料結構,用於儲存與錯誤分類有關的資訊。它可用於解釋模型的漏洞,並用於有效地生成擴增的反例。我們將提出的框架與經典的擴增技術進行了比較——基於深度神經網路的自動駕駛中目標檢測的案例研究,從而證明了該框架的有效性。
由機器學習演算法(尤其是深度神經網路)生成的模型正被部署在值得高度關注的領域中,需要更高的準確性和保證力。然而使用深度學習來學習高精度模型受到大量資料需求的限制,甚至進一步受到勞動密集型標籤的需求的限制。資料擴增通過使用保留標籤的變換擴大訓練集來克服資料的不足。傳統的資料擴增方案涉及幾何變換,這些變換會改變影象的幾何形狀(例如,旋轉,縮放,裁切或翻轉),以及改變顏色通道的光度轉換。這些技術的有效性最近已得到證明。像前面提到的方法一樣,傳統的擴增方案將資料新增到訓練集中,希望提高模型的準確性,而無需考慮模型已經學習了哪些特徵。最近,一種複雜的資料擴增技術被提出,該技術使用生成對抗網路(一種能夠生成合成資料的特殊型別的神經網路)來充實訓練集。也有諸如hard negative mining之類的擴增技術,它們以有針對性的否定示例充實訓練集,目的是減少誤報。
在這項工作中,我們提出了一種新的擴增方案,即以反例為指導的資料擴增。主要思想是僅使用新的分類錯誤的示例來擴增訓練集,而不是使用原始訓練集中的修改後的影象。提出的擴增方案包括以下步驟:1)生成被模型誤分類的合成影象,即反例;2)將反例新增到訓練集中;3)在擴增資料集上訓練模型。可以重複這些步驟,直到達到所需的精度為止。請注意,我們的擴增方案取決於生成錯誤分類影象的能力。因此,我們開發了一種與取樣器配合使用的影象生成器,以生成作為模型輸入提供的影象。這些影象以一種能夠自動新增地面真實值標籤的方式生成。分類錯誤的影象構成了增加集並被新增到訓練集。除外,影象生成器還提供有關分類錯誤的影象的資訊,例如元素的位置,亮度,對比度等。此資訊可用於查詢反例中經常出現的特徵。我們在稱為「錯誤表」的資料結構中收集有關反例的資訊。錯誤表對於提供有關反例的說明以及查詢可能導致影象分類錯誤的重複模式非常有用。錯誤表分析還可以用於生成可能是反例的影象,從而有效地構建擴增集。
主要貢獻如下:
我們通過分析不同的反例資料擴增取樣方案,在卷積神經網路(cnn)上進行了物件檢測實驗,並將所提出的方法與經典資料擴增進行了比較。我們的實驗展示了使用反例驅動的方法來對抗傳統方法的好處。主要的改進是反例擴增集包含了模型無法從訓練集中學習的資訊,而經典擴增方案並未考慮這個方法。我們使用由影象生成器生成的合成資料集進行實驗,這樣可以確保所有處理的資料都來自同一分布。
圖 1 總結了提出的反例指導的擴增方案。該程式將修改空間 m(即影象生成器可能配置的空間)作為輸入。基於領域知識將空間 m 構造為「語義修改」空間;即,每個修改都必須在使用機器學習模型的應用領域中具有含義。這使我們能夠執行更多有意義的資料擴增而不僅僅是通過擾動輸入向量(例如,在影象中對抗性選擇和修改少量畫素值)進行對抗性資料生成。
圖 1:反例指導的擴增方案
在每個迴圈中,取樣器都會從 m 中選擇乙個修改 m。取樣是通過一種可以由預計算誤差表(該資料結構儲存有關模型誤分類的影象資訊的資料結構)所偏向的取樣方法確定的。影象生成器將取樣的修改呈現為 x。影象 x 被提供作為返回** y 的模型 f 的輸入。我們檢查 x 是否為反例也就是 y 是否錯誤。如果是,我們將 x 新增到擴增集 a 中,並將 x 的資訊(例如 m,y)儲存在誤差表中,供取樣器在下一次迭代中使用。重複迴圈,直到擴增集 a 足夠大(或已充分覆蓋 m)。
該方案返回乙個擴增集和乙個誤差表,該擴增集將用於重新訓練已處理的模型,該誤差表的分析可以確定反例之間的共同特徵,並幫助取樣器選擇候選反例。
我們的反例擴增方案的核心是乙個影象生成器,可渲染逼真的道路場景的合成影象。由於反例是由合成資料生成器生成的,因此我們對生成的資料的基本事實標籤有充分的了解。例如,在我們的案例中,當影象生成器將汽車放置在特定位置時,我們確切地知道了它的位置和大小,從而相應地確定了地面真實邊界框。
取樣器的目的是提供對修改空間的良好覆蓋,並確定其具體化導致反例的樣本。以下簡要介紹一些我們整合到框架中的取樣方法:
我們的實驗使用 halton 序列。在優化覆蓋上有兩個優點:首先,我們增加了快速發現反例的機會,其次,這組反例將具有很高的多樣性。這意味著具體的影象看起來會有所不同,因此該模型將學習各種新功能。
擴增方案的每次迭代都會產生乙個示例,其中包含指向學習模型侷限性的資訊。希望提取與反例相關的模式,並使用此資訊有效地生成新的反例。因此,我們將錯誤表定義為資料結構,據列由跨生成的影象的重要特徵組成。錯誤表分析可用於:
1.提供有關反例的說明,
2.生成反饋以取樣新的反例。
在第一種情況下,通過在各個示例中找到共同的模式,我們向使用者提供了反饋,例如「該模型未檢測到在森林道路上駛離我們的白色汽車」;在第二種情況下,我們可以使取樣器的修改偏向於更可能導致反例。
在所有實驗中,我們分析了 squeezedet,這是一種用於自動駕駛的 cnn 實時物體檢測器。所有模型都接受了 65 個時期的訓練。
原始訓練和測試集 x 和 t 分別包含由我們的影象生成器隨機生成的 1500 和 750 張。初始精度 accfx(t)=(0.9847,0.9843)相對較高。但是,我們能夠在準確度較低的訓練集上生成與 t 一樣大的反例集,**中突出顯示的條目顯示最佳效能。報告的值是五個不同實驗的平均值。
表 1:擴增迴圈
在本文中,我們提出了一種通過反例擴增機器學習(ml)資料集的技術。我們生成的示例是由 m* 模型錯誤分類的綜合生成的資料項。由於這些專案是通過演算法合成的,因此它們的地面真實標籤也將自動生成。我們展示了如何使用錯誤表來有效地指導擴增過程。訓練深度神經網路的結果表明,我們的擴增技術在影象分類方面比標準擴增方法表現更好。此外,當我們迭代擴增迴圈時,在計算上很難找到反例。我們還表明,錯誤表可以通過較小的資料擴增有效地提高準確性。
我們注意到,我們提出的方法還可以擴充套件到「系統級」分析和驗證中使用反例,可以在周圍環境的背景下分析整個系統的正確性。使用此類「語義反例」執行資料擴增是未來工作的有趣方向。
我們的方法可以看作是反例指導的歸納綜合(cegis)的例項,它是程式綜合的常見範例。我們的案例是 m* 模型。cegis 本身是 oracle 引導歸納綜合的特例。未來,探索使用除產生反例的 oracle 以外的其他 oracle 來擴增資料集,並將我們的以反例為指導的資料擴增技術與其他以 oracle 為指導的資料擴增方法進行比較將是很有意思的。
最後,在這項工作中,我們決定完全依賴模擬的綜合資料,以確保訓練,測試和反例集來自同一資料來源。將我們的擴增方法擴充套件到現實世界中的資料將會很有趣。例如,在駕駛過程中收集的道路場景影象。因此需要使用諸如領域適應或遷移學習之類的技術,它們可以使新生成的資料適應現實世界。
dreossi t, ghosh s, yue x, et al. counterexample-guided data augmentation[j]. arxiv preprint arxiv:1805.06962, 2018.
本文由南京大學軟體學院 2019 級碩士張朱佩田翻譯轉述。
大資料中的錯誤集
虛擬機器時間不同步 yum配置不通 vi etc resolv.conf 更改dns hadoop hadoop的根目錄下的logs資料夾下的以.log結尾的檔案 檔案組成 hadoop 使用者名稱 啟動節點 主機名.log 找到掛掉的節點名稱和對應主機,開啟日誌找錯 namenode消失 檢視日誌...
cacti 錯誤集 snmp錯誤
基本介紹 這裡是cacti的錯誤記錄 錯誤集 1.cacti的snmp error 第一,確定cacti所有的主機能ping通被監控主機 如果不能ping通,請確認網路配置和被監控主機的ip設定是否正確。第二,如果能ping通,那麼確認被監控主機是否啟用snmpd服務 ps ef grep snmp...
資料集讀取資料遇到空指標錯誤
今天遇到了空指標問題 sql語句如下 select max substr a.sbflbh,length a.upperbh 1,length a.sbflbh length a.upperbh maxcode from sbtz sbflb a where a.upperbh 0801 在讀取資料...