利用 AutoML 進行大規模影象分類和物件檢測
文 / Google Brain 團隊研究科學家 Barret Zoph、Vijay Vasudevan、Jonathon Shlens 和 Quoc Le
幾個月之前,我們推出了 AutoML 專案,這是一種實現機器學習模型設計自動化的方式。儘管我們發現 AutoML 能夠設計出效能可與人類專家設計的神經網路相媲美的小型神經網路,但這些成果仍被限制在 CIFAR-10 和 Penn Treebank 一類的小型學術資料集方面。我們對這種方法在更大、更具挑戰性的資料集(例如 ImageNet 影象分類和 COCO 物件檢測)上的表現充滿好奇。在學術競賽中,人類已經發明瞭許多最先進的機器學習架構來處理這些資料集。
在學習可轉移的架構來實現可擴充套件的影象識別 (Learning Transferable Architectures for Scalable Image Recognition) 論文中,我們將 AutoML 應用到 ImageNet 影象分類和 COCO 物件檢測資料集中 - ImageNet 和 COCO 是計算機視覺領域兩個最受認可的大規模學術資料集。這兩個資料集對我們來說是一項非常大的挑戰,因為它們要比 CIFAR-10 和 Penn Treebank 資料集大許多數量級。例如,單單將 AutoML 直接應用到 ImageNet 中就需要對我們的方法進行數月的訓練。
為了能夠將我們的方法應用到 ImageNet,我們對 AutoML 方式做了兩點調整,讓它可以更容易地處理大規模資料集:
-
我們重新設計了搜尋空間,以便 AutoML 找到最佳層並靈活進行多次堆疊來建立最終網路。
-
我們在 CIFAR-10 上執行了架構搜尋,並將學到的最好架構轉移到 ImageNet 影象分類和 COCO 物件檢測中。
通過這種方法,AutoML 能夠找到在 CIFAR-10 以及 ImageNet 分類和 COCO 物件檢測上都有優異表現的最佳層。這兩個層組合形成一種新的架構,我們稱之為“NASNet”。
▲ 我們的 NASNet 架構由兩種型別的層組成:正常層(左)和還原層(右)。這兩種層都由 AutoML 設計。
在 ImageNet 影象分類上,NASNet 在驗證集上的預測準確率達到了 82.7%,超過了我們之前構建的所有 Inception 模型。此外,NASNet 的準確率比之前公佈的所有結果提升了 1.2%,與 arxiv.org 上報告的最佳未公佈結果不相上下。NASNet 還可以調整規模,生成一系列可以實現較高準確率的模型,同時將計算開銷控制在非常低的水平。例如,小版本的 NASNet 可以實現 74% 的準確率,比面向移動平臺的同等規模最先進模型提升了 3.1%。大型 NASNet 則可實現最高的準確率,同時將 arxiv.org 上最佳報告結果(即 SENet)的計算開銷減半。
▲ NASNet 與人類發明的各種規模的最先進模型在 ImageNet 影象分類中的準確率。
我們還將學到的特徵從 ImageNet 轉移到物件檢測。在實驗中,將在 ImageNet 分類中學到的特徵與 Faster-RCNN 框架相結合超過了 COCO 物件檢測任務之前公佈的最佳預測效能,無論檢測任務在最大的模型上執行,還是在針對移動裝置優化的模型上執行,結果都是如此。我們最大的模型的平均準確率 (mAP) 達到了 43.1%,比之前公佈的最佳結果提升了 4%。
▲ 結合使用 Faster-RCNN 和 NASNet 的示例物件檢測。
我們認為,NASNet 在 ImageNet 和 COCO 上學到的影象特徵可重用於許多計算機視覺應用。因此,我們在 Slim 和物件檢測 TensorFlow 程式碼庫中將 NASNet 開源,方便大家使用它在影象分類中進行推理,以及進行物件檢測。我們希望更廣大的機器學習社群能夠利用這些模型開展構建工作,解決我們還未想到的眾多計算機視覺問題。
特別感謝 Jeff Dean、Yifeng Lu、Jonathan Huang、Vivek Rathod、Sergio Guadarrama、Chen Sun、Jonathan Shen、Vishy Tirumalashetty、Xiaoqiang Zheng、Christian Sigg 和 Google Brain 團隊對這個專案的大力幫助。
檢視全文及文中連結,請戳文末“閱讀原文”。
推薦閱讀:
Google釋出TensorFlow Lattice,先前知識推動靈活性提升
相關文章
- 巧用Proxyman Scripting 進行資料分類檢測
- 亞馬遜:用CNN進行影象分類的Tricks亞馬遜CNN
- 詳解計算機視覺五大技術:影象分類、物件檢測、目標跟蹤、語義分割和例項分割計算機視覺物件
- 使用colmap對大規模場景進行分組重建
- 影象處理入門:目標檢測和影象檢索綜述
- 物體檢測實戰:使用 OpenCV 進行 YOLO 物件檢測OpenCVYOLO物件
- 利用BLEU進行機器翻譯檢測(Python-NLTK-BLEU評分方法)Python
- 利用Arcpy和Geopandas進行多規比對
- 細粒度影象分類
- COVID-19:利用Opencv, Keras/Tensorflow和深度學習進行口罩檢測OpenCVKeras深度學習
- kaggle季軍新手筆記:利用fast.ai對油棕人工林影象進行快速分類(附程式碼)筆記ASTAI
- 聚焦Python和OpenCV的影像處理,3D場景重建,物件檢測和跟蹤 - 物件分類和定位PythonOpenCV3D物件
- 大腦是如何識別和分類物件? - mpg物件
- 利用機器學習進行惡意程式碼分類機器學習
- 前端進階-類和物件前端物件
- 利用cache特性檢測Android模擬器Android
- 大資料分析標準如何進行分類大資料
- Tensorflow 1.x 影象分類
- 使用 Rust 和 OpenCV 進行物體檢測RustOpenCV
- 使用Grail進行大規模基礎設施管理AI
- python:利用iloc語句對列表的分類變數進行操作Python變數
- 如何對Mac進行基礎檢測和速度測試Mac
- 利用python庫stats進行t檢驗Python
- 大咖佈道丨證券行業規模化敏捷和核心能力演進行業敏捷
- 大規模向量檢索與量化方法
- 使用 Transformers 進行圖分類ORM
- CVPR 2022|達摩院開源低成本大規模分類框架FFC框架
- 詳解計算機視覺五大技術:影像分類、物件檢測、目標跟蹤、語義分割和例項分割...計算機視覺物件
- 「AutoML」啟用函式如何進行自動學習和配置TOML函式
- 使用PaddleFluid和TensorFlow實現影象分類網路SE_ResNeXtUI
- 利用CNN對股票「圖片」進行漲跌分類——一次嘗試CNN
- 騰訊回應:正配合監管進行合規檢測YQ
- Mac電腦如何對檔案進行分類和整理Mac
- Mac電腦如何將檔案進行分類和整理?Mac
- 神經網路似乎遵循一種令人費解的簡單策略來對影象進行分類神經網路
- 基於Python的人臉檢測與分類Python
- 利用transformer進行中文文字分類(資料集是復旦中文語料)ORM文字分類
- 利用TfidfVectorizer進行中文文字分類(資料集是復旦中文語料)文字分類
- 如何開展大規模整合測試