논문목록

  1. FairNAS: Rethinking Evaluation Fairness of Weight Sharing Neural Architecture Search
  2. Random Search and Reproducibility for Neural Architecture Search
  3. HYPERNETWORKS
  4. 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는 매우 간단하게 계산이 가능하다.

리뷰논문

  1. Neural Architecture Search without Training
  2. EPE-NAS: Efficient Performance Estimation Without Training for Neural Architecture Search
  3. Generic Neural Architecture Search via Regression
  4. β-DARTS: Beta-Decay Regularization for Differentiable Architecture Search

1. Neural Architecture Search without Training(2021, NASWOT)

1.1 Abstract

  • NAS 는 search space, architecture optimization, hyperparameter optimization 등 여러 단계를 거치는데 해당 논문은 그 중에서도 마지막 단계인 evaluation 에서 가장 많은 자원과 시간이 소모된다고 했다.
  • 실제 환경에서의 적용과 NAS 모델들의 성능 그 자체를 올리기 위해서는 평가단계에서의 효율을 높여야하며 NASWOT은 네트워크를 학습시키지 않아도 그 성능을 평가할 수 있는 방법을 제안했다.

1.2 Algorithm

  • NASWOT의 핵심 내용은 학습되지 않은 네트워크에 데이터를 넣어줌으로써 고유한 binary code로 식별이 가능하며 이를 활용해 이후 학습성능까지 예측이 가능하다는 것이다.
  • 아래의 그림은 간단한 뉴럴 네트워크를 노드의 활성화 상태에 따라 2차원 공간에 나타낸 것이다. 가장 오른쪽 그림에서 각 활성화상태에 따라 각자 고유한 영역이 생성되는 것을 확인할 수 있으며 이것이 NASWOT의 핵심 아이디어이다.

  • 뉴럴 네트워크는 결국 활성화함수로 이루어진 수많은 노드의 집합이며 데이터에 따라 활성화된 노드를 binary code로 벡터화해서 이를 Hamming distance로 측정할 수 있다.
  • 논문에서는 어떠한 네트워크에 대해 N개의 데이터를 넣었을 때 그 성능을 평가하기 위해 아래와 같은 kernel matrix를 정의했다.

$$ N_{A} : \text{The number of rectifed linear units}\\ d_{H} : Hamming distance $$

  • 최종적인 네트워크의 성능 점수 s 는

  • 결과적으로 kernel matrix의 off-diagonal 성분이 없을수록 좋은 성능을 보여주었고, s score도 높은 점수를 보여주었다. 이 결과가 보여주는 것은 좋은 네트워크일수록 데이터들간에 다른 활성분포를 보여주어야 한다는 것이다. 그래야만 네트워크가 결과적으로 다른 네트워크를 제대로 구분할 수 있게 된다는 것이 논문의 주장이다. 아래는 성능에 따라 kernel matrix의 분포를 보여준 그림이다.

  • 추가적으로 실제로도 네트워크의 성능과 s 점수와 상관관계가 있는지 확인하기 위해 이 둘의 Kendall's Tau correlation coefficient 를 측정했다.

  • 위의 내용들을 바탕으로 NASWOT은 단순히 random search 기법으로 네트워크를 추출하고 점수를 측정하여 최대 점수의 네트워크를 저장하는 방법을 선택했다.

1.3 Result

2. EPE-NAS(2021)

2.1 Abstract

  • NASWOT의 아이디어를 조금 변형한 기법으로 마찬가지로 네트워크를 학습하지 않고 성능을 예측하는 것을 목표로 한다.

2.2 Algorithm

  • NASWOT과 거의 동일하지만 네트워크의 활성화 상태를 단순히 binary code로 변환하여 그대로 사용했던 것과 달리 EPE-NAS는 노드들의 gradient 상태를 사용한 것으로 보인다.
  • 어떤 데이터 x가 네트워크(w = fx)에 의해서 매핑된다고 했을때 아래와 같이 정의가 가능하다.

  • 네트워크의 성능을 평가하기 위해 다른 데이터들에 대해서 Jacobian matrix를 정의한다면

  • Jacobian matrix를 사용해서 저자는 하나의 클래스에 대해서 covariance matrix를 정의했다.

  • 위에서 계산한 covariance matrix에서 correlation matrix 를 계산하고, 각 클래스별로 모든 correlation matrix를 구했다면 아래의 계산을 통해 최종적인 네트워크 성능 점수를 계산한다.

  • 이후의 과정은 NASWOT과 크게 다르지 않다.

2.3 Result

  • 저자는 EPE-NAS가 NAS-WOT과 비교해 검색 시간을 단축했으며 데이터가 커져도 그 성능을 유지할 수 있었다고 한다.

3. Generic Neural Architecture Search via Regression(2021, GenNAS)

3.1 Abstract

  • GenNAS는 이름 그래도 일반적인 NAS를 칭하는 것으로 보이며, 저자는 현존하는 NAS 기법들은 대부분 특정 데이터, 테스크에 특화되었다는 것이 문제점이라고 지적했다.
  • 따라서 GenNAS는 down-stream task에 대한 정보를 모르더라도 일반적으로 좋은 성능을 보여주는 네트워크 모델을 찾아낼 수 있다.

3.2 Algorithm

  • GenNAS의 핵심 아이디어는 pretext-learning 과 유사하며, 실제로 사용되는 이미지 데이터 내에서 학습에 도움이 되는 유용한 정보를 추출할 수 있도록 네트워크를 학습시키는 것이다.
  • 논문에서는 이미지 데이터는 결국 base signal이 있으며 이것을 sign 1D, sign 2D, Dot, Gdot 으로 모델링했다.
  • 또한 CNN은 layer 층마다 local, global 정보를 추출하는 정도가 다르며 따라서 각 layer 층마다 추출되는 feature map를 ground truth로 self-supervised learning 을 하겠다는 것이 GenNAS의 아이디어이다.

3.3 Result

4. β-DARTS(2022)

4.1 Abstract

  • DARTS는 NAS 와 gradient 기법을 합친 알고리즘으로 랜덤 또는 컨트롤러를 사용해 아키텍쳐 제안을 학습했던 다른 NAS와 다르게 데이터에 효율적으로 연산이 가능하다.
  • 하지만 DARTS는 gradient 기법을 사용하기 때문에 학습결과가 특정 task에 지나치게 피팅하는 문제가 발생했고, 또한 연산들간의 불균형 특히 non-parameter 연산인 skip-connection이 지나치게 많이 사용되는 문제가 발생했다.
  • 이를 해결하기 위해 DARTS- 등 변형모델들이 많이 나왔지만, 다른 데이터를 필요로 한다던지 제약점이 존재했다.
  • β-DARTS는 위의 모든 문제를 해결한 새로운 방법으로 L2 / weight decay 기법에서 아이디어를 얻었다. 기존이 변형 모델들은 DARTS에서 weight 이었던 α를 정규화하는 것에 집중했지만, 이 연구는 α를 통해 β 를 정규화하는 방법을 제시했다.

4.2 Algorithm

  • β-DARTS 는 DARTS 모델의 2가지 문제점을 해결했다.
    1. Robustness
      • DARTS는 skip-connection이 지나치게 많이 사용되면서 성능자체가 안 좋아지는 현상이 있었다. β-DARTS는 연산들간의 공정한 경쟁이 가능하기 때문에 이러한 현상이 발생하지 않았다.
    2. Generalization
      • 일반화는 모든 딥러닝 모델들의 고질적인 문제인데 β-DARTS 는 정규화를 통해 CIFAR-10에서 단 한번만 검색을 수행했는데도 CIFAR-100, ImageNet 데이터에서 좋은 성능을 보여주었다.

4.2.1 DARTS

  • DARTS의 핵심이 되는 미분가능한 연산식은 아래와 같다.

  • 이때 일반적으로 사용하는 L2 / weight decay 정규화는 아래와 같이 표현할 수 있다.

  • 여기서 β-DARTS 는 위의 식을 통해 α 를 정규화했을때 β 에 어느정도 영향을 줄 수 있는지 계산했다. 이를 계산하기 전에 α 에 무언가 정규화를 했다고 가정하고 위의 2개의 수식을 일반화하면 아래와 같다.

  • 위의 수식들을 대입하여 정리하면 β 를 정규화하기 전후 관계를 α 로 표현할 수 있다.

  • 위의 수식에서 적절한 F 함수를 찾아내는 것이 해당 논문의 핵심 내용이다. F 함수는 2가지 조건을 만족해야한다.
    1. F 함수는 α 의 amplitude에 영향을 받지않아야 한다.
    2. F 함수는 α 의 amplitude의 상대적인 값은 반영해야 한다.
  • 이를 바탕으로 논문에서는 이 함수를 α 에 대한 softmax 함수로 결정했다.

  • 따라서 적절한 regularization term을 Loss에 더해줌으로 위에서 구한 F 함수의 형태로 α 에 영향을 주도록 하는 것이다. 그리고 이를 위해서 smoothmax 라는 새로운 regularization loss 값을 제안했다. 이 loss 값을 미분하면 위의 F 함수와 동일한 형태를 가진다.

  • 여러 연구를 통해 α을 목표로 정규화하는 것은 β에 거의 영향을 주지않을수 있으며 DARTS 모델의 수렴속도는 β 값에 훨씬 영향을 많이 받는다는 것이 증명되었다. 또한 기존의 DARTS는 skip-connection의 β 값이 convolution의 β 보다 영향력이 컸는데, 이 정규화 식을 사용하면 β 이 커질수록 그 값을 낮추려는 경향을 보이기 때문에 skip-connection과 convolution의 β 영향력을 뒤집을 수 있게 된다.

4.3 Result

요약

  • 세 논문은 현재 https://paperswithcode.com/sota/neural-architecture-search-on-nas-bench-201기준으로 정확도, 검색시간 모두 어느정도 준수한 모델들이다.
  • 특히 EPE-NAS는 검색시간이 나와있는 모델 기준으로 최고 정확도인 46.38%와 비교해서 42.05%의 준수한 성능을 보여주었고, 검색시간도 151200(s) / 206.2(s)로 굉장히 좋은 성능을 보여주었다.
  • 1,2번 연구는 모델 평가에서 효과적으로 시간을 단축시켰고 그에 따라서 좋은 모델을 찾아낼 가능성을 더 높일 수 있었다고 판단된다.
  • 또한, search space를 정하고 수억개의 모델들을 밑바닥부터 모두 평가해야했던 기존의 방법들에서 벗어나서 NAS-benchmark 데이터를 최대한으로 활용한 것으로 보인다. 이미 좋은 모델들을 많이 가지고 있는데 굳이 밑바닥부터 시작하는 것은 비효율적일 수 있으며, 이는 NNS의 접근법과도 매우 유사해보인다.

추가

  • 현재 β-DARTS는 CIFAR-10, CIFAR-100, ImageNet 데이터 기준 성능에서는 모두 1위를 기록했다. 검색시간은 CIFAR-10 기준 3.2 시간 정도 소요되었다.

논문 제목: Task-Adaptive Neural Network Search with Meta-Contrastive Learning

https://arxiv.org/pdf/2103.01495.pdf

참고 논문: ONCE-FOR-ALL: TRAIN ONE NETWORK AND SPECIALIZE IT FOR EFFICIENT DEPLOYMENT

https://arxiv.org/pdf/1908.09791.pdf

1. Introduction

  • Neural Architecture Search(NAS): RL, EA, parameter sharing, surrogate schemes 등 다양한 기법들을 통해 뉴럴넷의 구조(architecture) 디자인의 자동화를 목표로 한다.
  • 하지만 위의 기법들은 모두 시간, 자원 소모가 심하며 뉴럴넷의 구조에만 주목했기 때문에 새로운 task에서는 재학습을 요구했다.
  • 이를 극복하기 위해 충분히 학습된 supernet을 기반으로 sub-network를 찾아내는 방법이 주목받았다.
  • 다만 supernet 기법은 학습에 사용한 데이터와 테스트에 사용할 데이터가 다를 경우 sub-optimal한 결과를 보여준다.
  • 따라서 task-adaptive 하게 구조 및 파라미터 검색을 모두 수행하는 것이 매우 중요하며 MetaD2A 는 NAS에 meta-learning을 도입한 기법 중에 하나다. 하지만 MetaD2A 도 파라미터는 고려하지 않았다.

1.1 NNS

  • 주어진 데이터에 적절한 뉴럴넷의 architectureparameter 를 모두 검색할 수 있는 기법
  • 데이터와 모델 구조를 사용한 cross-modal latent space 를 활용하여 검색을 수행한다.

2. Algorithm

  • NNS의 동작 흐름은 크게 meta-training / test 2가지 단계를 거친다.

2.1 Meta-Training

  • 데이터에 가장 적절한 뉴럴넷 모델을 학습하는 과정으로 이 단계에서는 model-zoo 라는 집합과 cross-modal latent space 를 형성하는 것을 목표로 한다.
  • Cross-modal latent space 
    • Dataset / Model 로 이루어진 공간으로 이후 검색이 수행되는 공간이며 아래의 수식을 목표로 공간이 형성된다. 이후 검색에서도 아래의 수식을 통해 최적의 모델을 찾는 것을 목표로 한다.Cross-modal latent space
    • 위 수식을 바탕으로 관련된 데이터와 모델간의 간격(similarity)는 가깝게, 관련없는 데이터와 모델의 간격을 멀어지도록 한다.

  • Meta-Contrastive Learning

$$ L_m(\tau;\theta,\phi) = L(f_{sim}(q, m^+), \ f_{sim}(q,m^-);\theta,\phi) \\ q = E_Q(D^\tau;\theta), \ m^+=E_M(M^\tau;\phi), \ m^-=E_M(M^\tau;\phi) \\ L = max(0, \alpha - log {exp(f_{sim}(q, m^+))\over{exp(\sum_{\gamma\in p(\tau), \gamma \neq \tau } f_{sim}(q, m^-))}}) $$

  • scoring 함수(fsim)는 cosine similarity를 사용했으며 위의 손실함수를 최소화한다는 것은 결국 특정 task에 대해 dataset(query)와 관련이 있는 모델의 유사성은 최대한 높게, 관련이 없는 모델은 최대한 낮게 한다는 것을 의미한다.
  • 아래의 수식은 query를 고정해서 모델을 조정하는 것이며 반대의 경우도 고려하여 손실함수를 만들었기 때문에 contrastive loss 라고 설명한다.

  • NNS 는 latent space 내에서 query, model embedding 을 적절히 학습하는 것이 중요하다.
  • 이를 위해서 meta-contrastive learning 을 수행했으며, 학습에 사용한 손실 함수는 아래와 같다.
  • Meta-Performance Surrogate Model
    • 추가적으로 논문에서는 real-world 에서 활용하기 위해 모델의 재학습 과정도 단축시킬 필요성이 있다고 언급했다.
    • 이를 위해서 모델의 성능(accuracy)를 예측할 수 있는 surrogate model을 학습해서 unseen dataset에 대한 모델 성능을 즉각적으로 예측할 수 있도록 손실 함수를 추가했다.
    $$ min_{\phi,\theta,\psi} \sum_{\tau \in p(\tau)} L_m(\tau;\theta,\phi) + L_q(\tau;\theta,\phi) + \lambda \cdot L_s(\tau; \psi) \\ L_s(\tau; \psi) = (s_{acc}^{\tau} - S(\tau; \psi))^2 \\ S: \text{Accuracy predictor} \\ \lambda: \text{hyper-parameter for weighting losses} $$
    • 위의 손실 함수가 최종적인 목표함수이다.

2.2 Meta-test

  • 이 단계에서는 이미 학습이 완료된 latent-space와 query encoder를 사용하여 주어진 dataset에 대해 최적의 모델을 검색하는 것을 목표로 한다.

  • query encoder는 이미 학습이 되어있기 때문에 새로운 query embedding을 얻는 것은 쉽고, model embedding은 모두 계산이 끝났기 때문에 가장 높은 유사도를 가진 모델을 그대로 가져오기만 하면 된다.
  • 이 과정에서 후보군 모델을 여러개 선택한 후에 위에서 학습했던 performance prediction 까지 사용하여 최종 모델을 선택하게 된다. 이때 모델을 재학습하지 않고 예상성능을 알아내는 것이 기존의 방법들과의 차별점이다.
  • 모델의 구조와 파라미터도 이미 최적으로 학습이 끝났기 때문에 추가적인 fine-tunning 과정도 상당히 절약할 수 있게 된다.

3. Model

  • 학습에 사용된 encodermodel-zoo는 다음과 같이 설계되었다.

3.1 Query Encoder

  • Query encoder는 수십에서 수백개의 데이터로 이루어진 하나의 dataset을 latent space 로 옮겨주는 역할을 하기 때문에 무엇보다도 permutation-invariance 한 특성을 가지고 있어야한다.
  • 따라서 논문에서는 dataset 내에 n 개의 데이터만을 활용하여 pooling 과정을 적용해 이를 구현했다.

$$ q = \sum_{X_{i} \in D}\rho(X_{i})\\ \rho: \text{continuous\ learnable\ function} $$

3.2 Model Encoder

  • 논문에서는 뉴럴넷 M 을 인코딩하기 위해 2가지 정보를 활용했다.

$$ m^\tau = \sigma([v^{\tau}{t}, v^{\tau}{f}]) = E_{M}(M^{\tau}; \phi) \\ v^{\tau}{t}: \text{topological encoding}\\ v^{\tau}{f}: \text{functional encoding}\\ $$

  • topological encoding
    • 모델의 구조(layer, kernel) 등을 정보화한것으로 큰 문제없이 계산할 수 있다.
  • functional encoding
    • 모델의 파라미터 정보를 인코딩한 것으로 수백만개의 가중치를 벡터화하는 것은 사실상 불가능하다.
    • 그래서 논문은 단순하게 input-output 쌍으로 이 정보를 인코딩했다.
    • 뉴럴넷이 각기 다른 가중치를 가지고 있기 때문에 같은 입력이라도 각자 다른 출력을 내놓을 것이라는 간단한 아이디어
  • 위 2가지 정보를 사용하여 model embedding을 계산한다.

3.3 Model-zoo

  • model-zoo는 단어 그대로 모델들의 저장소 개념이다.
  • (Data, Model, Accuracy) 의 쌍으로 이루어진 집합으로 아래의 과정을 통해 형성된다.
  • 논문에 정확한 묘사는 찾지 못했지만, meta-training의 매 iteration마다 사용할 데이터, 모델들을 선별하는 과정으로 보이며 그렇기 때문에 학습의 성능을 높일 수 있는 방향으로 선별하는 것으로 판단된다.

  • fzoo 함수는 (D, M) 쌍을 model-zoo에 추가하는 것이 얼마나 도움이 될 것인지 판단하는 함수이다.
  • g 함수는 Hypervolume Indicator라고 알려진 대표적인 set-quality indicators 이다. 따라서 fzoo를 그대로 해석하면 어떤 (D, M) 쌍에 대해서 이것을 추가하는 것이 기존의 model-zoo의 성능(퀄리티)보다 낮다면 추가하지 않겠다는 의미이다.
정리하면 NNS는 real-world 에 존재하는 데이터와 모델을 활용하여 model-zoo를 형성한다. 이때 초기 model-zoo에서 출발하여 매 iteration마다 데이터셋, 모델로 이루어진 적절한 latent space와 performance predictor를 학습한다. 그리고 다시 model-zoo에 학습에 도움이 될 것이라고 판단되는 데이터셋과 모델 쌍을 추가하고 학습을 반복한다. 이후 test 단계에서는 주어진 데이터셋을 인코더를 사용해 임베딩한후 계산이 모두 끝난 model embedding 중에서 최적의 모델을 선택하게 된다.

4. Experiment

  • 실험에 사용된 데이터는 Kaggle real-world image 96개를 사용하여 86개의 meta-training, 10개의 meta-test 데이터를 만들었다. 추가적인 가공을 거쳐서 최종적으로 140 / 10 개의 데이터를 사용했다.
  • model-zoo 는 OFA search space 를 활용했으며 OFA는 supernet 을 활용하여 다수의 sub-network를 효율적으로 만들어낼 수 있는 알고리즘이다. NNS는 이 방법을 통해 100개의 네트워크를 형성했고, 총 14,000 개의 데이터-모델 쌍을 만들었다.
  • 실험을 통해 얻은 결과는 다음과 같이 정리할 수 있다.

4.1 Meta-test Results

  • 위의 표에 의하면 TANS 는 다른 비교군 모델들의 성능을 모두 뛰어넘었으며 효율성면에서도 압도적인 성능을 보여주었다고 한다.
  • 또한 TANS를 통해 얻는 뉴럴넷은 재학습과정에서도 다른 비교군 모델들보다 시작 정확도가 높았으며 수렴시점도 빨랐다고 한다.

4.2 Analysis of the Architecture & Parameters

  • 이 실험에서는 model encoder에서 toplogy / functional embedding의 중요성을 언급한다.
  • topology embedding을 사용하지 않은 TANS가 다른 비교군 모델들의 성능을 뛰어넘었다는 점에서 결국 성능 향상은 관련 모델들의 weight를 옮겨오는 것에서 결정이 된다고 했다.
  • 또한 topology embedding을 사용하지 않은 TANS가 full TANS보다 성능이 1% 낮게 나타났다는 점에서 topology embedding을 중요성을 강조했다.

4.3 Contraints-conditioned Retrieval

  • OFA는 다양한 제한조건(number of parameter, FLOP) 등을 중요하게 고려한 NAS 기법으로 NNS는 OFA 보다도 다양한 constraints에서도 좋은 성능을 보여주었다.

4.4 Analysis of the Cross-Modal Retrieval Space

  • 해당 실험은 NNS를 통해 학습한 latent space가 얼마나 적절한 지를 확인한 실험이다.
  • 논문에서는 latent space를 분석한 결과 데이터와 모델 사이의 간격이 가까울수록 확실히 높은 성능을 보여주었다고 한다.
  • 또한 5개의 데이터셋에 대해 Spearman correlation 점수도 측정했다. 해당 데이터셋 근처에 존재하는 50개의 모델과 가장 멀리 있는 query points들 근처의 50개 모델들의 correlation을 측정한 점수이다. 즉 연관관계가 낮은지 높은지에 따라 query point가 적절히 배치되었나를 판단하는 척도로 보인다.
  • 결과적으로 모델의 정확도가 다소 낮았던(hard-problem) Food 데이터셋은 0.752로 높은 점수를 보였다. 즉 unseen-data가 자신에게 특화된 모델들을 찾는 것에 어려움이 있었다 라는 것으로 판단된다.
  • 반대로 모델 성능이 좋았던 Colorectal 데이터셋은 0.213으로 낮은 점수를 보였다.

4.5 Meta-performance Predictor

  • Performance predictor를 사용한 경우와 사용하지 않은 경우를 비교한 결과 1.5 ~ 8%의 성능 차이를 보여주었고, 이는 predictor의 중요성을 보여준다.

  • 또한 topology / functional embedding을 모두 사용한 predictor가 그렇지 않은 경우보다 좋은 성능을 보여주었고, model-zoo가 축소된 모델에서도 full-model-zoo와 비교해 충분히 좋은 성능을 보여주었다고 한다.

4.6 Retrieval Performance

  • 이 실험에서는 NNS가 meta-train 데이터에 대해서 같은 모델을 찾아낼 수 있는가를 평가했다.
  • 정확한 설명은 없지만 meta-train 에서 사용한 데이터와 출처는 같지만 train 단계에서는 사용하지 않은 데이터를 입력으로 넣었을 때 같은 모델을 찾아낼 수 있는지 평가한것으로 보인다.
  • 결과적으로 predictor, contrasive learning을 한 경우가 높은 정확도를 보였음을 시사하고 있다.

4.7 Analysis of Model-Zoo Construction

  • NNS는 다른 NAS 들과는 다르게 search 단계에서 거의 0에 가까운 자원을 요구한다. 또한 반복적인 검색이 필요없기 때문에 다른 NAS 들과 비교해 효율적으로 검색이 가능하다.
  • 또한 논문에서 제안한 zoo construction 방법이 random 기법보다 효율적이었음을 언급했다.

Limitations

  • 저자는 NNS가 잘 작동하기 위해서는 결국 다양한 데이터와 모델들로 구성된 model-zoo를 먼저 만들어야 하며 이것이 단점으로 작용한다고 했다.
  • model-zoo를 만드는 과정에서 초기에 편향에 빠질 위험이 있으며 이를 해결하는 것이 중요한 문제라고 언급했다.

'4. 논문리뷰 > AutoML' 카테고리의 다른 글

최신 SOTA NAS 모델 리뷰(2)  (0) 2022.10.20
최신 SOTA NAS 모델 리뷰(1)  (0) 2022.10.20
AutoML: A Survey of the State-of-the-Art  (0) 2022.10.20

https://arxiv.org/pdf/1908.00709.pdf

  • AutoML 이란?
    • 다양한 종류와 방대한 양의 데이터가 필요해지고 여러 task를 수행하는 것이 요구됨에 따라 neural network 모델이 점차 복잡해지기 시작했다.
    • 지금까지는 사람이 직접 설계한 모델이 좋은 성능을 보여주었지만 그 비용이 절대 저렴하지 않았다.
    • 데이터 생성부터 모델 학습, 평가까지 neural network 학습의 전반적인 과정을 자동화하는 AutoML이 주목받기 시작
    • AutoML은 크게 4가지 단계로 나뉜다.
      • data preparation
      • feature engineering
      • model generation
      • model evaluation
    • 해당 포스트에서 주요하게 다룰 model generation은 다시 search space와 optimization methods로 나눌 수 있다.

Data preparation

  • Data collection, data cleaning, data augmentation 등 데이터를 수집하고 불필요한 데이터를 걸러내는 모든 과정을 포함한다.

Feature engineering

  • 이전 과정이 데이터의 수를 조절하는 과정이었다면, 해당 과정은 데이터의 밀도를 조절하는 과정이라 할 수 있다.
  • feature selection, feature construction, feature extraction 등 가지고 있은 데이터의 feature를 활용하여 모델 학습에 더 용이하게 사용될 수 있도록 하는 과정

Model generation

  • 가장 많은 연구가 이루어지고 있는 단계로 학습에 사용할 모델을 만들어내는 과정으로 크게 2가지 카테고리를 가진다.
    • Search Space
    • Architecture Optimization Method
  • 사용되는 모델은 크게 2가지로 나뉨
    • Traditional ML model: SVM, KNN, DNN
    • Deep neural network: 현재 대부분의 연구는 해당 모델을 사용해서 이루어지고 있으며 해당 논문도 주로 이 모델을 다룬다.
  • Hyperparameter
    • Optimization 단계에서 사용되는 파라미터도 크게 2가지 분류
      • Train parameter: learning rate
      • Model parameter: filter size, number of layers

1. Search space

  • 학습할 모델(여기서는 DNN)의 구조를 찾아낼 공간(분포)를 정의한 것으로 모델을 설계하는 형태에 따라 명칭이 나뉜다.

1.1 entire-structured

  • DNN의 모든 layer를 하나하나 검색하는 방법으로 모델이 구체적이지만 자원소모가 심하다.
  • 직관적이고 간단한 방법이지만 시간소요가 심하고 해당 방법으로 만든 모델은 학습데이터에 fitting하게 되며 활용성이 높지 않다.

1.2 cell-based

  • entire-structured의 단점(transferability)을 보완한 방법
  • DNN에서 다수의 layer를 하나의 뭉치 단위로 검색하여 해당 cell을 반복하여 쌓아올리는 방식으로 모델 설계
  • 모델 전체를 찾아내는 것이 아니라 하나의 cell만 찾아내기 때문에 시간소모도 적은 편이며 활용도도 높다.
  • 일반적으로 연산을 수행하는 normal cell과 데이터 차원을 조절하는 reduction cell을 반복하며 사용
    • 다만 대부분의 NAS 모델이 image task 를 수행하는 모델이라 이런 방식을 활용하는 것으로 보이며 다른 데이터에서는 반드시 (normal, reduction) X n 구조를 가져갈 필요는 없어보인다.
  • 하나의 cell 안에 몇개의 연산(operation)을 포함할지도 다르게 할 수 있으며 이를 block이라고 표현했다.

  • cell-based 는 search, evaluation 2가지 phase로 이루어지는데 그 방식때문에 문제가 생긴다.
    • search 단계에서는 메모리 문제로 8개의 cell만 사용했지만 evaluation 에서는 실활용을 위해 더 많은 cell을 사용하게 된다. 하지만 이럴 경우 cell은 8개만 사용될 경우 최적의 모델을 찾아낸 것이기 때문에 더 많은 cell을 사용할 경우 오히려 모델 성능이 저하될 수 있다.
    • 이 문제를 해결하기 위해서 P-DARTS라는 모델에서는 cell의 개수를 서서히 늘려가면서 사용되는 operation의 개수를 점차 줄여가는 방식으로 search, evaluation 단계의 괴리감을 줄여준다.

1.3 hierarchical

  • cell-based 모델은 효율적으로 모델을 검색할 수 있지만, cell 단위에 집중하기 때문에 DNN 네트워크 그 자체에는 크게 신경쓰지 않았다. 이것을 해결하기 위해 제안된 방법이 hierarchical 방법
  • cell-based와 비슷하지만 layer, operation을 단계적으로 결합하여 모델을 만드는 방식
  • 아래의 그림처럼 operation 하나에서 시작하여 서서히 결합하는 방식으로 cell-based 방법보다 더 다채롭게 channels과 size를 탐색할 수 있다.
  • 최종 레벨의 NN이 하나의 cell로서 활용된다.
  • 기존의 cell-based 방법처럼 단일한 구조의 cell을 반복하는 것보다는 최대한 다양한 cell의 구조를 검색하는 방법이 제시되고 있다.

1.4 morphism-based

  • 초기에 설정한 DNN 구조에 동사상(morphism)의 NN을 결합하며 모델을 만드는 방식
  • transfer learning, knowledge distillation 처럼 기존의 모델을 추가적으로 활용하는 방법은 제안되었지만 이 방법들은 근본적으로 기존의 model 구조를 변형시키지 않았다.
  • morphism-based는 그에 따라 고안된 방법으로 이미 학습이 된 모델의 지식을 활용하여 더 빠른 시간내에 더 큰 모델로 성장할 수 있도록 제안된 방법

Search space의 주의사항

  • Search space를 어떻게 정의하냐에 따라 자원 소모와 모델의 성능이 크게 달라질 수 있기 때문에 적절한 방법을 선택하는 것이 중요하다.
  • 최대한 넓은 범위의 모델을 충분히 탐색할 수 있도록 설계하는 것이 중요하다.

2. Architecture Optimization

  • 위 단계에서 모델을 탐색할 공간, 방법을 정의했다면 검색과정을 어떻게 최적화할지 결정하는 단계로 다양한 방법이 존재

2.1 Evolutionary Algorithm

  • 전통적인 최적화 방법으로 문제의 환경에 크게 제한받지않고 최적화 가능
  • 일반적으로 다양한 EA는 encoding 기법으로 종류를 나눈다.
    • Direct Encoding
      • 네트워크 구조를 binary로 표현하는 방법으로 사용하기는 쉽지만 자원소모가 심하다.
    • Indirect Encoding
      • 네트워크의 형성 규칙을 encoding하는 방법으로 parent networks로부터 변형된 child networks는 적어도 부모 네트워크만큼의 성능은 보장받게 된다.
  • EA는 4가지 단계로 나뉨
    • Selection
      • 선택의 과정으로 crossover를 위한 성능이 좋은 모델들만 선별하는 과정
      • 선택 방법으로는 fitness selection, rank selection, tournament selection 등이 있다.
    • Crossover
      • selection 이후 2개의 네트워크 쌍을 만들어 새로운 offspring network를 만들어내는 과정
    • Mutation
      • Crossover가 부모 네트워크의 구조를 그대로 가져왔다면 mutation에서는 이를 변형하게 된다.
      • 단순히 bit를 바꾸는 방식으로도 구현가능하며 때로는 성능을 낮추지만 다양한 모델의 가능성을 높여준다.
    • Update
      • 위의 과정을 통해 생성된 모델들을 모두 보존할 수는 없기 때문에 일부 모델을 버리는 과정으로 단순히 성능 위주로 버릴 수 있고, 시간 순으로도 버릴 수 있다.

2.2 Reinforcement Learning

  • Neural Architecture Search with Reinforcement Learning 에서 처음 NAS와 RL을 결합하며 제안된 방법
  • RNN으로 구성된 controller가 네트워크 구조를 제안하며 모델 성능을 높이는 방향으로 reward를 고려해 업데이트된다.
  • 성능은 매우 우수하지만 시간과 자원소모가 너무 크다는 단점이 있다.
  • 단점을 해결하기 위해 ENAS 는 parameter-sharing 을 사용해 시간과 자원소모를 크게 감소시켰다.

2.3 Gradient Descent

  • 기존의 2가지 방법(EA, RL)은 discrete search space 에서 네트워크를 생성했다.
  • DARTS 라는 알고리즘에서는 처음으로 NAS를 gradient-descent 와 결합하였다.
  • 하나의 연산(operation)만 선택하여 사용했던 기존의 방식과 달리 DARTS 에서는 각 연산에 가중치를 두어 모든 연산이 영향을 주도록 설정했으며 그에 따라 GD 를 적용할 수 있었다.
  • 다만 DARTS 는 architecture(a), weights(theta) 파라미터를 결합하여 최적화를 진행했는데 이것은 간단한 문제가 아니며 그에 따라 여러 방법들이 제안되었다.
    • mixed-level optimization은 그 중에서 하나로 overfitting, error of bilevel optimization을 모두 해결할 수 있는 가장 적절한 방법으로 알려져있다.
  • GD의 또 다른 단점으로는 edge의 출력값이 모든 연산의 가중합이기 때문에 연산이 늘어남에 따라 메모리 사용량이 증가한다는 것이다.
    • 이를 해결하기 위해 많은 연구에서 Gumbel Softmax라는 differentiable한 샘플러를 사용했다.
    • 일부 연구에서는 이러한 샘플러를 활용함과 동시에 forward 에서는 가중치가 가장 높은 연산만 사용하고 gradient는 모든 연산에서 계산하는 방법으로 GPU 소모를 절약했다.
  • 마지막 문제로는 많은 연산(operation) 을 동시에 최적화하기 때문에 연산들은 경쟁하게 되고 이에 따라 성능저하가 발생할 수 있다는 것이다.
    • 실제로 DARTS 에서는 skip-connection이 모델 마지막 단계에 집중되면서 성능저하가 발생하였다.
    • DARTS+ 에서는 early-stop을 사용해 이 문제를 해결했다.

2.4 Surrogate Model-based Optimization

  • SMBO에서는 surrogate model을 사용해 기존 모델에서 가장 최적의 모델을 만들어내기 때문에 검색시간을 단축할 수 있었다.
  • surrogate model은 크게 Bayesian optimization, neural networks로 나눌 수 있다.
    • BO 기법은 유명한 방법이지만 시간소모가 크며 사용이 제한적이다.
    • 일부 연구에서는 LSTM, MLP 등을 surrogate model로 사용했다.

2.5 Grid and Random Search

  • 몇몇 NAS 연구에서 사용된 최적화 기법으로 매우 간단하게 사용이 가능하지만 시간, 자원소모가 크다는 단점이 있다.
  • random search라 성능이 낮을 것 같지만 early-stopping과 RS를 함께 사용한 NAS 가 ENAS와 비교해 성능차이가 크지 않았다고 한다.

2.6 Hybrid Optimization Method

  • 위에서 제안된 각 기법들은 각자의 장단점을 가지고 있다.
    • EA: 높은 성능을 보여주지만 자원 소모와 검색과정이 random 하다는 문제가 있다.
    • RL: 복잡한 구조의 모델도 학습할 수 있지만 리워드를 높이기 위해 많은 행동을 취하기 때문에 모델의 안정성이 보장되지 않는다.
    • GD: NAS를 효율적으로 검색하는 것이 가능하지만 모든 모델들이 supernet으로부터 파생되기 때문에 다양성이 낮다.
  • 따라서 위의 방법들을 서로 결합하여 단점을 커버하는 방법이 제안되었다.
    • EA+RL
      • mutation을 강화학습으로 처리해 EA의 random한 단점을 해결한 방법
      • 또 다른 방법으로는 RL의 controller를 mutation해 더 다양한 모델과 효율성을 높였다.
    • EA+GD
      • 약간의 epochs로 학습된 모델의 파라미터를 다음 세대로 그대로 상속시켜 EA하는 방법으로 EA를 가속화할 수 있다는 장점이 있다.
      • EA로 찾아낸 모델을 GD로 학습하고 그 모델을 다음 세대에게 그대로 전달하여 활용한다는 것으로 판단
    • EA+SMBO
      • RF 를 surrogate model로 사용해 EA의 fitness evaluation을 가속화
    • GD+SMBO
      • variational autoencoder를 surrogate model로서 활용하여 모델을 학습

3. Hyperparameter Optimization

  • Architecture Optimization은 모델 검색과정의 최적화라면 해당 과정은 찾아낸 최적의 모델을 다시 학습할때 사용할 hyperparameter를 최적화하는 과정이다.

3.1 Grid and Random Search

  • 기본적인 최적화 방법이며 논문에 의하면 RS가 GS 보다는 더 효과적이라고 한다.

3.2 Bayesian Optimization

  • 논문에서는 BO를 다음과 같이 설명한다.
    • record dataset D 에 적합하도록 probabilistic model M 을 조율한다.
    • 그 후 acquisition function S 를 사용하여 M 으로부터 다음으로 적절한 모델을 선택한다.
    • 선택된 neural architecture은 function f 에 의하여 성능을 평가받는데 이 과정은 training dataset으로부터 학습과 이후 validation dataset으로 평가까지 포함하기 때문에 비용이 매우 높다고 한다.
    • 이후 record dataset D 를 업데이트한다.

3.3 Gradient-based Optimization

  • 기존의 방법들은 blackbox HPO 방법들이었다면 GD는 효율성이 높은 방법이라고 할 수 있다.
  • 하지만 역시 hyperparameters가 많아지면 계산량이 많아진다.
    • 이를 해결하기 위해 hyperparameter의 true gradient가 아닌 approximate gradient를 활용하는 방법이 제안되었다.
    • 또한 reverse-, forward-mode의 GO도 연구되었으며 모든 학습 기록을 저장해야하는 reverse-mode와 달리 forward-mode는 실시간 업데이트가 가능하다.

4. Model evaluation

  • 최종단계라고 생각할 수 있으며, 위에서 생성된 모델을 학습하여 그 성능을 평가하는 단계이다. 모델을 충분히 학습시킨뒤 평가까지 포함하기 때문에 시간과 자원의 소모가 많다. 따라서 이 과정을 최대한 가속화하는 것이 이 단계에서의 목표이다.

4.1. Low fidelity

  • 모델의 학습 시간은 데이터, 모델의 크기에 많은 영향을 받기 때문에 모델 평가는 다른 방향으로 가속화가능하다.
    • FABOLAS 에서는 학습데이터의 일부만 사용하여 model evaluation을 가속화했으며, 다른 연구에서는 이미지의 resolution을 낮추면서 가속화했다.
    • 다른 방법으로는 모델의 크기를 줄여서 평가시간을 단축했으며, 한 연구에서는 짧거나 긴 학습시간과 모델 성능에는 연관성이 크지 않다는 것을 실험적으로 증명하여 network를 장시간 학습하는 것이 불필요하다고 했다.

4.2. Weight sharing

  • ENAS 가 대표적인 활용예시로 모듈들의 parameter를 공유함으로 학습시간을 크게 단축하였다.

4.3. Surrogate

  • PNAS 에서 활용된 방법. ENAS 도 굉장히 효율적인 알고리즘으로 알려져있는데 PNAS 는 그것보다도 더 많은 모델들을 평가했다. 좋은 surrogate model은 보통 라벨링된 architecture가 다수 필요한데, 이를 해결하기 위해 제안된 SemiNAS 는 라벨링되지않은 architecture를 surrogate model을 학습시키는데에 사용했다.

4.4. Early stopping

  • Overfitting을 방지하기 위한 방법으로 validation set에서 성능이 좋지 못한 모델의 학습을 멈춤으로 모델 평가를 가속화하는 방법.

Discussion

NAS Performance Comparison

  • 현재 공개된 다양한 NAS 알고리즘들은 검증에 사용한 데이터, 모델 크기 등 각기 다른 환경에서 평가됨. 해당 논문에서는 지금까지 공개된 다양한 NAS 알고리즘들의 실험 환경을 표로 정리하여 제공했다.

Kendall Tau Metric

  • RS를 사용한 알고리즘의 성능을 보다 정확하게 판단하기 위해서 사용된 메트릭스

NAS-Bench Dataset

  • 각기 다른 환경에서 평가된 NAS 알고리즘들에게 균등한 환경을 제공하기 위해 제작된 dataset.
  • CIFAR-10, 100, ImageNet-16-120 등의 데이터를 활용하여 제작되었다.

One-stage vs Two-stage

  • 일반적으로 NAS는 One/Two stage 2가지 분류로 나뉜다.
    • Two-stage
      • Searching stage, evaluation stage로 구성된 NAS를 가리킨다.
      • Searching stage
        • architecture optimization, parameter training으로 구성된 단계
        • parameter training은 자원소모가 심하기 때문에 대부분의 NAS는 searching stage에서 모델을 어느 정도 학습한 뒤에 evaluation stage에서 마저 학습시킨다.
    • One-stage
      • 추가적인 학습단계를 거치지 않고 architecture optimization과 parameter training을 동시에 수행하는 NAS
      • 당연히 자원을 효율적으로 사용할 수 있지만 두 가지를 동시에 최적화한다는 것은 간단한 문제가 아니다.
      • 제안된 방법으로는 progressive shrinking 알고리즘으로 전체 네트워크를 학습시킨뒤에 점차 작은 부분을 fine-tune 하는 방법이다.

One-shot / Weight-sharing

  • One-stage와는 다른 개념으로 NAS 알고리즘이 weight-sharing을 하는지 여부에 따라 one-shot으로 분류된다.
  • One-shot NAS는 AO, parameter training에 따라 2가지로 나뉜다.
    • Coupled Optimization
      • Architecture와 weights를 coupled 하게 번갈아 반복되며 최적화하는 방법
      • ENAS, DARTS 가 여기에 해당한다.
      • 이 방법은 기존 모델의 파라미터가 이후 모델에 악영향을 줄 수 있다는 단점이 있다.
    • Decoupled optimization
      • Supernet을 학습시킨 뒤에 그 안에서 가장 좋은 architecture를 선택하는 방법

Joint Hyperparameter and Architecture Optimization

  • 대부분의 NAS는 training-hyperparameters를 전체 단계에서 같은 값을 사용한다.
  • 하지만 이러한 방법은 suboptimal한 결과를 가져올 수 있다.
  • 따라서 hyperparameter와 architecture optimization을 결합하는 방법이 제안되었다.
    • AutoHAS 는 architecture와 hyperparameter를 하나의 representation으로 나타냄으로 이 문제를 해결하고자 했다.

Resource-aware NAS

  • 기존의 NAS는 단순히 더 높은 성능을 내는 모델을 찾아내는 것에 집중했다.
  • 따라서 가지고 있는 자원량을 고려해 적당한 성능을 trade-off 하는 알고리즘도 제안되고 있다.

Future

Flexible Search Space

  • 위에서 사용된 연산(convolution 등)도 충분히 좋은 성능을 내었지만 이조차도 사람이 설계한 연산들이다.
  • AutoML-Zero 에서는 cos, sin, mean, std 등 사람의 개입이 최소화된 연산들만을 사용하여 search space를 제안했다.
  • 비록 AutoML-Zero 은 굉장히 간단한 모델이었지만 준수한 성능을 보여주었고, NAS도 이런 식으로 유연한 search space를 만들어내는 것이 중요하다.

Exploring More Areas

  • 현재 많은 NAS 들은 이미지와 관련된 task를 수행하고 있다.
  • 하지만 NLP 에서는 아직 NAS가 많이 활용되지 못하고 있고, 다른 분야도 마찬가지이다.
  • 다양한 영역에서도 NAS가 준수한 성능을 낼 수 있도록 연구하는 것이 앞으로 매우 중요할 것이다.

Interpretability

  • DNN의 구조를 해석하는 것은 예전부터 지적되어왔던 문제로 NAS에서도 마찬가지이다.
  • 좋은 성능을 보여주는 모델은 찾았지만 왜 그러한 구조를 가지게 되었는지 설명할 수 있어야 NAS 가 더 발전할 수 있을 것이다.

Reproducibility

  • NAS는 많은 parameter를 가지고 있고, 실행단계에서 조율이 필요하지만 대부분 설명이 충분하지 않다.
  • 한 연구에서는 NAS의 seed가 매우 중요한 역할을 한다고 증명했다.
  • 이러한 점에서 NAS-Bench가 불필요한 과정을 많이 줄여줄 것이라 전망했다.

Robustness

  • 연구를 통해 대부분의 NAS는 좋은 성능을 보여주었지만 이러한 데이터들은 거의 연구용이었다.
  • 실제 데이터는 연구용처럼 상태가 좋지 않기 때문에 알고리즘이 이에 충분히 대처할 수 있어야한다.

Joint Hyperparameter and Architecture Optimization

  • 대부분의 NAS는 HPO, AO를 별개의 과정으로 고려했지만 두 과정에서 사용된 methods들은 공통된 점이 많다.
  • 따라서 두 과정을 동시에 수행하는 것이 가능할 것이며 연구가치가 충분하다고 판단된다.

Complete AutoML Pipeline

  • 현재 공개된 다양한 AutoML 라이브러리들은 과정의 일부분에만 주목한 것이 많다.
  • TPOT, Auto-WEAK, Auto-Sklearn 등
  • NNI, Vega는 AutoML의 전체과정을 제공하고 있다.
  • 따라서 AutoML pipeline 시스템을 구축하는 것도 그 가치가 높다고 할 수 있다.

Lifelong Learning

  • 현재 AutoML 알고리즘들은 특정한 task만 수행하는 것을 목표로 한다.
  • 하지만 더 좋은 AutoML은 이것을 극복해야만 하며 2가지 능력을 가져야한다.
    • Learn new data
    • Remember old knowledge

Learn New Data

  • 인간은 동물 사진을 몇개만 봐도 쉽게 동물을 구분할 수 있지만 DL 들은 그렇지 못하다.
  • 이것을 해결하는 것이 매우 중요
  • Meta-learning
    • 흔히 학습하는 법을 학습하는 모델로 transferable neural architecture search 는 meta-learning과 NAS를 결합한 모델을 제안했다.
    • new-task에도 쉽게 적응하는 모델
  • Unsupervised-learning
    • Meta-learning도 결국 라벨링된 데이터에 의존하게 되며 실제 데이터는 일부분만 라벨링된 경우가 많다.
    • unsupervised neural architecture search 는 이러한 관점에서 제안된 모델로 라벨링된 데이터를 사용한 모델들과 비교해도 준수한 성능을 보여주었다.

Remember Old Knowledge

  • 새로운 데이터를 주어주면 학습된 모델은 대부분 기존의 정보를 잃어버리게 된다.
  • learning without forgetting (LwF) 은 기존의 정보는 보존하면서 새로운 데이터만 학습할 수 있는 방법이다.
  • iCaRL 은 LwF 에 기초하여 기존 데이터의 일부만 pretrain에 사용한 뒤, 새로운 데이터를 점차적으로 증가시키는 방법으로 모델을 학습했다.

+ Recent posts