谷歌又來造福AI學者了:數據增強也能自動化!

谷歌又來造福AI學者了:數據增強也能自動化!

來自專欄 DeepTech深科技

深度神經網路是非常強大的機器學習系統,近年來在計算機視覺領域更是取得了極大的成功。不過,它的威力得以發揮,很大程度上要歸功於龐大的有標註的訓練數據集。一般來說,只要增加數據集中數據的數量、質量和多樣性,就可以改善模型的效果。

然而,收集數目龐大的高質量數據在實踐中極其耗費時間精力,並不總是可行的。解決該問題的一種方法就是將圖像的對稱性硬編碼到模型結構中,例如卷積神經網路。但這種方式的難度較大。另一種方法就是進行數據增強。

數據增強是一種通過隨機「強化」數據來增加數據的數量和差異性的策略。我們知道,神經網路在最開始並不是智能的,需要在不斷學習中逐漸完善。

圖丨對 ImageNet 中的圖片進行數據增強。左側為原圖,右側為處理後的圖片。上圖:對圖片進行數據增強的常用操作中心旋轉

舉例來說,假如我們想要訓練可以識別狗狗圖片的神經網路模型,在未經訓練的情況下,網路模型無法判別出黑狗、白狗、花狗、正立的狗、四肢朝天的狗、側躺的狗都屬於同一類別。我們需要為模型提供相應的例子進行訓練,但是數據集中可能並不能囊括狗各種顏色,各種形態的圖片。

在這種情況下,如果對訓練圖片進行簡單的變化,把站立的狗翻轉、旋轉,改變狗的顏色,我們就擁有了多張可以用於訓練的圖片,神經網路可以在這些豐富的樣例中發現數據中的不變性,把握狗這一類別的特點。這個通過對數據集中圖片進行變換處理得到更多樣例的過程,就是數據增強。它在不引入更多樣例的情況下對數據集進行了擴充,訓練後可以提高模型的泛化能力。

圖丨通過 AutoAugment 選擇的策略對圖像進行數據增強操作

以往的數據增強方式往往由計算機科學家手動設計,這需要許多額外的知識。此外,這些方法往往只對某一個數據集適用,無法遷移到其他數據集上。比如說,在 CIFAR-10 和 ImageNet 這類自然圖像數據集上,對圖片進行隨機裁剪,圖像鏡像和色彩漂移/白化等是更適合的數據增強策略,但這些方式卻不適用於 MNIST(一個手寫數字數據集)。

一直以來,計算機視覺和機器學習領域的研究重點往往是設計出更好的網路模型,卻未在尋找更好的數據增強方式,納入更多數據的不變性上付出更多努力。而最近,對自動學習數據增強方式的需求逐漸上升。

Google AI 最近提出了簡單的,自動找到適合數據集的數據增強方式的方法 AutoAugment,其靈感來自於最近體系結構搜索領域取得的進展。通過這種方法選擇出的數據增強策略不僅在 ImageNet、CIFAR-10, CIFAR-100 和 SVHN 等多個數據集上刷新了準確率,而且可以在不使用無標籤數據的情況下取得與半監督學習相當的效果。此外,適用於一個數據集的策略也可以應用於其他相似的數據集。

該演算法將選擇最好的增強策略問題視為離散搜索問題。在研究者建立的搜索空間中,每個策略包含 5 個子策略,每個子策略包含 2 個圖像處理操作。每個操作由兩個參數決定:執行該操作的概率以及操作的程度度量。例如,中心旋轉 90 度就是一個基本的圖像處理操作。

搜索空間中的圖像處理操作共計 16 種。它們主要來自常用的 python 圖像處理庫 PIL。研究者考慮了該庫中所有以圖片作為輸入和輸出的函數。除此之外,他們還選擇了另外兩種極富前景的數據增強技術:Cutout 和 SamplePairing。為了進行離散搜索,實驗中將執行每種操作的概率離散化為 11 個值,將每種操作的度量離散化為 10 個值。每個子策略包含兩個參數,故每個子策略的選擇就是在 (16*11*10)^2 種可能性中搜索。而每個策略包含 5 個子策略,就是在包含 (16*11*10)^10 種可能性的空間中進行搜索。

圖丨 搜索空間中的圖像變換操作以及度量取值範圍

研究者選擇強化學習作為搜索演算法。它由兩部分組成:第一部分是由 RNN(遞歸神經網路)組成的控制器,第二部分是使用近端策略優化演算法的訓練演算法。訓練中的每一步,控制器通過 softmax 函數選擇一個策略,然後將其嵌入到下一步。控制器通過獎勵信號進行訓練,即該策略在改善子模型(搜索模型的一部分,被訓練的神經網路)上的效果。研究者指出,強化學習並不是搜索演算法唯一的選擇。選擇遺傳編程等作為搜索演算法可能會提高整個演算法的效果。

在實驗中,神經網路模型利用選定的增強方式增強過的訓練集進行訓練,即對最小批量數據中的每一個樣例隨機使用五種策略中的一種進行處理。接下來通過一個驗證集來檢驗模型的準確度,這個準確度再作為獎勵信號用於控制器的訓練。通過這樣的過程選擇出 5 個最佳策略組成一個包含 25 個子策略的最終的增強策略,在各個數據集上應用。

在 CIFAR-10 數據集上,利用 AutoAugment 演算法自動獲得的增強策略,該數據集上的錯誤率下降到了 1.48%,比之前的最好結果下降了 0.65%。訓練的過程中研究者也發現,在給定的訓練時間內,使用少量數據多輪訓練比增加數據量減少迭代次數的效果更好。

圖| CIFAR-10(上圖)和 CIFAR-100(下圖)數據集上不同模型配合不同數據增強方式的錯誤率,數值越低模型效果越好

在 Image 數據集上,利用該演算法得到的增強策略,Top1 準確率達到了 83.54%。

數據增強無疑是擴充數據集、改善模型效果簡單而有效的方法。不僅是計算視覺,在其他深度學習廣泛應用的領域,它也應該得到足夠的關注。


推薦閱讀:

為何研究高端科技的人信鬼神?
醫療的下一個風口、人工觸覺你了解多少?
跑分竟然比上一代高出一倍!究竟是什麼賦予了它神力?諾基亞7 plus跑分評測
這五個要訣轉發給你家人,保護家庭財產安全

TAG:人工智慧 | 科技 | 谷歌Google |