With the great progress made in deep learning in recent years, convolutional neural networks (CNNs) have achieved state-of-art performance in a broad range of fields. However, the existing CNNs require massive computation and storage resources to achieve high performance, which is not hardware-friendly to resource-limited devices. The Binary neural networks (BNNs), also known as 1-bit CNN, has two key advantages: 1) it constrains weights and activations to +1 or -1 to achieve a 32x memory compression ratio; 2) it utilizes XNOR and PopCount operations to replace computationally expensive multiply-add, providing a 58x computational reduction on a CPU [1]}, [2]}, [3]}, [4]}, [5]}, [6]}. Due to these attractive characteristics of BNNs, it has been regarded as one of the most essential neural network compression methods to have the potential for direct deployment on next-generation hardware [4]}.
