AABO:自適應最優化Anchor設置,性能榨取的最後一步|ECCV 2020

2020-12-12 AI科技大本營

編譯 | VincentLee

來源 | 曉飛的算法工程筆記

Introduction

目前,主流的目標檢測算法使用多種形狀的anchor box作為初始預測,然後對anchor box進行回歸調整,anchor box的配置是檢測算法中十分重要的超參數。一般而言,anchor box的配置都是簡單地通過人為指定,比如Faster R-CNN經典的的9種形狀,也可以像YOLO一樣通過k-means對數據集進行分析,得出特定的配置。

為了人工設置超參數的環節,近年來很多關於超參數優化問題(HPO, hyper-parameter optimization)的研究,最有效的方法為貝葉斯優化(BO)和bandit-based策略。在分析了當前方法的優劣後,論文提出一種自適應的anchor box優化方法AABO,該方法基於貝葉斯優化和Sub-Sample方法,能夠自動切高效地搜索到最優的anchor設置,榨乾主流目標檢測算法的潛力。

Relative Method

這裡先對論文經常提及的3種超參數搜索方法進行簡單的介紹,方便下面的理解。

Bayesian optimization

超參數的驗證通常需要進行模型訓練,會耗費大量的時間,所以貝葉斯優化的核心是使用替代模型(prior function)來代理目標模型,替代模型一般為概率分布模型。在得到替代模型後,使用採集函數(acquisition function)從候選集中選擇一組合適的超參數進行測試,採集函數需要能夠很好地平衡exploitation和exploration,測試則是使用目標模型進行正常的訓練和驗證,最後將當前結果加入觀測數據中,用於訓練替代模型,反覆進行上述的操作。

貝葉斯優化的完整流程如上面所示,在每輪的迭代中基於替代模型和採集函數獲取一組超參數,然後使用目標模型進行驗證,最後將驗證結果加入觀測數據集並更新替代模型。

Hyperband

Bandit-based方法在限定資源的情況以高效的策略尋找最優超參數,資源可為時間、迭代次數等,而Hyperband是經典的bandit-based方法。Hyperband在Successive Halving算法的基礎上進行了擴展,每次選取一批超參數進行多輪迭代,每輪迭代將資源均勻地分配給待驗證的超參數組合,每輪結束時保留超參數組合進行下一輪。

Hyperband的完整流程如上面所示,為單超參數分組可分配的最大資源,包含兩個循環,外循環負責控制每次驗證的初始可分配的資源數以及驗證的分組數,逐步增加和減少,分組由隨機採樣所得。內循環則進行Successive Halving算法,共進行次迭代,逐步增加每組的可分配資源,並且每次保留最優的分組。

BOHB

實際上,上面的兩種經典超參數方法都有其各自的優缺點,貝葉斯優化雖然搜索高效,但是容易陷入局部最優解,而Hyperband雖然搜索比較全面,但效率不夠高。所以,BOHB結合了貝葉斯優化和Hyperband進行超參數優化。

圖1

BOHO的完整流程如上所示,可簡單地認為將Hyperband的隨機採樣替換為貝葉斯優化進行採樣,然後將Hyperband的超參數組合及其對應的輸出加入到觀測數據中,用於更新替代模型。需要注意的是,BOHO的替代模型是一個多維核密度估計(KDE)模型,類似於TPE(Tree Parzen Estimator)。如論文提到的,BOHO有一個比較嚴重的問題,對於難學習的樣本,一般需要較長的訓練周期,而由於BOHO使用HyperBand進行快速驗證,所以不一定能完整地測出超參數的真實準確率,導致最終的結果有偏差。

Preliminary Analysis

Default Anchors Are Not Optimal

圖2

隨機採樣100組不同的anchor設置,每組包含3種尺寸和3種長寬比,然後與Faster R-CNN的默認anchor配置進行性能對比。結果如上圖所示,紅線為默認設置的性能,可以看到,默認設置並不是最優的。

Anchors Influence More Than RPN Structure

圖3

使用BOHB同時搜索RPN head結構以及anchor設置,RPN head的搜索空間如上圖所示。

結果如上表所示,可以看到anchor設置搜索帶來的性能提升在一定程度上要高於RPN head結構搜索。

Search Space Optimization for Anchors

論文通過分析目標bbox的分布特性,設計了緊密的搜索空間,主要基於以下兩個特性。

Upper and Lower Limits of the Anchors

論文對COCO數據集目標的尺寸和長寬比進行統計,並且得到了ratio的上界和下界:

圖4

統計結果如上圖所示,其中藍點為每個目標,黃線分別為上界和下界,中間的黑色長方形為BOHB搜索實驗的搜索空間。可以看到,有一部分的搜索空間在上界和下界之外,是無效的搜索,所以約束搜索空間在上界和下界之間是有必要的。另外,圖中有5個紅色的框,是論文為RPN的每層設定的對應搜索空間,下面會提到。

Adaptive Feature-Map-Wised Search Space

圖5

論文對FPN每層的輸出進行了統計,結果如上圖所示。可以看到,不同層包含不同數量和不同形狀的輸出,隨著層數的增加,anchor的數量越少,長寬比範圍也越小。

圖6

基於上面的分析,論文設計了自適應FPN的搜索空間,圖4中的5個紅框與上下界之間的區域即為FPN每層對應的搜索空間。

具體搜索如上圖所示,每層都有獨立的搜索空間,層數越大,anchor的數量、尺寸範圍和長寬比範圍越小。實際上,與圖4的黑矩形框搜索空間對比,這種自適應FPN搜索空間更大,而且每層較小的搜索空間有助於HPO算法的更集中地進行搜索。

Bayesian Anchor Optimization via Sub-sampling

圖7

論文提出的搜索方法如圖7所示,包含BO和子採樣方法,分別用於選擇潛在的設置以及為不同的設置分配不同的計算資源。整體思路和BOHB類似,將其中的Hyperband替換成了Sub-Sample方法。

Bayesian Optimization

論文在實現時,BO模塊與與BOHB類似,使用TPE(Tree Parzen Estimator)作為核密度函數進行建模,TPE包含兩個概率密度函數:和,分別表示結果好的概率和結果差的概率,其中為當前的觀測數據,為當前觀測數據的最優結果,採樣時取最大的超參數組合。需要注意的是,由於Hyperband只保證最種輸出的結果的準確性,其它結果由於在中途就停止了,資源不足,輸出不一定準確,直接用這些結果來對進行訓練會造成很大的誤差,所以需要一個更好的方法來解決這個問題。

Sub-Sample Method

Sub-Sample也是bandit-based方法,在資源有限的情況,儘可能測試出優質的候選超參數組合。定義為候選超參數組合,Sub-Sample方法基於觀測數據進行選擇, 為當前觀測點相對於上一個觀測點的收益。

Sub-Sample方法如上所示,首先對所有超參數組合進行最小資源的測試,得到一批觀測數據,然後每輪選取已使用資源最多超參數組合作為leader,若其它組合優於leader,則賦予其資源,否則賦予leader資源,判斷當前組合是否優於leader組合有以下兩個規則:

第一條規則根據觀測次數進行判斷,為非負單調閾值,用於控制每個超參數的最小觀測次數,一般設為。第二條規則根據兩個組合的近期收益進行判斷,收益更高即為優。

Experiment

COCO數據集上搜索到的最優anchor組合

在不同的數據集上進行對比

嵌入SOTA方法進行對比

與其它方法的對比實驗

Conclustion

論文提出超參數優化方法AABO,該方法核心基於貝葉斯優化和Sub-Sample方法,能夠自適應的搜索最優的anchor設置。從實驗結果來看,AABO能夠僅通過anchor設置優化,為SOTA目標檢測方法帶來1.4%~2.4%的性能提升。

參考內容BOHB -- https://nni.readthedocs.io/zh/latest/Tuner/BohbAdvisor.html論文:AABO: Adaptive Anchor Box Optimization for Object Detection via Bayesian Sub-sampling論文地址:https://arxiv.org/abs/2007.09336

相關焦點

  • 詳解QML的錨點布局anchor
    這裡設置整個窗口背景為黑色。例子中代碼我們只需要關注rect1和rect2的最後一行。比如rect1最後一行為anchors.left: parent.left,表示rect1左側的錨線在父級的左側錨線。rect2最後一行為anchors.left: rect1.right,表示rect2左側錨線在rect1的右側錨線。
  • 如何用EasyDL專業版實現貨架層數識別模型優化
    Anchor配置參數(aspect_ratios): 基於anchor原理的物體檢測模型對於先驗的anchor高寬比的選擇有一定要求,基於數據集特性去調整anchor參數可以讓模型更好地學習到定位物體的能力。針對貨架擋板高寬比較極端的特性,我們對代碼模板的anchor參數進行調整。
  • 完全理解PolarMask-圖像實例分割-anchor free新思路
    作者:張澤平 來源:人工智慧學習圈PolarMask在CVPR2020提出,是基於單張2D照片進行實例分割的典範。首先檢測效果和錨框的長寬比、數目有很大關聯,因此人們在努力提高錨框的數量,和最適合的分布方法。其次,錨框的外形是固定的,在處理較大的目標比較困難,比如飛機的兩翼。同時對於小目標也不夠友好。為了提高召回率,大量的錨框增加了計算量和內存佔用。因此,anchor free方法的潛力成為業界最希望提高性能的目標之一。
  • Win10玩遊戲優化設置教程 八大遊戲優化設置讓遊戲體驗更佳
    很多人並不知道,在Win10中也有一些針對遊戲的小設置,設置好後,能瞬間提升你電腦的遊戲體驗,具體需要設置哪些呢,馬上開始分享。 Win10系統遊戲優化設置 一、開啟「遊戲模式」 1.點擊【開始】菜單選擇【設置】,點擊【遊戲】。 劃重點:遊戲模式在Win10中是默認開啟的,但有些系統可能會被關閉,建議自行檢查一下。
  • 引入Powerball 與動量技術,新SGD優化算法收斂速度與泛化效果雙...
    本文介紹的是 IJCAI-2020論文《pbSGD: Powered Stochastic Gradient Descent Methods for Accelerated Non-Convex Optimization》,該論文由華中科技大學、滑鐵盧大學和加州大學伯克利分校合作完成。
  • Excel如何對表格進行自適應設置,方法很簡單
    方法就是使用.AutoFit屬性進行設置。下面用一個例子簡單介紹一下,如何對單元高度和寬度格進行自動調整。No.2方法很簡單,如上圖所示。R.Columns.AutoFit『自動調整列寬R.Rows.AtuoFit'自動調整行高上圖為例對表格內數據隨機生成,然後自動調整單元格高度和寬度。
  • 30篇亮點論文、5大主題帶你一覽ECCV 2020研究趨勢
    為了在保持原始網絡的完整結構的同時,為每個組自適應地選擇最相關的輸入通道,作者提出了動態組卷積(dynamic group convolution,DGC)的概念。DCG由兩個頭(head)組成,每個頭中包含一個用來為每個通道分配重要性分數的顯著性分數生成器(saliency score generator)。應用這些分數,可以對重要性分數較低的通道進行修剪。
  • 了解Android開發規範:性能及UI優化是什麼樣的?
    本文帶您全面了解Android開發規範,其中包括Android編碼規範,Android性能優化和Android UI優化,讀完絕對不會後悔的好文章。確保按鈕處於選擇狀態,並使activitygroup的當前activity與該button對應22.如果所開發的為通用組件,為避免衝突,將drawable/layout/menu/values目錄下的文件名增加前綴23.數據一定要效驗,例如字符型轉數字型,如果轉換失敗一定要有預設值;服務端響應數據是否有效判斷;二、Android性能優化
  • nvidia顯卡設置最高性能
    最近有小夥伴向小編問道自己配置英偉達顯卡的電腦玩起遊戲來畫面有些卡頓,應該怎麼才能將英偉達顯卡設置成最高性能?下面小編就來跟大家說一說,英偉達的顯卡如何設置成最高性能。nvidia顯卡設置最高性能1、要想對英偉達顯卡進行設置,首先我們要確定電腦上的顯卡驅動安裝好了。2、確定顯卡的驅動安裝正常。我們直接右鍵桌面的空白處,就可以打開英偉達的控制面板了。3、也可以通過打開「控制面板」→「硬體和聲音」打開。4、打開後在左邊一框的「3D設置」下列,單擊第二項「管理3D設置」。
  • 怎麼設置顯卡性能更高
    主板上的集成顯卡不能滿足我們的性能要求。獨立顯卡也成為筆記本電腦的標準配置。如果您的筆記本獨立顯卡是AMD,建議繼續使用集成顯卡。如何設置NVIDIA顯卡玩高性能的遊戲?接下來,小編將介紹設置NVIDIA顯卡進行高性能遊戲的操作步驟。很多人可能只在遊戲中設置圖像質量選項,例如消除混疊等;他們不注意視頻卡驅動程序控制面板中的設置。
  • 耕升遊戲助推器 GeForce Game Ready性能優化
    2020年2月27日,NVIDIA官方推出最新的GeForce Game Ready驅動程序,該驅動版本為442.50,這款全新的驅動經過專門調整,為遊戲帶來最佳的性能和優化,相信能給玩家帶來最佳的遊戲體驗,同時新的驅動還增加了對3款新的G-SYNC Compatible 遊戲顯示器的支持
  • 新增個人空間留言設置功能、團隊副本進行優化
    內容調整 1.新增個人空間留言設置功能 a.個人空間面板左下角新增「留言設置」功能按鈕,打開後可對個人空間的留言進行設置 b.可設置限制等級,默認大於等於20級可以留言 c.可設置限制關係
  • AMD Radeon驅動設置指南
    打開安裝程序後,接下來只需一路點擊下一步按鈕,並在安裝成功後依據說明重啟電腦即可。驅動安裝好後,你大可直接開始進行遊戲。然而在此之前,我們還是建議好好在系統顯示設置和Radeon設置中進行一番調校,讓你的遊戲體驗進一步提升。首先就是顯示解析度和刷新率的設置。在桌面中點擊右鍵,選擇顯示設置,就能看到顯示解析度的選擇框。
  • 以應用帶產品,「自適應」工業級機器人Flexiv試水3C電子和汽車製造
    王世全告訴鈦媒體App,如今拂曉自適應機器人在整個產品的綜合性能達到領先地位,內置更多性能較優的傳感器,讓整個手臂關節可以對外力形成高精度和實時感知控制。無論是在系統成熟度上,包括一些各項的性能能力,以及系統方面,拂曉機器人均有大幅度的提升。由於在產品研發過程中踩過很多坑,Flexiv更加依賴自研。
  • SteamVR增加自適應解析度功能,可充分利用GPU資源
    新版SteamVR增加的自動解析度功能可以充分利用GPU的性能,並可能讓無法購買高端顯卡的用戶接觸到VR。SteamVR運行時會監控GPU的負載,然後指示應用程式根據GPU的可用能力來呈現最佳解析度。折讓許多目前受限於顯卡無法被充分利用的用戶,無需花費時間手動設置解析度或其他圖形設置。擁有高端顯卡的用戶可以進一步改善VR體驗,因為SteamVR運行時可實現更高的解析度。
  • PS4《死亡擱淺》更新推出:照相模式、性能優化
    更新詳情:各種性能優化添加了照相模式按下觸摸板左側的按鈕以啟動照片模式。玩家可以按自己的喜好調整相機角度、顏色渲染以及人物姿勢。點擊分享按鍵以保存相片。通過選擇「選項」至「遊戲設置」至「臨時保存設置」,選擇在關閉照相模式時是否臨時保存對照相模式設置的更改。」鑑於上述內容,玩家需要按下觸摸板右側的按鈕退出。《死亡擱淺》現已發售於PS4平臺,本作將在2020年6月3日發售於PC(Steam/Epic)平臺。
  • 數毛社《賽博朋克2077》PC畫面最佳設置:最小畫質犧牲 性能提升最...
    數毛社《賽博朋克2077》PC畫面最佳設置:最小畫質犧牲 性能提升最高35% 時間:2020-12-14 11:15:23 來源:3DM編譯
  • 【科學講座】魏慶來:自適應動態規劃最優控制基本原理
    本次講座的主題是「自適應動態規劃最優控制基本原理」,中國科學院大學研究生導師、中國科學院自動化所的魏慶來研究員向同學們展示了自適應動態規劃相關的知識以及他在此方面的研究成果。由於同學們對自適應動態規劃不甚了解,魏慶來老師由「什麼是動態規劃」入手,介紹了動態規劃最優性原理——「整體最優必然是局部最優」。
  • 吉利星瑞發布FOTA升級 對全系車型的NVH性能進行優化
    通過對比可以發現,FOTA在技術上比SOTA更難,不過FOTA能帶給用戶更實用的功能和更強勁的性能。日前,吉利發布了吉利星瑞車型的首次FOTA升級暨上新計劃。對全系車型的NVH性能進行了優化,部分車型在功能上也有所升級。官方表示,此次吉利星瑞推出的FOTA GOS 01 1.0版本,將於11月21日起陸續分批推送給用戶。
  • 三星手機的這個功能,將是未來性能優化的新思路
    比如此前我們三易生活就曾提及過,帶有性能優化、耗電監測、文件誤刪找回等多個實用功能的Galaxy Labs;比如能深度自定義修改UI、操控邏輯的GoodLock,其實都屬於這種由於「精簡系統」,而在一定程度上遭到埋沒的優秀應用。