預先建構的搜尋空間

類神經架構搜尋搜尋空間是達成良好成效的關鍵。定義所有可能的架構或參數,供您探索及搜尋。神經架構搜尋會在 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 點雲的 Lidar 搜尋空間:顯示 featurizer、backbone、decoder 和 detection head 的端對端搜尋。

  • 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 的對應項目,其 AP 提高了 6%。以下是搜尋到的 SpineNet-49 架構中主幹層的連結。

SpineNet 的結構。

資料擴增搜尋空間

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

神經架構搜尋平台提供 RandAugment 和 AutoAugment 增強搜尋空間,用於兩項工作:(a) randaugment_detection 用於物件偵測,(b) randaugment_segmentation 用於分割。它會在內部選擇要套用至訓練資料的增強運算作業清單 (例如自動對比、剪切或旋轉)。

RandAugment 搜尋空間

RandAugment 搜尋空間會透過兩個參數進行設定:(a) N,這是要套用至圖片的連續擴增運算次數;(b) M,這是所有這些運算的幅度。舉例來說,下圖顯示 N=2 作業 (Shear 和 Contrast) 套用至圖片的例子,其中 M=magnitude 的值不同。

圖片套用了 RandAugment。

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

AutoAugment 搜尋空間

您可以使用 AutoAugment 搜尋空間搜尋 choicemagnitudeprobability 運算,以便最佳化模型訓練。AutoAugment 搜尋空間可讓您搜尋政策選項,而 RandAugment 不支援這項功能。