Empirical Evaluation of Rectified Activations in Convolution Network
1. Introduction
컨볼루셔널 신경망 (CNN)에서 사용되는 non-saturated 활성 함수는 2가지 장점이 있습니다. 하나는 "exploding/vanishing gradient" 현상을 해결하기 위함이고 하나는 수렴 속도를 높인다는 것입니다. 그리고 흔히 사용되는 ReLU 활성함수는 그 성능을 이루는 주된 이유가 sparsity로부터 온다고 알려져 있습니다. 이 논문에서는 2가지 질문은 던지고 있습니다. 첫번째로 sparsity가 좋은 성능의 가장 중요한 척도인지? 두번째로 ReLU보다 더 나은 non-saturated 활성 함수를 설계할 수는 없는지를 생각해볼 것입니다.
2. Rectified Units
2.1 Rectified Linear Unit
$$ y_i = \cases{ x_i & \text{if } x_i \geq 0 \\ 0 & \text{if } x_i \lt 0 } $$
2.2 Leaky Rectified Linear Unit
$$ y_i = \cases{ x_i & \text{if } x_i \geq 0 \\ \frac{x_i}{a_i} & \text{if } x_i \lt 0 } $$
여기서 $a_i$는 고정된 파라미터로 $(1, +\infty) $의 범위를 갖습니다. 원 논문에서는 100과 같이 큰 수를 사용하도록 되어있지만, 이 논문에서는 $a_i = 5.5$를 사용하였습니다
2.3 Parametric Rectified Linear Unit
Leaky ReLU에서 파라미터 $a_i$를 역전파 과정으로 학습할 수 있도록 한 것입니다.
2.4 Randomized Leaky Rectified Linear Unit
Learky ReLU의 랜덤화된 버전입니다. RReLU는 학습 과정에서 유니폼 분포 $U(l, u)$에서 랜덤하게 추출된 수로 $a_{ji}$를 사용한 것입니다.
$$ y_{ji} = \cases{ x_{ji} & \text{if } x_{ji} \geq 0 \\ a_{ji} x_{ji} & \text{if } x_{ji} \lt 0 } $$
$$a_{ji} \sim U(l, u), l \lt u, \text{ and } l, u \in [0, 1)$$
테스트할 때에는 학습에 사용된 모든 $a_{ji}$의 평균값을 사용하는데 결국 $\frac{l+u}{2}$를 사용하는 것과 같습니다.
3. Experiment Settings
4. Result and Discussion
CIFAR-10/CIFAR-100 데이터셋과 NDSB를 테스트하였고 ReLU 네트워크를 베이스라인으로 삼았습니다. 모든 Leaky ReLU의 변종들은 ReLU보다 성능이 좋았습니다. 이것으로부터 두가지 사실을 알 수 있었습니다.
- $a=100$을 사용하는 보통의 Leaky ReLU는 ReLU와 거의 비슷하나 $a=5.5$ㄴ를 사용하면 더 성능이 좋다.
- PReLU의 에러가 언제나 낮았으며, Leaky reLU와 RReLU는 ReLU보다 에러가 높았다. 이것은 작은 데이터셋에서 ReLU가 오버피팅 문제가 있음을 나타낸다.
- 데이터가 적은 NDSB보다 CIFAR-10/100에서 RReLU의 우수함이 잘 나타난다. 이는 RReLU가 오버피팅에 대응하고 있는 것을 의미한다.
- RReLU의 랜덤성이 학습과 테스트 과정에서 어떻게 네트워크에 영향을 가하는지는 더 조사가 필요하다.
5. Conclusion