Lidar 노트북이 노트북에 인증 결과를 게시합니다.
나머지 PyTorch 검색 공간 코드는 벤치마킹이 아닌 예시로만 사용해야 합니다.
이러한 각 검색 공간에는 특정 사용 사례가 포함됩니다.
MNasNet 검색 공간은 이미지 분류 및 객체 감지 태스크에 사용되며 MobileNetV2 아키텍처를 기반으로 합니다.
객체 감지 태스크에는 EfficientNetV2 검색 공간이 사용됩니다.
EfficientNetV2는 Fused-MBConv와 같은 새로운 작업을 추가합니다. 자세한 내용은 EfficientNetV2 자료를 참조하세요.
NAS-FPN 검색 공간은 일반적으로 객체 감지에 사용됩니다.
자세한 설명은 이 섹션에서 찾을 수 있습니다.
SpineNet 검색 공간 계열에는 spinenet, spinenet_v2, spinenet_mbconv, spinenet_scaling이 포함됩니다.
일반적으로 객체 검색에도 사용됩니다.
SpineNet에 대한 자세한 내용은 이 섹션에서 찾을 수 있습니다.
spinenet은 이 계열의 기본 검색 공간으로, 검색 중에 residual 및 bottleneck 블록 후보를 모두 제공합니다.
spinenet_v2는 더 빠르게 수렴하는 데 도움이 될 수 있는 spinenet의 더 작은 버전을 제공하며 검색 중에 bottleneck 블록 후보만 제공합니다.
spinenet_mbconv는 모바일 플랫폼을 위한 spinenet 버전을 제공하며, 검색 중 mbconv 블록 후보를 사용합니다.
spinenet_scaling은 일반적으로 spinenet 검색 공간을 사용하여 지연 시간 요구사항이 충족되도록 확장하거나 축소하여 우수한 아키텍처를 찾은 후에 사용됩니다. 이 검색은 이미지 크기, 필터 수, 필터 크기, 블록 반복 횟수 등에 수행됩니다.
RandAugment 및 AutoAugment 검색 공간을 사용하면 각각 감지 및 세분화에 최적의 데이터 증강 작업을 검색할 수 있습니다.
참고: 데이터 증강은 일반적으로 적합한 모델이 이미 검색된 후에 사용됩니다. 이 섹션에서 DataAugmentation에 대한 자세한 내용을 찾을 수 있습니다.
대부분의 경우에는 기본 검색 공간으로 충분합니다.
하지만 필요한 경우 이러한 기존 항목을 맞춤설정하거나 필요에 따라 PyGlove 라이브러리를 사용하여 새 항목을 추가할 수 있습니다. NAS-FPN 검색 공간을 지정하려면 예시 코드를 참조하세요.
MNasnet 및 EfficientNetV2 검색 공간
MNasNet 및 EfficientV2 검색 공간은 ConvOps, KernelSize, ChannelSize와 같은 서로 다른 backbone 빌드 옵션을 정의합니다. backbone은 분류, 감지와 같은 서로 다른 태스크에 사용될 수 있습니다.
NAS-FPN 검색 공간
NAS-FPN 검색 공간은 다음 그림과 같이 객체 감지에 서로 다른 기능 수준을 연결하는 검색 공간을 FPN 레이어에서 정의합니다.
SpineNet 검색 공간
SpineNet 검색 공간을 사용하면 확장 조합 중급 기능과 교차 확장 연결을 사용하여 백본을 검색할 수 있으므로 COCO에서 60% 낮은 계산으로 stage-1 객체 검색의 최신 성능을 달성하고 ResNet-FPN보다 AP가 6% 더 뛰어납니다. 다음은 검색된 SpineNet-49 아키텍처의 백본 레이어 연결입니다.
데이터 증강 검색 공간
최상의 아키텍처를 이미 검색했으면 최상의 데이터 증강 정책도 검색할 수 있습니다. 데이터 증강은 이전에 검색된 아키텍처의 정확도를 추가로 향상시킬 수 있습니다.
신경망 아키텍처 검색 플랫폼에서는 (a) 객체 감지를 위한 randaugment_detection 및 (b) 세분화를 위한 randaugment_segmentation과 같은 태스크 두 개에 사용되는 RandAugment 및 AutoAugment 증강 검색 공간을 제공합니다. 내부적으로 대비 자동조절, 전단 또는 회전과 같은 증강 작업 목록 중에서 학습 데이터에 적용할 작업을 선택합니다.
RandAugment 검색 공간
RandAugment 검색 공간은 (a) 이미지에 적용할 연속 증강 작업 수를 나타내는 N과 (b) 이러한 모든 작업의 크기를 나타내는 M의 두 매개변수로 구성됩니다. 예를 들어 다음 이미지는 이미지에 서로 다른 M=magnitude가 적용된 N=2 작업(전단 및 대비)을 보여줍니다.
지정된 N 값의 경우 작업 목록이 작업 뱅크에서 무작위로 선택됩니다. 증강 검색은 현재 학습 작업에 최상의 N 및 M 값을 찾습니다. 검색은 프록시 태스크를 사용하지 않으므로 마지막에 학습 작업을 실행합니다.
AutoAugment 검색 공간
AutoAugment 검색 공간을 사용하면 작업의 choice, magnitude, probability를 검색하여 모델 학습을 최적화할 수 있습니다.
AutoAugment 검색 공간을 사용하면 RandAugment에서 지원하지 않는 정책의 선택사항을 검색할 수 있습니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2025-09-04(UTC)"],[],[],null,["# Prebuilt search spaces\n\nA Neural Architecture Search search space is key to achieving a good performance.\nIt defines all the\npotential architectures or parameters to explore and search. Neural Architecture Search\nprovides a set of default search spaces in the\n[`search_spaces.py`](https://github.com/google/vertex-ai-nas/blob/main/search_spaces.py)\nfile:\n\n- `Mnasnet`\n- `Efficientnet_v2`\n- `Nasfpn`\n- `Spinenet`\n- `Spinenet_v2`\n- `Spinenet_mbconv`\n- `Spinenet_scaling`\n- `Randaugment_detection`\n- `Randaugment_segmentation`\n- `AutoAugmentation_detection`\n- `AutoAugmentation_segmentation`\n\n| **Note:** We publish detailed verification results only for MnasNet and SpineNet search spaces in [MnasNet classification notebook](https://github.com/google/vertex-ai-nas/blob/main/notebooks/vertex_nas_classification_tfvision.ipynb) and [SpineNet object detection notebook](https://github.com/google/vertex-ai-nas/blob/main/notebooks/vertex_nas_detection_tfvision.ipynb). The rest of the search spaces code is based on publications, but we don't publish verification results for these. These should be used *as an example only\n| and not for benchmarking*.\n\nIn addition, we also provide the following search space examples:\n\n- [Lidar search space for 3D point clouds](https://github.com/google/vertex-ai-nas/blob/main/notebooks/vertex_nas_pointpillars_tfvision.ipynb)\n- [PyTorch 3D medical image segmentation search space example](https://github.com/google/vertex-ai-nas/blob/main/third_party/medical_3d/medical_3d_search_spaces.py)\n- [PyTorch MnasNet search space example](https://github.com/google/vertex-ai-nas/blob/main/notebooks/vertex_pytorch_mnasnet_tutorial.ipynb)\n\nThe Lidar notebook publishes verification results in the notebook.\nThe rest of the PyTorch search spaces code are to be used *as an example only\nand not for benchmarking*.\n\nEach of these search spaces has a specific use case:\n\n- MNasNet search space is used for image classification and object detection tasks and is based upon [MobileNetV2](https://arxiv.org/abs/1801.04381) architecture.\n- EfficientNetV2 search space is used for object detection tasks. EfficientNetV2 adds new operations, such as Fused-MBConv. See the [EfficientNetV2 paper](https://arxiv.org/abs/2104.00298) for more details.\n- NAS-FPN search space is typically used for object detection. You can find a detailed description in this [section](#nas-fpn).\n- The SpineNet family of search spaces include `spinenet`, `spinenet_v2`,\n `spinenet_mbconv`, and `spinenet_scaling`.\n These are typically used for object detection as well.\n You can find a detailed description for SpineNet in this\n [section](#spinenet).\n\n - `spinenet` is the base search space in this family, offering both *residual* and *bottleneck* block candidates during search.\n - `spinenet_v2` offers a smaller version of `spinenet`, which can help in faster convergence, offering only *bottleneck* block candidates during search.\n - `spinenet_mbconv` offers a version of `spinenet` for mobile platforms and uses *mbconv* block candidates during search.\n - `spinenet_scaling` is typically used *after* finding a good architecture by using `spinenet` search space to scale it up or down to meet latency requirements. This search is done over things such as image size, number of filters, filter size, and number of block repeats.\n- [RandAugment](#randaugment) and [AutoAugment](#autoaugment) search\n spaces let you search for optimum\n data augmentation operations for detection and segmentation, respectively.\n Note: Data augmentation is typically used *after* a good model has been\n searched already. You can find a detailed description for DataAugmentation\n in this [section](#data-augmentation).\n\n- [Lidar search space for 3D point clouds](https://github.com/google/vertex-ai-nas/blob/main/notebooks/vertex_nas_pointpillars_tfvision.ipynb)\n shows end-to-end search on featurizer, backbone, decoder and detection head.\n\n- [PyTorch 3D medical image segmentation search space example](https://github.com/google/vertex-ai-nas/blob/main/third_party/medical_3d/medical_3d_search_spaces.py)\n shows search on UNet encoder and UNet decoder.\n\nMost of the time, these default search spaces are sufficient.\nHowever, if needed, you can [customize](https://github.com/google/vertex-ai-nas/blob/main/third_party/tutorial/vertex_tutorial2.md)\nthese existing ones, or add a new one as\nrequired using the PyGlove library. See the [example\ncode to specify the NAS-FPN search space.](https://github.com/google/vertex-ai-nas/blob/main/nas_architecture/tunable_nasfpn_search_space.py#L87)\n\nMNasnet and EfficientNetV2 search space\n---------------------------------------\n\nThe MNasNet and EfficientV2 search spaces define different `backbone` building\noptions such as `ConvOps`, `KernelSize`, and `ChannelSize`. The `backbone` can be\nused for different tasks like classification and detection.\n\nNAS-FPN search space\n--------------------\n\nThe NAS-FPN search space defines the search\nspace in the FPN layers that connect different levels of features for object\ndetection as shown in the following figure.\n\nSpineNet search space\n---------------------\n\nThe SpineNet search space enables searching\nfor a backbone with scale-permuted intermediate features and cross-scale\nconnections, achieving state-of-the-art performance of one-stage object detection\non COCO with 60% less computation, and outperforms ResNet-FPN counterparts by 6%\nAP. The following are connections of backbone layers in the searched SpineNet-49\narchitecture.\n\nData augmentation search space\n------------------------------\n\nAfter the best architecture has been searched already, you can also search for a\nbest data augmentation policy. Data augmentation can further improve the\naccuracy of the previously searched architecture.\n\nThe Neural Architecture Search platform provides RandAugment and AutoAugment augmentation search\nspaces for two tasks: (a) randaugment_detection for object detection and (b)\nrandaugment_segmentation for segmentation. It internally chooses between a list\nof augmentation operations such as auto-contrast, shear, or rotation to be\napplied to the training data.\n\n### RandAugment search space\n\nThe RandAugment search space is configured by two parameters: (a) `N`\nwhich is the number of successive augmentation operations to be applied to\nan image and (b) `M` which is the magnitude of ALL of those operations. For\nexample, the following image shows an example where N=2 operations (Shear and\nContrast) with different M=magnitude are applied to an image.\n\nFor a given value of N, the list of operations are picked at random from the\noperation bank. The augmentation search finds the best value of `N` and `M` for\nthe training job at hand. The search doesn't use a proxy task and therefore\nruns the training jobs to the end.\n\n### AutoAugment search space\n\nThe AutoAugment search space lets you search for `choice`, `magnitude`, and\n`probability` of operations, to optimize your model training.\nThe AutoAugment search space lets you search for the choices of the policy,\nwhich RandAugment doesn't support."]]