← 블로그로 돌아가기

Activate or Not: Learning Customized Activation (ACON)

· paper-review

Ma, Ningning, et al. "Activate or Not: Learning Customized Activation."
Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2021.

먼저 알면 좋은 것들

Swish Activation Function

swish(x) := x × σ(βx) = x / (1 + e-βx)

Swish activation function

Sigmoid

σ(x) = 1 / (1 + e-x)

여기서는 Activation으로 시사하기보다는 수식 표현 시에 sigmoid로 묶어 표현하기 위해 확인하고 넘어가야 합니다. Swish가 결국 input 값에 sigmoid한 것과 input 값의 곱으로 표현된다(β를 곱하기는 하겠지만)는 것도 다시 한번 리마인드하고 넘어갑시다.

Maxout Family

ReLU와 같은 Activation Function의 출발점에 해당하는 개념 중 하나입니다. Goodfellow와 Bengio의 논문으로, Maximum을 선택하는 것으로도 임의의 Convex Function에 대해 두루 근사할 수 있음을 시사합니다.

Main Idea

ACON (ActivationOrNot) Activation Function

ACON-C(x) := (p1 - p2)x · σ(β(p1 - p2)x) + p2x

ACON activation

ACON Activation을 사용하였을 때, 특정 Layer의 Activation이 Linear하게 pass할 수도, Non-linear Activation으로 활성될 수도 있습니다.

저자는 ACON(더 나아가서 Meta-ACON)이라고 하는 Activation Function을 제안합니다. ACON activation은 trainable한 activation으로 Neuron을 Activation할 지 안 할지를 각 Layer의 특성에 맞게 결정합니다.

어떻게 해서 ACON 식을 도출할 수 있게 되었을까요?

먼저 Maximum Function max(x1, ..., xn)에 대해 smooth된 버전을 보아야 합니다. Maximum을 구한다는 것은 일반적으로 differentiable하지 않지만, 이를 smooth한 함수는 differentiable하게 됩니다.

이 때, β는 switching factor로서:

일반적으로 Neural Network에서 많이 사용하는 Activation Function들은 Maxout에 준하는 것으로 표현할 수 있습니다: max(ηa(x), ηb(x))

예를 들어, ReLU는 ηa(x) = x, ηb(x) = 0인 것으로 생각하면, 이 역시 Maxout Family에 속한다고 볼 수 있습니다. Leaky ReLU, FReLU 등도 모두 Maxout Family에 속하게 됩니다.

본 논문에서의 목표는 Maximum Function과 Maxout Family를 함께 사용하여, Maxout Family 각각에 상응하는 activation function들을 smooth한 함수로 근사해보는 것입니다.

ACON 안에 Swish 있다

Maxout family vs ACON family

ReLU의 smooth되는 버전이 Swish라는 건 직관으로도 많이들 이해하고 있었는데요. Smooth된 Maximum Function에 대입해서 전개해보면, 바로 Swish 식이 나오게 됩니다. 저자는 이를 통해 Swish가 ReLU의 Smooth Approximation임을 표현할 수 있게 된다고 말합니다.

또한, PReLU(Parametric ReLU)도 살펴보면, 역시 Smooth되는 함수로 대응하는 것을 찾을 수 있습니다. 그리고 마지막으로 각 선형 함수의 가중치가 p1, p2로 표현하면 가장 일반화된 표현이 되고, 여기에 각각 Maxout Family, ACON Family를 대응해보면 일반화된 ACON-C 식이 유도됩니다.

ACON의 특성

ACON example

p1=1.2, p2=-0.8일 때 ACON-C에 대응하는 식을 여러 β값에 대해 표현한 graph입니다.

ACON properties

ACON Activation과 이에 대한 도함수(derivative)를 보여주는 그림입니다.

ACON의 도함수를 보면서 아래와 같은 사실을 알 수 있습니다:

Swish에서는 Hyperparameter β만이 Upper/Lower Bound에 얼마나 빨리 근사되는 지를 결정하게 되는데요. ACON에서는 p1, p2가 이 Bound 값을 결정하게 되고, 이 역시 learnable해질 수 있다는 특성이 있습니다. 이렇게 boundary가 learnable하다는 것은 optimization을 쉽게 하는 데에 필수적인 특성입니다.

학습에 모두 맡겨버리자! Meta-ACON

Meta-ACON은 β 자체를 Learnable한 parameter로 놔두는 것에서 더 나아가, Layer에 입력되는 feature map으로부터 FC Layers를 거쳐 estimation 되도록 만든 것입니다.

Meta-ACON distribution

ACON과 Meta-ACON을 비교한 도식입니다. ResNet50의 마지막 BottleNeck Layer에서의 activation을 비교한 것입니다.

결과

ImageNet Classification에 대한 ShuffleNetV2 기준 결과를 살펴보면, 학습 속도도 빠를 뿐더러, Meta-ACON을 사용했을 때 Error rate가 낮아지는 것을 확인할 수 있습니다. 또한, 전반적으로 모델 사이즈가 커질수록, Meta-ACON을 사용할수록 Accuracy 향상이 큽니다.

Results - detection and segmentation Results - comparison

Meta-ACON은 다른 activation 대비 ImageNet Classification에서 좋은 성능을 보여주고 있습니다. 또한, 특정 backbone에 대해서 Object Detection 및 Semantic Segmentation에 있어서도 다른 activation function을 사용할 때보다 좋은 성능을 보여줍니다.

마무리

ReLU와 Swish 간의 관계를 통해 새로운 Activation Function들이 포진되어 있을만한 일반화된 식을 찾고(ACON Family), 이를 기반으로 Trainable한 Activation Function을 새로 만나볼 수 있었습니다.

사실 이렇게 훈련 가능한 파라미터를 가진 Activation Function이 ACON만 처음인 것은 아닙니다. 또한, 여러 Sub-task에 대해 범용적으로 사용될 수 있는 Activation Function일지는 미지수이기도 합니다. 다만, 식에 대한 간단한 정리로 ReLU와 Swish 간의 관계를 보임과 동시에, 새로운 Activation Family를 제시했다는 데에 의의가 있는 논문이었습니다.

TL;DR

References

  1. Ramachandran, Prajit, Barret Zoph, and Quoc V. Le. "Searching for activation functions." arXiv preprint arXiv:1710.05941 (2017). [paper]
  2. Goodfellow, Ian, et al. "Maxout networks." International conference on machine learning. PMLR, 2013. [paper]
  3. Han Cai, Chuang Gan, Ligeng Zhu, and Song Han. "TinyTL: Reduce Memory, Not Parameters for Efficient On-Device Learning." NeurIPS 2020. [paper]