Abstract
In this paper, we analyze the change of accuracy when fixed point arithmetic is used instead of floating point arithmetic in binary weight network(BWN). We observed the change of accuracy by varying total bit size and fraction bit size. If the integer part is not changed after fixed point approximation, there is no significant decrease in accuracy compared to the floating-point operation. When overflow occurs in the integer part, the approximation to the maximum or minimum of the fixed point representation minimizes the decrease in accuracy. The results of this paper can be applied to the minimization of memory and hardware resource requirement in the implementation of FPGA-based BWN accelerator.
본 연구에서는 이진 가중치 신경망(BWN)을 부동소수점 데이터를 사용하여 학습시킨 후에, 학습된 파라미터와 주요연산을 고정소수점으로 근사화시키는 과정에서 정확도의 변화를 분석하였다. 신경망을 이루고 있는 각 계층의 입력 데이터와 컨볼루션 연산의 계산에 고정소수점 수를 사용했으며, 이때 고정소수점 수의 전체 bit 수와 소수점 이하 bit 수에 변화를 주면서 정확도 변화를 관찰하였다. 각 계층의 입력 값과 중간 계산값의 정수 부분의 손실이 발생하지 않으면 고정소수점 연산을 사용해도 부동소수점 연산에 비해 큰 정확도 감소가 없었다. 그리고 오버플로가 발생하는 경우에 고정소수점 수의 최대 또는 최소값으로 근사시켜서 정확도 감소를 줄일 수 있었다. 이 연구결과는 FPGA 기반의 BWN 가속기를 구현할 때에 필요한 메모리와 하드웨어 요구량을 줄이는 데 사용될 수 있다.