DoReFa-Net과 binarized neural network

1. DoReFa-Net

 

low bit의 weight와 activation을 사용하여 CNN을 train하는 방법

 

이전에는 weight나 activation을 quantization하는 시도는 많았지만, DoReFa-Net은 gradient를 quantization함

 

backward pass중에 convolutional layer에 들어가기 전에 parameter의 gradient를 확률적으로 low bit quantize함

 

bit convolution kernel을 사용하여 training과 inference 속도를 높였다

 

bit convolution kernel은 bitwise operation만으로 dot product를 계산할 수 있도록 함

 

그러면서 GPU,ASIC,FPGA 뿐만 아니라 CPU에서도 효율적으로 작동할 수 있게 만들었다

 

 

2. binarized neural network

 

이름에서 유추할 수 있듯이 1bit로 극단적인 quantization을 하여 정보는 이거다, 아니다로 binary 구분하자는 network

 

구체적으로 train time에서 binary로 quantize된 weight와 activation을 사용하여 parameter gradient를 계산함

 

이렇게 함으로써 forward pass중에 메모리 사용량을 상당히 줄이고 대부분의 연산을 bit wise연산으로 바꿔서 power의 효율성을 높임

 

 

 

 

binary하는 방법에는 deterministic한 방법과 stochastic한 방법이 있다고 제시했으며

 

후자는 전자보다 매력적이긴 하지만 다루기가 까다로워 대부분 deterministic한 방법을 사용했다고함

 

728x90