深度框架訓練:不是所有數(shù)據(jù)增強都可以提升最終精度
數(shù)據(jù)增強(DA)是訓練最先進的深度學習系統(tǒng)的必要技術。在今天分享中,實證地表明數(shù)據(jù)增強可能會引入噪聲增強的例子,從而在推理過程中損害非增強數(shù)據(jù)的性能。
一、前言&簡要
為了緩解上述問題,有研究者提出了一種簡單而高效的方法,稱為保持增強(KeepAugment),以提高增強圖像的保真度。其主要思想是首先使用顯著性map來檢測原始圖像上的重要區(qū)域,然后在增強過程中保留這些信息區(qū)域。這種信息保護策略使我們能夠生成更忠實的訓練示例。
在實驗上,也證明了該方法在一些現(xiàn)有的技術數(shù)據(jù)增強方案上有了顯著的改進,例如:自動增強、裁剪、隨機擦除,在圖像分類、半監(jiān)督圖像分類、多視點多攝像機跟蹤和目標檢測等方面取得了很好的效果。
二、知識回顧
首先我們回一下什么叫“數(shù)據(jù)增強”?
數(shù)據(jù)增強(Data Augmentation)是一種通過讓有限的數(shù)據(jù)產(chǎn)生更多的等價數(shù)據(jù)來人工擴展訓練數(shù)據(jù)集的技術。它是克服訓練數(shù)據(jù)不足的有效手段,目前在深度學習的各個領域中應用廣泛。但是由于生成的數(shù)據(jù)與真實數(shù)據(jù)之間的差異,也不可避免地帶來了噪聲問題。
為什么需要數(shù)據(jù)增強?
深度神經(jīng)網(wǎng)絡在許多任務中表現(xiàn)良好,但這些網(wǎng)絡通常需要大量數(shù)據(jù)才能避免過度擬合。遺憾的是,許多場景無法獲得大量數(shù)據(jù),例如醫(yī)學圖像分析。數(shù)據(jù)增強技術的存在是為了解決這個問題,這是針對有限數(shù)據(jù)問題的解決方案。數(shù)據(jù)增強一套技術,可提高訓練數(shù)據(jù)集的大小和質(zhì)量,以便您可以使用它們來構建更好的深度學習模型。在計算視覺領域,生成增強圖像相對容易。即使引入噪聲或裁剪圖像的一部分,模型仍可以對圖像進行分類,數(shù)據(jù)增強有一系列簡單有效的方法可供選擇,有一些機器學習庫來進行計算視覺領域的數(shù)據(jù)增強,比如:imgaug (https://github.com/aleju/imgaug)它封裝了很多數(shù)據(jù)增強算法,給開發(fā)者提供了方便。
計算視覺數(shù)據(jù)增強
計算視覺領域的數(shù)據(jù)增強算法大致可以分為兩類:第一類是基于基本圖像處理技術技術的數(shù)據(jù)增強,第二個類別是基于深度學習的數(shù)據(jù)增強算法。下面先介紹基于基本圖像處理技術的數(shù)據(jù)增強方法:
1、flipping翻轉(zhuǎn)
一般都是水平方向翻轉(zhuǎn)而少用垂直方向,即鏡像變換。圖像數(shù)據(jù)集上證實有用(CIFAR-10,ImageNet等),但無法應用在文本識別數(shù)據(jù)集(MNIST,SVHN等)
2、color space色彩空間
簡單做法是隔離單個色彩通道,例如R,G或B,此外可以通過簡單的矩陣運算以增加或減少圖像的亮度。更高級的做法從顏色直方圖著手,更改這些直方圖中的強度值(想到了圖像處理中的直方圖均衡)。
3、cropping裁剪
分統(tǒng)一裁剪和隨機裁剪。統(tǒng)一裁剪將不同尺寸的圖像裁剪至設定大小,隨機裁剪類似translation,不同之處在于translation保留原圖尺寸而裁剪會降低尺寸。裁剪要注意不要丟失重要信息以至于改變圖像標簽。
4、rotation旋轉(zhuǎn)
要注意旋轉(zhuǎn)度數(shù)。以MNIST為例,輕微旋轉(zhuǎn)(例如1°-20°)可能有用,再往后增加時數(shù)據(jù)標簽可能不再保留。
5、translation位置變換
向左,向右,向上或向下移動圖像可能是非常有用的轉(zhuǎn)換,以避免數(shù)據(jù)中的位置偏差。例如人臉識別數(shù)據(jù)集中人臉基本位于圖像正中,位置變換可以增強模型泛化能力。
6、noise injection添加噪聲
添加高斯分布的隨機矩陣
7、color space transformations色彩空間增強
照明偏差是圖像識別問題中最常見的挑戰(zhàn)之一,因此色彩空間轉(zhuǎn)換(也稱為光度轉(zhuǎn)換)的比較直觀有效。
①遍歷圖像以恒定值減少或增加像素值(過亮或過暗)
②拼接出(splice out)各個RGB顏色矩陣
③將像素值限制為某個最小值或最大值
④操作色彩直方圖以改變圖像色彩空間特征
注意將彩色圖轉(zhuǎn)換黑白雖然簡化了這些操作,但精度會降低
geometric versus photometric transformations幾何與光度轉(zhuǎn)換
1、kernel flters內(nèi)核過濾器
平滑和銳化,即圖像處理中用卷積核滑過整幅圖像的操作。這一點尚未開發(fā),它和CNN中卷積機制非常相似(就一樣?。?,因此可以通過調(diào)整網(wǎng)絡參數(shù)更好地改善網(wǎng)絡,而不需要額外進行這樣的數(shù)據(jù)增強操作。
2、mixing images圖像混合
做法是通過平均圖像像素值將圖像混合在一起:
mixing images
研究發(fā)現(xiàn)是當混合來自整個訓練集的圖像而不是僅來自同一類別的實例的圖像時,可以獲得更好的結果。其它一些做法:
①一種非線性方法將圖像組合成新的訓練實例:
非線性方法
②另一方法是隨機裁剪圖像并將裁剪后的圖像連接在一起以形成新圖像:
隨機裁剪再拼接
這類方法從人的視角看毫無意義,但確實提升了精度??赡芙忉屖菙?shù)據(jù)集大小的增加導致了諸如線和邊之類的低級特征的更可靠表示。
3、random erasing隨機擦除
這一點受到dropout正規(guī)化的啟發(fā),隨機擦除迫使模型學習有關圖像的更多描述性特征,從而防止過擬合某個特定視覺特征。隨機擦除的好處在于可以確保網(wǎng)絡關注整個圖像,而不只是其中的一部分。最后隨機擦除的一個缺點是不一定會保留標簽(例如文本8->6)。
三、新方法
新方法控制數(shù)據(jù)增強的保真度,從而減少有害的錯誤信息。研究者的想法是通過顯著性映射測量圖像中矩形區(qū)域的重要性,并確保數(shù)據(jù)增強后始終呈現(xiàn)得分最高的區(qū)域:對于裁剪,通過避免切割重要區(qū)域(見下圖a5和b5);對于圖像級轉(zhuǎn)換,通過將重要區(qū)域粘貼到轉(zhuǎn)換圖像頂部(參見下圖a6和b6)。
Eq2:
Eq3:
四、實驗
CIFAR-10:https://www.cs.toronto.edu/?kriz/cifar.html
open-source code:https://github.com/clovaai/CutMix-PyTorch
open-ReID:https://github.com/Cysu/open-reid
*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)