Deeper Learning

Adaptive Convolutional Kernels 본문

AI/Deep Learning

Adaptive Convolutional Kernels

Dlaiml 2021. 11. 5. 23:58

Abstract

  • CV recognition performance을 향상시키기 위해 많은 복잡한 neural network architectures가 연구되었다.
  • high computing resource를 요구하지 않고 온 디바이스로 한정된 resource에서 모델을 동작시키기 위해 adaptive convolutional kernel을 제시
  • input image가 dynamic하게 kernel을 결정
  • Adaptive kernels을 사용한 모델은 기존 CNN 보다 2배 이상 수렴이 빨랐으며, LeNet base model에서 MNIST dataset에 대해 99% 이상의 정확도를 달성하는데 66배 적은 parameters만 필요로 하였음

1. Introduction

  • SOTA CV 모델은 대부분 deeper architectures를 사용하여 추상화된 feature를 추출
  • 하지만 임베디드 디바이스 등에서 edge-computing을 위해서는 모델의 크기가 훨씬 작아야 함 (MobileNet, SqueezeNet, etc)
  • 인간의 눈의 시각세포는 자극에 대해 non-linear function 이라는 이전의 연구가 있었고 따라서 visual data를 잘 표현할 수 있는 non-linear model을 찾는다면 CV task의 성능 향상이 가능할 것
    • R. G. Szulborski and L. A. Palmer. The two-dimensional spatial structure of nonlinear subunits in the receptive fields of complex cells.
  • 기존 CNN은 linear combination 기반 연산으로 구성
  • non-linear model은 XOR problem을 second order 보다 연산량이 적은 first-order로 해결이 가능
  • 더 좋은 feature를 추출하는 kernel이 input image에 따라 결정
  • 깊은 신경망 아키텍쳐의 고질적인 문제인 saturation을 완화, memory 제한하에 SOTA를 달성

 

2. Related work

  • CNN의 정확도를 높이기 위한 많은 시도가 있었다.
  • abstraction level을 높이기 위한 추가 layers
  • depth가 깊어짐에 따라 생기는 학습의 어려움을 해결하기 위해 skip-connection을 통해 highway를 제공하는 ResNet
  • B. D. Brabandere et al. (2016). "Dynamic filter networks"과 다른 점으로 kernel을 만들어내는 CNN network의 학습방법을 꼽음

 

3. Method

 

  • Adaptive kernel (K)는 input에 따라 결정되는 dynamic filter로 정의된다.
  • Adaptive kernel (K)의 각 element (u, v)는 linear filter $Q_{(u,v)}$에 의해 결정된다.

  • 위 3개의 수식에 마지막으로 tanh를 적용(-1~1 range를 위해)하면 input X부터 output까지의 과정이 설명 가능하다.

  • input을 sliding하며 $\sigma$ 를 뽑아내는 과정을 parallel 하게 아래와 같이 계산할 수 있다

 

4. Experiments and Results

MNIST

5. Conclusion

  • input image에 따라 dynamic하게 결정되는 Adaptive convolutional kernel 개념을 제시
  • memory, training time을 줄였으며 기존 CNN 보다 일반화 성능 또한 더 좋았음
  • 6배 적은 parameter로 0.2%의 성능 감소 → 뛰어난 경량화 성능
  • layer가 깊지 않아도 Adaptive convolutional kernel의 뛰어난 추상화 성능으로 깊은 layer 만큼의 성능 (ResNet18 + Adaptive Convolutional Kernel > ResNet100 )

후기&정리

  • 인간의 시각세포가 non-linear function 과 같이 작동한다는 1990년의 paper를 인용하며 non-linear layer를 잘 사용하면 CV task의 성능 향상이 있을 것이라는 가정에 대한 설명이 더 있었으면 좋았을 듯함
  • input image에 따라 kernel이 결정되는 Adaptive convolutional kernel를 제시
  • 경량화, 추상화, 수렴속도에서 기존 convolution layer보다 이점이 있었으며 적용 또한 간편함
  • deep layers를 쌓지 않고도 adaptive convolutional kernel을 사용하여 deep layer 보다 좋은 성능을 보여줌

 

Reference

https://openaccess.thecvf.com/content_ICCVW_2019/papers/NeurArch/Esquivel_Adaptive_Convolutional_Kernels_ICCVW_2019_paper.pdf

Comments