본문 바로가기

Paper Review

Paper Review #16 - Aggregated Residual Transformations for Deep Neural Networks

Aggregated Residual Transformations for Deep Neural Networks (2017.04.11)
https://arxiv.org/abs/1611.05431
 

Aggregated Residual Transformations for Deep Neural Networks

We present a simple, highly modularized network architecture for image classification. Our network is constructed by repeating a building block that aggregates a set of transformations with the same topology. Our simple design results in a homogeneous, mul

arxiv.org

 

Research direction & Motivation


Main Purpose

Cardinality, the best way to imporve performance in residual network

 

 Vision 분야에서 network engineering을 통한 모델의 architecture 설계는 hyper-parameters의 증가와 함께 점차 어려워지고 있다. 특히 이 점은 많은 수의 layer를 가질때 더 크게 나타나는데, VGG-nets은 간단하면서도 효과적인 block들을 쌓음으로써 심층 신경망의 안정적인 구축에 성공했다. 해당 전략은 ResNet로 전이되었는데, 간단한 구조를 취함으로써 VGG와 ResNets은 일부 hyper-paramerter에 의존하지 않는 robustness를 갖췄다. 반면 Inception model은 낮은 복잡성을 가짐에도 불구하고, 'split-transeform-merge' 전략을 통해 높은 representational power를 갖춤으로써 높은 성능을 보여주었다. 

 

 본 논문에서는 제시한 전략들을 바탕으로, 동일한 topology를 가지는 변형된 set들을 통합하는 역할을 하는 building block들의 반복을 통해 신경망을 구성했다. 다소 이질적일 수는 있으나, 기존에 ResNet에서 사용하던 width, depth와는 다른 'cardinality' 라는 개념을 도입해 ResNeXt라는 모델을 제시했다.

 

 

Method


 ResNeXt는 기존 VGG와 ResNets의 철학을 담고있다. 이는 크게 두가지 측면에서 드러난다. 첫번째로, block들은 모두 동일한 hyper-parameter를 가진다. 두번째로, FLOP의 관점에서 연산적인 복잡성을 고려한 것으로 spatial map은 2배로 downsample될때마다 block의 width는 2배로 늘려줌으로써 모든 block이 동일한 수준의 복잡도를 갖게된다.

 

 

Aggregated Transformations

 

 

 일반적인 신경망에서는 convolution과 fully-connected layer를 통해 수행되는 inner product로 transformation을 aggregating한다. 이 메커니즘은 이른바 splitting, transforming, aggregating의 조합으로 이루어지는데, 논문에서는 이러한 기본적인 neuron의 구조에서 벗어나 다른 transformation function을 제시했다.

 

 

 핵심은 width와 depth 대신 channel을 몇개의 그룹으로 분할하는 'cardinality'인 C를 적용하는 것이 더 효과적이라는 것이며, 위 식에서 ϒ는 모두 동일한 topology를 가지는 arbitrary function으로 input x를 low-dimension으로 embedding한뒤 transformation 한다. 이 부분이 VGG의 전략을 확장한 것으로, ResNeXt에서는 block의 첫번째 1x1 layer가 low-dimensional embedding을 생성하는 역할을 한다. 이렇게 학습된 aggregated transformation은 residual connection과 연결되어 최종 output을 산출하게 된다.

 

 

 

 ResNeXt의 구조는 여러가지 형태로 표현될 수 있는데, (b)와 (c)는 각각 Inception-ResNet과 Grouped Convolution에 해당한다. Inception-ResNet block과 유사하게 branching과 residual function concatenating을 포함하고 있지만, 모든 path가 동일한 topology를 적용한다는 것이 차이점으로 각각의 path에 대한 design이 용이하다. 

 Grouped Convolution의 관점에서는 input channel이 C개의 group으로 분할되었다가 다시 통합되는 과정이라고 볼 수 있다. (c)에서와 같이 1x1의 128개의 channel이 low-dimensional embedding을 수행한다. 이는 곧 4-dimensional channel의 32개 group으로 분리되고 마지막에는 이들을 다시 concat한다.

 

 결과적으로 위 3가지 형태는 완전히 동일한 output을 산출하며, 논문에서는 ResNeXt의 구현에 있어서 편리한 방식인 grouped convolution 방식을 통해 이를 구현했다.

 

 

Model Capacity

 

 

 구조적으로 보면, 앞서 제시된 ResNeXt의 두가지 원칙에 따르면 block width가 증가함에 따라 output map은 그만큼 감소해야 복잡도가 유지된다. 따라서 이를 수행하는 downsampling은 conv3, conv4, conv5의 첫번째 block의 3x3 layer에 stride=2를 적용함 으로써 이루어졌다.  또한 convolution layer - batch normalization - ReLU의 순으로 위치하며 shortcut이 추가되는 부분에서는 추가된 다음에 ReLU를 위치시켰다.

 

 

 논문에서는 C의 증가에 따라 연산적인 복잡성을 유지하고 robustness를 위해 bottle neck, group conv의 width와 C의 관계에 주목했다. 기존의 ResNets와 비교해 가능한 같은 parameter 수와 FLOP을 갖도록했다.

 

 

Experiments


Caldinality vs Width

 

 

 ResNet-50/101과 ResNeXt-50/101을 주축으로, cardinality와 width의 관계에 주목해 성능을 비교했다. C는 1부터 32까지 순차적으로 높여가는 동시에 같은 복잡도를 같도록 width를 줄이는 방향으로 network를 설계해 비교했다. 따라서 가장 작은 width은 4이며 C는 32가된다. 결과적으로 C가 증가함에 따라 error rate이 점차적으로 개선되며 대응되는 ResNet 모델에 비해 더 높은 성능을 보여주었다. 이는 ResNeXt가 같은 복잡도에서 ResNet보다 더 강한 representation을 학습한다는 것을 의미한다.

 

 

< Increasing Cardinality vs Deeper/Wider >

 

 

 또한 더 큰 모델, 즉 더 큰 복잡도를 갖는 모델의 설계에 있어서 C, width, depth 중 어느 것을 증가시키는 것이 더 효과적인지에 대한 실험을 통해 cardinality의 우수성을 입증했다. ResNet-200는 200개의 layer를 사용한 deeper network이며, ResNet-101(1x100d)은 wider network, ResNeXt-101(2x64d, 64x4d)는 C를 증가시킨 network로 모두 약 150억개 정도의 FLOPs를 가진다. 일반적으로 복잡도가 증가할수록 신경망은 좋은 성능을 가지기 때문에, 동일한 복잡도를 갖는 세가지 모델의 성능지표를 측정함으로써 결과를 비교했다.

 

 결과에 따르면 width와 depth의 증가도 error rate의 감소를 가져오지만, C의 증가가 더 큰 폭의 성능향상을 보여준다. 심지어 ResNet-200은 ResNeXt-101(32x4d)보다 2배가 넘는 복잡도를 가지나 후자의 성능에 미지치 못했다. 이러한 점들을 종합해 볼때, C의 증가가 depth나 width의 증가보다 더 효율적이라는 것을 보여준다.  부가적으로 residual connection을 제거했을때의 성능 변화 역시 ResNeXt의 감소폭이 더 작은 것으로 나타났다.

 

 

 이어서 ImageNet-5k와 CIFAR 데이터에 대해서도 동일한 조건하에서 실험을 진행했으며 마찬가지로 C의 증가가 더 효과적인 것으로 나타났다. 또한 일반화 가능성의 평가를 위해 COCO object detection task에서 사용하는 Faster R-CNN모델에 적용한 결과, ResNet의 경우보다 AP가 개선되었다. 특히 ResNeXt가 sota를 달성한 Mask R-CNN에서 채택되었다는 점은 괄목할만한 점이라고 할 수 있다.

 

 

Conclusion


 본 논문에서 제시하는 cardinality라는 개념을 도입한 ResNeXt는 기존의 sota인 모델들과 비교해 볼때, ResNet과 Inception 계열보다 높거나 동등한 성능을 보여준다. 특히 C와 width, depth와의 비교에 초점을 맞추어 실험들을 소개했는다. 결론적으로 C의 증가는 더 강한 representation의 습득을 통해 width, depth의 조정보다도 월등한 효과를 가짐을 보여주었다. Inception 계열의 모델들과 비교했을때도, 모델의 구조가 단순하여 설계가 용이하다는 장점도 존재한다. 저자들은 해당 모델로 2016년 ILSVRC classification task에서 2위를 달성했으며, 추후 다른 논문에서 base 모델로 활용되는 등 많은 기여점을 남겼다.