當前位置:
首頁 > 知識 > 谷歌大腦提出自動數據增強方法AutoAugment:可遷移至不同數據集

谷歌大腦提出自動數據增強方法AutoAugment:可遷移至不同數據集

選自arXiv

作者:Ekin D. Cubuk 等

機器之心編譯

參與:Geek AI、路

近日,來自谷歌大腦的研究者在 arXiv 上發表論文,提出一種自動搜索合適數據增強策略的方法 AutoAugment,該方法創建一個數據增強策略的搜索空間,利用搜索演算法選取適合特定數據集的數據增強策略。此外,從一個數據集中學到的策略能夠很好地遷移到其它相似的數據集上。

引言

深度神經網路是強大的機器學習系統,當使用海量數據訓練時,深度神經網路往往能很好地工作。數據增強是一種通過隨機「增廣」來提高數據量和數據多樣性的策略 [1-3]。在圖像領域,常見的數據增強技術包括將圖像平移幾個像素,或者水平翻轉圖像。直觀來看,數據增強被用來為模型引入數據域中的不變性:目標分類通常對水平翻轉或平移是不敏感的。網路架構也可以被用於對不變性進行硬編碼:卷積神經網路適用於平移不變性 [3-6],而物理模型適用於平移、旋轉和原子排列的不變性 [7-12]。然而,使用數據增強技術來表達潛在的不變性比直接將不變性硬編碼到模型中更簡單。

然而,機器學習和計算機視覺社區的一個大的關注點是設計出更好的網路架構(例如 [13-21])。人們較少將精力放在尋找引入更多不變性的更好的數據增強方法上。例如,在 ImageNet 上,Alex 等人 [3] 在 2012 年引入的數據增強方法仍然是現在的標準操作,僅有微小的改變。即使對特定數據集找到了數據增強的改進方法,這些方法通常也不能有效地遷移到其他的數據集上。例如,在訓練期間對圖像進行水平翻轉在 CIFAR-10 數據集上是一個有效的數據增強方法,但是在 MNIST 上並不奏效,這是因為這些數據集中出現的對稱性不同。最近,對自動學習到的數據增強技術的需求發展成為一個重要的待解決問題 [22]。

在本論文中,作者旨在實現為目標數據集尋找有效數據增強策略的自動化過程。在本文第三節的實現中,每個策略都表示一些可能的數據增強操作的選項和順序,其中每一個操作是圖像處理函數(例如,平移、旋轉或色彩歸一化),及應用該函數的概率和幅度(magnitude)。作者使用一種搜索演算法尋找這些操作的最佳選項和順序,以使這樣訓練出的神經網路能獲得最佳的驗證準確率。在本文的實驗中,作者使用增強學習 [23] 作為搜索演算法,但是作者認為如果使用更好的演算法 [21,24],結果可以得到進一步改進。

作者提出的方法在 CIFAR-10、簡化的 CIFAR-10、CIFAR-100、SVHN、簡化的 SVHN,以及 ImageNet(不添加額外數據)等數據集上取得了目前最高的準確率。在 CIFAR-10 上的誤差率為 1.48%,比之前最先進的模型 [21] 的誤差率低 0.65%。在 SVHN 上,作者將目前最低的誤差率從 1.30% [25] 降低到了 1.02%。在簡化數據集上,本文提出的方法取得了和不使用任何非標註數據的半監督方法相當的性能。在 ImageNet 數據集上,作者提出的方法達到了 83.54% 的 Top-1 準確率。最後,作者展示了在一個任務中找到的策略可以很好地泛化到不同的模型和數據集上。例如,在 ImageNet 上發現的策略能在各種各樣的 FGVC 數據集上帶來顯著的性能提升。即使在那些對在 ImageNet 上預訓練好的權重進行調優也幫助不大的數據集上 [26],例如 Stanford Cars [27] 和 FGVC Aircraft [28],使用 ImageNet 上的策略訓練可以分別減少 1.16% 和 1.76% 的誤差率。這一結果表明遷移數據增強策略為遷移學習提供了一種新的可選方案。

AutoAugment

作者將尋找最佳數據增強策略的問題形式化為一個離散搜索問題。在搜索空間中,一個策略由 5 個子策略組成,每個子策略又包含依次被應用的兩個圖像處理操作,每個操作也都和兩個超參數相關:1)應用操作的概率 2)操作的幅度。

圖 1 展示了在搜索空間中的一個包含 5 個子策略的策略示例。第一個子策略指定了依次進行對 X 坐標的剪切(ShearX)和圖像翻轉操作(Invert)。應用 ShearX 操作的概率是 0.9,並且當應用這個操作時,其幅度為十分之七。接著,作者以 0.8 的概率應用 Invert 操作,該操作不使用幅度信息。作者強調這些操作需要按照指定順序執行。

圖 1:在 SVHN 上發現的一個策略,以及如何使用它在給定用於訓練神經網路的原始圖像的條件下來生成增強後的數據。這個策略包含 5 個子策略。對於小批量中的每一張圖像,作者均勻地隨機選取一個子策略去生成一張變換後的圖像來訓練神經網路。每個子策略由兩個操作組成,每個操作都與兩個數值相關聯:調用操作的概率、操作的幅度。由於存在調用操作的概率,因此該操作在這個小批量中可能不被應用。然而,如果它被應用了,這個應用的幅度就是固定的。作者通過展示即使使用相同的子策略,一個示例圖片能夠在不同的小批量中被不同地變換,強調了應用子策略的隨機性。正如文中所解釋的,在 SVHN 上,AutoAugment 更常採取幾何變換措施。我們可以從中看出為什麼翻轉(Invert)在 SVHN 上是一個被普遍選擇的操作,因為圖像中的數字在這種變換下具有不變性。

表 1:在 CIFAR-10 上的測試集誤差率(%)。此誤差率越低越好。本文的實驗復現了所有基線模型和帶 Cutout 的基線模型結果,並且與之前報告的結果 [25,56,58,59] 相匹配。只有 Shake-Shake(26 2x112d)網路例外,該網路比 [58] 中最大的模型擁有更多的濾波器——112 vs 96,而且結果也與之前論文中報告的不同。請注意,在簡化的 CIFAR-10 上找到了最好的策略。

表 2:在 CIFAR-100 上的測試集誤差率(%)。本文的實驗復現了 Wide-ResNet 和 ShakeDrop 的基線模型和 Cutout 模型結果,並且與之前報告的結果 [25,59] 相匹配。請注意,在簡化 CIFAR-10 上找到了最佳的策略。

圖 2:在 ImageNet 上一個成功的數據增強策略。如文中所描述的,大多數在 ImageNet 上建立的策略使用了基於色彩的轉換。

論文:AutoAugment: Learning Augmentation Policies from Data

論文鏈接:https://arxiv.org/abs/1805.09501

摘要:在本論文中,我們進一步研究了用於圖像的數據增強技術,並提出了一個名為「AutoAugment」的簡單過程,用來搜索改進的數據增強策略。本文主要的觀點是創建一個數據增強策略的搜索空間,直接在感興趣的數據集上評估特定策略的質量。在「AutoAugment」的實現過程中,我們設計了一個搜索空間,該搜索空間中的一個策略包含了許多子策略,我們為每個小批量(mini-batch)中的每張圖像隨機選擇一個子策略。每個子策略由兩個操作組成,每個操作都是類似於平移、旋轉或剪切的圖像處理函數,以及應用這些函數的概率和幅度(magnitude)。我們使用搜索演算法來尋找最佳策略,這樣神經網路就能在目標數據集上獲得最高的驗證準確率。我們的方法在 CIFAR-10、CIFAR-100、SVHN 和 ImageNet 上取得了目前最高的準確率(在不加入額外數據的情況下)。在 ImageNet 上,我們取得了 83.54% 的 Top-1 準確率。在 CIFAR-10 上,我們取得了 1.48% 的誤差率,比之前最佳模型的誤差率低 0.65%。在簡化數據集上,AutoAugment 的性能與不使用任何非標註樣本的半監督學習方法相當。最後,從一個數據集中學到的策略能夠被很好地遷移到其它相似的數據集上。例如,在 ImageNet 上學到的策略能夠讓我們在細粒度視覺分類數據集 Stanford Cars 上取得目前最高的準確率,並且不用在額外的數據上對預訓練的權重進行調優。

本文為機器之心編譯,轉載請聯繫本公眾號獲得授權。

------------------------------------------------


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 機器之心 的精彩文章:

新型循環神經網路IndRNN:可構建更長更深的RNN
學界 | Uber AI論文:利用反向傳播訓練可塑神經網路,生物啟發的元學習範式

TAG:機器之心 |