논문목록
- FairNAS: Rethinking Evaluation Fairness of Weight Sharing Neural Architecture Search
- Random Search and Reproducibility for Neural Architecture Search
- HYPERNETWORKS
- GRAPH HYPERNETWORKS FOR NEURAL ARCHITECTURE SEARCH
요약
- 1, 2번 논문은 모두 random search를 weight-sharing과 함께 활용할 경우 그 효율성과 성능이 충분히 뛰어나다는 점을 말하는 논문이다. (모두 NAS 리더보드 상위권에 위치한 모델들)
1. FairNAS
- 1번 논문은 NAS 기법 중에서도 주목받고 있는 DARTS, ENAS 알고리즘이 구조적으로 편향될 수 밖에 없다고 지적한다. 2가지 기법 모두 학습 초기에 모델의 성능을 조금이라도 높여주는 연산(operation)이 학습 후반까지도 빈번하게 사용될 수 밖에 없으며 DARTS에서 skip-connection이 지나치게 많이 사용된 현상이 그 결과라고 지적했다.
- 따라서 모든 연산(operation)들이 균등하게 사용될 수 있도록 적절히 학습을 진행하는 것이 중요하며 바로바로 shared weight를 학습하는 것이 아닌 gradient을 어느 정도 축적한 다음에 업데이트하는 방법을 소개했다. Supernet 학습이 subnet 학습과 모두 균등하게 다뤄줘야 한다는 것이 이 논문의 핵심이며 이름이 FairNAS인 이유이다.
2. Random Search and Reproducibility for Neural Architecture Search
- 2번 논문은 random search의 효율성과 현재 NAS 기법들의 문제점(재현성)을 지적하는 논문이다.
- 특히 random search를 weight sharing, early-stop 기법과 함께 사용한다면 ENAS 등 state-of-art한 결과들과도 충분히 견줄만한 성능을 보여주었다.
- 그 외에도 현재 NAS 기법들은 정확히 어떤 요소가 성능에 영향을 주는 것인지 명확하게 확인이 되지 않았기 때문에 ablation study가 필요하. 또한 저자는 random search with weight sharing이 좋은 성능을 보여주었다는 점을 들며 ENAS, DARTS 와 같은 복잡한 알고리즘이 꼭 필요한 것인가에 대한 의문을 제시했다.
- 결국 이 논문은 random search도 좋은 성능을 보여주며 동시에 간단하기 때문에 충분히 활용가능하다는 것이다.
3. HYPERNETWORKS
- 하이퍼 네트워크란?
- 더 큰 네트워크의 weight 를 생성하는 보다 작은 크기의 네트워크
- 기존에도 HyperNEAT, Discrete Cosine Transform, Differentiable Pattern Producing Networks 등 더 큰 네트워크의 weight를 생성하는 기법들은 존재했지만 큰 규모로 활용하기는 어려웠다.
- HYPERNETWORKS 가 기존과 다른 점은 메인 네트워크와 함께 end-to-end 로 학습이 가능하다는 점이다.
- 간단한 예시 정도로 HYPERNETWORKS 가 어떻게 weight을 생성하는 지 알 수 있다.
3.1 CNN
- 일반적인 cnn에서 한 커널이 $N_{in} \times N_{out}$ 의 필터와 각 필터가 $f_{size} \times f_{sizes}$의 크기를 가진다고 한다.
$$ \text{Each kernel contain} \\ N_{in} \times N_{out} \\ \text{filters with size} f_{size} \times f_{size} $$
- 그렇다면 한 kernel의 파라미터를 하나의 행렬에 저장할 수 있다.
$$ K_{j} \in \R^{N_{in}f_{size} \times N_{out}f_{size}} \\ \text{for each layer j = 1, ..., D}\\ \text{where D is the depth of the main CNN} $$
- 각 레이어 j 마다 하이퍼 네트워크는 레이터 임베딩 z 를 입력으로 받아서 행렬 K를 예측하게 된다.
$$ K^{j} = g(z^{j}), z^{j} \in \R^{N_{z}} $$
- 추가적으로 하이퍼 네트워크는 2-layer linear network로 구성되며 K 행렬을 채널별로 더 작은 단위로 나누어 채널별로 결과를 합쳐주는 방식으로 구성된다.
4. GRAPH HYPERNETWORKS FOR NEURAL ARCHITECTURE SEARCH
- 하이퍼 네트워크의 원리와 GNN을 결합한 모델로 뉴럴넷의 구조를 그래프로 변환하여 GNN으로 처리함과 동시에 각 연산별 weight값을 예측하도록 하는 모델이다.
- 학습된 GHN을 일종의 surrogate model 로서 활용하여 구조 검색의 속도를 높일 수 있었다.
4.1 GHN
- 알고리즘은 기본에 매우 충실하며 각 노드는 네트워크의 연산에 해당하고 엣지는 그 연결성을 의미한다. 각 노드의 최종 hidden state가 하이퍼 네트워크의 입력으로 사용되며 각 노드별 연산의 weight를 예측하게 된다. 초기 노드 임베딩은 연산을 의미하는 원핫 인코딩으로 초기화된다.
- 하이퍼 네트워크는 단순한 MLP로 구성했으며 모든 노드에서 공유된다. GNN에서 readout function과 매우 유사한 역할을 한다.
- 추가적으로 대부분의 NAS가 cell 단위의 검색기법을 채택한 만큼 이를 위한 장치도 마련했다. 그래프 임베딩을 계산하여(평균) 다음 GHN이 propagation을 수행하기 전에 입력으로 전달하여 cell 단위로 층을 쌓는 NAS 를 디자인했다.
- 기본적으로 GNN은 모든 노드들이 동시에 업데이트되는 synchronous propagation scheme를 사용한다. 하지만 이 기법이 long-rang에서는 효율적이지 않다는 점이 발견되었고(vanishing gradient 와 유사한 원인) 이를 보완할 수 있는 asynchronous propagation 기법이 제안되었다. 저자는 이 기법을 약간 변형하여 forward-backward propagation이라는 방법을 제안했는데 그래프의 크기에 따라 적절히 propagation 수를 조절하는 방법으로 보인다.
- 예측한 weight값들 또한 뉴럴넷에서 나온 값이기 때문에 loss는 매우 간단하게 계산이 가능하다.
'4. 논문리뷰 > AutoML' 카테고리의 다른 글
최신 SOTA NAS 모델 리뷰(1) (0) | 2022.10.20 |
---|---|
Task-Adaptive Neural Network Search with Meta-Contrastive Learning (0) | 2022.10.20 |
AutoML: A Survey of the State-of-the-Art (0) | 2022.10.20 |