4. 논문리뷰/AutoML
최신 SOTA NAS 모델 리뷰(1)
Honestree
2022. 10. 20. 18:01
리뷰논문
- Neural Architecture Search without Training
- EPE-NAS: Efficient Performance Estimation Without Training for Neural Architecture Search
- Generic Neural Architecture Search via Regression
- β-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가지 문제점을 해결했다.
- Robustness
- DARTS는 skip-connection이 지나치게 많이 사용되면서 성능자체가 안 좋아지는 현상이 있었다. β-DARTS는 연산들간의 공정한 경쟁이 가능하기 때문에 이러한 현상이 발생하지 않았다.
- Generalization
- 일반화는 모든 딥러닝 모델들의 고질적인 문제인데 β-DARTS 는 정규화를 통해 CIFAR-10에서 단 한번만 검색을 수행했는데도 CIFAR-100, ImageNet 데이터에서 좋은 성능을 보여주었다.
- Robustness
4.2.1 DARTS
- DARTS의 핵심이 되는 미분가능한 연산식은 아래와 같다.
- 이때 일반적으로 사용하는 L2 / weight decay 정규화는 아래와 같이 표현할 수 있다.
- 여기서 β-DARTS 는 위의 식을 통해 α 를 정규화했을때 β 에 어느정도 영향을 줄 수 있는지 계산했다. 이를 계산하기 전에 α 에 무언가 정규화를 했다고 가정하고 위의 2개의 수식을 일반화하면 아래와 같다.
- 위의 수식들을 대입하여 정리하면 β 를 정규화하기 전후 관계를 α 로 표현할 수 있다.
- 위의 수식에서 적절한 F 함수를 찾아내는 것이 해당 논문의 핵심 내용이다. F 함수는 2가지 조건을 만족해야한다.
- F 함수는 α 의 amplitude에 영향을 받지않아야 한다.
- 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 시간 정도 소요되었다.