預先建立的搜尋空間

Agent Platform Neural Architecture Search 搜尋空間是獲得良好效能的關鍵。 它會定義所有要探索和搜尋的潛在架構或參數。Agent Platform Neural Architecture Search 會在 search_spaces.py 檔案中提供一組預設搜尋空間:

  • Mnasnet
  • Efficientnet_v2
  • Nasfpn
  • Spinenet
  • Spinenet_v2
  • Spinenet_mbconv
  • Spinenet_scaling
  • Randaugment_detection
  • Randaugment_segmentation
  • AutoAugmentation_detection
  • AutoAugmentation_segmentation

此外,我們也提供下列搜尋空間範例:

Lidar 筆記本會在筆記本中發布驗證結果。其餘的 PyTorch 搜尋空間程式碼僅供參考,不適用於基準化

每個搜尋空間都有特定用途:

  • MNasNet 搜尋空間用於圖像分類和物件偵測工作,並以 MobileNetV2 架構為基礎。
  • EfficientNetV2 搜尋空間用於物件偵測工作。EfficientNetV2 新增了 Fused-MBConv 等新作業。詳情請參閱 EfficientNetV2 論文
  • NAS-FPN 搜尋空間通常用於物件偵測。如需詳細說明,請參閱這個章節
  • SpineNet 系列搜尋空間包括 spinenetspinenet_v2spinenet_mbconvspinenet_scaling。這些通常也用於物件偵測。如要瞭解 SpineNet 的詳細說明,請參閱這個章節

    • spinenet 是這個系列中的基本搜尋空間,在搜尋期間提供殘餘瓶頸區塊候選項目。
    • spinenet_v2 提供較小版本的 spinenet,可協助加快收斂速度,搜尋期間只提供瓶頸候選區塊。
    • spinenet_mbconv提供適用於行動平台spinenet的版本,並在搜尋期間使用 mbconv 區塊候選項目。
    • spinenet_scaling 通常會在找到合適的架構後使用,透過 spinenet 搜尋空間放大或縮小架構,以符合延遲時間需求。這項搜尋會針對圖片大小、篩選器數量、篩選器大小和區塊重複次數等項目進行。
  • RandAugmentAutoAugment 搜尋空間可分別搜尋偵測和區隔的最佳資料擴增作業。注意:資料擴增通常是在搜尋到合適的模型使用。如需 DataAugmentation 的詳細說明,請參閱這個章節

  • 3D 點雲的雷達搜尋空間 顯示特徵化器、主幹、解碼器和偵測頭的端對端搜尋。

  • PyTorch 3D 醫療影像分割搜尋空間範例顯示 UNet 編碼器和 UNet 解碼器的搜尋結果。

在大多數情況下,這些預設搜尋空間就已足夠。不過,如有需要,您可以使用 PyGlove 程式庫自訂這些現有搜尋空間,或視需要新增搜尋空間。如要指定 NAS-FPN 搜尋空間,請參閱範例程式碼

MNasnet 和 EfficientNetV2 搜尋空間

MNasNet 和 EfficientV2 搜尋空間定義了不同的 backbone 建構選項,例如 ConvOpsKernelSizeChannelSizebackbone 可用於分類和偵測等不同工作。

EfficientNet 的結構。

NAS-FPN 搜尋空間

NAS-FPN 搜尋空間定義 FPN 層中的搜尋空間,可連結不同層級的特徵以進行物件偵測,如下圖所示。

NAS-FPN 的結構。

SpineNet 搜尋空間

SpineNet 搜尋空間可搜尋具有比例置換中間特徵和跨比例連線的骨幹,在 COCO 上以 60% 的運算量,達到最先進的單階段物件偵測效能,且比 ResNet-FPN 對應項目高出 6% AP。以下是搜尋到的 SpineNet-49 架構中骨幹層的連線。

SpineNet 的結構。

資料擴增搜尋空間

搜尋完最佳架構後,您也可以搜尋最佳資料擴增政策。資料擴增功能可進一步提升先前搜尋架構的準確率。

Agent Platform Neural Architecture Search 提供 RandAugment 和 AutoAugment 擴增搜尋空間,適用於兩項工作:(a) 物件偵測的 randaugment_detection,以及 (b) 區隔的 randaugment_segmentation。系統會在內部從擴增作業清單中選擇,例如自動對比、剪裁或旋轉,並套用至訓練資料。

RandAugment 搜尋空間

RandAugment 搜尋空間由兩個參數設定:(a) N,這是要套用至圖片的連續擴增作業數量;(b) M,這是所有這些作業的幅度。舉例來說,下圖顯示對圖片套用 N=2 項作業 (剪裁和對比) 的範例,其中 M=量值各不相同。

對圖片套用 RandAugment。

針對 N 的特定值,系統會從作業庫中隨機挑選作業清單。擴增搜尋會找出目前訓練作業的最佳 NM 值。搜尋不會使用 Proxy 工作,因此會執行訓練工作直到結束。

AutoAugment 搜尋空間

您可以在 AutoAugment 搜尋空間中搜尋 choicemagnitudeprobability 的作業,以最佳化模型訓練。AutoAugment 搜尋空間可讓您搜尋政策選項,但 RandAugment 不支援這項功能。