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