신경망 아키텍처 검색(NAS)이 딥러닝 모델 설계를 자동화하는 방식을 알아보세요. 핵심 메커니즘을 발견하고 Ultralytics 같은 최적화된 모델을 탐구해 보십시오.
신경망 구조 탐색(NAS)은 자동화된 머신러닝(AutoML)영역 내의 정교한 기법으로, 인공 신경망 설계를 자동화합니다. 기존에는 고성능 딥러닝(DL) 아키텍처를 설계하기 위해 방대한 인간 전문성, 직관, 그리고 시간 소모적인 시행착오가 필요했습니다. NAS는 이러한 수동적 과정을 대체하여 특정 작업에 최적화된 구조를 발견하기 위해 방대한 네트워크 토폴로지를 체계적으로 탐색하는 알고리즘적 전략을 활용합니다. NAS는 다양한 레이어와 연산 조합을 테스트함으로써 정확도, 계산 효율성 또는 추론 속도 측면에서 인간이 설계한 모델을 크게 능가하는 아키텍처를 식별할 수 있습니다.
우수한 아키텍처를 발견하는 과정은 일반적으로 상호작용하는 세 가지 기본 차원을 포함하여 최적의 신경망(NN)을 찾는 데 기여합니다:
하드웨어 제약이나 성능 요구사항이 엄격한 산업 분야에서 NAS는 컴퓨터 비전(CV) 및 기타 AI 분야의 한계를 확장하는 핵심 기술로 자리매김했습니다.
NAS의 구체적인 역할을 이해하기 위해서는 유사한 최적화 기법들과 구분하는 것이 도움이 됩니다:
전체 NAS 검색을 실행하려면 상당한 GPU 자원이 필요하지만, 개발자는 NAS를 통해 생성된 모델을 쉽게 활용할 수 있습니다. 예를 들어, YOLO 아키텍처는 객체 탐지 작업을 최적화하기 위해 이러한 검색 원칙을 활용하여 발견되었습니다.
다음 Python 사전 검색된 NAS 모델을 로드하고 사용하는 방법을 보여줍니다.
ultralytics 패키지입니다:
from ultralytics import NAS
# Load a pre-trained YOLO-NAS model (architecture found via NAS)
# 'yolo_nas_s.pt' refers to the small version of the model
model = NAS("yolo_nas_s.pt")
# Run inference on an image to detect objects
# This utilizes the optimized architecture for fast detection
results = model("https://ultralytics.com/images/bus.jpg")
# Print the top detected class
print(f"Detected: {results[0].names[int(results[0].boxes.cls[0])]}")
NAS의 복잡성 없이 최신 모델을 훈련하고자 하는 분들을 위해 Ultralytics 최신 연구 성과를 반영한 고도로 최적화된 아키텍처를 바로 사용할 수 있도록 제공합니다. Ultralytics 통해 이러한 모델의 데이터셋 관리, 훈련 및 배포를 손쉽게 수행할 수 있으며, 이는 전체 MLOps 라이프사이클을 간소화합니다.