자동 레이어 성장으로 최적 깊이 찾기

AutoGrow는 얕은 시드 네트워크에서 시작해, 새로운 레이어를 자동으로 추가하거나 중단함으로써 최적의 네트워크 깊이를 탐색한다. 성장 정책과 정지 정책을 단순히 검증 정확도 개선 여부에 기반해 설계했으며, 동일한 하이퍼파라미터로 ResNet·VGG 계열을 포함한 다양한 구조와 MNIST부터 ImageNet까지의 데이터셋에 적용해도 거의 최적에 가까운 깊이를 찾아낸다. 랜덤 초기화와 짧은 성장 주기를 활용해 기존 네트워크 모핑 기법보다 효율적…

저자: Wei Wen, Feng Yan, Yiran Chen

자동 레이어 성장으로 최적 깊이 찾기
본 논문은 딥 컨볼루션 네트워크의 **깊이 설계**가 여전히 경험적이고 비용이 많이 드는 문제임을 지적하고, 이를 자동화하기 위한 **AutoGrow** 프레임워크를 제안한다. AutoGrow는 얕은 시드 네트워크(각 서브‑네트워크당 하나의 서브‑모듈만 포함)에서 시작해, 정해진 **에폭 간격 K** 마다 현재 성장 대상 서브‑네트워크에 새로운 서브‑모듈(Residual block 혹은 Conv‑BN‑ReLU)을 **스택**한다. 성장 여부는 검증 정확도 향상이 사전 정의된 임계값 τ(0.05 %) 이하인지에 따라 결정되는 `meetGrowingPolicy()` 로 판단하고, 성장 후 일정 기간(J 에폭) 동안 정확도 향상이 없으면 `meetStoppingPolicy()` 가 발동해 해당 서브‑네트워크를 성장 리스트에서 제거한다. 성장 정책은 크게 두 가지가 있다. **Convergent Growth**는 현재 네트워크가 수렴한 뒤에만 레이어를 추가하는 전통적 방식이며, **Periodic Growth**는 K 를 작게 잡아 매 K 에폭마다 무조건 레이어를 추가한다. 실험 결과, Periodic Growth가 Convergent Growth보다 **우수**했으며, 이는 완전히 수렴된 얕은 모델이 새로운 레이어를 학습시키기에 부적절한 초기값을 제공한다는 가설을 뒷받침한다. 새로운 레이어의 초기화 방법에 대해서도 다양한 시도를 했다. 기존 연구에서 사용된 **Network Morphism**(ZeroInit, AdamInit)은 기존 파라미터를 보존하면서 레이어를 추가하지만, AutoGrow에서는 **랜덤 초기화**와 **큰 학습률**을 유지한 채 짧은 성장 간격을 두어 레이어가 아직 “미숙한” 상태에서 빠르게 최적화되도록 설계했다. 특히 Residual 블록의 마지막 BatchNorm을 **Gaussian(σ=1.0)** 로 초기화한 **GauInit**가 가장 높은 성능을 보였으며, 이는 ZeroInit 대비 0.5 %~0.9 % 정확도 향상을 가져왔다. 알고리즘 구현은 **Circular Linked List** 로 성장 가능한 서브‑네트워크를 순환 관리한다. 각 성장 단계에서 전체 네트워크를 K 에폭 학습하고, 성장·정지 정책을 평가한다. 성장 단계가 모두 종료되면, 발견된 최적 깊이의 네트워크를 **Fine‑tune** 단계(N 에폭)에서 추가 학습해 최종 모델을 완성한다. 실험은 MNIST, FashionMNIST, SVHN, CIFAR‑10/100, ImageNet 등 6개의 데이터셋과 **Basic3ResNet, Basic4ResNet, Plain3Net, Plain4Net** 등 네 가지 대표 아키텍처에 대해 수행했다. 주요 결과는 다음과 같다. * **CIFAR‑10/100, SVHN** 등 소규모 데이터셋에서는 AutoGrow가 1‑1‑1 → 2‑4‑3, 3‑4‑4 등 다양한 깊이 조합을 자동으로 찾아냈으며, 인간이 설계한 최적 깊이와 거의 동일하거나 약간 상회하는 정확도를 기록했다. * **ImageNet** 실험에서는 Basic4ResNet와 Bottleneck4ResNet에 대해 기존 ResNet‑50/101 대비 동일 FLOPs 수준에서 Top‑1 정확도가 0.3 %~0.5 % 향상되었다. * 전체 탐색 비용은 **단일 DNN 학습 시간**과 비슷했으며, 별도의 NAS 검색 비용이 전혀 필요하지 않았다. 또한, **하이퍼파라미터의 일반성**을 강조한다. τ, K, J, 학습률 스케줄만 적절히 설정하면, 전혀 다른 아키텍처와 데이터셋에 그대로 적용 가능하다. 이는 NAS 분야에서 흔히 겪는 “검색 비용 vs. 일반화” 딜레마를 크게 완화한다. 논문은 또한 기존 Network Morphism이 강조하던 “함수 보존” 초기화가 실제로는 깊이 증가 시 최적화 경로를 제한한다는 중요한 통찰을 제공한다. 실험적으로 Network Morphism(ZeroInit, AdamInit)으로 레이어를 추가하고 수렴된 상태에서 학습을 재개하면 정확도가 감소하거나 수렴 속도가 크게 저하되는 것을 확인했다(표 2). 반면, AutoGrow는 **랜덤 초기화 + 큰 학습률 + 짧은 성장 주기** 라는 세 가지 설계 원칙으로 이러한 문제를 회피한다. 결론적으로, AutoGrow는 **간단한 성장·정지 정책**과 **효율적인 초기화 전략**을 통해 인간 설계와 복잡한 NAS 검색 사이의 성능 격차를 최소화하면서도 탐색 비용을 크게 절감한다. 이는 실무에서 DNN 깊이를 자동으로 튜닝하고자 하는 연구자·엔지니어에게 실용적인 솔루션을 제공한다.

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기