NAS에 대한 논문 https://jmlr.org/papers/volume20/18-598/18-598.pdf 을 리뷰해보도록 하겠습니다.
딥러닝은 지난 몇 년 동안 이미지 인식, 음성 인식 및 기계 번역과 같은 다양한 작업에서 놀라운 발전을 가능하게 했습니다.
이러한 진보를 위한 중요한 측면 중 하나는 새로운 신경 구조
입니다.
현재 사용되는 아키텍처는 대부분 전문가에 의해 수동으로 개발되었으며,
이는 시간이 많이 걸리고 오류가 발생하기 쉬운 프로세스입니다.
이 때문에 자동화된 신경 아키텍처 검색 방법
에 대한 관심이 높아지고 있습니다.
소개할 논문에서는 이 연구 분야의 기존 작업에 대한 개요를 제공하고 검색 공간
, 검색 전략
및 성능 추정 전략
의 세 가지 차원에 따라 분류하여 리뷰해보도록 하겠습니다.
하이퍼 파라미터 최적화
(Feurer and Hutter, 2019) 및 메타 학습
(Vanschoren, 2019)과NAS
의 방법을 검색 공간
, 검색 전략
및 성능 추정 전략
의 세 가지 차원에 따라 분류한다.Search Space
: 검색 공간은 원칙적으로 나타낼 수 있는 아키텍처를 정의
합니다.
즉, 문제를 해결할 수 있는 아키텍처들이 있는 곳! 이라고 생각하면 쉬울 것 같습니다.
작업에 적합할 것 같은 아키텍처를 추려내면 검색 공간을 줄일 수는 있으나,
이 또한 전문가의 인간의 판단이 개입할 가능성이 있습니다!
이는 현재의 인간 지식을 뛰어넘는 새로운 건축 구성 요소를 발견하는 것을 방해할 수 있습니다.
Search Strategy
: 검색 전략은 말 그대로 검색 방법입니다. 최적의 아키텍처를 선택하는 것이 검색 전략의 좋은 알고리즘입니다.
검색 전략은 exploration-exploitation trade-off
에 빠질 수 있는데,
exploration
은 전체적인 부분을 탐색하는 것이고, exploitation
은 특정 부분에 집중하여 탐색하는 것입니다.
따라서 Search Strategy
는 exploration과 exploitation 을 둘 다 잘해야 합니다.
Performance Estimation Strategy
: NAS의 목적은 일반적으로 보이지 않는 데이터에서 높은 예측 성능을 달성하는 아키텍처
를 찾는 것입니다.
성능 추정
은 이 성능을 추정하는 프로세스를 의미합니다.
가장 간단한 옵션은 데이터에 대해 아키텍처의 표준 교육 및 검증을 수행
하는 것이지만,
안타깝게도 이 방법은 계산 비용이 많이 들고 탐색할 수 있는 아키텍처의 수를 제한합니다.
최근 연구는 이러한 성능 추정의 비용을 줄이는 방법을 개발하는 데 초점을 맞추고 있습니다.
Search Space
는 NAS 접근 방식이 원칙적으로 발견할 수 있는 신경 구조를 정의합니다!
이제 최근 작업의 공통 Search Space
에 대해 논의합니다.
체인 구조화된 신경망 아키텍처 A
(chain-structed neural network architecture)는 n개의 레이어의 Sequence 기록될 수 있는데, 여기서 i번째 레이어 Li은 레이어 i - 1로부터 입력을 받고 출력은 레이어 i + 1에 대한 입력, 즉 A = Ln x ... x L1xL0의 입력으로 사용됩니다.
각 레이어마다 layer 수
, Operation 종류
, 하이퍼 파라미터
등을 가지고 있습니다.
NAS에 대한 최근의 연구에는 위 그림에 나온 것처럼 복잡한 다중 지점 네트워크
를 구축할 수 있는, 수작업으로 만들어진 아키텍처에서 알려진 최신 설계 요소가 포함되어 있습니다. (예 : 스킵 연결 )
이러한 기능을 사용하면 훨씬 더 많은 자유도를 얻을 수 있습니다.
repeated motif
방법으로 모델 구성그러나, cell Search Space를 사용할 때는 또 하나의 고려 사항이 생깁니다.
얼마나 Cell을 쌓을 지?, 어떻게 연결해야 할 지?에 대한 고려 사항이 생기겠죠 !
random search
, 베이지안 최적화
, evolutionary methods
, 강화 학습(RL)
및 그레이디언트 기반 방법
을 포함하여 신경 아키텍처의 공간을 탐색하는 데 다양한 검색 전략을 사용할 수 있습니다.
evolutionary 알고리즘
은 이미 수십 년 전부터 전문가들이 Neural Network를 발전시키기 위해 사용하였습니다.
Bayesian optimization
는 2013년 이후 NAS에서 몇 가지 초기 성공을 거두어 최첨단(SOTA) 비전 아키텍처로 앞장섰고, 데이터 증강 없이 CIFAR-10에서 가장 좋은 성능을 보여주었습니다.
Bayesian optimization
은 인간 전문가와의 경쟁 데이터 세트에서 승리한 최초의 자동 조정 신경망이 되었습니다.
Architecture 생성
Architecture Performance
multi-armed bandit problem
으로 생각할 수도 있습니다.The search strategies
에서 최적의 아키텍처 A를 찾기 위한 가장 간단한 방법은
A 를 train data로 Train하고, validation data로 평가하는 방법입니다.
그러나, 각 아키텍처를 처음부터 다시 평가하도록 하는 것은 NAS의 경우
GPU가 수천 일동안 계산해야 할 일이 자주 발생할 것입니다.
이것을 해결하기 위해서 full training 이후에, 실제 수행의 lower fidelities
를 기준으로 성능을 추정할 수 있습니다.
짧은 training 시간
, 데이터의 일부분만 training
, 저해상도 이미지를 이용하여 training
, layer별 적은 filter들과 적은 cell들 설정
위의 표는 NAS의 평가 성능을 높이는 여러가지 방법들입니다.
lower fidelities
근사치는 계산 비용을 감소시키지만, 일반적으로 성능이 과소평가되기 때문에 추정치에 편향을 초래하기도 합니다.
Learning Curve Extrapolation
을 기반hyperparameters
를 고려합니다.network morphisms
라고 하며, network에 의한 기능을 그대로 두고 아키텍처를 수정할 수 있으므로 빠릅니다.network morphsims
는 아키텍처를 더 크고 복잡하게 만들 위험성이 있음.approximate network morphisms
을 사용하여 줄일 수 있습니다.