[논문 리뷰] DoReFa-Net: Training Low Bitwidth Convolutional Neural Networks with Low Bitwidth Gradients
DoReFa-Net은 CNN의 가중치, 활성화, 그래디언트를 저비트폭으로 학습시키며 그래디언트를 확률적으로 양자화하여 비트-컨볼루션 가속을 가능하게 하고 SVHN와 ImageNet에서 경쟁력 있는 정확도를 달성한다.
We propose DoReFa-Net, a method to train convolutional neural networks that have low bitwidth weights and activations using low bitwidth parameter gradients. In particular, during backward pass, parameter gradients are stochastically quantized to low bitwidth numbers before being propagated to convolutional layers. As convolutions during forward/backward passes can now operate on low bitwidth weights and activations/gradients respectively, DoReFa-Net can use bit convolution kernels to accelerate both training and inference. Moreover, as bit convolutions can be efficiently implemented on CPU, FPGA, ASIC and GPU, DoReFa-Net opens the way to accelerate training of low bitwidth neural network on these hardware. Our experiments on SVHN and ImageNet datasets prove that DoReFa-Net can achieve comparable prediction accuracy as 32-bit counterparts. For example, a DoReFa-Net derived from AlexNet that has 1-bit weights, 2-bit activations, can be trained from scratch using 6-bit gradients to get 46.1\% top-1 accuracy on ImageNet validation set. The DoReFa-Net AlexNet model is released publicly.
연구 동기 및 목표
- CNN 학습 및 추론에서 계산 비용과 메모리 비용을 줄이는 동기를 부여한다.
- 가중치, 활성화, 그래디언트를 저 비트폭으로 양자화하는 방법을 제안한다.
- 앞/뒤방향 패스 모두에 대해 빠른 비트-컨볼루션 커널을 가능하게 한다.
- 저비트폭 네트워크가 SVHN과 ImageNet에서 32-비트 기준에 근접한 정확도를 달성할 수 있음을 보여준다.
제안 방법
- 전방 및 역방향 컨볼루션이 저 비트폭 가중치와 활성화/그래디언트에서 작동하는 DoReFa-Net을 도입한다.
- 점곱을 효율적으로 계산하기 위해 고정소수점 비트-연산 컨볼루션 커널을 사용한다(Eq. 3).
- 가중치, 활성화 및 그래디언트를 양자화하기 위해 직관적 역전파 추정기(STE)를 적용한다(Eqs. 5–6, 7–8, 11–12).
- 가중치와 활성화를 결정론적으로 양자화하고, 그래디언트에는 편향 감소를 위한 그래디언트-의식적 스케일링과 추가적인 균일한 잡음을 사용한 확률적 양자화를 적용한다(Eq. 12).
- W-비트 가중치, A-비트 활성화, G-비트 그래디언트를 갖는 L-층 DoReFa-Net을 훈련시키기 위한 알고리즘(Algorithm 1)을 제공한다.
- 처음/마지막 층에 대한 특수 처리와 비선형/반올림 연산의 융합으로 메모리 점유를 줄이는 방법을 조사한다.
실험 결과
연구 질문
- RQ1저비트폭 가중치, 활성화, 그래디언트로 끝-대-끝으로 CNN을 학습해도 큰 정확도 손실 없이 가능할까?
- RQ2가중치, 활성화, 그래디언트의 어떤 비트폭 구성이 challenging한 데이터셋에서 예측 성능을 보존하는가?
- RQ3처음/마지막 층의 양자화 및 네트워크 너비가 DoReFa-Net의 정확도에 어떤 영향을 미치는가?
- RQ4저비트폭 네트워크에서 비트-컨볼루션 커널이 학습 및 추론 속도를 어느 정도까지 가속할 수 있는가?
주요 결과
| W | A | G | Training Complexity | Inference Complexity | Storage Relative Size | AlexNet Accuracy |
|---|---|---|---|---|---|---|
| 1 | 1 | 6 | 7 | 1 | 1 | 0.395 |
| 1 | 1 | 8 | 9 | 1 | 1 | 0.395 |
| 1 | 1 | 32 | - | 1 | 1 | 0.279 (BNN) |
| 1 | 1 | 32 | - | 1 | 1 | 0.442 (XNOR-Net) |
| 1 | 1 | 32 | - | 1 | 1 | 0.401 |
| 1 | 1 | 32 | - | 1 | 1 | 0.436 (initialized) |
| 1 | 2 | 6 | 8 | 2 | 1 | 0.461 |
| 1 | 2 | 8 | 10 | 2 | 1 | 0.463 |
| 1 | 2 | 32 | - | 2 | 1 | 0.477 |
| 1 | 2 | 32 | - | 2 | 1 | 0.498 (initialized) |
| 1 | 3 | 6 | 9 | 3 | 1 | 0.471 |
| 1 | 3 | 32 | - | 3 | 1 | 0.484 |
| 1 | 4 | 6 | - | 4 | 1 | 0.482 |
| 1 | 4 | 32 | - | 4 | 1 | 0.503 |
| 1 | 4 | 32 | - | 4 | 1 | 0.530 (initialized) |
| 8 | 8 | 8 | - | - | 8 | 0.530 |
| 32 | 32 | 32 | - | - | 32 | 0.559 |
- DoReFa-Net은 저 비트폭 가중치와 활성화를 사용하고, 적절한 비트폭(예: ImageNet의 경우 1-비트 가중치, 2-비트 활성화, 6-비트 그래디언트)로도 32-비트 기준과 유사한 정확도를 달성할 수 있다.
- 그래디언트는 일반적으로 활성화보다 큰 비트폭이 필요하고, 활성화는 가중치보다 더 큰 비트폭이 필요하여 정확도 저하를 최소화한다.
- ImageNet에서 활성화 비트폭을 1비트에서 2비트 또는 4비트로 증가시키면 정확도가 크게 향상되며, 6비트 그래디언트는 32비트 그래디언트와 유사한 학습 곡선을 제공한다.
- 저비트폭으로 처음 컨볼루션 층과 마지막 완전연결 층의 양자화는 특히 좁은 모델에서 정확도 감소를 야기하므로 일반적으로 더 높은 정밀도로 유지된다.
- DoReFa-Net AlexNet 변형은 1-비트 가중치와 2-비트 활성화, 6-비트 그래디언트를 사용하여 ILSVRC12 검증에서 46.1% top-1 정확도를 달성했다.
더 나은 연구,지금 바로 시작하세요
연구 설계부터 논문 작성까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.