[ 어떤 뉴럴 네트워크를 사용할지 모르겠을 땐 NAS를 돌리자! ] Neural Architecture Search (NAS) NAS는 문제 해결을 위한 최적의 뉴럴 네트워크 아키텍처를 탐색하는 방법이다. 예시를 들어보자. 한 쪽에 A를 넣으면 반대편에서 B가 나오는 파이프가 있다. 우리가 흔히 하는 Hyperparameter optimization은 이쪽 파이프의 압력을 높이거나 저쪽 파이프 압력을 낮추면서 최적의 B가 나오도록 한다. 파이프는 유지한 채로 이것 저것 해본다. NAS는 파이프 자체와 그 구조를 바꾸면서 최적의 B를 찾는다. ● NAS에는 3 가지 요소가 있다. 1. Search space: 최적화된 아키텍처를 만들 수 있는 선택지 = 다양한 파이프의 종류. 2. Search strategy: 최적의 아키텍처를 search space에서 찾는 방법 = 어떤 파이프부터 적용해 볼까? 3. Performance estimation strategy: 찾은 아키텍처의 퍼포먼스를 추정 = 이 파이프는 최적의 B를 찾는데 도움이 된다/안된다. - 아키텍처 선택지 중에 하나 골라서 데이터를 넣어보면 모델의 퍼포먼스를 추정해보고 그 중에 최적의 아키텍처를 선택한다. ● 마이크로소프트의 Project Petridish - 이전 NAS들은 backward-search로, 이미 만들어진 전체 아키텍처들의 선택지들 중에서 선별해야 하며, 도메인 지식과 경험을 바탕으로 선택 가능한 아키텍처들을 미리 선정해 놓아야 했다 - Project Petridish는 Forward-search NAS로, 가장 기본이 되는 간단한 base model을 시작으로 퍼포먼스에 가장 도움이 되는 블럭들을 '쌓아 가면서' 전체 아키텍처를 탐색 - 따라서 더 다양한 아키텍처를, 최소한의 경험을 갖고 탐색할 수 있다 ● 그래서 어떻게 활용하는가? - 기존의 ML/AI 구축 과정에 NAS를 끼워 넣기 어렵다 - 마이크로스프트에서 오픈소스 프레임워크 Archai 개발. PyTorch와 연계. - 커맨드 라인에서 곧바로 실행가능 - Project Petridish 이외 다양한 NAS 테크닉을 활용할 수 있도록 함

Efficient Forward Architecture Search - Microsoft Research

Microsoft 365 Blog

Efficient Forward Architecture Search - Microsoft Research

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2021년 3월 12일 오전 9:09

 • 

저장 6조회 1,223

댓글 0