數據增強是一種與眾不同的創建新“數據”的方法。它有兩方面的優勢,第一是能夠從有限的數據中生成“更多的數據”,第二,它避免了過度擬合。
處理有限的數據有其自身的挑戰,只有當增強技術加強了當前的數據集時,使用數據增強才能產生積極的效果。我們需要思考的是,訓練一個網絡用來“學習”顛倒後的地標是否值得?
然而,如果你的數據集包含處方藥的圖像,那麼有很多方向是有意義的,因為理論上這類圖像的方向是不固定的。
有很多因素會影響結果,例如數據集的大小、增強技術的效果、批處理大小、圖像大小和訓練參數等等。本文的目的是說明數據增強對總體精度的影響。後文的推斷都是基於以下假設:
1.共1040幅火車圖像,選其中208幅進行測試
2.實驗採用Fastai方法
3.訓練採用萊斯利·史密斯單週期法,即短週期內進行高速學習。 其中最大動量為0.95,最小動量為0.85,重量衰減為1e-5。目的是在最快的時間內取得最好的結果,以便能夠進行多種不同技術的實驗(以下結果並不顯示所有的結果)。
4.總數有82個不同的標籤,比如說形狀、顏色、標記等等。例如膠囊可以有以下標籤(膠囊)、(藍色)、(TEVA)、(多色)、(白色)、(膠囊形狀)、(25毫克)等。
5.作者沒有上傳的10幅圖像測試了對增強技術的推測,並計算了準確度和誤差率。這是通過檢查正確分類標籤的數量和不準確分類標籤的數量來完成的。大多數論文都關注正確的,但作者還想調查錯誤標籤的數量。
6.結果被分解為1)N:預測的正確標籤總數,2)準確性:(n/82)*100,其中82是標籤總數,3)E:預測的錯誤標籤總數和4)錯誤:(e/N)*100
使用Random Rotate(隨機旋轉):
變量:以57°的角度隨機旋轉
準確標籤: 55
準確性: 67%
錯誤標籤: 4
錯誤: 7%
使用Dihedral(二面體):
變量:轉動90度和/或翻轉。
準確標籤: 51
準確性: 62%
錯誤標籤: 9
錯誤: 18%
使用RandomLighting:
變量:設置參數b =平衡和c =對比度隨機調整。
準確標籤: 57
準確性: 70%
錯誤標籤: 12
錯誤: 21%
使用RandomLighting和RandomDihedral:
準確標籤: 52
準確性: 63%
錯誤標籤: 13
錯誤: 25%
使用RandomDihedral和RandomRotate的組合:
變量:隨機二面體與隨機旋轉27度角
準確標籤: 56
準確性: 68%
錯誤標籤: 13
錯誤: 23%
使用RandomZoomRotate:
變量:3個參數
deg =最大旋轉角度,zoom =最大縮放比例,stretch =最大拉伸比例
準確標籤: 62
準確性: 76%
錯誤標籤: 8
錯誤: 13%
使用Padding(填充)
變量:2個參數
pad =頂部,底部,左側和右側的填充大小,mode = cv2填充模式的類型
準確標籤: 54
準確性: 66%
錯誤標籤: 2
錯誤: 4%
使用Cutout(剪貼)
變量:2個參數
n_holes和長度,以便在隨機位置圖像中切出尺寸長度為n_holes的n個孔。這些孔可能重疊。
準確標籤: 41
準確性: 50%
錯誤標籤: 9
錯誤: 22%
結果:
這個項目的目的是要找到最高的精確度和在最短時間內錯誤次數最少(每10次平均訓練時間約為3分鐘),我們可以看到,通過使用各種數據增強技術,加上單週期訓練方法,可以更好的瞭解到不同數據增強技術適合什麼樣的數據集。
結果表明[RandomZoomRotate]準確標籤更多,[Padding(50)]錯誤標籤最少。同理,[Cutout]選擇的準確標籤最少,[RandomLighting + Dihedral]的錯誤標籤最多。
如果我們將做出正確選擇最多的[RandomZoomRotate]和做出錯誤選擇最少的[Padding(50)]結合在一起,會怎麼樣呢?
變動量:隨機旋轉、縮放與填充
準確標籤: 60
準確性: 70%
錯誤標籤: 6
錯誤: 10%
最後總結
毫無疑問,[RandomRotateZoom]和[AddPadd](即Padding(50))的組合效果最好。
數據增強對提高準確性,減少誤差方面有著舉足輕重的作用。結果表明,並不是所有的增強都能產生良好的效果,因此,對不同的數據增強技術進行初步實驗可以幫助我們更好的選擇數據增強技術。
閱讀更多 AI中國 的文章