Ruang penelusuran Neural Architecture Search adalah kunci untuk mencapai performa yang baik. Ruang penelusuran ini menentukan semua
arsitektur atau parameter potensial yang akan dijelajahi dan ditelusuri. Neural Architecture Search
menyediakan serangkaian ruang penelusuran default dalam
file
search_spaces.py
:
Mnasnet
Efficientnet_v2
Nasfpn
Spinenet
Spinenet_v2
Spinenet_mbconv
Spinenet_scaling
Randaugment_detection
Randaugment_segmentation
AutoAugmentation_detection
AutoAugmentation_segmentation
Selain itu, kami juga menyediakan contoh ruang penelusuran berikut:
- Ruang penelusuran Lidar untuk point cloud (set titik data) 3D
- Contoh ruang penelusuran segmentasi gambar medis 3D PyTorch
- Contoh ruang penelusuran MnasNet PyTorch
Notebook Lidar memublikasikan hasil verifikasi di notebook tersebut. Kode ruang penelusuran PyTorch lainnya hanya boleh digunakan sebagai contoh saja, bukan sebagai tolok ukur.
Setiap ruang penelusuran ini memiliki kasus penggunaan tertentu:
- Ruang penelusuran MNasNet digunakan untuk tugas klasifikasi gambar dan deteksi objek serta didasarkan pada arsitektur MobileNetV2.
- Ruang pencarian EffectiveNetV2 digunakan untuk tugas deteksi objek. EfficiencyNetV2 menambahkan operasi baru, seperti Fused-MBConv. Lihat makalah EfficientNetV2 untuk mengetahui detail selengkapnya.
- Ruang penelusuran NAS-FPN biasanya digunakan untuk deteksi objek. Anda dapat menemukan deskripsi mendetail di bagian ini.
Kelompok ruang penelusuran SpineNet mencakup
spinenet
,spinenet_v2
,spinenet_mbconv
, danspinenet_scaling
. Ruang penelusuran tersebut biasanya juga digunakan untuk mendeteksi objek. Anda dapat menemukan deskripsi mendetail untuk SpineNet di bagian ini.spinenet
adalah ruang penelusuran dasar dalam kelompok ini, yang menawarkan kandidat blok residual dan bottleneck selama penelusuran.spinenet_v2
menawarkan versispinenet
yang lebih kecil, yang dapat membantu konvergensi yang lebih cepat, dan hanya menawarkan kandidat blok bottleneck selama penelusuran.spinenet_mbconv
menawarkan versispinenet
untuk platform seluler dan menggunakan kandidat blok mbconv selama penelusuran.spinenet_scaling
biasanya digunakan setelah menemukan arsitektur yang baik dengan menggunakan ruang penelusuranspinenet
untuk meningkatkan atau menurunkan skalanya guna memenuhi persyaratan latensi. Penelusuran ini dilakukan pada hal-hal seperti ukuran gambar, jumlah filter, ukuran filter, dan jumlah pengulangan blok.
Ruang penelusuran RandAugment dan AutoAugment memungkinkan Anda menelusuri operasi pengayaan data yang optimal untuk deteksi dan segmentasi, secara berurutan. Catatan: Pengayaan data biasanya digunakan setelah model yang baik ditelusuri. Anda dapat menemukan deskripsi mendetail untuk DataAugmentation di bagian ini.
Ruang penelusuran Lidar untuk point cloud 3D menampilkan penelusuran menyeluruh pada featurizer, backbone, decoder, dan head deteksi.
Contoh ruang penelusuran segmentasi gambar medis 3D PyTorch menampilkan penelusuran pada encoder UNet dan decoder UNet.
Biasanya, ruang penelusuran default ini sudah mencukupi. Namun, jika diperlukan, Anda dapat menyesuaikan ruang penelusuran yang sudah ada, atau menambahkan yang baru sesuai kebutuhan menggunakan library PyGlove. Lihat kode contoh untuk menentukan ruang penelusuran NAS-FPN.
Ruang penelusuran MNasnet dan EfficientNetV2
Ruang penelusuran MNasNet dan EfficientV2 menentukan berbagai opsi build backbone
,
seperti ConvOps
, KernelSize
, dan ChannelSize
. backbone
dapat
digunakan untuk berbagai tugas seperti klasifikasi dan deteksi.
Ruang penelusuran NAS-FPN
Ruang penelusuran NAS-FPN menentukan ruang penelusuran di lapisan FPN yang menghubungkan berbagai tingkat fitur untuk deteksi objek seperti yang ditunjukkan pada gambar berikut.
Ruang penelusuran SpineNet
Ruang penelusuran SpineNet memungkinkan penelusuran backbone dengan fitur menengah yang dipermutasikan skala dan koneksi lintas skala, sehingga mencapai performa deteksi objek satu tahap yang canggih di COCO dengan komputasi yang berkurang sebanyak 60%, dan mengungguli pesaing ResNet-FPN sebesar 6% AP. Berikut adalah koneksi lapisan backbone dalam arsitektur SpineNet-49 yang ditelusuri.
Ruang penelusuran pengayaan data
Setelah arsitektur terbaik ditelusuri, Anda juga dapat menelusuri kebijakan pengayaan data terbaik. Pengayaan data dapat lebih meningkatkan akurasi arsitektur yang ditelusuri sebelumnya.
Platform Neural Architecture Search menyediakan ruang penelusuran augmentasi RandAugment dan AutoAugment untuk dua tugas: (a) randaugment_detection untuk deteksi objek dan (b) randaugment_segmentation untuk segmentasi. Library ini secara internal memilih antara daftar operasi augmentasi seperti auto contrast, shear, atau rotasi yang akan diterapkan ke data pelatihan.
Ruang penelusuran RandAugment
Ruang penelusuran RandAugment dikonfigurasi oleh dua parameter: (a) N
yang merupakan jumlah operasi augmentasi berturut-turut yang akan diterapkan pada
gambar dan (b) M
yang merupakan besarnya SEMUA operasi tersebut. Misalnya,
gambar berikut menunjukkan contoh ketika operasi N=2 (Shear dan
Kontras) dengan M=besar yang berbeda diterapkan pada gambar.
Untuk nilai N tertentu, daftar operasi diambil secara acak dari
bank operasi. Penelusuran augmentasi menemukan nilai terbaik N
dan M
untuk
tugas pelatihan yang sedang dikerjakan. Penelusuran tidak menggunakan tugas proxy, sehingga
menjalankan tugas pelatihan hingga akhir.
Ruang penelusuran AutoAugment
Ruang penelusuran AutoAugment memungkinkan Anda menelusuri operasi choice
, magnitude
, dan
probability
, untuk mengoptimalkan pelatihan model Anda.
Ruang penelusuran AutoAugment memungkinkan Anda menelusuri pilihan kebijakan,
yang tidak didukung RandAugment.