Autonomous Driving

Designing Network Design Spaces 논문 번역

wandering developer 2023. 6. 21. 00:21

tesla ai 에서 알게된 regnet네트워크가 궁금해서 gpt의 도움으로 네트워크 논문을 번역해봤다.

 

근데 이해가 되지 않는다. 어렵다....ㅡㅡ...

 

시간날때 마다 여러번 읽어봐야겠음.

 

---

질문?

We design the RegNet design space in a low-compute, low-epoch regime using a single network block type on ImageNet [3].

RegNet 설계할때 ImageNet에 있는 블럭을 사용하는것인가?

---


Abstract

이 연구에서는 새로운 네트워크 디자인 패러다임을 제시합니다. 우리의 목표는 네트워크 디자인의 이해를 발전시키고 다양한 환경에서 일반화되는 디자인 원칙을 발견하는 데 도움을 주는 것입니다. 개별 네트워크 인스턴스를 설계하는 데 집중하는 대신, 네트워크 디자인 공간을 설계하여 네트워크의 모집단을 매개변수화합니다. 전체 과정은 전통적인 수동 네트워크 설계와 유사하지만, 디자인 공간 수준으로 높여진 것입니다. 우리의 방법론을 사용하여 네트워크 디자인의 구조 측면을 탐구하고, RegNet이라고 부르는 간단하고 규칙적인 네트워크로 이루어진 저차원 디자인 공간에 도달했습니다. RegNet의 핵심 아이디어는 놀랍게도 간단합니다: 좋은 네트워크의 폭과 깊이는 양자화된 선형 함수로 설명될 수 있습니다. RegNet 디자인 공간을 분석하여 현재의 네트워크 디자인 관행과 일치하지 않는 흥미로운 결과를 도출했습니다. RegNet 디자인 공간은 다양한 flop 범위에서 잘 작동하는 간단하고 빠른 네트워크를 제공합니다. 유사한 학습 설정과 flop 기준으로, RegNet 모델은 인기 있는 EfficientNet 모델보다 최대 5배 빠른 속도로 뛰어난 성능을 발휘합니다.

1. Introduction

깊은 합성곱 신경망은 시각 인식의 엔진입니다. 지난 몇 년 동안 더 나은 아키텍처가 다양한 시각 인식 작업에서 상당한 진전을 이루었습니다. 예를 들어 LeNet [15], AlexNet [13], VGG [26], ResNet [8] 등이 있습니다. 이러한 연구들은 신경망의 효과성과 네트워크 디자인에 대한 이해를 모두 발전시켰습니다. 특히, 위 연구들은 각각 합성곱, 네트워크 및 데이터 크기, 깊이, 잔차의 중요성을 보여주었습니다. 이러한 연구들의 결과는 특정한 네트워크 인스턴스뿐만 아니라 일반화하여 다양한 환경에 적용할 수 있는 디자인 원칙을 제시했습니다.

수동 네트워크 디자인은 큰 발전을 이끌었지만, 최적화된 네트워크를 수동으로 찾는 것은 선택할 수 있는 디자인의 수가 증가함에 따라 도전적일 수 있습니다. 이러한 제한을 극복하기 위한 인기 있는 접근 방식은 신경망 구조 탐색(NAS)입니다. 가능한 네트워크의 고정된 탐색 공간이 주어지면 NAS는 탐색 공간 내에서 좋은 모델을 자동으로 찾아냅니다. 최근에 NAS는 많은 관심을 받으며 훌륭한 결과를 보여주고 있습니다 [34, 18, 29].

NAS의 효과성에도 불구하고, 이 패러다임에는 한계가 있습니다. 탐색의 결과는 하드웨어 플랫폼과 같은 특정 설정에 튜닝된 단일 네트워크 인스턴스입니다. 이는 일부 경우에는 충분하지만, 우리의 이해를 깊게하고 새로운 설정에 일반화할 수 있는 네트워크 디자인 원칙을 발견하는 것은 불가능합니다. 특히, 우리의 목표는 이해하기 쉽고 확장 가능한 간단한 모델을 찾는 것입니다.

이 연구에서는 수동 디자인과 NAS의 장점을 결합한 새로운 네트워크 디자인 패러다임을 제시합니다. 개별 네트워크 인스턴스를 설계하는 데 집중하는 대신, 네트워크의 모집단을 매개변수화하는 디자인 공간을 설계합니다. 이는 수동 설계에서처럼 해석 가능성을 추구하며, 작동이 잘되고 다양한 설정에 일반화되는 일반적인 디자인 원칙을 발견하기 위한 것입니다. NAS와 같이, 이러한 목표를 달성하는 데 도움이 되는 반자동 절차를 활용하고자 합니다.

 

그림 1. 디자인 공간 디자인. 우리는 가능한 모델 아키텍처의 매개변수화된 집합인 디자인 공간을 설계하는 것을 제안합니다. 디자인 공간 디자인은 수동 네트워크 디자인과 유사하지만, 모집단 수준으로 높여진 것입니다. 우리 과정의 각 단계에서 입력은 초기 디자인 공간이고 출력은 더 단순하거나 더 좋은 모델로 구성된 정제된 디자인 공간입니다. [21]을 따라, 디자인 공간의 품질을 모델을 샘플링하여 오류 분포를 검사함으로써 특성화합니다. 예를 들어, 위 그림에서 우리는 초기 디자인 공간 A로 시작하여 두 개의 정제 단계를 적용하여 디자인 공간 B를 얻고, 이어서 디자인 공간 C를 얻습니다. 이 경우 C ⊆ B ⊆ A(왼쪽)이며, 오류 분포는 A에서 B로, 그리고 B에서 C로 엄격하게 개선됩니다(오른쪽). 희망하는 바는 모델 모집단에 적용되는 디자인 원칙이 더 견고하고 일반화될 가능성이 높다는 것입니다.

 

우리가 채택하는 일반적인 전략은 초기에 비교적 제약이 없는 초기 디자인 공간의 단순화된 버전을 점진적으로 설계하는 것이며, 이때 디자인 공간의 품질을 유지하거나 개선합니다(그림 1). 전체적인 과정은 수동 디자인과 유사하며, 인간의 지도를 통해 네트워크 디자인 공간의 분포 추정을 통해 모집단 수준으로 높여진 것입니다[21].

이 패러다임의 테스트베드로서, 우리의 초점은 VGG [26], ResNet [8], ResNeXt [31]를 포함한 표준 모델 패밀리를 가정하여 네트워크 구조(너비, 깊이, 그룹 등)를 탐색하는 것입니다. 우리는 초기에 상대적으로 제약이 없는 AnyNet이라는 디자인 공간에서 시작하고 (예: 너비와 깊이가 단계별로 자유롭게 변화함), 인간-루프 방법론을 적용하여 "정규" 네트워크로 구성된 저차원의 디자인 공간인 RegNet을 얻습니다. RegNet 디자인 공간의 핵심은 간단합니다. 단계별 너비와 깊이는 양자화된 선형 함수에 의해 결정됩니다. AnyNet과 비교했을 때, RegNet 디자인 공간은 더 간단한 모델로 구성되어 해석하기 쉽고, 우수한 모델이 더 집중되어 있습니다.

우리는 RegNet 디자인 공간을 ImageNet [3]에서 단일 네트워크 블록 유형을 사용하여 저 계산량, 저 에포크 범위에서 설계합니다. 그리고 RegNet 디자인 공간이 더 큰 계산량 범위, 스케줄 길이, 네트워크 블록 유형에 일반화되는 것을 보여줍니다. 또한, 디자인 공간 디자인의 중요한 특성은 해석 가능성이 높아지며 우리가 배울 수 있는 통찰력을 제공할 수 있다는 것입니다. 우리는 RegNet 디자인 공간을 분석하고 현재의 네트워크 디자인 관행과 일치하지 않는 흥미로운 결과를 도출합니다. 예를 들어, 최고의 모델의 깊이는 계산량 범위에 상관없이 안정적이며 (∼20 블록), 최고의 모델은 병목 구조나 역병목 구조를 사용하지 않습니다.

우리는 다양한 설정에서 최고의 REGNET 모델을 기존의 네트워크와 비교합니다. 첫째로, REGNET 모델은 모바일 환경에서 놀랍도록 효과적입니다. 이러한 간단한 모델이 향후 작업에 강력한 기준선으로 사용될 수 있기를 바랍니다. 다음으로, REGNET 모델은 모든 메트릭에서 표준 RESNE(X)T [8, 31] 모델보다 상당한 개선을 보입니다. 우리는 활성화 함수가 고정된 상황에서 개선을 강조하는데, 이는 활성화 함수의 수가 GPU와 같은 가속기에서 실행 시간에 큰 영향을 미칠 수 있기 때문에 실용적으로 중요합니다. 그 다음으로, 우리는 EFFICIENTNET [29] 모델과 계산량 범위에서 비교합니다. 비교적인 훈련 설정과 FLOP에 대해 REGNET 모델은 EFFICIENTNET 모델보다 성능이 우수하며 GPU에서 최대 5배 빠릅니다. 우리는 ImageNetV2 [24]에서 일반화 테스트도 진행합니다. 네트워크 구조는 아마도 고려할 수 있는 디자인 공간 디자인의 가장 간단한 형태라고 말할 수 있습니다. 더 풍부한 디자인 공간(예: 연산자 포함)에 집중하는 것이 더 나은 네트워크를 이끌 수 있을 것입니다. 그러나 구조는 이러한 디자인 공간의 핵심 구성 요소로 남을 것입니다.

 

우리는 향후 연구를 지원하기 위해 이 작업에서 도입된 모든 코드와 사전 훈련된 모델을 공개할 예정입니다.

 

2. Related Work
수동 네트워크 디자인: 

AlexNet [13]의 도입으로 네트워크 디자인은 번영하는 연구 분야로 발전하였습니다. 이후 개선된 네트워크 디자인이 제안되었는데, 이에는 VGG [26], Inception [27, 28], ResNet [8], ResNeXt [31], DenseNet [11], MobileNet [9, 25] 등이 포함됩니다. 이러한 네트워크들의 디자인 프로세스는 대부분 수동적으로 이루어져 정확성을 향상시키는 새로운 디자인 선택지를 발견하는 데 초점을 맞췄습니다. 우리 또한 새로운 디자인 원칙을 발견하는 것을 목표로 합니다. 실제로, 우리의 방법론은 수동 디자인과 유사하지만 디자인 공간 수준에서 수행됩니다.

자동화된 네트워크 디자인: 

최근에는 네트워크 디자인 과정이 수동적 탐색에서 자동화된 네트워크 디자인으로 전환되었으며, 이는 NAS에 의해 인기를 얻었습니다. NAS는 좋은 모델을 찾는 데 효과적인 도구로 입증되었습니다. 예를 들면 [35, 23, 17, 20, 18, 29] 등이 있습니다. NAS 연구의 대부분은 검색 알고리즘에 초점을 맞추었으며, 즉, 수동적으로 설계된 고정된 탐색 공간 내에서 최상의 네트워크 인스턴스를 효율적으로 찾는 것입니다(이를 디자인 공간이라고 부릅니다). 반면, 우리의 초점은 새로운 디자인 공간을 디자인하는 패러다임에 있습니다. 이 두 가지는 보완적입니다: 더 나은 디자인 공간은 NAS 검색 알고리즘의 효율성을 향상시킬 수 있을 뿐만 아니라 디자인 공간을 풍부하게 함으로써 더 나은 모델의 존재를 이끌어 낼 수 있습니다.

네트워크 스케일링: 

수동 및 반자동 네트워크 디자인은 일반적으로 특정 환경에 대해 최상의 성능을 발휘하는 네트워크 인스턴스를 찾는 데 초점을 맞추며(예: ResNet-50과 유사한 FLOPS 수), 이 프로세스의 결과로서 단일 네트워크 인스턴스를 다른 환경에 적응시키는 것이 명확하지 않습니다(예: 더 적은 FLOPS). 일반적으로 네트워크의 깊이 [8], 너비 [32], 해상도 [9] 또는 이러한 요소들을 함께 변화시키는 등의 네트워크 스케일링 규칙을 적용하는 것이 일반적입니다. 반면, 우리의 목표는 각 대상 환경에 최적화된 네트워크를 효율적으로 조정할 수 있는 광범위한 디자인 원칙을 발견하는 것입니다.

네트워크 비교: 

가능한 네트워크 디자인 공간의 수가 많기 때문에 신뢰할 수 있는 비교 메트릭을 사용하여 디자인 과정을 이끌어내는 것이 중요합니다. 최근에는 [21]의 저자들이 디자인 공간에서 샘플링된 네트워크 모집단을 비교하고 분석하기 위한 방법론을 제안했습니다. 이 분포 수준의 접근은 우리가 일반적인 디자인 원칙을 찾는 목표와 완전히 일치합니다. 따라서 우리는 이 방법론을 채택하고, 디자인 공간 디자인 프로세스에 유용한 도구로 활용될 수 있음을 보여줍니다.

매개 변수화: 

최종적인 양자화된 선형 매개 변수화는 이전 연구들과 유사성을 가지고 있으며, 예를 들어 단계 너비가 어떻게 설정되는지 [26, 7, 32, 11, 9]에 대한 연구가 있습니다. 그러나 두 가지 주요한 차이점이 있습니다. 첫째, 우리는 우리가 만든 디자인 선택들을 정당화하기 위한 실험적 연구를 제공합니다. 둘째, 우리는 이전에 이해되지 않았던 구조적 디자인 선택지에 대한 통찰력을 제공합니다(예: 각 단계에 있는 블록의 수를 설정하는 방법 등).

 

3. Design Space Design

저희의 목표는 시각 인식을 위한 더 나은 네트워크를 설계하는 것입니다. 특정 설정에서 하나의 최상의 모델을 설계하거나 찾는 대신, 우리는 모델 집단의 동작을 연구합니다. 전체 모델 집단에 적용할 수 있는 일반적인 설계 원칙을 발견하고 개선하는 것이 목표입니다. 이러한 설계 원칙은 네트워크 설계에 대한 통찰력을 제공하며, 특정 시나리오에 맞게 조정된 단일 모델과는 달리 새로운 설정에 대해서도 보다 일반화될 수 있습니다.

저희는 Radosavovic 등의 논문에서 제시된 네트워크 디자인 공간(network design spaces) 개념을 활용합니다. 디자인 공간은 크고 무한한 모델 아키텍처 집단입니다. [21] 논문에서 주요한 통찰은 디자인 공간에서 모델을 샘플링하고 이로부터 모델 분포를 얻은 뒤, 고전적인 통계 도구를 활용하여 디자인 공간을 분석할 수 있다는 점입니다. 이는 아키텍처 탐색과는 달리, 디자인 공간에서 최상의 단일 모델을 찾는 것이 목표가 아니라는 차이점이 있습니다.

이 연구에서는 초기에 제한이 없는 디자인 공간의 점진적으로 단순화된 버전을 설계합니다. 이를 "디자인 공간 디자인"이라고 합니다. 디자인 공간 디자인은 연속적인 수동 네트워크 디자인과 유사하지만 모델 집단 수준으로 진행됩니다. 구체적으로 디자인 프로세스의 각 단계에서 입력은 초기 디자인 공간이며 출력은 개선된 디자인 공간입니다. 각 디자인 단계의 목표는 단순하거나 성능이 향상된 모델 집단을 얻기 위한 설계 원칙을 발견하는 것입니다.

먼저, §3.1에서 디자인 공간 디자인에 사용하는 기본 도구를 설명합니다. 다음으로, §3.2에서는 제한이 없는 네트워크 구조를 허용하는 AnyNet이라는 디자인 공간에 우리의 방법론을 적용합니다. §3.3에서는

 일련의 디자인 단계 이후, 정규 네트워크 구조만을 포함하는 단순화된 디자인 공간인 RegNet을 얻습니다. 마지막으로, 우리의 목표는 단일 설정에 대한 디자인 공간을 설계하는 것이 아니라, 새로운 설정에 일반화할 수 있는 네트워크 디자인의 일반적인 원칙을 발견하는 것이므로, §3.4에서 RegNet 디자인 공간의 일반화를 테스트합니다. AnyNet 디자인 공간에 비해 RegNet 디자인 공간은 다음과 같은 특징을 가지고 있습니다: (1) 차원과 허용되는 네트워크 구성 유형 측면에서 단순화되었습니다. (2) 최고 성능 모델의 집중도가 높아졌습니다. (3) 분석과 해석이 더 용이해졌습니다.

 

 

3. Design Space Design

 

디자인 스페이스 디자인을 위한 도구에 대한 개요로 시작하겠습니다. 디자인 스페이스를 평가하고 비교하기 위해 Radosavovic 등이 소개한 도구를 사용합니다 [21]. 이들은 디자인 스페이스에서 모델을 샘플링하고 이를 통해 얻은 모델 오차 분포를 특성화함으로써 디자인 스페이스의 품질을 측정하는 방법을 제안합니다. 이 접근 방식의 주요 아이디어는 분포를 비교하는 것이 (수동 또는 자동) 탐색을 사용하고 두 개의 디자인 스페이스에서 찾은 최상의 모델을 비교하는 것보다 견고하고 정보를 제공한다는 것입니다.

모델의 분포를 얻기 위해 디자인 스페이스에서 n개의 모델을 샘플링하고 훈련합니다. 효율성을 위해 저히로 저효율, 저 에포크 훈련 방식을 주로 사용합니다. 특히, 이 섹션에서는 4억 플롭 (400MF) 정도로 훈련을 수행하고 각 샘플된 모델을 ImageNet 데이터셋 [3]에서 10 에포크 동안 훈련합니다. 우리는 많은 모델을 훈련하지만 각 훈련은 빠릅니다. 400MF에서 100개 모델을 10 에포크 동안 훈련하는 것은 4GF에서 ResNet-50 [8] 모델을 100 에포크 동안 훈련하는 것과 거의 동등한 플롭으로 이루어집니다.

[21]과 마찬가지로, 디자인 스페이스 품질을 분석하기 위한 주요 도구는 오차의 경험적 분포 함수 (EDF)입니다. 오차 EDF는 오차 ei를 가진 n개의 모델에 대해 다음과 같이 정의됩니다:

F(e) = 1/n * ∑[ei < e]. (1)

여기서 F(e)는 오차가 e보다 작은 모델의 비율을 나타냅니다. 우리는 AnyNetX 디자인 스페이스에서 샘플링된 n = 500개의 모델에 대한 오차 EDF를 Figure 2 (왼쪽)에 보여줍니다.

훈련된 모델의 다양한 네트워크 속성과 네트워크 오차를

Figure 2. AnyNetX 디자인 스페이스의 통계는 n = 500개의 샘플된 모델로 계산되었습니다. 왼쪽: 오차의 경험적 분포 함수 (EDF)는 디자인 스페이스의 품질을 시각화하는 데에 사용되는 기본 도구입니다. 범례에서는 최소 오차와 평균 오차를 보고합니다 (이는 곡선 아래 영역에 해당합니다). 가운데: 네트워크의 깊이 d (블록 수)에 대한 분포와 오차. 오른쪽: 네 번째 스테이지 (w4)의 블록 너비에 대한 분포와 오차. 파란색으로 그림자 처리된 영역은 95% 신뢰도로 최고의 모델을 포함하는 범위를 나타내며 (경험적 부트스트랩을 사용하여 얻음), 검은색 세로 선은 가장 가능성 있는 최적 값입니다.


 대조하여 그래프를 생성하고 분석할 수 있습니다. Figure 2 (가운데)와 (오른쪽)는 AnyNetX 디자인 스페이스에서 가져온 두 가지 예시를 보여줍니다. 이러한 시각화는 복잡하고 고차원인 공간의 1차원 투영을 보여주며, 디자인 스페이스에 대한 통찰력을 얻는 데 도움이 될 수 있습니다. 이러한 플롯에서는 최고의 모델이 속할 가능성이 있는 범위를 추정하기 위해 경험적 부트스트랩 [5]을 사용합니다.

요약하면 다음과 같습니다: (1) 디자인 스페이스에서 n개의 모델을 샘플링하고 훈련하여 모델의 분포를 생성합니다. (2) 오차 EDF를 계산하여 디자인 스페이스 품질을 요약합니다. (3) 디자인 스페이스의 다양한 속성을 시각화하고 경험적 부트스트랩을 사용하여 통찰력을 얻습니다. (4) 이러한 통찰력을 사용하여 디자인 스페이스를 개선합니다.

 

 

 

 

 

 

Figure 3. 우리의 디자인 공간에서 모델들의 일반적인 네트워크 구조입니다. (a) 각 네트워크는 스트라이드-2의 3&times;3 컨볼루션(출력 채널 수 w0 = 32)으로 이루어진 스템, 주요 계산이 이루어지는 네트워크 본체, 그리고 n개의 출력 클래스를 예측하는 헤드(평균 풀링 후 완전 연결층)로 구성됩니다. (b) 네트워크 본체는 해상도 ri가 점진적으로 감소하는 일련의 스테이지로 구성됩니다. (c) 각 스테이지는 첫 번째 블록을 제외하고 동일한 블록의 연속으로 이루어집니다. 일반적인 구조는 간단하지만, 가능한 네트워크 구성의 총 수는 방대합니다.

3. 일반적인 관행을 따라, 우리는 flops를 곱셈-덧셈 연산을 의미하는 용어로 사용합니다. 또한 MF와 GF를 각각 106과 109 flops를 나타내는 용어로 사용합니다.

4. 모델 통계치 xi (예: 깊이)와 해당 오차 ei의 n 쌍 (xi, ei)이 주어진 경우, 우리는 다음과 같이 경험적 부트스트랩을 계산합니다: (1) 쌍의 25%를 복원 추출하여 샘플링합니다. (2) 샘플에서 최소 오차를 가진 쌍을 선택합니다. (3) 이를 104번 반복한 후 (4) 최소 x 값에 대한 95% 신뢰 구간을 계산합니다. 중앙값은 가장 가능성 있는 최상의 값입니다.

 

 

 

3.2. The AnyNet Design Space

다음으로, 초기 AnyNet 디자인 공간을 소개합니다. 우리의 초점은 표준적이고 고정된 네트워크 블록 (예: 잔여 병목 블록)을 가정한 신경망 구조를 탐구하는 것입니다. 우리의 용어에서 네트워크의 구조는 블록의 개수 (즉, 네트워크의 깊이), 블록 폭 (즉, 채널 수) 및 병목 비율 또는 그룹 폭과 같은 다른 블록 매개변수와 같은 요소를 포함합니다. 네트워크의 구조는 계산, 매개변수 및 메모리의 분포를 결정하는데 중요하며 정확성과 효율성을 결정하는 역할을 합니다.

AnyNet 디자인 공간에서의 네트워크의 기본적인 디자인은 간단합니다. 입력 이미지가 주어지면, 네트워크는 간단한 스템(stem)으로 시작하여 계산의 대부분을 수행하는 네트워크 본체(network body)가 이어지고, 출력 클래스를 예측하는 마지막 네트워크 헤드(network head)로 이루어져 있습니다. 이 구조는 Figure 3a에 나와 있습니다. 우리는 스템과 헤드를 고정하고 가능한 간단하게 유지하며, 대신 네트워크 본체의 구조에 중점을 두어 네트워크의 계산과 정확성을 결정하는 데 중요한 역할을 합니다.

네트워크 본체는 점진적으로 해상도를 줄여가며 작동하는 4개의 스테이지로 구성되어 있습니다. Figure 3b를 참조하십시오 (§3.4에서 스테이지의 개수를 변화시킵니다). 각 스테이지는 동일한 블록의 일련으로 구성되어 있습니다. Figure 3c를 참조하십시오. 각 스테이지 i에 대해 자유도는 블록의 개수 di, 블록 폭 wi 및 기타 블록 매개변수를 포함합니다. 

일반적인 구조는 간단하지만, AnyNet 디자인 공간에서 가능한 네트워크의 총 개수는 매우 많습니다. 대부분의 실험에서는 그룹 컨볼루션 [31]을 사용한 표준적인 잔여 병목 블록을 사용합니다. 이를 X 블록이라고 하며, 이를 기반으로 한 AnyNet

 디자인 공간을 AnyNetX라고 합니다 (§3.4에서 다른 블록도 탐구합니다). X 블록은 상당히 기본적인 구조이지만, 네트워크 구조가 최적화될 때 놀랍도록 효과적임을 보여줍니다.

 

AnyNetX 디자인 공간은 각 네트워크가 4개의 스테이지로 구성되고, 각 스테이지 i마다 4개의 매개변수 (블록 수 di, 블록 너비 wi, 병목 비율 bi, 그룹 너비 gi)가 있는 것으로, 자유도가 16입니다. 입력 해상도 r = 224를 기본값으로 고정합니다. 유효한 모델을 얻기 위해 di ≤ 16, wi ≤ 1024 (8로 나누어 떨어지는), bi ∈ {1, 2, 4}, gi ∈ {1, 2, . . . , 32}에 대해 로그-균등 샘플링을 수행합니다 (나중에 이러한 범위를 테스트합니다). 목표 복잡성 범위 (360MF에서 400MF)에서 n = 500개의 모델을 얻을 때까지 샘플링을 반복하고, 각 모델을 10 에포크 동안 학습합니다. AnyNetX의 기본 통계는 Figure 2에서 보여졌습니다.

AnyNetX 디자인 공간에는 (16·128·3·6)4 ≈ 1018개의 가능한 모델 구성이 있습니다. 이러한 약 1018개의 구성 중에서 최상의 모델을 찾는 대신에, 이 디자인 공간을 이해하고 개선할 수 있는 일반적인 디자인 원칙이 있는지 탐색합니다. 이를 위해 우리는 디자인 공간을 설계하는 접근 방식을 적용합니다. 이 접근 방식의 각 단계에서 우리의 목표는 다음과 같습니다:

1. 디자인 공간의 구조를 단순화하는 것
2. 디자인 공간의 해석 가능성을 개선하는 것
3. 디자인 공간의 품질을 향상하거나 유지하는 것
4. 디자인 공간에서 모델 다양성을 유지하는 것

이제 이 접근 방식을 AnyNetX 디자인 공간에 적용해보겠습니다.

AnyNetXA. 이후, 명확성을 위해 초기의 제약이 없는 AnyNetX 디자인 공간을 AnyNetXA로 지칭합니다.

AnyNetXB. 우선, AnyNetXA 디자인 공간에서 모든 스테이지 i에 대해 공유 병목 비율 bi = b를 테스트하고, 이로 인해 생성된 디자인 공간을 AnyNetXB라고 합니다. 이전과 동일한 설정에서 AnyNetXB에서 500개의 모델을 샘플링하고

 학습합니다. AnyNetXA와 AnyNetXB의 EDF(에러-분산 플롯)는 Figure 5 (왼쪽)에서 평균 및 최상의 경우에 거의 동일합니다. 이는 bi를 결합했을 때 정확성에 손실이 없음을 나타냅니다. 더욱 간단하면서도 AnyNetXB는 분석에 더욱 적합합니다. Figure 5 (오른쪽)를 예로 들 수 있습니다.

AnyNetXC. 두 번째 개선 단계는 첫 번째와 밀접하게 관련됩니다. AnyNetXB를 시작으로 모든 스테이지 i에 대해 공유 그룹 너비 gi = g를 사용하여 AnyNetXC를 얻습니다. 이전과 마찬가지로 EDF는 거의 변경되지 않았습니다. Figure 5 (가운데)를 참조하십시오. 전반적으로 AnyNetXC는 AnyNetXA보다 6개의 자유도가 적으며, 디자인 공간의 크기를 거의 4개의 차수로 줄였습니다. 흥미로운 점은 g > 1이 가장 좋다는 것을 발견했습니다 (표시되지 않음). 이에 대해 더 자세히 분석은 §4에서 진행합니다.

AnyNetXD. 다음으로, AnyNetXC에서 좋은 네트워크와 나쁜 네트워크의 전형적인 구조를 Figure 6에서 조사합니다. 패턴이 나타납니다: 좋은 네트워크는 너비가 증가합니다. wi+1 ≥ wi의 디자인 원칙을 테스트하고, 이 제약 조건을 가진 디자인 공간을 AnyNetXD로 지칭합니다. Figure 7 (왼쪽)에서 이를 통해 EDF가 크게 향상된 것을 볼 수 있습니다. 이후에는 너비를 제어하는 다른 옵션을 검토할 것입니다.


AnyNetXE. 많은 모델을 추가 검토한 결과 (표시되지 않음), 흥미로운 경향을 관찰했습니다. wi의 경우 i가 증가함에 따라 증가하는 경향을 보이는 것 외에도, di의 경우도 최상의 모델의 경우 증가하는 경향을 보이지만 마지막 스테이지에서는 그렇지 않을 수 있습니다. 그래서 di+1 ≥ di의 디자인 공간 변형인 AnyNetXE를 테스트하고 Figure 7 (오른쪽)에서 결과가 개선되는 것을 볼 수 있습니다. 마지막으로, wi와 di에 대한 제약 조건은 각각 4!만큼 디자인 공간을 줄이며, AnyNetXA에서 O(107)의 누적적인 감소를 가져옵니다.

 

 

 

 

 

3.3. The RegNet Design Space

 

모델 구조를 더 잘 이해하기 위해 AnyNetXE에서 최상의 20개 모델을 하나의 그래프에 나타냅니다. Figure 8 (상단 왼쪽)을 참조하십시오. 각 모델에 대해 네트워크 깊이 d까지의 각 블록 j의 블록 폭 wj를 그래프로 표시합니다 (단계별로 인덱싱하는 데 i와 j를 사용합니다). 모델 시각화의 참조로 Figure 6을 참조하십시오.

개별 모델에서는 상당한 변동성이 있지만, 모인 데이터를 보면 패턴이 나타납니다. 특히, 동일한 그래프에서 wj = 48·(j+1) (0 ≤ j ≤ 20)라는 선을 표시합니다 (검은 실선, y축은 로그 스케일임을 유의하십시오). 놀랍게도, 이 간단한 선형 적합은 상위 모델들의 네트워크 폭 증가의 추세를 설명하는 것으로 보입니다. 그러나 이 선형 적합은 각 블록에 다른 폭 wj를 할당하며, 개별 모델은 양자화된 폭 (단일 구간 상수 함수)를 가지고 있습니다.

개별 모델에 유사한 패턴이 적용되는지 확인하기 위해, 선을 단일 구간 상수 함수로 양자화하는 전략이 필요합니다. AnyNetXD와 AnyNetXE의 관찰 결과에 영감을 받아 다음과 같은 접근 방식을 제안합니다. 먼저, 블록 폭을 위한 선형 매개변수화를 도입합니다.

uj = w0 + wa · j (0 ≤ j < d) (2)

이 매개변수화에는 세 개의 매개변수가 있습니다: 깊이 d, 초기 폭 w0 > 0, 기울기 wa > 0이며, 각 블록 j < d에 대해 다른 블록 폭 uj를 생성합니다. uj를 양자화하기 위해...

 

 

위에서는 추가 매개변수 wm > 0을 도입하여 양자화를 제어합니다. 먼저, Eqn. (2)에서 얻은 uj에 대해 다음을 만족하는 각 블록 j에 대해 sj를 계산합니다.

uj = w0 · w^sj^m (3)

그런 다음, uj를 양자화하기 위해 sj를 단순히 반올림한 값을 bsj^e^로 표시하고, 다음과 같이 양자화된 블록당 폭 wj를 계산합니다.

wj = w0 · w^bsj^e^m (4)

블록당 wj를 단순히 상수 폭 수를 세어 각 스테이지 형식으로 변환할 수 있습니다. 즉, 각 스테이지 i는 w0·w^i^m의 블록 폭 wi와 블록 수 di = Σj 1[bsj^e^ = i]를 갖습니다. 네 개의 스테이지 네트워크만 고려할 때, 다른 스테이지 수를 나타내는 매개변수 조합은 무시합니다.

이 매개변수화를 AnyNetX의 모델에 적합시켜 테스트합니다. 특히, 모델을 제공하면 네트워크 깊이로 d를 설정하고 w0, wa 및 wm을 그리드 서치하여 예측된 블록 폭과 관측된 블록 폭의 평균 로그 비율 (efit으로 표시)을 최소화합니다. AnyNetXE의 두 개의 최고 네트워크에 대한 결과는 Figure 8 (상단 오른쪽)에 표시됩니다. 양자화된 선형 적합 (점선 곡선)은 이러한 최상의 모델 (실선 곡선)과 잘 일치합니다.

다음으로, AnyNetXC에서 AnyNetXE까지의 모든 네트워크에 대해 망적합 오차 efit과 네트워크 오차를 Figure 8 (하단)에 그립니다. 먼저, 각 디자인 공간의 최상의 모델은 모두 좋은 선형 적합을 갖는 것을 알 수 있습니다. 실제로, 경험적 부트스트랩은 각 디자인 공간의 최상의 모델을 포함할 가능성이 있는 efit의 좁은 범위를 제공합니다. 둘째로, 평균적으로 AnyNetXC에서 AnyNetXE로 이동함에 따라 efit이 개선되는 것을 알 수 있습니다. 이는 선형 매개변수화가 wi와 di를 증가시키기

 위해 관련 제약 조건을 자연스럽게 적용한다는 것을 보여줍니다.

선형 매개변수화를 더 테스트하기 위해, 이러한 선형 구조를 갖는 모델만 포함하는 디자인 공간을 설계합니다. 특히, 6개의 매개변수 (d, w0, wa, wm 및 이전과 동일한 b, g)를 사용하여 네트워크 구조를 지정합니다. 이를 Eqn. (2)-(4)를 통해 블록 폭과 깊이를 생성합니다. 이러한 결과 디자인 공간을 RegNet이라고 하며, 단순하고 규칙적인 모델만 포함합니다. d < 64, w0, wa < 256, 1.5 ≤ wm ≤ 3 및 이전 AnyNetXE의 efit을 기반으로 범위를 설정합니다.

RegNetX의 오차 EDF는 Figure 9 (왼쪽)에 표시됩니다. RegNetX의 모델은 최고의 모델을 유지하면서도 AnyNetX보다 평균 오차가 더 좋습니다. Figure 9 (가운데)에서는 두 가지 추가 단순화를 테스트합니다. 첫째, wm = 2 (스테이지 간 폭을 2배로 증가)를 사용하면 EDF가 약간 향상되지만, wm ≥ 2를 사용하는 것이 더 나은 결과를 보여줍니다 (나중에 설명됨). 둘째, w0 = wa로 설정하여 선형 매개변수화를 uj = wa · (j + 1)로 더 단순화하여 테스트합니다. 흥미로운 점은 이것이 더 나은 결과를 가져온다는 것입니다. 그러나 모델의 다양성을 유지하기 위해 어느 제약도 부과하지 않습니다. 마지막으로, Figure 9 (오른쪽)에서는 무작위 탐색 효율성이 RegNetX에서 훨씬 높다는 것을 보여줍니다. 약 32개의 무작위 모델을 검색하면 좋은 모델을 얻을 가능성이 높습니다.


Table 1은 디자인 공간의 크기를 요약하여 보여줍니다 (RegNet의 경우 연속 매개변수를 양자화하여 크기를 추정합니다). RegNetX를 설계함으로써, 원래 AnyNetX 디자인 공간의 차원을 16에서 6으로 줄이고 크기를 거의 10의 10승 배 감소시켰습니다. 그러나 RegNet은 여전히 다양한 설정에 맞게 조정할 수 있는 다양한 모델을 포함하고 있음을 알립니다.

 

3.4. Design Space Generalization

우리는 RegNet 디자인 공간을 낮은 계산 및 낮은 에포크 훈련 환경에서 하나의 블록 유형으로 설계했습니다. 그러나 저희의 목표는 단일 설정을 위한 디자인 공간을 설계하는 것이 아니라, 새로운 설정에 일반화될 수 있는 네트워크 디자인의 일반적인 원칙을 발견하는 것입니다.

Figure 10에서는 RegNetX 디자인 공간을 더 높은 flops, 더 높은 에포크, 5단계 네트워크, 다양한 블록 유형 (부록에서 설명)의 AnyNetXA 및 AnyNetXE와 비교합니다. 모든 경우에 디자인 공간의 순서는 일관되며, RegNetX > AnyNetXE > AnyNetXA입니다. 다시 말해, 과적합의 징후가 보이지 않습니다.

이러한 결과는 RegNet이 새로운 설정에 일반화될 수 있다는 것을 보여주는 유망한 결과입니다. 5단계 결과는 RegNet의 규칙적인 구조가 더 많은 단계에도 일반화될 수 있음을 보여줍니다. 한편, AnyNetXA는 더 많은 자유도를 갖고 있습니다.

 

Figure 11. RegNetX 파라미터 추이. 각 파라미터와 각 flop 영역에 대해 95% 신뢰 구간 내에 최상의 모델을 포함하는 범위 (파란색으로 표시)와 가장 가능성 있는 최상의 모델 (검은색 선)을 얻기 위해 경험적인 부트스트랩을 적용했습니다 (Figure 2도 참조). 우리는 최상의 모델에 대해 깊이 d가 flop 영역을 획기적으로 안정적으로 유지되고, b = 1 및 wm &asymp; 2.5가 가장 좋음을 관찰합니다. 블록과 그룹 너비 (wa, w0, g)는 flop와 함께 증가하는 경향이 있습니다.

4. Analyzing the RegNetX Design Space

다음으로, RegNetX 디자인 공간을 더 자세히 분석하고 일반적인 딥 네트워크 디자인 선택 사항을 재방문합니다. 우리의 분석은 인기있는 관행과 일치하지 않는 놀라운 통찰력을 제공하여 간단한 모델로 좋은 결과를 얻을 수 있도록 합니다.
RegNetX 디자인 공간에는 좋은 모델들이 높은 농도로 집중되어 있으므로, 다음 결과에서는 모델을 샘플링하는 수를 줄이고 (100개) 긴 시간 (25 epoch) 동안 학습하되 학습률을 0.1로 설정하여 더 세부적인 네트워크 동작 트렌드를 관찰하기 위해 변경합니다 (부록 참조). 이렇게 함으로써 네트워크 동작의 세밀한 트렌드를 관찰할 수 있습니다.
RegNet 트렌드. Figure 11에서 flop 범위에 따른 RegNetX 매개변수의 트렌드를 보여줍니다. 놀랍게도, 최상의 모델의 깊이는 범위에 따라 안정적입니다 (왼쪽 상단), 최적의 깊이는 약 20개 블록 (60개의 레이어)입니다. 이는 일반적으로 높은 flop 범위에 더 깊은 모델을 사용하는 일반적인 관행과는 대조적입니다. 또한, 최상의 모델들은 병목 비율 b가 1.0 (위쪽 가운데)인 것을 관찰합니다. 이는 병목을 효과적으로 제거하는 것입니다 (일반적으로 사용되는 방식과 다릅니다). 그 다음으로, 좋은 모델들의 너비 배율 wm은 약 2.5 (위쪽 오른쪽)로, 단계별로 너비를 두 배로 하는 인기있는 레시피와 유사하지만 완전히 동일하지는 않습니다. 나머지 매개변수 (g, wa, w0)는 복잡성에 따라 증가합니다 (아래쪽).

 

 

복잡성 분석. FLOPS와 매개변수 외에도, 우리는 모든 컨볼루션 레이어의 출력 텐서의 크기로 정의되는 네트워크 활성화를 분석합니다 (일반적인 컨볼루션 연산자의 복잡성 측정을 Figure 12 상단 왼쪽에 나열합니다). 활성화는 네트워크 복잡성의 일반적인 측정 항목은 아니지만, 메모리에 바운드된 하드웨어 가속기 (예: GPU, TPU)에서 실행 시간에 큰 영향을 미칠 수 있습니다. 예를 들어, Figure 12 상단을 참조하십시오. Figure 12 (하단)에서는 모집단의 최상의 모델들에 대해, 활성화는 FLOPS의 제곱근에 비례하여 증가하고, 매개변수는 선형적으로 증가하며, 실행 시간은 FLOPS와 활성화 모두에 의존하기 때문에 선형 및 제곱근 항을 모델링하는 것이 가장 좋다는 것을 관찰합니다.
RegNetX 제한. 이러한 결과를 기반으로 RegNetX 디자인 공간을 개선합니다. 먼저, Figure 11 (상단)을 기반으로 b = 1, d ≤ 40 및 wm ≥ 2로 설정합니다. 둘째, Figure 12 (하단)를 따라 매개변수와 활성화를 제한합니다. 이로써 정확도에 영향을 주지 않으면서 빠르고, 낮은 매개변수 및 메모리를 사용하는 모델을 얻을 수 있습니다. Figure 13에서는 이러한 제약 조건을 가진 RegNetX를 테스트하고, 제약 버전이 모든 flop 범위에서 우수함을 관찰합니다. 이 버전을 §5에서 사용하며, 깊이를 12 ≤ d ≤ 28로 제한합니다 (부록 D도 참조).
대체 디자인 선택. 최근의 모바일 네트워크는 [25]에서 제안된 역병목 (b < 1)과 깊이별 컨볼루션 [1] (g = 1)을 함께 사용하는 것이 일반적입니다. Figure 14 (왼쪽)에서 역병목이 EDF를 약간 저하시키고, 깊이별 컨볼루션은 b = 1 및 g ≥ 1에 비해 더 나쁘게 작동하는 것을 관찰합니다 (추가 분석은 부

록 참조). 그 다음으로, 이미지 해상도를 조정하는 것이 도움이 될 수 있다는 [29]의 연구에 영감을 받아 Figure 14 (가운데)에서 해상도를 다양하게 테스트합니다. [29]와는 달리, RegNetX에서는 고정된 224×224 해상도가 최적이며, 더 높은 flop에서도 동일합니다.
SE. 마지막으로, 우리는 인기있는 Squeeze-and-Excitation (SE) 연산을 사용하여 RegNetX를 평가합니다. (X+SE를 Y로 약자화하고, 결과적인 디자인 공간을 RegNetY로 지칭합니다). Figure 14 (오른쪽)에서 RegNetY가 좋은 향상을 제공하는 것을 볼 수 있습니다.

 

 

 

5. Comparison to Existing Networks

이제 우리는 다양한 복잡도에서 RegNetX와 RegNetY 디자인 공간의 최고 모델을 ImageNet [3]의 최신 기술과 비교합니다. 우리는 개별 모델을 소문자로 표기하며, 예를 들어 REGNETX와 같이 표기합니다. 또한 모델에 flop 범위를 접미사로 붙입니다. 예를 들어 400MF입니다. 각 flop 범위에 대해, RegNet 매개변수 (d, g, wm, wa, w0)의 25가지 랜덤 설정 중에서 최상의 모델을 선택하고, 최상의 모델을 100 epoch 동안 5번 재훈련하여 견고한 오차 추정치를 얻습니다.
각 flop 범위에 대한 최고의 REGNETX 및 REGNETY 모델은 각각 Figure 15와 Figure 16에 표시됩니다. §4에서 분석한 단순한 선형 구조와 경향성 외에도 흥미로운 패턴을 관찰합니다. 즉, 높은 flop 모델은 세 번째 스테이지에 많은 수의 블록과 마지막 스테이지에는 적은 수의 블록을 가지는 경향이 있습니다. 이는 표준 RESNET 모델의 설계와 유사합니다. 또한, 복잡성이 증가함에 따라 그룹 너비 g가 증가하지만, 깊이 d는 큰 모델에서 포화됨을 관찰합니다.
우리의 목표는 공정한 비교를 수행하고 간단하고 재현하기 쉬운 기준선을 제공하는 것입니다. 최근 네트워크 성능의 향상은 훈련 설정 및 정규화 체계의 개선에 기반한 것임을 주목합니다 (Table 7 참조). 네트워크 아키텍처를 평가하는 것이 우리의 초점이므로, 우리는 동일한 훈련 설정에서 조심스럽게 제어된 실험을 수행합니다. 특히, 고전적인 작업과의 공정한 비교를 제공하기 위해 어떠한 훈련 시간의 향상도 사용하지 않습니다.

5.1. State-of-the-Art Comparison: Mobile Regime

최근의 네트워크 디자인 연구 중 많은 부분이 모바일 범위 (∼600MF)에 초점을 맞추고 있습니다. Table 2에서는 600MF에서의 REGNET 모델과 기존의 모바일 네트워크를 비교합니다. 우리는 REGNET이 이러한 범위에서 놀라울 정도로 효과적임을 관찰했는데, 이는 수동 설계 [9, 25, 19] 및 NAS [35, 23, 17, 18]를 통해 더 나은 모바일 네트워크를 찾기 위해 수행된 방대한 연구가 있음에도 불구하고입니다.
우리는 REGNET 모델이 가중치 감쇠 외에는 정규화가 없는 기본 100 epoch 일정을 사용하고 있으며, 대부분의 모바일 네트워크는 딥 슈퍼비전 [16], Cutout [4], DropPath [14], AutoAugment [2] 등과 같은 다양한 향상 기법과 함께 더 긴 일정을 사용한다는 점을 강조합니다. 따라서 향후 연구를 위한 간단한 기준선으로 우리가 짧은 훈련 일정과 향상 없이 얻은 강력한 결과가 활용될 수 있기를 바랍니다.

 

5.2. Standard Baselines Comparison: ResNe(X)t

다음으로 RegNetX 디자인 공간을 더 자세히 분석하고 일반적인 딥 네트워크 디자인 선택 사항을 재검토합니다. 우리의 분석 결과는 인기 있는 실천 방법과 일치하지 않는 놀라운 통찰력을 제공하며, 이를 통해 간단한 모델로도 좋은 결과를 얻을 수 있습니다. RegNetX 디자인 공간은 우수한 모델의 높은 집중도를 가지고 있기 때문에, 다음 결과에서는 샘플링하는 모델 수를 줄이고(100개) 대신 더 긴 학습 시간(25 에폭)과 학습률 0.1로 훈련합니다(부록 참조). 이렇게 함으로써 네트워크 동작의 더 세분화된 추세를 관찰할 수 있습니다.


RegNet 추세. 그림 11에서 RegNetX 매개변수의 추세를 flop 범위에 따라 보여줍니다. 놀랍게도, 최고 모델의 깊이는 범위에 상관없이 안정적입니다(왼쪽 상단), 최적의 깊이는 약 20개 블록(60개의 레이어)입니다. 이는 일반적으로 더 높은 flop 범위에는 더 깊은 모델을 사용하는 일반적인 방법과 대조적입니다. 또한, 최고 모델은 병목 비율 b를 1.0으로 사용하며 (중앙 상단), 이는 실제로 병목을 제거하는 것과 같습니다(일반적으로 실제로 사용됩니다). 다음으로, 좋은 모델의 너비 배수 wm은 약 2.5입니다(오른쪽 상단), 스테이지 간 너비를 두 배로 하는 인기 있는 레시피와 유사하지만 완전히 동일하지는 않습니다. 나머지 매개변수(g, wa, w0)는 복잡성에 따라 증가합니다(하단).

 

복잡성 분석. flop와 매개변수 외에도, 우리는 네트워크 활성화를 분석합니다. 여기서 네트워크 활성화란 모든 컨볼루션 레이어의 출력 텐서의 크기로 정의합니다(공통 컨볼루션 연산자의 복잡성 측정을 그림 12 상단 왼쪽에 나열합니다). 활성화는 네트워크의 복잡성을 일반적으로 측정하는 방법은 아니지만, 메모리 제한된 하드웨어 가속기(GPU, TPU 등)에서 런타임에 큰 영향을 줄 수 있습니다. 예를 들어, 그림 12 상단에서 확인할 수 있습니다. 그림 12 (하단)에서는 인구 중 가장 좋은 모델의 경우, 활성화는 flop의 제곱근에 비례하여 증가하고, 매개변수는 선형적으로 증가하며, 런타임은 flop과 활성화의 양쪽에 의존하기 때문에 선형 및 제곱근 항을 함께 사용하여 가장 잘 모델링됩니다.

RegNetX 제약 조건. 이러한 결과를 기반으로 RegNetX 디자인 공간을 개선합니다. 첫째, 그림 11 (상단)을 기반으로 b = 1, d ≤ 40 및 wm ≥ 2로 설정합니다. 둘째, 그림 12 (하단)을 따라 매개변수와 활성화를 제한합니다. 이로써 정확도에 영향을 주지 않고 빠르고 낮은 매개변수 및 낮은 메모리 모델을 얻을 수 있습니다. 그림 13에서 이러한 제약 조건으로 RegNetX를 테스트하고 모든 flop 범위에서 제약 버전이 우수함을 관찰합니다. 이 버전을 5장에서 사용하며, 깊이를 12 ≤ d ≤ 28로 제한합니다(부록 D도 참조).

대체 디자인 선택. 현대적인 모바일 네트워크에서는 [25]에서 제안된 역병목(b < 1)과 깊이별 컨볼루션 [1] (g = 1)을 함께 사용하는 경우가 많습니다. 그림 14 (왼쪽)에서는 역병목이 EDF를 약간 저하시키고, 깊이별 컨볼루션은 b = 1 및 g ≥ 1에 비해 성능이 더 낮음을 관찰합니다

(추가 분석은 부록을 참조하십시오). 다음으로, [29]의 연구에 영감을 받아 입력 이미지 해상도를 변화시켜보았습니다. 그림 14 (가운데)에서는 RegNetX의 경우 224×224의 고정 해상도가 더 좋음을 발견했습니다. 심지어 더 높은 flop에서도 마찬가지입니다.

SE. 마지막으로, 인기 있는 Squeeze-and-Excitation(SE) 연산 [10]을 사용하여 RegNetX를 평가합니다. 우리는 X+SE를 Y로 약칭하고, 결과적인 디자인 공간을 RegNetY라고 합니다. 그림 14 (오른쪽)에서 볼 수 있듯이, RegNetY는 좋은 성능 향상을 제공합니다.

 

Table 4. 우리의 표준 훈련 일정을 사용한 EFFICIENTNET 비교. 비교 가능한 훈련 설정에서 대부분의 flop 범위에서 REGNETY가 EFFICIENTNET보다 우수한 성능을 보입니다. 게다가, REGNET 모델은 상당히 빠릅니다. 예를 들어, REGNETX-F8000은 EFFICIENTNET-B5보다 약 5배 빠릅니다. EFFICIENTNET의 원래 보고된 오류 (회색으로 표시)는 더 긴 및 향상된 훈련 일정을 사용하지만, Table 7을 참조하십시오.

 

5.3. State-of-the-Art Comparison: Full Regime

EFFICIENTNET [29]을 중점적으로 비교하며, 이는 최첨단 기술을 대표하며, NAS와 복잡도 범위별로 흥미로운 모델 스케일링 규칙의 조합을 사용하여 인상적인 성능 향상을 보고했습니다.
직접적인 비교와 네트워크 아키텍처 개선으로 인한 성능 향상을 독립적으로 분석하기 위해, 우리는 정확한 EFFICIENTNET 모델을 재현하지만 표준 훈련 설정인 100 epoch 일정과 가중치 감쇠를 제외한 정규화 없이 훈련합니다 (더 긴 일정과 강력한 정규화의 효과는 Table 7에서 보여집니다). lr과 wd만 최적화합니다. 부록의 Figure 22를 참조하세요. 이는 REGNET과 동일한 설정이며 공정한 비교를 가능하게 합니다.
결과는 Figure 18과 Table 4에 나와 있습니다. 낮은 flop에서는 EFFICIENTNET이 REGNETY보다 우수한 성능을 보입니다. 중간 flop에서는 REGNETY가 EFFICIENTNET보다 우수하며, 높은 flop에서는 REGNETX와 REGNETY가 더 나은 성능을 발휘합니다.
또한 EFFICIENTNET의 경우, 활성화 함수는 flop와 선형적으로 스케일이 조정됩니다 (해상도와 깊이의 스케일링으로 인한 영향), 반면 REGNET은 flop의 제곱근에 비례하여 활성화 함수가 스케일 조정됩니다. 이로 인해 EFFICIENTNET의 GPU 훈련 및 추론 시간이 느려집니다. 예를 들어, REGNETX-8000은 EFFICIENTNET-B5보다 5배 빠르며, 오류가 낮습니다.

 

6. Conclusion

이 연구에서는 새로운 네트워크 디자인 패러다임을 제시합니다. 결과는 네트워크 디자인 공간을 설계하는 것이 향후 연구에 대한 유망한 방향임을 시사합니다.

Appendix A: Test Set Evaluation

본 논문에서는 모든 실험을 ImageNet [3] 검증 세트에서 수행합니다. 여기에서는 ImageNetV2 [24] 테스트 세트 (원래의 테스트 세트는 사용 불가)에서 모델을 평가합니다.
평가 설정. 

ImageNet에서 개발된 모델의 일반화를 연구하기 위해, [24]의 저자들은 원래의 절차를 따라 (ImageNetV2) 새로운 테스트 세트를 수집합니다. 그들은 전반적인 모델 순위가 새로운 테스트 세트에서도 유지됨을 발견했습니다. 그러나 절대 오류는 증가합니다. 우리는 §5에서의 비교를 ImageNetV2 테스트 세트에서 반복합니다.


RESNE(X)T 비교. 

표 5에서 RESNE(X)T 모델과 비교합니다. 모델 순위가 일반적으로 일관성을 유지하지만, 그 사이의 차이가 줄어듭니다. 그럼에도 불구하고, REGNETX 모델은 여전히 우수한 성능을 발휘하며, 좋은 RESNE(X)T 모델이 없는 저-계산 범위를 포함한 다양한 flop 범위에서 좋은 모델을 제공합니다. 최상의 결과는 REGNETY를 사용하여 얻을 수 있습니다.


EFFICIENTNET 비교. 

표 6에서 EFFICIENTNET 모델과 비교합니다. 이전과 마찬가지로, 모델 순위는 일반적으로 일관성을 유지하지만 그 사이의 차이가 줄어듭니다. 전반적으로 결과는 REGNET 모델이 최첨단 EFFICIENTNET과 비교 가능한 성능을 발휘하며, GPU에서 최대 5배 빠릅니다.

 

Appendix B: Additional Ablations

이 섹션에서는 본문의 결과를 보완하거나 더 지원하기 위해 추가 실험을 수행합니다.
고정된 깊이. §5에서 우리는 최상위 모델의 깊이가 상당히 안정적이라는 것을 관찰했습니다 (∼20개의 블록). Figure 19 (왼쪽)에서는 flop 범위에서 고정된 깊이 (d = 20)를 사용한 비교를 보여줍니다. 최상의 결과와 비교하기 위해 각 모델을 100 epoch 동안 훈련했습니다. 놀랍게도, 우리는 고정된 깊이의 네트워크가 모든 flop 범위에서 가변 깊이의 네트워크와 성능을 맞출 수 있다는 것을 발견했습니다. 실제로 이러한 고정된 깊이의 네트워크는 §5의 최상의 결과와 일치합니다.
더 적은 스테이지. §5에서 우리는 고 flops에서 최상위 REGNET 모델들이 네 번째 스테이지에는 몇 개의 블록만 있다는 것을 관찰했습니다 (한 개 또는 두 개). 따라서 우리는 3 스테이지 네트워크를 6.4GF에서 100 epoch 동안 훈련하여 테스트했습니다. Figure 19 (가운데)에서 결과를 보여주며, 세 스테이지 네트워크가 상당히 성능이 나쁘게 나타납니다. 그러나 세 스테이지 네트워크가 잘 동작하려면 (추후 작업을 위해) 추가적인 변경 (예: stem 또는 head)이 필요할 수 있다는 점에 주목합니다.
역방향 병목. §4에서 우리는 역방향 병목 (b < 1)을 사용하는 것이 성능을 저하시킨다는 것을 관찰했습니다. 우리의 결과가 저-계산 범위에 있었기 때문에, Figure 19 (오른쪽)에서 6.4GF와 100 epoch에서 다시 테스트합니다. 놀랍게도, 이러한 범위에서 b < 1은 결과를 더욱 저하시킵니다.
Swish vs. ReLU 최근의 많은 방법들은 Swish [22] 활성화 함수를 사용합니다. 예를 들면 [29]입니다. Figure 20에서는 Swish와 ReLU를 사용하여 RegNetY를 연구합니다. 우리는 Swish가 낮은 flop에서 ReLU보다 우수한 성능을 발휘하는 것을 발견했습니다. 그러나

 높은 flop에서는 ReLU가 더 좋습니다. 흥미롭게도, g가 1로 제한되는 경우 (깊이별 컨볼루션), Swish가 ReLU보다 훨씬 우수한 성능을 발휘합니다. 이는 깊이별 컨볼루션과 Swish가 상호작용하는 것을 시사하며, 그에 대한 근본적인 이유는 전혀 명확하지 않습니다.

Figure 21. 최적화 설정. 이 결과를 얻기 위해, 우리는 RegNetX 모델의 집단을 생성하면서 각 모델에 대해 초기 학습률(lr)과 가중치 감쇠(wd)를 무작위로 변화시킵니다. 이 결과는 배치 크기 128로 훈련되며 1개의 GPU에서 훈련됩니다. 상단: lr, wd 및 lr&middot;wd에 대한 모델 오류의 분포를 나타냅니다 (10 epoch 및 400MF에서). 경험적 부트스트래핑을 적용하여, 특히 lr과 lr&middot;wd에 대한 명확한 추세가 나타납니다. 가운데: 이 실험을 다양한 flop 범위에 걸쳐 반복합니다 (각각 10 epoch 동안 훈련됨). 추세는 안정적입니다. 하단: 마찬가지로, 400MF 범위에서 다양한 epoch 수로 훈련을 반복하며, 동일한 추세를 관찰합니다. 이러한 결과를 바탕으로, 우리는 &sect;4에서 시작하여 모든 훈련 일정과 flop 범위에서 lr = 0.1 및 wd = 5&middot;10^(-5)를 사용합니다.

 

Appendix C: Optimization Settings

우리의 기본적인 훈련 설정은 §3에서 논의된대로 [21]을 따릅니다.
REGNET 모델의 학습률 lr과 가중치 감소 wd를 조정하기 위해, Figure 21에 설명된 연구를 수행합니다.
이를 바탕으로, 우리는 모든 §4와 §5의 모델에 대해 lr = 0.1과 wd = 5·10^(-5)로 설정합니다. 최종 모델을 100 epoch 동안 빠르게 훈련하기 위해 GPU의 수를 8개로 늘리고, GPU 당 이미지 수는 고정합니다.
배치 크기를 조정할 때에는 선형 스케일링 규칙을 사용하여 lr을 조정하고, 5 epoch 동안 점진적인 워마업을 적용합니다 [6].
EFFICIENTNET에 대해서도 공정한 비교를 위해 동일한 최적화를 Figure 22에 대해 반복합니다. 흥미로운 점은, 학습률과 가중치 감소가 다시 복잡성 범위에서 안정적이라는 것입니다. 마지막으로, Table 7에서 EFFICIENTNET-B0에 대한 훈련 향상의 상당한 효과를 보고합니다. 이 차이는 더 큰 모델에서 더 크게 나타날 수도 있습니다 (Table 4 참조).

표 7. EFFICIENTNET-B0에 대한 훈련 향상. 우리의 EFFICIENTNET-B0 재현 실험에서는 DropPath [14]와 250 epoch 훈련 일정 (세 번째 행)을 사용하였고, 이는 원래 결과보다 약간 우수한 결과를 얻었습니다 (마지막 행). 원래 결과에는 RMSProp [30], AutoAugment [2] 등이 추가로 사용되었습니다. 이러한 훈련 설정의 향상 없이 결과는 약 2% 낮아지며 (첫 번째 행), 훈련 설정을 신중하게 제어하는 것의 중요성을 강조합니다.
Figure 23. 우리의 일반화 실험에서 사용된 블록 유형 (&sect;3.4 및 Figure 10 참조). 왼쪽: 블록 다이어그램. 오른쪽: 네 가지 블록 유형과의 RegNet 비교. X 블록이 가장 우수한 성능을 발휘합니다. 흥미롭게도, V 블록의 경우 잔여 연결은 성능 향상을 제공하지 않습니다.

Appendix D: Implementation Details

추가 구현 세부 사항으로 마무리합니다.
그룹 너비 호환성. 

모델에 대해 너비 w와 그룹 너비 g를 샘플링할 때, 호환되지 않는 값(즉, w가 g로 나누어 떨어지지 않는 값)이 발생할 수 있습니다. 이에 대응하기 위해 간단한 전략을 사용합니다. 즉, g > w인 경우 g = w로 설정하고, 그렇지 않은 경우 w를 g로 나누어 떨어지게 반올림합니다. 최종적인 w는 원래의 w와 최대 1/3까지 다를 수 있습니다 (증명은 생략됨). 병목 모델의 경우, 이 전략을 병목 너비에 적용하고 (그에 따라 너비를 조정합니다).


그룹 너비 범위. 

§4에서 논의한 대로, 우리는 좋은 모델의 그룹 너비가 더 높은 계산 범위에서 크다는 일반적인 경향을 알아차렸습니다. 이를 고려하기 위해, 우리는 더 높은 계산 범위에 대해 그룹 너비 범위를 점진적으로 조정합니다. 예를 들어, g ≤ 32 대신에 3.2GF에서 16 ≤ g ≤ 64로 샘플링하고 8로 나누어 떨어지는 어떤 g도 허용합니다.


블록 유형. 

§3에서는 RegNet 디자인 공간이 다른 블록 유형에 대해서도 일반화됨을 보였습니다. 다음에는 Figure 23에 나와 있는 이러한 추가적인 블록 유형을 설명합니다:
1. R 블록: 그룹이 없는 X 블록과 동일하지만 그룹이 없는 버전입니다.
2. V 블록: 단일 3×3 컨볼루션만 있는 기본 블록입니다.
3. VR 블록: V 블록에 잔여 연결을 추가한 버전입니다.
우리는 좋은 매개변수 값이 블록 유형에 따라 다를 수 있다는 점에 유의합니다. 예를 들어, X 블록과는 달리 R 블록에서는 b > 1이 b = 1보다 좋습니다. 우리의 접근 방식은 이에 강건합니다.


Y 블록 세부 사항. 

Y 블록을 얻기 위해 X 블록의 3×3 컨볼루션 뒤에 SE 연산을 추가하고, SE 축소 비율을 1/4로 사용합니다. 이러

한 선택지를 실험해 보았지만, 성능은 비슷하게 나타났습니다 (표시하지 않음).

 

 

References
[1] F. Chollet. Xception: Deep learning with depthwise separable convolutions. In CVPR, 2017. 7
[2] E. D. Cubuk, B. Zoph, D. Mane, V. Vasudevan, and Q. V. Le.
AutoAugment: Learning augmentation policies from data.
arXiv:1805.09501, 2018. 8, 11
[3] J. Deng, W. Dong, R. Socher, L.-J. Li, K. Li, and L. FeiFei. Imagenet: A large-scale hierarchical image database. In
CVPR, 2009. 2, 3, 8, 10
[4] T. DeVries and G. W. Taylor. Improved regularization of convolutional neural networks with cutout.
arXiv:1708.04552, 2017. 8
[5] B. Efron and R. J. Tibshirani. An introduction to the bootstrap. CRC press, 1994. 3
[6] P. Goyal, P. Dollar, R. Girshick, P. Noordhuis, ´
L. Wesolowski, A. Kyrola, A. Tulloch, Y. Jia, and K. He.
Accurate, large minibatch sgd: Training imagenet in 1 hour.
arXiv:1706.02677, 2017. 11
[7] K. He, X. Zhang, S. Ren, and J. Sun. Delving deep into
rectifiers: Surpassing human-level performance on imagenet
classification. In ICCV, 2015. 2
[8] K. He, X. Zhang, S. Ren, and J. Sun. Deep residual learning
for image recognition. In CVPR, 2016. 1, 2, 3, 9
[9] A. G. Howard, M. Zhu, B. Chen, D. Kalenichenko, W. Wang,
T. Weyand, M. Andreetto, and H. Adam. Mobilenets: Efficient convolutional neural networks for mobile vision applications. arXiv:1704.04861, 2017. 2, 8
[10] J. Hu, L. Shen, and G. Sun. Squeeze-and-excitation networks. In CVPR, 2018. 7
[11] G. Huang, Z. Liu, L. Van Der Maaten, and K. Q. Weinberger.
Densely connected convolutional networks. In CVPR, 2017.
2
[12] S. Ioffe and C. Szegedy. Batch normalization: Accelerating
deep network training by reducing internal covariate shift. In
ICML, 2015. 4
[13] A. Krizhevsky, I. Sutskever, and G. E. Hinton. Imagenet
classification with deep convolutional neural networks. In
NIPS, 2012. 1, 2
[14] G. Larsson, M. Maire, and G. Shakhnarovich. Fractalnet:
Ultra-deep neural networks without residuals. In ICLR,
2017. 8, 11
[15] Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E.
Howard, W. Hubbard, and L. D. Jackel. Backpropagation
applied to handwritten zip code recognition. Neural computation, 1989. 1
[16] C.-Y. Lee, S. Xie, P. Gallagher, Z. Zhang, and Z. Tu. Deeplysupervised nets. In AISTATS, 2015. 8
[17] C. Liu, B. Zoph, M. Neumann, J. Shlens, W. Hua, L.-J. Li,
L. Fei-Fei, A. Yuille, J. Huang, and K. Murphy. Progressive
neural architecture search. In ECCV, 2018. 2, 8
[18] H. Liu, K. Simonyan, and Y. Yang. Darts: Differentiable
architecture search. In ICLR, 2019. 1, 2, 8
[19] N. Ma, X. Zhang, H.-T. Zheng, and J. Sun. Shufflenet v2:
Practical guidelines for efficient cnn architecture design. In
ECCV, 2018. 8
[20] H. Pham, M. Y. Guan, B. Zoph, Q. V. Le, and J. Dean. Efficient neural architecture search via parameter sharing. In
ICML, 2018. 2
[21] I. Radosavovic, J. Johnson, S. Xie, W.-Y. Lo, and P. Dollar. ´
On network design spaces for visual recognition. In ICCV,
2019. 1, 2, 3, 4, 11
[22] P. Ramachandran, B. Zoph, and Q. V. Le. Searching for activation functions. arXiv:1710.05941, 2017. 10
[23] E. Real, A. Aggarwal, Y. Huang, and Q. V. Le. Regularized
evolution for image classifier architecture search. In AAAI,
2019. 2, 8
[24] B. Recht, R. Roelofs, L. Schmidt, and V. Shankar. Do imagenet classifiers generalize to imagenet? arXiv:1902.10811,
2019. 2, 10
[25] M. Sandler, A. Howard, M. Zhu, A. Zhmoginov, and L.-C.
Chen. Mobilenetv2: Inverted residuals and linear bottlenecks. In CVPR, 2018. 2, 7, 8
[26] K. Simonyan and A. Zisserman. Very deep convolutional
networks for large-scale image recognition. In ICLR, 2015.
1, 2
[27] C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed,
D. Anguelov, D. Erhan, V. Vanhoucke, and A. Rabinovich.
Going deeper with convolutions. In CVPR, 2015. 2
[28] C. Szegedy, V. Vanhoucke, S. Ioffe, J. Shlens, and Z. Wojna.
Rethinking the inception architecture for computer vision. In
CVPR, 2016. 2
[29] M. Tan and Q. V. Le. Efficientnet: Rethinking model scaling
for convolutional neural networks. ICML, 2019. 1, 2, 7, 9,
10, 11
[30] T. Tieleman and G. Hinton. Lecture 6.5-rmsprop: Divide
the gradient by a running average of its recent magnitude.
Coursera: Neural networks for machine learning, 2012. 11
[31] S. Xie, R. Girshick, P. Dollar, Z. Tu, and K. He. Aggregated ´
residual transformations for deep neural networks. In CVPR,
2017. 2, 4, 9
[32] S. Zagoruyko and N. Komodakis. Wide residual networks.
In BMVC, 2016. 2
[33] X. Zhang, X. Zhou, M. Lin, and J. Sun. Shufflenet: An
extremely efficient convolutional neural network for mobile
devices. In CVPR, 2018. 8
[34] B. Zoph and Q. V. Le. Neural architecture search with reinforcement learning. In ICLR, 2017. 1
[35] B. Zoph, V. Vasudevan, J. Shlens, and Q. V. Le. Learning
transferable architectures for scalable image recognition. In
CVPR, 2018. 2, 8

 

반응형