본 논문에서는 self-similarity에 기반한 neural network 디자인 전략을 소개한다. 간단한 확장 전략을 반복적으로 사용하여 구조적인 레이아웃이 fractal 형식인 deep network들을 생성한다. 이런 network들은 다른 길이의 상호작용하는 subpath들을 가지지만 pass-through나 residual connection은 가지지 않는다. 즉 모든 내부 signal은 filter나 nonlinearity에 의해 바뀌게 된다.
실험을 통해 residual network들이 deep convolution network에 필수가 아님을 보여준다. 핵심은 얉은 layer에서 더 깊은 layer로 효과적인 전달을 해나는 것이다.
1 Introduction
Residual networks (ResNet)은 convolution network의 깊이와 정확도 측면에서 큰 향상을 이끌었다. 학습은 두가지로 달라졌다.
- Absolute mapping이 아닌 residual output을 학습한다
- 이 network들은 deep supervision과 같은 효과를 보이고 layer들의 loss까지의 거리를 효과적으로 줄인다
본 논문에서는 반대로 residual을 사용하지 않은 깊은 네트워크 구조를 제시한다.
Figure 1은 간단한 fractal 구조를 보여준다.
본 논문의 기여점의 두 가지로 나뉜다:
- ResNet의 대체로 FractalNet을 제시한다. FractalNet은 residual learning이 ultra-deep neural network를 학습시키는데 필수가 아님을 보여준다.
- 분석과 실험을 통해 FractalNet의 연결과 현상들을 이전 deep network 설계들로 설명한다
추가적인 기여점으로 fractal network의 정규화 기법인 drop-path를 제시한다.
2 Related Work
Neural network들은 깊어질수록 더 좋은 성능을 낸다. 하지만 깊이에 따라 학습이 더 어려워진다.
- 해결책로 다음이 제시된다:
- ReLU를 사용한 gradient vanishing 해결
- Normalization을 이용한 빠른 수렴
- Skip connection들을 활용한 간섭 없는 신호 전파
- Stochastic depth를 활용한 effective depth 감소
Student-teacher paradigm
- 학습된 deep network를 이용해 더 얉은 student network를 더 빠르게 학습
위 pradigm에서 영감받아 본 논문에서 제시하는 fractal network는 implicit coupling을 통해 얉은 subnetwork들과 깊은 subnetwork들 간 양방향 정보 흐름을 사용한다.
더 깊은 network 뿐 아니라 더 넓은 network도 성능 향상에 도움이 된다.
- Inception module은 서로 다른 receptive field 크기를 가진 convolution layer들을 연결시켜 더 좋은 성능을 낸다.
- 본 논문에서 제시하는 fractal 또한 비슷한 원리를 통해 깊이가 깊어질수록 넓이 또한 넓어진다.
3 Fractal Networks
본 논문에서는 convolutional neural network들을 예제로 사용하지만 제시되는 framework는 훨씬 더 유연하다.
다른 layer 종류나 custom-designed 모듈 또한 사용 가능하다.
먼저 C는 잘려진 fractal $f_C(\dot)$의 index를 나타낸다. 모델 구조에서 connection들과 layer 종류는 $f_C(\dot)$으로 정의된다.
단 하나의 convolutional layer로 구성된 네트워크가 가장 기본 케이스이다:
$$ f_1(z)=conv(z) $$
연속된 fractal들은 재귀적으로 정의된다:
$$f_{C+1}(z) = [(f_C \circ f_C)(z)] \oplus [\text{conv}(z)]$$
- $\circ$: 합성
- $\oplus$: join operation
- Input들의 element-wise 평균을 구한다
- 이는 ResNet의 addition operation과 다음과 같은 차이를 가진다:
- ResNet에서는 residual과 pass-through에 명확한 구분을 짓지만 이 network에서는 그렇지 않다
- 3.1에서 소개되는 data-path regularization으로 각 join input을 독립적으로 작동하도록 한다
- 모델에서 하나의 high-performance subnetwork를 골랐을 때 residual이 추가될 수 있는 signal을 생성하지 않는다
- 이는 ResNet의 addition operation과 다음과 같은 차이를 가진다:
- Input들의 element-wise 평균을 구한다
Figure 1 스타일로 그려지게 되면 C는 network $f_C(\dot)$의 column 수를 뜻하게 된다.
깊이는 가장 convolution layer가 많은 path로 정의되고 $2^{C-1}$로 커진다.
3.1 Regularization Via Drop-path
Dropout과 drop-connect는 co-adaptation을 줄이기 위한 기법들이다. 이 기법들처럼 coarse-scale regularization을 위한 대안을 제시한다.
위 Figure 2는 Drop-path를 보여준다.
Drop-path는 무작위로 join layer의 input operand들을 비활성화해 평행한 path들의 co-adaptation을 방지한다.
- 이는 하나의 input path를 주축으로 사용하고 다른 path들을 미세 조절기로 사용하는 학습을 막는다
두 가지 sampling strategy들을 사용하게 된다:
- Local: Join은 각 input을 고정된 확률로 비활성화 시킨다. 적어도 하나의 input은 활성화된다.
- Global: 전체 network에서 하나의 path가 선택된다. 이 path는 하나의 column으로 제한된다.
Rescaling은 간단하다. 단순히 활성화된 input들의 평균을 구하면 된다.
실험에서는 모델을 50% local, 50% global 기법을 사용해 학습한다.
각 mini-batch마다 새로운 subnetwork를 sample한다.
- 충분한 memory만 있다면 독립된 network와 weight sharing을 이용해 각 mini-batch 당 하나의 local sample과 모든 global sample들을 동시에 평가할 수 있다.
- Drop-path를 이용해 sample된 subnetwork들은 깊이가 매우 다양하다. (2의 제곱)
3.2 Data Augmentation
데이터 증강은 정규화의 필요성을 줄여준다.
Fractal network 또한 데이터 증강으로부터 이득을 보지만 이런 증강 없이도 좋은 결과를 보여준다.
3.3 Implementation Details
단순히 편의를 위해 block의 마지막에 join전에 pooling을 진행한다.
Stochastic gradient descent와 momentum, batch normalization을 이용해 학습을 진행한다.
- Convolution, batch norm, ReLU
4 Experiments
32x32 이미지로 구성된 CIFAR와 SVHN
- 5 Block
- 각 block 후 2x2 non-overlapping max-pooling & subsampling
- 각 block filter channel: (64, 128, 256, 512, 512)
ImageNet
- ResNet-34와 같은 첫번째 layer
- Network 중간은 4개의 block들로 구성, 각각 8개 layer
- 각 block filter channel: (128, 256, 512, 1024)
4.1 Training
Dropout을 사용한 실험에서는 각 block의 drop rate를 고정한다 (0%, 10%, 20%, 30%, 40%).
Local drop-path에는 고정된 15% drop rate를 사용한다.
Batch size 100 (ImageNet 32), momentum 0.9, learning rate 0.02 (ImageNet 0.001)을 사용한다.
CIFAR/SVHN에서는 남은 epoch 수가 반이 될 때마다 learning rate를 1/10으로 곱한다.
ImageNet에서는 epoch 50과 65에서 learning rate를 1/10으로 곱한다.
CIFAR 데이터 증강은 zero-padded image에 horizontal mirrorling과 translation([-4, 4])만 진행한다.
이를 CIFAR+로 나타낸다.
CIFAR++는 더 많은 데이터 증강을 사용한 데이터셋을 의미한다. 간단히 zero-padding을 reflect-padding으로 사용한다.
4.2 Results
Table 2에 따르면
- FractalNet (depth 20)이 기존 ResNet을 모든 지표에서 우위에 있다.
- 데이터 증강을 하면 가장 좋은 ResNet 변종과 비슷한 성능을 보인다.
- 증강과 정규화 없이도 더 좋은 성능을 보이는데 이는 FractalNet이 overfitting에 취약하지 않다는 것을 보여준다.
- Depth를 40으로 늘리고 parameter를 줄여도 거의 비슷한 성능을 보여준다.
Table 2는 FractalNet이 같은 깊이를 가지는 ResNet과 비슷한 성능을 가짐을 보여준다.
Table 3은 매우 깊은 FractalNet도 degradation 문제를 가지지 않음을 보여준다.
- Degradation: 깊이가 늘어날수록 training과 validation 에러가 모두 커지는 현상
Table 4는 기본 plain network들은 layer 40을 넘어가면서 degradation 문제를 가짐을 보여준다.
4.3 Introspection
Figure 3은 40-layer FractalNet의 학습 과정을 보여준다.
Fractal 구조는 deep supervision과 lateral student-teacher 정보 흐름을 가진다고 가정한다.
- 만약 column 4가 column 3의 정보에 의존하려고 하면 drop-path가 column 4가 3의 대체 signal을 만들도록 강요한다.
- 이는 col 4와 3만이 join되는 두개의 layer에서만 일어난다. (mini student-teacher problem)
5 Conclusion
본 논문에서의 실험은 path length (residuals이 아닌)가 ultra-deep neural network를 학습시키는데 중요한 요소라는 것을 보여준다.
FractalNet과 ResNet의 공통된 요소는 깊은 모델에 비해 학습 과정에서 기울기가 흐를수 있는 짧은 path이다.
Fractal 구조는 이 요구사항을 만족시키는 간단한 수단이다.
너무 깊은 FractalNet은 학습을 느리게 하지만 정확도에 부정적인 영향을 주지는 않는다.
또 drop-path를 통한 정규화는 효과적이고 직관적이다.
'논문 > Computer Vision' 카테고리의 다른 글
[논문] An Image Is Worth 16x16 Words: Transformers for Image Recognition at Scale (2021) (0) | 2025.02.13 |
---|---|
[논문] Densely Connected Convolutional Networks (1) | 2025.02.08 |
[논문] Deep Networks with Stochastic Depth (0) | 2025.01.27 |
[논문] Identity Mappings in Deep Residual Networks (0) | 2025.01.18 |
[논문] Deep Residual Learning for Image Recognition (1) | 2025.01.18 |