...AI 研究院提出新的數據增強算法,比谷歌大腦的 AutoAugment 更...

2021-01-10 雷鋒網

雷鋒網 AI 科技評論按:數據增強是提升圖像識別模型性能的重要手段。伯克利 AI 研究院的一篇關於數據增強的論文便被 ICML 2019 收錄為 oral 論文,該論文巧妙地運用基於種群的數據增強算法,在降低計算成本的情況下,既能提高學習數據增強策略的速度,又能提升模型的整體性能。伯克利 AI 研究院也在官方博客上對論文進行了解讀,雷鋒網 AI 科技評論編譯如下。

將基於種群的增強算法應用於圖像上的效果,隨增強百分比的變化情況

在本文中,我們將介紹基於種群的增強算法(Population Based Augmentation,PBA),它能夠快速、高效地學習到一個目前最先進的應用於神經網絡訓練的數據增強方法。PBA 能夠在將速度提升 1000 倍的情況下,達到與之前在 CIFAR 和 SVHN 數據集上最佳的效果,這使得研究者和從業人員可以使用單個工作站的 GPU 有效地學習新的增強策略。研究者可以廣泛地使用 PBA 算法來提升深度學習在圖像識別任務上的性能。

同時,我們將討論我們最新發表的論文「Population Based Augmentation: Efficient Learning of Augmentation Policy Schedules」(論文下載地址:https://arxiv.org/abs/1905.05393.pdf)中 PBA 算法的實驗結果,然後說明如何利用「Tune」(https://ray.readthedocs.io/en/latest/tune.html)框架在新數據集上運行 PBA 算法(https://github.com/arcelien/pba)。

你為什麼需要關注數據增強技術?

近年來,深度學習模型的進步很大程度上歸功於收集到的數據,在數量和多樣性上的增加。數據增強是一種使從業人員在無需實際收集新數據的情況下,能夠顯著提升可用於訓練模型的數據的多樣性的策略。諸如裁剪,填充和水平翻轉等數據增強技術通常被用於訓練大型神經網絡。然而,用於訓練神經網絡的的大多數方法僅僅使用了基本類型的數據增強技術。儘管研究者們已經深入研究了神經網絡架構,但著眼於開發強大的數據增強和能夠捕獲數據不變性的數據增強策略的工作就相對較少了。

數字「3」的原始形式和應用了基本的數據增強技術的結果

最近,谷歌已經能夠通過使用 AutoAugment(一種新型的自動數據增強技術,https://arxiv.org/abs/1805.09501)在諸如 CIFAR-10 之類的數據集上達到目前最高的準確率。AutoAugment 說明了:之前只使用一系列固定變換(如水平翻轉、填充和裁剪)的數據增強方法還有很大的提升空間。AutoAugment引入了 16 種幾何變換和基於顏色的變換,並制定了一種可以最多選擇兩個指定幅度的變換的數據增強策略,從而應用於每批數據。這些具有更高性能的數據增強策略是通過直接在數據上使用強化學習訓練模型學習到的。

有什麼進步?

AutoAugment 是一種計算成本非常大的算法,從開始訓練到收斂需要訓練 15,000 個模型以為基於強化學習的策略生成足夠的樣本。同時,樣本之間不共享計算過程,學習 ImageNet 的增強策略需要在NVIDIA Tesla P100 上訓練 15,000 個 GPU 小時,而學習 CIFAR-10 則需要耗費 5,000 個 GPU 小時。例如,如果使用谷歌雲上按需隨選的 P100 GPU,探索 CIFAR 數據集上的數據增強策略將花費大約 7,500 美元,而探索 ImageNet 數據集上的數據增強策略則需要高達 37,500 美元!因此,在對新數據集進行訓練時,更常見的用例是遷移作者證明效果相對較好的預先存在的已開發出來的策略。

基於種群的數據增強策略(PBA)

我們的數據增強策略搜索方法被稱為「基於種群的增強」(PBA),它在各種神經網絡模型上在將計算成本降低三個數量級的情況下,達到了相似的測試準確度水平。我們通過在 CIFAR-10 數據上訓練幾個小型模型副本來學習數據增強策略,在學習過程中需要使用 NVIDIA Titan XP GPU 訓練 5 個小時。當在大型模型架構和 CIFAR-100 數據上從頭開始進行訓練時,此策略展現出了強大的性能。

相對於訓練大型 CIFAR-10 網絡時動輒花費好幾天才能收斂的計算成本而言,事先運行 PBA 的計算成本就微不足道了,並且在實驗結果上能夠取得顯著的提升。例如,在 CIFAR-10 上訓練一個 PyramidNet 需要在一塊 NVIDIA V100 GPU 上花費超過 7 天的時間,因此學習 PBA 策略僅僅增加了 2% 的預計算訓練時間成本。對於 SVHN 數據及而言,這種成本甚至更低,低於 1%。

在 WideResNet(https://arxiv.org/abs/1605.07146),Shake-Shake(https://arxiv.org/abs/1705.07485),以及 PyramidNet(https://arxiv.org/abs/1610.02915)+ShakeDrop(https://arxiv.org/abs/1802.02375)模型上運用 PBA、AutoAugment 以及僅僅使用水平翻轉、填充和裁剪等操作的對比基線時,各自在 CIFAR-10 測試集上產生的誤差。

PBA 利用基於種群的訓練算法(若想了解更多關於該算法的信息,可前往 https://deepmind.com/blog/population-based-training-neural-networks/閱讀相關內容)來生成一個增強策略計劃,它可以根據當前訓練的迭代情況進行自適應的調整。這與沒有考慮當前訓練迭代情況而應用相同的變換方式的固定增強策略,形成了鮮明對比。

這就使得一個普通的工作站用戶可以很容易地使用搜索算法和數據增強操作進行實驗。一個有趣的用例是引入一個新的數據增強操作,它可能針對的是特定的數據集或圖像模態,可以迅速生成一個定製化的、高性能的數據增強計劃。通過模型簡化實驗,我們發現學到的超參數和計劃順序對於得到好的實驗結果非常重要。

如何學習到數據增強計劃?

我們使用了基於種群的訓練,該種群由 16 個小型 WideResNet 模型構成。種群中的每個個體會學習到不同的候選超參數計劃。我們將性能最佳的計劃進行遷移,從而從頭開始訓練更大的模型,而我們將從中得到測試誤差指標。

基於種群的訓練示意圖,它通過訓練一個神經網路的種群來探索超參數計劃。它將隨機搜索(探索)和拷貝高性能個體的模型權重(利用)結合起來(https://deepmind.com/blog/population-based-training-neural-networks/)。

我們在感興趣的數據集上訓練種群模型,一開始將所有的增強超參數設置為「0」(不應用任何數據增強技術)。通常而言,一個「探索-利用」過程會通過將高性能個體的模型權重拷貝給性能較低的個體來「利用」高性能個體,並且會通過擾動個體的超參數來進行「探索」。通過這個過程,我們可以讓個體之間大量共享超參數,並且在訓練的不同區域針對於不同的增強超參數。因此,PBA 可以節省訓練上千個模型才能達到收斂以實現高性能的計算成本。

示例和代碼

我們使用了「TUNE」內置的 PBT 的實現來直接使用 PBA 算法。

我們使用自定義的探索函數來調用「Tune」對 PBT 的實現,而這將會創建出 16 份 WideResNet 模型的副本,並且在時分多工模式下訓練它們。每個模型副本使用的策略計劃將會被保存到磁碟中,並且可以再程序終止後被檢索,用於訓練新模型。

感興趣的人可以按照 Github 中「README」文件的指示運行 PBA 算法,地址如下:

https://github.com/arcelien/pba

在一塊 Titan XP 顯卡上,你只需一個小時就可以學到一個作用於 SVHN 數據集的高性能數據增強策略計劃。你也可以很輕易地在自定義的數據集上使用 PBA 算法:只需簡單定義一個數據加載器(dataloader),其它的部分就會自動就緒。

參考文獻

ICML 2019 oral 論文:Population Based Augmentation: Efficient Learning of Augmentation Policy Schedules

論文作者:Daniel Ho, Eric Liang, Ion Stoica, Pieter Abbeel, Xi Chen論文連結:https://arxiv.org/abs/1905.05393代碼連結:https://github.com/arcelien/pbaVia https://bair.berkeley.edu/blog/2019/06/07/data_aug/ 雷鋒網

相關焦點

  • 是你的數據還不夠強!谷歌大腦「數據增強」開源,大神QuocLe出品
    十三 發自 凹非寺 量子位 報導 | 公眾號 QbitAI你的數據還不夠強。玩深度學習的人都知道,AI算法大部分是數據驅動。數據的質量一定程度上決定了模型的好壞。這就有了深度學習天生的一個短板:數據不夠多、不夠好。而數據增強就是解決這一問題的有效辦法。
  • NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動數據增強方法解讀
    在NeurIPS 2020上,商湯研究院搜索與決策團隊提出了一項基於權重共享的新型自動數據增強方法。該工作以多項有啟發性的實驗現象為動機,第一次從權重共享角度思考自動數據增強,實現了既高效又有效的增強策略搜索算法。該方法在多個圖像分類數據集上取得了優秀的表現,尤其在CIFAR-10數據集上刷新了當時的SOTA性能。
  • NeurIPS 2020 | AWS Auto-Aug: 利用權重共享思想的新型自動數據...
    點擊查看 導讀:在NeurIPS 2020上,商湯研究院工具鏈的搜索和決策團隊提出了一項基於權重共享的新型自動數據增強方法。例如對圖像數據,常用的操作有仿射變換、調整色相/飽和度/曝光、銳化等。最近一些自動數據增強算法被提出,其旨在自動搜索一些數據增強策略(通常可表示為各個操作的概率分布),使得在這些策略下進行訓練的模型可以得到更好的性能表現。這些自動算法已經取得了顯著的成果,在許多任務上遠遠超過了人工設計的增強策略。
  • NeurIPS 2020|:新型自動數據增強方法解讀
    導讀:在NeurIPS 2020上,商湯研究院工具鏈的搜索和決策團隊提出了一項基於權重共享的新型自動數據增強方法。該工作以多項有啟發性的實驗現象為動機,第一次從權重共享角度思考自動數據增強,實現了既高效又有效的增強策略搜索算法。該方法在多個圖像分類數據集上取得了優秀的表現,尤其在CIFAR-10數據集上刷新了當時的SOTA性能。
  • 40萬億像素,谷歌AI自動繪製果蠅的大腦圖譜
    (HHMI)Janelia研究院和劍橋大學合作的。要繪製出一個果蠅的大腦,首先需要將它切成數千個 40 納米的超薄切片,然後用透射電子顯微鏡對其成像,並將其排列成整個大腦的三維立體圖像。接下來,成千上萬的由谷歌定製的人工智慧加速晶片——雲張量處理單元(TPUs),運行一種被稱為洪水填充網絡(FFNs)特殊的算法,這種算法用於複雜和大型形狀,特別是組織的立體數據集的分割。隨著時間的推移,FFNs 會自動追蹤果蠅大腦中的每個神經元。
  • AI大事件 | 機器學習增強人類記憶力,谷歌上線AI速成課
    utm_campaign=Revue%20newsletter&utm_medium=Newsletter&utm_source=The%20Wild%20Week%20in%20AI研究人員在患者解決記憶任務時收集了植入患者大腦中電極的訓練數據。
  • 百度EasyDL自研數據增強服務加持AI模型開發
    隨著深度學習的發展,數據增強技術可以協助開發者解決這一問題。數據增強技術通過對數據本身進行一定程度的擾動從而產生「新」數據,模型通過不斷學習大量的「新」數據來提升泛化能力。不同數據集的數據特性決定了其所適用的數據增強策略組合,在沒有對數據特性有專業理解能力的情況下,用戶很難構建出能與數據集特性強相關的數據增強策略組合。
  • 谷歌放大招!數據增強實現自動化
    [導讀]谷歌研究人員最新提出了一種自動數據增強方法,受AutoML的啟發,他們嘗試將數據增強的過程也實現自動化
  • 谷歌大腦開源項目 AutoML-Zero:用數學運算能探索出機器學習算法
    我們提出的方法,稱為 AutoML_Zero,從空程序開始,僅使用基本的數學運算作為構建塊,應用進化方法自動找到完整機器學習算法的代碼。針對小圖像分類問題,我們的方法重新發現了基本的機器學習技術,如帶有反向轉播的二層神經網絡、線性回歸等,這些都是多年來研究人員發明的。這一結果證明了自動發現更多新的機器學習算法來解決未來更難的問題的可行性。
  • Jeff Dean親筆盤點谷歌AI 2019:日均2篇論文,縱橫16大方向
    博客地址:http://ai.googleblog.com/2019/06/applying-automl-to-transformer.html研究證明了自動學習數據增強方法可以擴展到語音識別模型中。與現有的人類ML-expert驅動的數據增強方法相比,可以在較少數據情況下獲得了顯著更高的準確性。
  • AutoML - 數據增廣
    這可以通過數據擴充來緩解,數據擴充可以有效地增加網絡所看到的數據的數量和多樣性。它是通過對原始數據集(如旋轉、裁剪、遮擋等)應用轉換,人為地生成新數據來實現的。然而,確定哪種增強對手頭的數據集最有效並不是一項簡單的任務。為了解決這個問題,谷歌去年發布了AutoAugment,它通過使用強化學習發現了給定數據集的優化增強。
  • 德國發布AI和數據倫理的75項建議,提出數據和算法協同治理等理念
    騰訊研究院發布2019年10-11月網絡法專報 作者 | 曹建峰 騰訊研究院高級研究員 熊辰 騰訊研究院法律研究中心助理研究員
  • 讓AI去訓練AI,autoML、autoKeras、auto-sklearn了解一波
    當你有一個idea的時候,好不容易收集好了數據,但是面對一堆的機器學習算法,還有各種參數的調試,這個時候,只能一種一種算法進行嘗試,各種參數進行組合試驗,此過程非常耗費時間跟精力,是個重複的勞動的過程,這個時候,我們就會想,能不能為此過程也開發一種算法,來自動幫我們完成算法和超參的選擇,於是autoML就誕生了。——讓AI去訓練AI。
  • 從難以普及的數據增強技術,看AI的性價比時代
    這些數據增強技術也開始通過深度學習的加持逐漸提升效率,例如去年4月谷歌就推出了一項名為AutoAugment的技術,這一模式設計了一個自動搜索空間,利用搜索算法來確定適合數據集的圖像增強策略(例如上述的平移、縮放等等),制定執行的順序並且自動執行。
  • 谷歌大腦AI實現文本摘要生成
    12月18日,谷歌人工智慧研究部門谷歌大腦(Google Brain)和帝國理工學院(Imperial College London)研究團隊發布論文,稱已構建了一個AI系統Pegasus(Pre-training with Extracted Gap-sentences for Abstractive Summarization利用提取的間隙句進行抽象摘要的預訓練),該系統充分利用了Google的
  • 港中文提出:GridMask 數據增廣新網絡(可提高分類/檢測/分割性能)
    ,在圖像分類、檢測、分割三個問題上都做了實驗,提升效果明顯,好於當前SOTA 的autoaugment。1.文章中設計了2中方法,第一種方法是設置一定的概率p,從開始訓練就對訓練圖片以概率p進行數據增強;第二種方法是一開始概率為0,隨著訓練次數增加對訓練圖片進行gridmask增強的方法逐漸增大,最後變為p。實驗結果結論是第二種方法好於第一種方法。2.我做實驗的時候,是簡單的將COCO訓練集進行一次離線的數據增強,訓練數據量double了一倍,保持相同的epoch,會提升1+點。
  • 3.5億抑鬱症患者背後,谷歌AI做了什麼?
    為了應對攀升的患病率和自殺率,谷歌母公司Alphabet X 實驗室發起成立了「Amber」項目,該項目旨在通過人工智慧技術解決早期的心理健康問題。近日,該研究團隊稱,他們發現利用AI分析腦電波診斷抑鬱症,可以讓腦電波像血糖檢測一樣容易理解。更重要的是,該方法能夠將抑鬱和焦慮的情緒轉化為客觀、精準的測量值,支持抑鬱症的診斷和治療。
  • 谷歌大腦重磅研究:快速可微分排序算法,速度快出一個數量級
    排序,在計算機中是再常見不過的算法。在機器學習中,排序也經常用於統計數據、信息檢索等領域。那麼問題來了,排序算法在函數角度上是分段線性的,也就是說,在幾個分段的「節點」處是不可微的。這樣,就給反向傳播造成了困難。
  • 谷歌研發AI算法控制無人氣球運動 建空中網際網路
    谷歌研發AI算法控制無人氣球運動,建空中網際網路一隻漂浮在平流層的巨型氣球,在人工智慧的幫助下,穩穩地待在原地數周。12月3日,學術期刊《自然》發表了一項來自谷歌團隊的研究,顯示人工智慧控制器能讓平流層的氣球一連數周待在原地。這項研究結果意味著,深度強化學習向現實世界應用邁進了難得的一步,提高了全自動環境監測成為現實的可能性。平流層中的無人氣球。
  • ACL 2019 論文:谷歌提出增強神經網絡機器翻譯魯棒性的新方法
    谷歌研究院的一篇 ACL 2019 論文提出了一種方法,使用生成的對抗性樣本來提高機器翻譯模型的魯棒性,防止輸入中存在的細小擾動度對其造成影響。結果表明,該方法提高了 NMT 模型在標準基準上的性能。在本文中,作者 Yong Cheng、 Lu Jiang 和 Wolfgang Macherey 對其在 ACL 2019 上發表的《具有雙對抗性輸入的魯棒神經機器翻譯》論文進行了介紹。