2021. 3. 3. 11:46ㆍComputer Vision
Aggregated Residual Transformations for Deep Neural Networks
Saining Xie1 Ross Girshick2 Piotr Doll´ar2 Zhuowen Tu1 Kaiming He2
1UC San Diego 2Facebook AI Research
Abstract
이미지 분류를 위한 간단하고 고도로 모듈화된 네트워크 아키텍처를 제시합니다.
우리의 네트워크는 동일한 토폴로지로 일련의 변환을 집계하는 빌딩 블록을 반복하여 구성됩니다.
우리의 단순한 설계는 몇 개의 하이퍼 매개 변수만 설정할 수 있는 동종의 다중 분기 아키텍처를 만듭니다.
이 전략은 깊이와 너비의 차원 외에도 필수 요소로 "cardinality"(변환 집합의 크기)라고 하는 새로운 차원을 제공합니다.
ImageNet-1K 데이터 세트에서 우리는 복잡성을 유지하는 제한된 조건에서도 cardinality를 높이면 분류 정확도를 향상시킬 수 있음을 경험적으로 보여줍니다.
또한 cardinality를 늘리는 것이 용량을 늘릴 때 더 깊어지거나 넓히는 것보다 더 효과적입니다.
ResNeXt라는 이름의 모델은 2위를 차지한 ILSVRC 2016 분류 작업에 대한 진입의 기초입니다.
ImageNet-5K 세트 및 COCO 감지 세트에서 ResNeXt를 추가로 조사하여 ResNet 대응 제품보다 더 나은 결과를 보여줍니다.
코드와 모델은 온라인에서 공개적으로 사용할 수 있습니다.
1. Introduction
시각 인식에 대한 연구는 "특성 공학"에서 "네트워크 공학"으로 전환되고 있습니다 [25, 24, 44, 34, 36, 38, 14].
기존의 수작업으로 설계된 기능(예 : SIFT [29] 및 HOG [5])과 달리, 대규모 데이터에서 신경망을 통해 학습된 기능[33]은 훈련 중에 사람의 개입을 최소화해야하며 다양한 인식 작업으로 이전될 수 있습니다. [7, 10, 28].
그럼에도 불구하고 인간의 노력은 학습 표현을 위한 더 나은 네트워크 아키텍처를 설계하는 것으로 바뀌었습니다.
하이퍼 파라미터 (width, 필터 크기, stride 등)의 수가 증가함에 따라 특히 계층이 많은 경우 아키텍처 설계가 점점 더 어려워집니다.
VGG-nets[36]는 매우 깊은 네트워크를 구성하는 간단하면서도 효과적인 전략을 보여줍니다: 동일한 모양의 빌딩 블록을 쌓는 것입니다.
이 전략은 동일한 토폴로지의 모듈을 스택하는 ResNets[14]에 의해 상속됩니다.
이 간단한 규칙은 하이퍼 파라미터의 자유로운 선택을 줄이고 깊이는 신경망의 필수 차원으로 노출됩니다.
또한 이 규칙의 단순성은 하이퍼 파라미터를 특정 데이터 세트에 과도하게 적용할 위험을 줄일 수 있다고 주장합니다.
VGGnets 및 ResNets의 견고성은 다양한 시각적 인식 작업 [7, 10, 9, 28, 31, 14]과 음성 [42, 30] 및 언어를 포함하는 비시각적 작업 [4, 41, 20]에 의해 입증되었습니다.
VGG-net과는 달리 Inception 모델 제품군[38, 17, 39, 37]은 신중하게 설계된 토폴로지가 낮은 이론적 복잡성으로 뛰어난 정확도를 달성할 수 있음을 입증했습니다.
Inception 모델은 시간이 지남에 따라 발전해 왔지만 [38, 39] 중요한 공통 속성은 분할 변환 병합 전략입니다.
Inception 모듈에서 입력은 몇 개의 저차원 임베딩(1x1 컨볼루션 기준)으로 분할되고 특수 필터 세트(3x3, 5x5 등)로 변환되고 concatenation으로 병합됩니다.
이 아키텍처의 솔루션 공간은 고차원 임베딩에서 작동하는 단일 대형 레이어(예 : 5x5)의 솔루션 공간의 엄격한 부분 공간이라는 것을 알 수 있습니다.
Inception 모듈의 분할 변환 병합 동작은 크고 조밀한 계층의 표현력에 접근할 것으로 예상되지만 계산 복잡성은 상당히 낮습니다.
우수한 정확성에도 불구하고 Inception 모델의 실현에는 일련의 복잡한 요소가 수반되었습니다 - 필터 번호와 크기는 각 개별 변환에 맞게 조정되고 모듈은 단계별로 맞춤화됩니다.
이러한 구성 요소를 신중하게 조합하면 우수한 신경망 레시피가 생성되지만, 특히 설계해야할 요소와 하이퍼 매개 변수가 많은 경우 Inception 아키텍처를 새로운 데이터 세트/작업에 적용하는 방법은 일반적으로 불분명합니다.

이 논문에서는 쉽고 확장 가능한 방식으로 분할-변환-병합 전략을 활용하면서 VGG/ResNets의 반복 레이어 전략을 채택한 간단한 아키텍처를 제시합니다.
네트워크의 모듈은 각각 저차원 임베딩에서 일련의 변환을 수행하며, 그 출력은 합산으로 집계됩니다.
우리는 이 아이디어의 단순한 실현을 추구합니다 - 통합할 변환은 모두 동일한 토폴로지입니다 (예 : 그림 1 (오른쪽)).
이 디자인을 사용하면 특별한 디자인 없이도 많은 변환으로 확장할 수 있습니다.

흥미롭게도 이 단순화된 상황에서 우리는 모델이 두 가지 다른 동등한 형태를 가지고 있음을 보여줍니다 (그림 3).
그림 3 (b)의 재구성은 여러 경로를 연결한다는 점에서 Inception-ResNet 모듈[37]과 유사합니다; 그러나 우리 모듈은 모든 경로가 동일한 토폴로지를 공유하므로 조사할 요소로 경로 수를 쉽게 분리할 수 있다는 점에서 기존의 모든 Inception 모듈과 다릅니다.
보다 간결한 재구성에서 모듈은 Krizhevsky et al.의 그룹화된 회선 [24](그림 3 (c))에 의해 재구성될 수 있지만 엔지니어링 절충안으로 개발되었습니다.
우리는 계산 복잡성과 모델 크기를 유지하는 제한된 조건에서도 집계된 변환이 원래 ResNet 모듈을 능가한다는 것을 경험적으로 입증합니다 - 예를 들어, 그림 1 (오른쪽)은 그림 1 (왼쪽)의 FLOP 복잡성과 매개 변수 수를 유지하도록 설계되었습니다.
용량을 늘려 (더 깊거나 넓게) 정확도를 높이는 것은 상대적으로 쉽지만, 복잡성을 유지(또는 줄임)하면서 정확도를 높이는 방법은 문헌에서 드물다는 점을 강조합니다.
우리의 방법은 cardinality(변환 집합의 크기)가 폭과 깊이의 차원 외에도 중요하며 구체적이고 측정 가능한 차원이라는 것을 나타냅니다.
실험에 따르면 cardinality를 늘리는 것이 특히 깊이와 너비가 기존 모델에 대해 감소하는 수익을 제공하기 시작할 때 더 깊거나 넓게 이동하는 것보다 정확도를 얻는 더 효과적인 방법이라는 것을 보여줍니다.
ResNeXt (다음 차원 제안)라는 이름의 신경망은 ImageNet 분류 데이터 세트에서 ResNet-101/152 [14], ResNet-200 [15], Inception-v3 [39] 및 Inception-ResNet-v2 [37]를 능가합니다.
특히 101 레이어 ResNeXt는 ResNet-200 [15]보다 더 나은 정확도를 달성할 수 있지만 복잡성은 50%에 불과합니다.
또한 ResNeXt는 모든 Inception 모델보다 훨씬 단순한 디자인을 보여줍니다.
ResNeXt는 2위를 차지한 ILSVRC 2016 분류 작업에 대한 제출의 기반이었습니다.
이 논문은 더 큰 ImageNet-5K 세트와 COCO 객체 감지 데이터 세트 [27]에서 ResNeXt를 추가로 평가하여 ResNet보다 지속적으로 더 나은 정확도를 보여줍니다.
ResNeXt가 다른 시각적 (비시각적) 인식 작업에도 잘 일반화될 것으로 기대합니다.
2. Related Work
Multi-branch convolutional networks.
Inception 모델 [38, 17, 39, 37]은 각 분기가 신중하게 사용자 정의되는 성공적인 다중 분기 아키텍처입니다.
ResNets [14]는 하나의 분기가 ID 매핑인 두 분기 네트워크로 생각할 수 있습니다.
심층 신경 결정 포리스트[22]는 학습된 분할 기능이 있는 트리 패턴의 다중 분기 네트워크입니다.
Grouped convolutions.
그룹화 된 컨볼루션의 사용은 이전은 아니지만 AlexNet 논문[24]으로 거슬러 올라갑니다.
Krizhevsky 등의 동기 부여[24]는 두 개의 GPU에 모델을 배포하기 위한 것입니다.
그룹화된 컨볼루션은 주로 AlexNet의 호환성을 위해 Caffe [19], Torch [3] 및 기타 라이브러리에서 지원됩니다.
우리가 아는 한, 정확도를 높이기 위해 그룹화된 컨볼루션을 이용한다는 증거는 거의 없습니다.
그룹화된 컨볼루션의 특별한 경우는 그룹 수가 채널 수와 동일한 채널 별 컨볼루션입니다.
채널 별 컨볼루션은 [35]에서 분리 가능한 컨볼루션의 일부입니다.
Compressing convolutional networks.
분해 (공간 [6, 18] 및/또는 채널 [6, 21, 16] 수준에서)는 심층 컨볼루션 네트워크의 중복성을 줄이고 이를 가속화/압축하기 위해 널리 채택된 기술입니다.
Ioannou et al. [16]은 계산을 줄이기 위한 "루트" 패턴 네트워크를 제시하고, 루트의 분기는 그룹화된 컨볼루션에 의해 실현됩니다.
이러한 방법 [6, 18, 21, 16]은 더 낮은 복잡성과 더 작은 모델 크기로 정확도의 우아한 절충안을 보여주었습니다.
압축 대신 우리의 방법은 더 강력한 표현력을 경험적으로 보여주는 아키텍처입니다.
Ensembling.
독립적으로 훈련된 네트워크 집합을 평균화하는 것은 인식 대회[33]에서 널리 채택된 정확도를 향상시키는 효과적인 솔루션입니다[24].
Veit et al. [40] 단일 ResNet을 더 얕은 네트워크의 앙상블로 해석합니다, 이는 ResNet의 추가 동작[15]의 결과입니다.
우리의 방법은 추가를 활용하여 일련의 변환을 집계합니다.
그러나 우리는 우리의 방법을 앙상블링으로 보는 것은 정확하지 않다고 주장합니다, 왜냐하면 집합할 구성원이 독립적이 아니라 공동으로 훈련되기 때문입니다.
3. Method
3.1. Template
우리는 VGG/ResNets에 따라 고도로 모듈화된 설계를 채택합니다.
우리의 네트워크는 잔여 블록 스택으로 구성됩니다.
이러한 블록은 동일한 토폴로지를 가지며 VGG/ResNets에서 영감을 받은 두 가지 간단한 규칙을 따릅니다:
(i) 동일한 크기의 공간 맵을 생성하는 경우 블록은 동일한 하이퍼 매개 변수(폭 및 필터 크기)를 공유하고
(ⅱ) 공간 맵이 2배로 다운 샘플링될 때마다 블록 폭에 2배가 곱해집니다.
두 번째 규칙은 FLOP (곱하기 덧셈 수의 부동 소수점 연산) 측면에서 계산 복잡성이 모든 블록에 대해 거의 동일하다는 것을 보장합니다.

이 두 가지 규칙을 사용하면 템플릿 모듈만 설계하면 되며 네트워크의 모든 모듈은 그에 따라 결정될 수 있습니다.
따라서 이 두 가지 규칙은 디자인 공간을 크게 좁히고 몇 가지 핵심 요소에 집중할 수 있도록합니다.
이러한 규칙에 의해 구성된 네트워크는 표 1에 나와 있습니다.
3.2. Revisiting Simple Neurons

인공 신경망에서 가장 단순한 뉴런은 내적(가중 합)을 수행하며, 이는 완전 연결 및 컨벌루션 계층에 의해 수행되는 기본 변환입니다.
내부 제품은 집계 변환의 한 형태로 생각할 수 있습니다:

여기서 x=[x1, x2, ..., xD]는 뉴런에 대한 D채널 입력 벡터이고 wi는 i번째 채널에 대한 필터의 가중치입니다.
이 작업(일반적으로 일부 출력 비선형성 포함)을 "뉴런"이라고합니다. 그림 2 참조
위의 작업은 분할, 변환 및 집계의 조합으로 다시 캐스팅할 수 있습니다.
(i) 분할 : 벡터 x는 저차원 임베딩으로 분할되며 위의 경우 단일 차원 부분 공간 xi입니다.
(ii) 변형 : 저차원 표현이 변형되고 위의 경우 단순히 크기가 조정됩니다 : wixi.
(iii) 집계 : 모든 임베딩의 변환은 ∑D, i=1로 집계됩니다.
3.3. Aggregated Transformations
간단한 뉴런에 대한 위의 분석을 감안할 때 기본 변환(wixi)을 그 자체가 네트워크일 수도 있는 보다 일반적인 함수로 대체하는 것을 고려합니다.
깊이의 차원을 증가시키는 것으로 밝혀진 "Network-in-Network"[26]와 달리, 우리는 "Network-in-Neuron"이 새로운 차원을 따라 확장됨을 보여줍니다.
공식적으로 우리는 집계된 변환을 다음과 같이 제시합니다:

여기서 Ti(x)는 임의의 함수가 될 수 있습니다.
단순한 뉴런과 유사하게 Ti는 x를 (선택적으로 저차원) 임베딩으로 투영한 다음 이를 변환해야합니다.
식 (2)에서 C는 집계할 변환 집합의 크기입니다.
C를 cardinality[2]라고합니다.
식 (2)에서 C는 식 (1)의 D와 유사한 위치에 있지만 C는 D와 같을 필요는 없으며 임의의 숫자일 수 있습니다.
너비의 차원은 단순 변환의 수(내적)와 관련이 있지만 cardinality의 차원은 더 복잡한 변환의 수를 제어한다고 주장합니다.
cardinality가 필수적인 차원이며 너비와 깊이의 차원보다 더 효과적일 수 있음을 실험을 통해 보여줍니다.
이 논문에서는 변환 함수를 설계하는 간단한 방법을 고려합니다: 모든 Ti는 동일한 토폴로지를 갖습니다.
이것은 동일한 모양의 반복 레이어의 VGG 스타일 전략을 확장하여 몇 가지 요소를 분리하고 많은 수의 변환으로 확장하는데 도움이 됩니다.
그림 1 (오른쪽)과 같이 개별 변환 Ti를 병목 모양의 아키텍처[14]로 설정했습니다.
이 경우 각 Ti의 첫 번째 1x1 레이어는 저차원 임베딩을 생성합니다.
식 (2)의 집계된 변환은 잔차 함수 [14] 역할을 합니다 (그림 1 오른쪽) :

여기서 y는 출력입니다.
Relation to Inception-ResNet.
일부 텐서 조작은 그림 1 (오른쪽)의 모듈 (그림 3 (a)에도 표시됨)이 그림 3 (b)와 동일함을 보여줍니다.
그림 3 (b)는 잔차 함수에서 분기 및 연결을 포함한다는 점에서 Inception-ResNet [37] 블록과 유사합니다.
그러나 모든 Inception 또는 Inception-ResNet 모듈과 달리 우리는 여러 경로에서 동일한 토폴로지를 공유합니다.
우리 모듈은 각 경로를 설계하는 데 최소한의 추가 노력이 필요합니다.
Relation to Grouped Convolutions.
위의 모듈은 그룹화된 컨볼루션의 표기법을 사용하여 더 간결해집니다 [24].
이 재구성은 그림 3 (c)에 설명되어 있습니다.
모든 저차원 임베딩(첫 번째 1x1 레이어)은 더 넓은 단일 레이어로 대체될 수 있습니다 (예 : 그림 3 (c)의 1x1, 128-d).
분할은 기본적으로 입력 채널을 그룹으로 나눌 때 그룹화된 컨볼루션 레이어에 의해 수행됩니다.
그림 3 (c)의 그룹화된 회선 계층은 입력 및 출력 채널이 4차원인 32개의 회선 그룹을 수행합니다.
그룹화된 컨벌루션 계층은 계층의 출력으로 이들을 연결합니다.
그림 3 (c)의 블록은 그림 3 (c)가 더 넓지만 드물게 연결된 모듈이라는 점을 제외하면 그림 1 (왼쪽)의 원래 병목 잔여 블록과 유사합니다.

재구성은 블록의 깊이가 3이상인 경우에만 사소하지 않은 토폴로지를 생성합니다.
블록의 깊이=2인 경우 (예 : [14]의 기본 블록), 재구성은 사소하게 넓고 조밀한 모듈로 이어집니다.
그림 4의 그림을 참조하십시오.
Discussion.
우리는 연결 (그림 3 (b)) 또는 그룹화된 컨볼루션(그림 3 (c))을 나타내는 재구성을 제시하지만, 이러한 재구성이 식 (3)의 일반적인 형태에 항상 적용되는 것은 아닙니다, 변환 Ti는 임의의 형태를 취하고 이질적입니다.
이 논문에서는 더 간단하고 확장할 수 있는 동종 양식을 사용하기로 선택했습니다.
이 단순화된 경우 그림 3 (c)의 형태로 그룹화된 컨볼루션은 구현을 용이하게 하는 데 도움이 됩니다.
3.4. Model Capacity
다음 섹션의 실험은 모델 복잡성과 매개 변수 수를 유지할 때 모델의 정확도가 향상됨을 보여줍니다.
이것은 실제로 흥미로울뿐만 아니라 더 중요한 것은 복잡성과 매개 변수의 수가 모델의 고유한 용량을 나타내므로 종종 심층 네트워크의 기본 속성으로 조사됩니다 [8].
복잡성을 유지하면서 서로 다른 cardinality C를 평가할 때 다른 하이퍼 파라미터의 수정을 최소화하려고합니다.
병목의 폭을 조정하기로 선택했습니다 (예 : 그림 1 (오른쪽)의 4-d), 블록의 입력 및 출력으로부터 격리될 수 있기 때문입니다.
이 전략은 다른 하이퍼 파라미터 (블록의 깊이 또는 입력/출력 너비)에 변경 사항을 적용하지 않으므로 cardinality의 영향에 집중하는 데 도움이됩니다.
그림 1 (왼쪽)에서 원래 ResNet 병목 블록[14]에는 256 · 64 + 3 · 3 · 64 · 64 + 64 · 256 ≒ 70k 매개 변수와 비례 FLOP (동일한 피쳐 맵 크기)가 있습니다.
병목 폭이 d인 경우 그림 1 (오른쪽)의 템플릿은 다음과 같습니다:

매개 변수 및 비례 FLOP.
C=32이고 d=4 일 때, 식 (4) ≒ 70k.
표 2는 cardinality C와 병목 폭 d 사이의 관계를 보여줍니다.
섹션 3.1에서 두 가지 규칙을 채택했기 때문에 위의 대략적인 동등성은 모든 단계에서 ResNet 병목 블록과 ResNeXt간에 유효합니다 (피처 맵 크기가 변경되는 서브 샘플링 레이어 제외).
표 1은 원래 ResNet-50과 비슷한 용량의 ResNeXt-50을 비교한 것입니다.
복잡성은 대략적으로만 보존할 수 있지만 복잡성의 차이는 사소하고 결과를 편향시키지 않습니다.
4. Implementation details
우리의 구현은 [14]와 공개적으로 사용 가능한 fb.resnet.torch[11] 코드를 따릅니다.
ImageNet 데이터 세트에서 입력 이미지는 [11]에 의해 구현된 [38]의 배율 및 종횡비 증가를 사용하여 크기가 조정된 이미지에서 무작위로 잘라낸 224x224입니다.
shortcuts은 투영([14]의 유형 B)인 증가하는 차원을 제외하고는 동일성 연결입니다.
conv3, 4, 5의 다운 샘플링은 [11]에서 제안된 것처럼 각 단계에서 첫 번째 블록의 3x3 레이어에서 stride-2 convolutions에 의해 수행됩니다.
8개 GPU(GPU 당 32개)에서 미니 배치 크기가 256인 SGD를 사용합니다.
무게 감소는 0.0001이고 운동량은 0.9입니다.
학습률 0.1에서 시작하여 [11]의 일정을 사용하여 3번 10으로 나눕니다.
[13]의 가중치 초기화를 채택합니다.
모든 절제 비교에서 짧은 면이 256인 이미지에서 단일 224x224 중앙 자르기의 오류를 평가합니다.
우리의 모델은 그림 3 (c)의 형태로 구현됩니다.
그림 3 (c)의 컨볼루션 직후 배치 정규화 (BN)[17]를 수행합니다.
ReLU는 각 BN 직후에 수행되며 [14]에 따라 바로 가기에 추가한 후 ReLU가 수행되는 블록의 출력을 예상합니다.
위에서 언급한 바와 같이 BN과 ReLU가 적절하게 처리될 때 그림 3의 세 가지 형식은 엄격히 동일합니다.
우리는 세 가지 형태를 모두 훈련했으며 동일한 결과를 얻었습니다.
그림 3 (c)는 다른 두 가지 형태보다 더 간결하고 빠르기 때문에 구현하기로 선택했습니다.
5. Experiments
5.1. Experiments on ImageNet-1K
1000 클래스 ImageNet 분류 작업에 대한 절제 실험을 수행합니다 [33].
우리는 [14]에 따라 50계층 및 101계층 잔여 네트워크를 구성합니다.
ResNet-50/101의 모든 블록을 우리 블록으로 대체하기만 하면 됩니다.
Notations.
3.1 절의 두 가지 규칙을 채택했기 때문에 템플릿으로 아키텍처를 참조하는 것으로 충분합니다.
예를 들어, 표 1은 cardinality가 32이고 병목 폭이 4d인 템플릿으로 구성된 ResNeXt-50을 보여줍니다 (그림 3).
이 네트워크는 단순화를 위해 ResNeXt-50(32x4d)으로 표시됩니다.
템플릿의 입력/출력 너비는 256-d(그림 3)로 고정되어 있으며 특성 맵이 서브 샘플링될 때마다 모든 너비가 두 배가 됩니다 (표 1 참조).



Cardinality vs. Width.
먼저 표 2에 나열된 것처럼 보존된 복잡성 하에서 cardinality C와 병목 폭 사이의 균형을 평가합니다.
표 3은 결과를 보여주고 그림 5는 오류와 에포크의 곡선을 보여줍니다.
ResNet-50(상단 표 3 및 왼쪽 그림 5)과 비교할 때 32x4d ResNeXt-50은 22.2%의 검증 오류를 가지며 이는 ResNet 기준선의 23.9%보다 1.7% 낮습니다.
복잡성을 유지하면서 cardinality C가 1에서 32로 증가함에 따라 오류율은 계속 감소합니다.
또한 32x4d ResNeXt는 ResNet 대응 제품보다 훨씬 낮은 훈련 오류를 가지고있어 이득이 정규화가 아니라 더 강력한 표현에서 비롯된 것임을 시사합니다.
ResNet-101(그림 5 오른쪽, 표 3 하단)의 경우에도 유사한 경향이 관찰되며, 32x4d ResNeXt-101이 ResNet-101보다 0.8% 더 우수한 성능을 보입니다.
이 검증 오류의 개선은 50계층의 경우보다 작지만 훈련 오류의 개선은 여전히 큽니다 (ResNet-101의 경우 20%, 32x4d ResNeXt-101의 경우 16%, 그림 5 오른쪽).
실제로 다음 하위 섹션에서 ImageNet-5K 세트에서 보여주듯이 훈련 데이터가 많을수록 유효성 검사 오류의 격차가 커집니다.
표 3은 또한 복잡성이 보존된 상태에서 폭을 줄이는 대가로 cardinality를 증가시키면 병목 폭이 작을 때 포화 정확도를 나타내기 시작함을 시사합니다.
우리는 그러한 절충안에서 너비를 계속 줄이는 것은 가치가 없다고 주장합니다.
따라서 우리는 다음에서 4d보다 작은 병목 폭을 채택합니다.
Increasing Cardinality vs. Deeper/Wider.
다음으로 cardinality C를 늘리거나 깊이 또는 너비를 늘려 복잡성 증가를 조사합니다.
다음 비교는 ResNet-101 기준선의 2x FLOP와 관련하여 볼 수도 있습니다.
~150억 FLOP가 있는 다음 변형을 비교합니다.
(i) 200개의 층으로 더 깊숙이 가십시오.
우리는 [11]에서 구현된 ResNet-200[15]을 채택합니다.
(ii) 병목 폭을 늘림으로써 더 넓어집니다.
(iii) C를 두 배로 늘려 cardinality를 높입니다.

표 4에 따르면 복잡성이 2배 증가하면 ResNet-101 기준 (22.0%)에 비해 오류가 지속적으로 감소합니다.
그러나 더 깊게 (ResNet-200, 0.3%) 또는 더 넓게 (ResNet-101, 0.7% 더 넓게)하면 개선이 작습니다.
반대로 cardinality C를 늘리면 더 깊거나 넓게 이동하는 것보다 훨씬 더 나은 결과를 보여줍니다.
2x64d ResNeXt-101 (즉, 1x64d ResNet-101 기준선에서 C를 두 배로 늘리고 너비를 유지)은 상위 1 오류를 1.3%에서 20.7%로 줄입니다.
64x4d ResNeXt-101 (즉, 32x4d ResNeXt-101에서 C를 두 배로 늘리고 너비를 유지)은 top-1 오류를 20.4%로 줄입니다.
또한 32x4d ResNet-101(21.2%)은 복잡성이 50%에 불과하지만 더 깊은 ResNet-200 및 더 넓은 ResNet-101보다 성능이 더 우수합니다.
이것은 다시 cardinality가 깊이와 너비의 차원보다 더 효과적인 차원임을 보여줍니다.
Residual connections.
다음 표는 잔여 (바로 가기) 연결의 영향을 보여줍니다:

ResNeXt-50에서 바로 가기를 제거하면 오류가 3.9포인트 증가하여 26.1%로 증가합니다.
ResNet-50에서 바로 가기를 제거하는 것은 훨씬 더 나쁩니다 (31.2%).
이러한 비교는 잔여 연결이 최적화에 도움이 되는 반면 집계된 변환은 잔여 연결이 있거나 없는 상대보다 일관되게 더 나은 성능을 발휘한다는 사실에서 알 수 있듯이 더 강력한 표현입니다.
Performance.
단순성을 위해 특별한 최적화 없이 Torch의 내장된 그룹화된 컨볼루션 구현을 사용합니다.
이 구현은 무차별 대입 방식이었고 병렬화에 친화적이지 않았습니다.
8개의 NVIDIA M40 GPU에서 표 3의 32x4d ResNeXt-101 훈련은 미니 배치 당 0.95초가 소요되는 반면, 유사한 FLOP가있는 ResNet-101 기준선 0.70초가 소요됩니다.
우리는 이것이 합리적인 오버 헤드라고 주장합니다.
신중하게 설계된 하위 수준 구현(예 : CUDA)이 이 오버 헤드를 줄일 것으로 기대합니다.
또한 CPU에 대한 추론 시간이 더 적은 오버 헤드를 제공할 것으로 예상합니다.
2xcomplexity 모델 (64x4d ResNeXt-101)을 훈련하는 데는 미니 배치 당 1.7초가 걸리고 8개의 GPU에서 총 10일이 걸립니다.
Comparisons with state-of-the-art results.

표 5는 ImageNet 검증 세트에 대한 단일 자르기 테스트의 더 많은 결과를 보여줍니다.
224x224 작물을 테스트하는 것 외에도 [15]에 따라 320x320 작물을 평가합니다.
우리의 결과는 ResNet, Inception-v3/v4 및 Inception-ResNet-v2와 비교하여 4.4%의 단일 자르기 상위 5 오류율을 달성했습니다.
또한 아키텍처 설계는 모든 Inception 모델보다 훨씬 간단하며 수동으로 설정하는 데 필요한 하이퍼 파라미터 수가 훨씬 적습니다.
5.2. Experiments on ImageNet-5K
ImageNet-1K의 성능이 포화된 것처럼 보입니다.
그러나 우리는 이것이 모델의 능력 때문이 아니라 데이터 세트의 복잡성 때문이라고 주장합니다.
다음으로 5000개의 범주가 있는 더 큰 ImageNet 하위 집합에서 모델을 평가합니다.
5K 데이터 세트는 전체 ImageNet-22K 세트[33]의 하위 집합입니다.
5000개의 범주는 원본 ImageNet-1K 범주와 전체 ImageNet 세트에서 가장 많은 수의 이미지를 가진 추가 4000개의 범주로 구성됩니다.
5K 세트에는 1K 세트의 약 5배인 680만 개의 이미지가 있습니다.
공식 훈련/검증 분할이 제공되지 않으므로 원본 ImageNet-1K 유효성 검사 세트를 평가하기로 선택합니다.
이 1K 클래스 값 세트에서 모델은 5K-way 분류 작업 (다른 4K 클래스로 예측되는 모든 레이블은 자동으로 오류가 있음) 또는 1K-way 분류 작업 (softmax는 1K 클래스에만 적용됨)으로 테스트 평가될 수 있습니다.


구현 세부 사항은 섹션 4와 동일합니다.
5K 훈련 모델은 모두 처음부터 훈련되고 1K 훈련 모델과 동일한 수의 미니 배치에 대해 훈련됩니다 (1/5x epochs).
표 6과 그림 6은 복잡성이 보존된 상태에서의 비교를 보여줍니다.
ResNeXt-50은 ResNet-50에 비해 5K-way top-1 오류를 3.2% 줄이고 ResNetXt-101은 ResNet-101에 비해 5K-way top-1 오류를 2.3% 감소시킵니다.
1K-way 오류에서 유사한 간격이 관찰됩니다.
이것들은 ResNeXt의 강력한 표현력을 보여줍니다.
또한 5K 세트에서 훈련된 모델 (표 6에서 1K-way 오류 22.2%/5.7%)은 1K 세트에서 훈련된 모델 (표 3에서 21.2%/5.6%)과 비교하여 경쟁적으로 수행됩니다. 검증 세트에 대한 동일한 1K-way 분류 작업.
이 결과는 훈련 시간을 늘리지 않고 (동일한 미니 배치 수로 인해) 미세 조정없이 달성됩니다.
우리는 5K 범주를 분류하는 훈련 작업이 더 어려운 일이라는 점을 감안할 때 이것이 유망한 결과라고 주장합니다.
5.3. Experiments on CIFAR
우리는 CIFAR-10과 100개의 데이터 세트에 대해 더 많은 실험을 수행합니다 [23].
우리는 [14]와 같은 아키텍처를 사용하고 기본 잔차 블록을

의 병목 템플릿으로 대체합니다.
우리의 네트워크는 단일 3x3 conv 레이어로 시작하여 각각 3개의 잔여 블록이 있는 3개의 단계가 이어지며, 평균 풀링과 완전 연결 분류기 (총 29개 레이어 깊이)로 끝납니다 [14].
우리는 [14]와 동일한 번역 및 뒤집기 데이터 증가를 채택합니다.
구현 세부 사항은 부록에 있습니다.


위의 기준을 기반으로 복잡성이 증가하는 두 가지 사례를 비교합니다:
(i) cardinality를 높이고 모든 너비를 수정하거나
(ii) 병목의 너비를 늘리고 cardinality=1을 수정합니다.
이러한 변화에 따라 일련의 네트워크를 훈련하고 평가합니다.
그림 7은 테스트 오류율과 모델 크기의 비교를 보여줍니다.
우리는 ImageNet-1K에서 관찰한 것과 일관되게 증가하는 cardinality가 너비를 늘리는 것보다 더 효과적이라는 것을 발견했습니다.
표 7은 가장 잘 출판된 기록인 Wide ResNet [43]과 비교한 결과와 모델 크기를 보여줍니다.
비슷한 모델 크기(34.4M)의 모델은 Wide ResNet보다 더 나은 결과를 보여줍니다.
우리의 더 큰 방법은 CIFAR-10에서 3.58% 테스트 오류 (평균 10회 실행)를 달성하고 CIFAR-100에서 17.31%를 달성합니다.
우리가 아는 한, 이는 공개되지 않은 기술 보고서를 포함하여 문헌의 최첨단 결과 (유사한 데이터 증가 포함)입니다.
5.4. Experiments on COCO object detection
다음으로 COCO 객체 감지 세트[27]에 대한 일반화 가능성을 평가합니다.
우리는 80k 훈련 세트와 35k val 서브 세트에서 모델을 훈련시키고 [1]에 따라 5k val 서브 세트 (minival이라고 함)에서 평가합니다.
COCOstyle 평균 정밀도 (AP)와 AP@IoU=0.5를 평가합니다 [27].
기본 Faster R-CNN[32]을 채택하고 [14]에 따라 ResNet/ResNeXt를 연결합니다.
모델은 ImageNet-1K에서 사전 학습되고 감지 세트에서 미세 조정됩니다.
구현 세부 사항은 부록에 있습니다.

표 8은 비교를 보여줍니다.
50계층 기준에서 ResNeXt는 복잡성을 증가시키지 않고 AP@0.5를 2.1%, AP를 1.0% 향상시킵니다.
ResNeXt는 101 레이어 기준선에서 약간의 개선을 보여줍니다.
우리는 ImageNet-5K 세트에서 관찰된 바와 같이 더 많은 훈련 데이터가 더 큰 격차로 이어질 것이라고 추측합니다.
최근에 ResNeXt가 Mask R-CNN[12]에 채택되어 COCO 인스턴스 분할 및 객체 감지 작업에 대한 최첨단 결과를 달성했다는 점도 주목할 가치가 있습니다.
'Computer Vision' 카테고리의 다른 글
Deeper Depth Prediction with Fully Convolutional Residual Networks (번역) (0) | 2021.04.19 |
---|---|
DenseNet: Densely Connected Convolutional Networks (번역) (0) | 2021.03.04 |
GAN : Generative Adversarial Nets (번역) (0) | 2021.03.02 |
Mask R-CNN (번역) (0) | 2021.03.02 |
SPPnet: Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition (번역) (0) | 2021.02.26 |