[논문 리뷰] Aggregated Residual Transformations for Deep Neural Networks
“Aggregated Residual Transformations for Deep Neural Networks” 논문을 개인 공부 및 리뷰를 위해 쓴 글입니다.
논문 링크 : https://arxiv.org/abs/1611.05431
1. Introduction
- Visual Recognition 연구는 “feature engineering”에서 “network engineering”으로 바뀌고 있다.
- 하지만, 레이어가 많아질 수록, 하이퍼파라미터(width, filter size, stride 등)의 수는 증가하여 architecture 설계는 점점 더 어려워진다.
- VGGNet은 간단하지는 않지만, 같은 형태의 블록을 쌓음으로써 레이어를 깊게 쌓을 수 있다.
- 이 전략은 ResNet 모델을 이어받아 같은 토폴로지 모델을 쌓는 ResNeXt로 발전한다.
- 인셉션(Inception) 모델의 주요 특성으로 split-transform-merge가 있다.
- 입력은 몇 개의 저차원 임베딩(1x1 conv)으로 분할(split)된다.
- 특정 필터셋(3x3, 5x5)에 의해 변환(transform)된다.
- 연결(concatenate)에 의해 병합(merge)친다.
- 다시 말해, Conv 레이어를 분할해서 연산을 진행한 후, 서로 다른 가중치 $W$를 구한 뒤 합친다.
- ResNeXt는 VGG/ResNet의 반복 계층 전략을 채택하는 동시에 카디널리티(cardinality)방법을 이용한 쉽고(easy) 확장가능한(extensible) 방식인 split-transform-merge 전략을 활용한다.
- 각각은 저차원 임베딩에서 변환을 수행하며, 각 변환은 합산으로 집계된다.
- 집계될 변환은 모두 동일한 토폴로지 처리 계층이다.
- 카디널리티(cardinality) : path를 결정하는 변환 그룹의 크기
- 깊이(depth) : 각 그룹 당 가지고 있는 채널 수
- 위의 그림의 정보는 다음과 같다.
- cardinality : 32
- depth : 4
- block : 3
- 위 3가지 ResNeXt의 building block는 모두 동일하다.
- (a) : cardinality가 32, depth가 4(=채널수)로 병렬 실행된 후 합쳐진다.
- (b) : cardinality가 32, depth가 4(=채널수)로 병렬 실행된 후 연결(concatenate)하여 1x1 conv 레이어를 연산한다.
- (c) : grouped convolution을 실행한다.
Grouped convolution
- Grouped convolution은 컨볼루션 그룹(레이어당 여러 커널)을 사용하여 레이어당 여러 채널의 출력을 생성한다.
- ResNeXt에서 이 모듈을 사용하면 분류 정확도를 향상시킬 수 있다.
2. ResNeXt Architecture
- 다음은 ResNet-50과 비교한 ResNeXt-50 구조이다.
- 이 구조는 2개의 규칙이 있다.
- 기본 블록에서 2개의 conv 레이어의 깊이는 2였다.
- 하지만, 깊이가 2가 되면, grouped convolution을 사용할 수 없으므로, 깊이가 최소 3이상이여야 된다는 것을 의미한다.
3. Implementation details
- 위의 결과는 cardinality가 1부터 32까지 증가했을 때, top-1 error가 점차 줄어드는 것을 알 수 있다.
- ResNeXt50 : 23.9% -> 22.2%
- ResNeXt101 : 22.0% -> 21.2%
- 위의 결과는 cardinality, deeper, wider를 비교했다.
- 먼저 200층까지 깊게(deeper) 만들었다. -> ResNet-200
- 그리고 병목 너비(bottleneck width)를 넓게 만들었다. -> ResNet-101, wider
- 마지막으로, cardinality를 증가시켜 보았다. -> ResNeXt-101
- 그 결과, cardinality를 증가시킨 것이 deeper나 wider보다 에러율이 작았다.
- 20.4(increasing cardinality) > 21.7(deeper) or 21.3(wider)
댓글남기기