Yolo 비전 선전
선전
지금 참여하기
용어집

신경망 아키텍처 검색(NAS)

신경망 아키텍처 검색(NAS)이 객체 감지, AI 등에서 최적화된 성능을 위해 신경망 설계를 자동화하는 방법을 알아보세요.

신경망 아키텍처 검색(NAS)은 다음과 같은 분야에서 정교한 기술입니다. 자동화된 머신 러닝(AutoML) 인공 신경망의 설계를 자동화하는 인공 신경망의 설계를 자동화하는 정교한 기술입니다. 전통적으로 고성능 아키텍처를 설계하려면 심층적인 도메인 전문 지식과 광범위한 수작업 시행착오가 필요했습니다. NAS 는 알고리즘을 사용해 방대한 수의 가능한 네트워크 토폴로지를 체계적으로 탐색하여 이 프로세스를 혁신적으로 개선합니다. 토폴로지를 체계적으로 탐색하여 다음과 같은 성능 메트릭을 극대화하는 최적의 구조를 찾습니다. 정확성 또는 효율성. 이러한 자동화는 다음을 수행할 뿐만 아니라 딥 러닝 모델의 개발을 가속화할 뿐만 아니라 딥 러닝 모델의 개발을 가속화할 뿐만 아니라 네트워크 설계에 대한 인간의 직관에 대한 의존도를 줄임으로써 최첨단 AI에 대한 액세스를 민주화합니다.

NAS의 핵심 구성 요소

NAS 프로세스는 일반적으로 다음과 같은 세 가지 기본 구성 요소로 구성되며, 이 요소들이 함께 작동하여 최상의 결과를 도출합니다. 모델 아키텍처:

  1. 검색 공간: 알고리즘이 탐색할 수 있는 모든 가능한 아키텍처의 집합을 정의합니다. It 레이어 유형(예: 컨볼루션, 풀링)과 같은 기본 구성 요소를 지정합니다, 컨볼루션, 풀링), 활성화 함수, 그리고 어떻게 연결할 수 있는 방법 등을 지정합니다. 잘 설계된 검색 공간은 복잡성을 제한하고 결과 모델의 결과 모델의 타당성을 보장하기 때문입니다.
  2. 검색 전략: 검색 공간을 탐색하는 데 사용되는 방법입니다. 무차별 대입 방식 대신 접근 방식 대신 NAS는 다음과 같은 지능형 전략을 사용합니다. 강화 학습 진화 알고리즘, 또는 그라데이션 기반 방법(예: DARTS)과 같은 지능형 전략을 사용합니다. 이러한 전략은 이전 반복의 피드백을 기반으로 더 유망한 아키텍처를 탐색합니다.
  3. 성능 예측 전략: 모든 후보 아키텍처를 처음부터 학습시켜 평가하는 것은 평가하는 것은 계산 비용이 많이 듭니다. 이 속도를 높이기 위해 NAS는 가중치 공유, 데이터 하위 집합에 대한 트레이닝 또는 더 적은 에포크에 대한 훈련과 같은 추정 전략을 사용합니다. 이 알고리즘이 후보의 순위를 빠르게 매기고 가장 유망한 설계에 리소스를 집중할 수 있습니다.

실제 애플리케이션

NAS는 최신 AI 분야에서 가장 효율적이고 강력한 모델을 만드는 데 중요한 역할을 해왔습니다.

  • 컴퓨터 비전: 다음과 같은 작업에서 물체 감지이미지 분류와 같은 작업에서 NAS는 인간이 설계한 것보다 뛰어난 성능을 발휘하는 아키텍처를 생성했습니다. 시놀로지의 EfficientNet 제품군 이 대표적인 예로, NAS를 사용하여 기준 네트워크를 찾은 다음 이를 확장하여 훨씬 더 많은 매개변수로 훨씬 적은 수의 매개변수로 최첨단 정확도를 달성할 수 있습니다. 마찬가지로 다음과 같은 모델도 YOLO 같은 모델은 이러한 원칙을 활용하여 다음과 같은 두 가지를 모두 최적화합니다. 속도와 정밀도.
  • 엣지 AI 및 모바일 배포: NAS는 엣지 컴퓨팅을 위한 맞춤형 경량 모델을 설계하는 데 널리 사용됩니다. 경량 모델을 설계하는 데 사용됩니다. 하드웨어를 통합함으로써 제약 조건( 지연 시간 및 전력 소비량 등)을 검색 목표에 직접 통합함으로써, NAS는 성능 저하 없이 모바일 장치에서 효율적으로 실행되는 아키텍처를 장치에서 효율적으로 실행되는 아키텍처를 발견할 수 있습니다. 이는 다음과 같은 애플리케이션에 매우 중요합니다. 애플리케이션에 매우 중요합니다.

NAS 대 하이퍼파라미터 튜닝

신경 구조 검색과 하이퍼파라미터 튜닝을 구별하는 것이 중요합니다. 하이퍼파라미터 튜닝과 구별하는 것이 중요합니다. 최적화를 포함하지만 모델의 다른 측면을 대상으로 하기 때문입니다.

  • 신경망 아키텍처 검색(NAS)은 신경망 자체의 최적의 구조를 찾는 데 중점을 둡니다. 신경망 자체의 레이어 수, 연산 유형, 뉴런 간의 연결을 결정하는 데 중점을 둡니다.
  • 하이퍼파라미터 튜닝은 학습 속도와 같은 고정된 아키텍처의 구성 설정을 최적화하는 데 중점을 둡니다. 아키텍처의 구성 설정을 최적화하는 데 중점을 둡니다, 배치 크기 또는 옵티마이저 유형과 같은 고정 아키텍처에 대한 구성 설정을 최적화하는 데 중점을 둡니다.

NAS가 '두뇌' 구조를 구축하는 동안 하이퍼파라미터 튜닝은 두뇌가 가장 효과적으로 학습할 수 있는 방법을 학습하는 방법을 가르칩니다. 이 두 가지 기능은 최상의 결과를 얻기 위해 AutoML 파이프라인 내에서 함께 사용되는 경우가 많습니다.

NAS 파생 모델 사용

전체 NAS 프로세스를 실행하는 것은 리소스 집약적일 수 있지만, 개발자는 NAS를 사용하여 발견한 사전 학습된 모델을 사전 학습된 모델을 쉽게 활용할 수 있습니다. Ultralytics 라이브러리는 다음과 같은 최적화된 아키텍처의 로드 및 실행을 지원합니다. YOLO 같은 최적화된 아키텍처를 로드하고 실행할 수 있도록 지원하므로 사용자는 컴퓨팅 리소스를 사용하지 않고도 검색할 수 있습니다.

다음 예는 Python 사용하여 NAS 파생 모델을 로드하는 방법을 보여줍니다:

from ultralytics import NAS

# Load a pre-trained YOLO-NAS model discovered via architecture search
model = NAS("yolo_nas_s.pt")

# Display the model's architecture information
model.info()

# Validate the model's performance on the COCO8 dataset
metrics = model.val(data="coco8.yaml")

Ultralytics 커뮤니티 가입

AI의 미래에 동참하세요. 글로벌 혁신가들과 연결하고, 협력하고, 성장하세요.

지금 참여하기