Agent Platform Neural Architecture Search 搜尋空間是獲得良好效能的關鍵。
它會定義所有要探索和搜尋的潛在架構或參數。Agent Platform Neural Architecture Search 會在 search_spaces.py 檔案中提供一組預設搜尋空間:
MnasnetEfficientnet_v2NasfpnSpinenetSpinenet_v2Spinenet_mbconvSpinenet_scalingRandaugment_detectionRandaugment_segmentationAutoAugmentation_detectionAutoAugmentation_segmentation
此外,我們也提供下列搜尋空間範例:
Lidar 筆記本會在筆記本中發布驗證結果。其餘的 PyTorch 搜尋空間程式碼僅供參考,不適用於基準化。
每個搜尋空間都有特定用途:
- MNasNet 搜尋空間用於圖像分類和物件偵測工作,並以 MobileNetV2 架構為基礎。
- EfficientNetV2 搜尋空間用於物件偵測工作。EfficientNetV2 新增了 Fused-MBConv 等新作業。詳情請參閱 EfficientNetV2 論文。
- NAS-FPN 搜尋空間通常用於物件偵測。如需詳細說明,請參閱這個章節。
SpineNet 系列搜尋空間包括
spinenet、spinenet_v2、spinenet_mbconv和spinenet_scaling。這些通常也用於物件偵測。如要瞭解 SpineNet 的詳細說明,請參閱這個章節。spinenet是這個系列中的基本搜尋空間,在搜尋期間提供殘餘和瓶頸區塊候選項目。spinenet_v2提供較小版本的spinenet,可協助加快收斂速度,搜尋期間只提供瓶頸候選區塊。spinenet_mbconv提供適用於行動平台spinenet的版本,並在搜尋期間使用 mbconv 區塊候選項目。spinenet_scaling通常會在找到合適的架構後使用,透過spinenet搜尋空間放大或縮小架構,以符合延遲時間需求。這項搜尋會針對圖片大小、篩選器數量、篩選器大小和區塊重複次數等項目進行。
RandAugment 和 AutoAugment 搜尋空間可分別搜尋偵測和區隔的最佳資料擴增作業。注意:資料擴增通常是在搜尋到合適的模型後使用。如需 DataAugmentation 的詳細說明,請參閱這個章節。
3D 點雲的雷達搜尋空間 顯示特徵化器、主幹、解碼器和偵測頭的端對端搜尋。
PyTorch 3D 醫療影像分割搜尋空間範例顯示 UNet 編碼器和 UNet 解碼器的搜尋結果。
在大多數情況下,這些預設搜尋空間就已足夠。不過,如有需要,您可以使用 PyGlove 程式庫自訂這些現有搜尋空間,或視需要新增搜尋空間。如要指定 NAS-FPN 搜尋空間,請參閱範例程式碼。
MNasnet 和 EfficientNetV2 搜尋空間
MNasNet 和 EfficientV2 搜尋空間定義了不同的 backbone 建構選項,例如 ConvOps、KernelSize 和 ChannelSize。backbone 可用於分類和偵測等不同工作。

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

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

資料擴增搜尋空間
搜尋完最佳架構後,您也可以搜尋最佳資料擴增政策。資料擴增功能可進一步提升先前搜尋架構的準確率。
Agent Platform Neural Architecture Search 提供 RandAugment 和 AutoAugment 擴增搜尋空間,適用於兩項工作:(a) 物件偵測的 randaugment_detection,以及 (b) 區隔的 randaugment_segmentation。系統會在內部從擴增作業清單中選擇,例如自動對比、剪裁或旋轉,並套用至訓練資料。
RandAugment 搜尋空間
RandAugment 搜尋空間由兩個參數設定:(a) N,這是要套用至圖片的連續擴增作業數量;(b) M,這是所有這些作業的幅度。舉例來說,下圖顯示對圖片套用 N=2 項作業 (剪裁和對比) 的範例,其中 M=量值各不相同。

針對 N 的特定值,系統會從作業庫中隨機挑選作業清單。擴增搜尋會找出目前訓練作業的最佳 N 和 M 值。搜尋不會使用 Proxy 工作,因此會執行訓練工作直到結束。
AutoAugment 搜尋空間
您可以在 AutoAugment 搜尋空間中搜尋 choice、magnitude 和 probability 的作業,以最佳化模型訓練。AutoAugment 搜尋空間可讓您搜尋政策選項,但 RandAugment 不支援這項功能。