본문 바로가기
논문 리뷰/Quantization

[Paper Review] AdaBin: Improving Binary Neural Networks with Adaptive Binary Sets

by hyeon827 2025. 3. 16.

논문 원본 : https://arxiv.org/abs/2208.08084

 

AdaBin: Improving Binary Neural Networks with Adaptive Binary Sets

This paper studies the Binary Neural Networks (BNNs) in which weights and activations are both binarized into 1-bit values, thus greatly reducing the memory usage and computational complexity. Since the modern deep neural networks are of sophisticated desi

arxiv.org

 

 

1. Introduction

  • 양자화 (Quantization)는 모델을 경량화하는 데 있어 매우 중요한 기술로 연구되고 있음
  • 양자화된 모델은 낮은 비트 수를 사용해 메모리 사용량을 줄이고, 계산 속도를 향상시킬 수 있음
  • 특히, BNN (Binary Neural Network)은 가장 극단적인 양자화 모델로, 가중치와 활성화 값을 단 1bit로 표현
  • 이를 통해 64배 빠른 연산 속도와 32배 적은 메모리 사용을 가능하게 함
  • 하지만 BNN의 단점은 정확도가 크게 낮아지는 것이며, 특히 detection, segmentation, tracking과 같은 복잡한 task에서는 성능이 많이 떨어짐

 

   BNN의 한계

  • IEEE-754 표준에 따르면, 일반적인 32bit 부동소수점 숫자는 6.8 x 1038  개의 서로 다른 값을 표헌할 수 있음
  • 하지만 1bit 숫자는 단 2가지 값만을 표현할 수 있어 정보 표현력이 크게 떨어짐
  • 기존 BNN 기법은 단순히 가중치와 활성화 값을 +1 또는 -1로 변환하는 방식 (sign function)을 사용
  • 하지만 딥러닝 모델에서 layer마다 특징이 다르기 때문에 모든 층에 동일한 -1, +1 값만 사용하는 것은 비효율적
  • AdaBin은 기존처럼 고정된 -1과 1 값만 사용하지 않고, 적응적으로 (binary values를 유연하게 조정) 최적의 이진화 값을 찾는 방법
    • 가중치 최적화
      • 통계 분석을 기반으로 가중치의 중심을 맞추고, 실수형 분포와의 차이를 최소화하는 방법 사용
    • 활성화값 최적화
      • 기울기 기반 최적화 기법을 활용해 각 layer의 특징에 맞게 이진화 값의 중심과 거리를 조정
      • 기존의 sign fucntion을 초기값으로 설정한 후, 학습 과정에서 최적의 값으로 조정하는 방식 사용

 

기존 BNN과 AdaBin의 차이

  • 기존 BNN들은 가중치와 활성화 값을 {-1, +1} 또는 {0,+1} 같은 고정된 값만 사용하여 2~3가지의 출력값을 생성
  • 하지만 AdaBin은 더 다양한 이진값을 허용하여 총 4가지 출력값을 만들 수 있으며, 이로 인해 기존 BNN보다 훨씬 강력한 표현력을 가질 수 있음

 

  • 또한, AdaBin은 XNOR과 BitCount 연산을 사용해 기존 BNN처럼 빠르게 계산할 수 있도록 설계되었으며, 추가적인 계산량도 거의 없음

 

실험 결과

  • CIFAR-10 및 ImageNet 데이터셋에서 기존의 최신 BNN 기법보다 더 나은 성능을 보임
  • PASCAL VOC 데이터셋 (Object Detection 분야)에서도 기존 BNN 기법보다 1.9mAP 향상을 달성
  • 이론적으로 기존 BNN보다 60.85배 더 빠른 연산 속도와 31배 적은 메모리 사용량을 기록

 

 

2. Related Work

 

   XNOR-Net

  • 기존 BNN에서 양자화 과정에서 발생하는 오류를 줄이기 위해 채널별 스케일링을 도입하여 이진화된 가중치를 원래 값과 가깝게 복원한느 방법 제안 -> 이후 많은 BNN 연구에서 이 개념 활용

 

   ABC-Net

  • 부동소수점 (Full-Precision) 가중치를 더 정확히 표현하기 위해 여러 개의 이진 가중치의 선형 결합을 사용
  • 또한, 여러 개의 이진 활성화 함수를 활용하여 정보 손실을 줄이는 방법 도입
  • 즉, 단순히 한 번반 -1, +1로 변환하는 게 아니라, 여러 개의 이진화된 가중치를 합쳐 원래 값을 더 가깝게 표현

 

   Bi-Real Net & BinaryDesneNet

  • ResNet과 DesneNet 구조에서 영감을 받음
  • Bi-Real Net : 1bit CNN과 실수형 CNN 간의 성능 차이를 줄이기 위해 Shortcuts를 추가하는 방법 제안
  • BinaryDenseNet : 성능을 더 향상시키기 위해 더 많은 단축 경로를 연결

 

   IR-Net

  • Information Entropy 최대화
    • 양자화된 가중치들이 특정 값 (-1 또는 1)에 너무 쏠리지 않도록 하고, 균형 있게 분포되도록 조
  • Quantization Error 최소화
    • 가중치의 중심을 조정
    • 학습 가능한 scaling factor를 적용하여 원래 가중치와 차이는 줄임

 

   ReActNet

  • ReAct Sign 함수
    • 학습 가능한 binary 임계값 추
  • ReAct PReLU
    • Leaky ReLU의 한 변형으로, 음수를 입력 받을 때 학습 가능한 a 계수 추가

https://arxiv.org/abs/2110.06804

 

 

 

3. Binarization with Adaptive Binary Sets

  • AdaBin에서는 -1과 1을 고정하지 않고, 학습을 통해 최적의 두 값 b1, b2를 찾을 수 있도록 함
    • β : 이진화된 값들의 중심, 즉 원래 실수값의 평균 (center)
    • α : 두 값 사이의 거리 (distance)

 

 

   3.1 Weight Equalization

  • 중심 βw 계산
    • 가중치 분포의 중심 (βw)을 원래 실수 가중치의 평균값으로 설정
    • 즉, 이진화된 가중치가 원래 가중치 분포의 평균을 유지하도록 설정

  • 거리 αw 계산
    • 이진화된 값이 원래 값과의 차이를 최소화하도록 scaling

 

 

 

   3.2 Gradient-based Activiation Binarization

  • 학습을 통해 최적의 두 개의 값을 찾음
    • βa : 활성화 값의 중심 (center)
    • αa : 활성화 값의 거리 (distance)

 

  • 활성화 값이 너무 크면 학습이 불안정해지므로, gradient clipping 적용

 

  • 각 변수들의 gradient 업데이트 수식

 

 

  • 최종 이진화 과정 (Inference 단계)
    • 학습이 끝난 후에는 

 

 

   3.3 Non-linearity

  • 기존 연구에서는 PReLU (Parametric ReLU)를 사용하여 BNN의 학습을 돕는 방식을 제안함
  • PReLU는 음수 값 부분에 학습 가능한 scaling factor를 추가하여 학습을 유연하게 함
  • 하지만 AdaBin을 적용한 후, 일부 층에서 이진화된 값들이 대부분 양수가 되는 현상 발생
  • 즉, PReLU가 적용되는 음수 값이 거의 없어져 PReLU의 비선형성이 제대로 작동하지 않음

 

  • 이를 위해 Maxout 함수를 사용하여 더 강한 비선형성을 적용
    • : 양수 부분의 학습 가능한 계수 (초기값 = 1)
    • : 음수 부분의 학습 가능한 계수 (초기값 = 0.25)
    • PReLU와 다르게 양수, 음수 모두 학습 가능하도록 확장됨

   

 

   3.4 Binary Convolution for AdaBin

  • AdaBin에서도 여진히 XNOR, BitCount 연산을 활용하여 가속화

 

  • IR-Net과 비교
    • 연산량 2.74% 증가
    • 파라미터 수 1.37% 증가
    • 하지만 이론적으로 60.85x 속도 향상, 31x 메모리 절약

 

4. Experiments

   4.1 Results on CIFAR-10

  • ResNet-18: 93.1% 정확도 → ReCU보다 0.3% 향상
  • ResNet-20: 0.4% 정확도 향상 (RBNN 대비 최고 성능 달성)
  • VGG-small (1-bit binarization): 92.3% 정확도 → SLB보다 0.3% 향상

 

   4.2 Results on ImageNet

 

  • BNN 전용 네트워크 비교

 

 

5. Conclusion

 

  • AdaBin은 이진 값의 중심()과 거리()를 학습하여 최적의 이진값을 찾음
  • 결과적으로, 원래 실수형 가중치와 더 잘 맞는 이진 표현이 가능하여 성능 향상