신경 구조 탐색(NAS)은 기계 학습 분야에서 널리 사용되는 모델인 인공 신경망(ANN)의 설계를 자동화하는 기술이다. NAS는 수작업으로 설계된 구조와 동등하거나 더 나은 성능을 내는 네트워크를 설계하는 데 사용되어 왔다. NAS 방법은 사용되는 탐색 공간, 탐색 전략, 성능 추정 전략에 따라 분류할 수 있다. 탐색 공간은 설계 및 최적화할 수 있는 ANN의 유형을 정의하고, 탐색 전략은 탐색 공간을 탐색하는 데 사용되는 접근 방식을 정의하며, 성능 추정 전략은 가능한 ANN의 설계만으로 성능을 평가하여 이를 구축하고 훈련하지 않는다. NAS는 하이퍼파라미터 최적화 및 메타 학습과 밀접한 관련이 있으며 자동화된 기계 학습(AutoML)의 하위 분야이다.
강화 학습
강화 학습(RL)은 NAS 탐색 전략의 기반이 될 수 있다. Barret Zoph와 Quoc Viet Le는 CIFAR-10 데이터 세트를 대상으로 RL을 적용한 NAS를 사용하여 정확도 측면에서 최고의 수작업 설계 구조와 견줄 만한 네트워크 구조를 달성했으며, 오류율은 3.65로 관련 수작업 설계 모델보다 0.09% 더 우수하고 1.05배 더 빨랐다. Penn Treebank 데이터 세트에서 해당 모델은 LSTM보다 우수한 순환 셀을 구성하여 테스트 세트 혼란도 62.4를 기록했으며, 이는 이전 최고 시스템보다 3.6 혼란도 더 나은 결과이다. PTB 문자 언어 모델링 작업에서는 문자당 비트 1.214를 달성했다.
대규모 데이터 세트에서 모델 구조를 직접 학습하는 것은 오랜 시간이 걸릴 수 있다. NASNet은 소규모 데이터 세트용으로 설계된 구성 블록을 더 큰 데이터 세트로 전송하여 이 문제를 해결했다. 설계는 두 가지 유형의 컨볼루션 셀을 사용하여 입력 특징 맵을 컨볼루션할 때 두 가지 주요 기능을 수행하는 특징 맵을 반환하도록 제한되었다. 일반 셀은 동일한 범위(높이와 너비)의 맵을 반환하고, 축소 셀은 반환된 특징 맵의 높이와 너비가 2배로 줄어든다. 축소 셀의 경우 셀 입력에 적용되는 초기 연산은 보폭 2를 사용하여 높이와 너비를 줄인다. 설계의 학습된 측면에는 각 상위 계층이 입력으로 사용하는 하위 계층, 해당 계층에서 적용되는 변환, 각 계층에서 여러 출력을 병합하는 방법과 같은 요소가 포함되었다. 연구된 예에서 최적의 컨볼루션 계층(또는 "셀")은 CIFAR-10 데이터 세트용으로 설계된 다음 이 셀의 복사본을 각각 자체 매개변수로 쌓아 ImageNet 데이터 세트에 적용되었다. 이 접근 방식은 top-1 정확도 82.7%, top-5 정확도 96.2%를 달성했다. 이는 90억 개 더 적은 FLOPS, 즉 28% 감소된 비용으로 최고의 인간 발명 구조를 능가했다. 시스템은 다양한 계산 수준에서 수작업 대안을 계속 능가했다. 이미지 분류에서 학습된 이미지 특징은 다른 컴퓨터 비전 문제로 전송될 수 있다. 객체 감지의 경우 학습된 셀을 Faster-RCNN 프레임워크에 통합하여 COCO 데이터 세트에서 성능을 4.0% 향상시켰다.
소위 효율적인 신경 구조 탐색(ENAS)에서 컨트롤러는 대규모 그래프 내에서 최적의 하위 그래프를 탐색하는 방법을 학습하여 구조를 발견한다. 컨트롤러는 정책 그래디언트로 훈련되어 검증 세트의 기대 보상을 최대화하는 하위 그래프를 선택한다. 하위 그래프에 해당하는 모델은 표준 교차 엔트로피 손실을 최소화하도록 훈련된다. 여러 하위 모델이 매개변수를 공유하므로 ENAS는 다른 접근 방식보다 더 적은 GPU 시간을 필요로 하며 "표준" NAS보다 1000배 더 적게 필요하다. CIFAR-10에서 ENAS 설계는 NASNet과 비슷한 2.89%의 테스트 오류를 달성했다. Penn Treebank에서 ENAS 설계는 테스트 혼란도 55.8에 도달했다.
진화
NAS에 대한 대안적 접근 방식은 여러 그룹에서 사용된 진화 알고리즘에 기반한다. 신경 구조 탐색을 위한 진화 알고리즘은 일반적으로 다음 절차를 수행한다. 먼저, 다양한 후보 구조와 해당 검증 점수(적합도)로 구성된 풀이 초기화된다. 각 단계에서 후보 풀의 구조는 변이된다(예: 5x5 컨볼루션 대신 3x3 컨볼루션). 다음으로, 새 구조는 처음부터 몇 에포크 동안 훈련되고 검증 점수가 얻어진다. 그런 다음 후보 풀에서 가장 낮은 점수의 구조를 더 나은 새 구조로 교체한다. 이 절차는 여러 번 반복되므로 후보 풀은 시간이 지남에 따라 개선된다. ANN 진화 맥락에서 변이는 계층 추가 또는 제거와 같은 연산으로, 계층 유형 변경(예: 컨볼루션에서 풀링으로), 계층 하이퍼파라미터 변경, 훈련 하이퍼파라미터 변경을 포함한다. CIFAR-10 및 ImageNet에서 진화와 RL은 비슷한 성능을 보였으며, 둘 다 무작위 탐색보다 약간 우수했다.
베이지안 최적화
하이퍼파라미터 최적화에 효율적인 방법으로 입증된 베이지안 최적화(BO)는 NAS에도 적용될 수 있다. 이 맥락에서 목적 함수는 구조를 여러 에포크 동안 훈련한 후 검증 오류에 매핑한다. 각 반복에서 BO는 이전에 얻은 구조와 해당 검증 오류를 기반으로 이 목적 함수를 모델링하기 위해 대리 모델을 사용한다. 그런 다음 기대 개선과 같은 획득 함수를 최대화하여 평가할 다음 구조를 선택하며, 이는 탐험과 활용 사이의 균형을 제공한다. 획득 함수 최대화와 목적 함수 평가는 NAS에서 종종 계산 비용이 많이 들며, 이 맥락에서 BO 적용을 어렵게 만든다. 최근 BANANAS는 신경 예측기와 결합된 고성능 BO 인스턴스를 도입하여 이 방향에서 유망한 결과를 달성했다.
언덕 오르기
또 다른 그룹은 네트워크 형태 변환을 적용한 후 짧은 코사인 어닐링 최적화 실행을 수행하는 언덕 오르기 절차를 사용했다. 이 접근 방식은 단일 네트워크 훈련과 동일한 규모의 리소스를 필요로 하며 경쟁력 있는 결과를 산출했다. 예를 들어, CIFAR-10에서 이 방법은 단일 GPU에서 12시간 만에 오류율 5% 미만의 네트워크를 설계하고 훈련했다.
다중 목적 탐색
대부분의 접근 방식이 최대 예측 성능을 가진 구조를 찾는 데만 초점을 맞추는 반면, 대부분의 실제 응용에서는 메모리 소비, 모델 크기, 추론 시간(즉, 예측을 얻는 데 필요한 시간)과 같은 다른 목적이 관련된다. 이 때문에 연구자들은 다중 목적 탐색을 만들었다. LEMONADE는 라마르크주의를 채택하여 여러 목적을 효율적으로 최적화하는 진화 알고리즘이다. 각 세대에서 자식 네트워크는 현재 ANN 모집단에 대한 파레토 최적 경계를 개선하기 위해 생성된다. Neural Architect는 네트워크 임베딩과 성능 예측을 갖춘 리소스 인식 다중 목적 RL 기반 NAS로 주장된다. 네트워크 임베딩은 기존 네트워크를 훈련 가능한 임베딩 벡터로 인코딩하며, 이는 성능을 예측하고 정확도와 리소스 제약 간의 균형을 맞추는 구조로 탐색을 안내하는 데 사용될 수 있다.
과제 및 향후 방향
NAS는 ENAS 및 가중치 공유와 같은 발전에도 불구하고 여전히 계산 집약적이다. 탐색 공간 설계는 결과에 큰 영향을 미치며, 구조 평가는 종종 상당한 계산을 필요로 한다. 최근 연구는 탐색이 연속 최적화 문제로 완화되는 미분 가능한 NAS와 전체 훈련 없이 성능을 추정하는 방법을 학습하는 예측기 기반 방법을 탐구했다. 2020년대 중반 현재 NAS는 Deep learning 모델, Transformer (architecture) 기반 구조를 포함한 응용, 자동화된 기계 학습 파이프라인과의 통합으로 계속 진화하고 있다. Google DeepMind, OpenAI, Stanford AI Lab과 같은 기관의 연구자들은 NAS 방법 발전에 기여했지만, 비용과 복잡성으로 인해 많은 실제 배포는 여전히 수작업 설계 네트워크에 의존한다.
다른 분야와의 관계
NAS는 모델 설계 프로세스의 일부를 자동화하려고 하므로 하이퍼파라미터 최적화 및 Meta-Learning과 밀접하게 연결된다. 또한 Neural network 이론 및 Machine learning 실무와 교차한다. NAS에서 사용되는 강화 학습 및 진화 알고리즘과 같은 기술은 더 넓은 Artificial intelligence 연구에서 가져온 것이다. 성능 추정 전략은 종종 탐색 중 훈련 시간을 줄이기 위해 Weight Initialization 및 Batch Normalization 기술을 활용한다. NAS의 궁극적인 목표는 효과적인 Neural network 구조를 설계하는 데 필요한 인간의 노력을 줄여 비전문가가 특정 작업에 대한 고성능 모델을 만들 수 있게 하는 것이다.
결론
신경 구조 탐색은 신경망 설계를 자동화하는 방향으로의 중요한 진전을 나타낸다. 강화 학습, 진화 알고리즘, 베이지안 최적화 및 기타 전략을 활용하여 NAS는 인간이 설계한 구조와 견주거나 능가하는 구조를 발견할 수 있다. 그러나 계산 비용과 탐색 공간 복잡성은 여전히 주요 과제로 남아 있다. 방법이 개선됨에 따라 NAS는 다양한 영역에서 효율적이고 강력한 Deep learning 모델 개발에 점점 더 중요한 역할을 할 가능성이 높다.