類神經架構搜尋搜尋空間是達成良好成效的關鍵。定義所有可能的架構或參數,供您探索及搜尋。神經架構搜尋會在 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 系列搜尋空間包括
spinenet
、spinenet_v2
、spinenet_mbconv
和spinenet_scaling
。這些通常也用於物件偵測。如要進一步瞭解 SpineNet,請參閱這個章節。spinenet
是這個系列中的基礎搜尋空間,在搜尋期間提供殘留和瓶頸區塊候選項目。spinenet_v2
提供較小的spinenet
版本,有助於加快收斂速度,在搜尋期間只提供瓶頸區塊候選項目。spinenet_mbconv
提供行動平台適用的spinenet
版本,並在搜尋期間使用 mbconv 封鎖候選項目。spinenet_scaling
通常會在找到適當的架構後使用,方法是使用spinenet
搜尋空間來縮放或擴大架構,以符合延遲要求。這項搜尋會針對圖片大小、濾鏡數量、濾鏡大小和區塊重複數量等項目進行。
RandAugment 和 AutoAugment 搜尋空間可分別為偵測和分割作業搜尋最佳資料增強操作。注意:資料擴增通常會在找到合適模型後才使用。如需 DataAugmentation 的詳細說明,請參閱這個章節。
3D 點雲的 Lidar 搜尋空間:顯示 featurizer、backbone、decoder 和 detection head 的端對端搜尋。
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 的對應項目,其 AP 提高了 6%。以下是搜尋到的 SpineNet-49 架構中主幹層的連結。
資料擴增搜尋空間
在搜尋最佳架構後,您也可以搜尋最佳資料擴充政策。資料擴增功能可進一步提升先前搜尋架構的準確度。
神經架構搜尋平台提供 RandAugment 和 AutoAugment 增強搜尋空間,用於兩項工作:(a) randaugment_detection 用於物件偵測,(b) randaugment_segmentation 用於分割。它會在內部選擇要套用至訓練資料的增強運算作業清單 (例如自動對比、剪切或旋轉)。
RandAugment 搜尋空間
RandAugment 搜尋空間會透過兩個參數進行設定:(a) N
,這是要套用至圖片的連續擴增運算次數;(b) M
,這是所有這些運算的幅度。舉例來說,下圖顯示 N=2 作業 (Shear 和 Contrast) 套用至圖片的例子,其中 M=magnitude 的值不同。
對於給定的 N 值,系統會從作業庫中隨機挑選作業清單。增強搜尋會為目前的訓練工作找出 N
和 M
的最佳值。搜尋作業不會使用 Proxy 工作,因此會執行訓練工作至結束。
AutoAugment 搜尋空間
您可以使用 AutoAugment 搜尋空間搜尋 choice
、magnitude
和 probability
運算,以便最佳化模型訓練。AutoAugment 搜尋空間可讓您搜尋政策選項,而 RandAugment 不支援這項功能。