신경망 구조 탐색 (neural architecture search)
한 줄 정의: 신경망의 층 구성, 연결 방식, 연산 종류 같은 구조 자체를 알고리즘으로 자동 탐색하는 기법이에요.
쉽게 풀면
좋은 신경망 구조를 만드는 일은 오랫동안 연구자의 경험과 시행착오에 의존했어요. 신경망 구조 탐색은 가능한 구조 후보들을 정해 두고, 컴퓨터가 그중 성능이 좋은 구조를 자동으로 찾아내게 해요.
왜 중요한가
자동 머신러닝(AutoML)의 핵심 분야로, 모바일 기기처럼 속도와 정확도를 함께 맞춰야 하는 모델 설계에서 많이 쓰였어요. 탐색 비용을 줄이는 방법이 주요 연구 주제예요.
논문에서는 이렇게 쓰입니다
"지연 시간 제약을 포함한 신경망 구조 탐색으로 찾은 모델은 기존 수동 설계 모델보다 1.5배 빠르면서 비슷한 정확도를 보였다."
성능과 효율을 함께 고려해 탐색한 결과를 보고한 문장이에요.
조금 더 깊게 보면
신경망 구조 탐색은 탐색 공간(어떤 구조들을 후보로 둘지), 탐색 전략, 성능 추정 방법의 세 요소로 설명돼요. 초기 연구(Zoph와 Le, 2017)는 강화학습으로 구조를 생성해 막대한 GPU 시간이 들었어요. 이후 유전 알고리즘 같은 진화적 방법, 가중치 공유, 구조 선택을 연속값으로 바꿔 경사하강으로 푸는 DARTS 같은 방법으로 비용을 크게 줄였어요. 탐색 공간 설계가 결과를 크게 좌우해 무작위 탐색과의 공정한 비교가 중요하다는 지적도 있어요.
주의할 점
하이퍼파라미터 튜닝은 학습률이나 배치 크기 같은 학습 설정값을 찾는 것이고, 신경망 구조 탐색은 층과 연산 같은 모델 구조 자체를 찾는다는 점이 달라요. NAS는 네트워크 결합 저장장치(Network Attached Storage)와 약어가 같아요.