  Binary Neural Networks (BNNs) are neural networks which use binary weights
and activations instead of the typical 32-bit floating point values. They have
reduced model sizes and allow for efficient inference on mobile or embedded
devices with limited power and computational resources. However, the
binarization of weights and activations leads to feature maps of lower quality
and lower capacity and thus a drop in accuracy compared to traditional
networks. Previous work has increased the number of channels or used multiple
binary bases to alleviate these problems. In this paper, we instead present an
architectural approach: MeliusNet. It consists of alternating a DenseBlock,
which increases the feature capacity, and our proposed ImprovementBlock, which
increases the feature quality. Experiments on the ImageNet dataset demonstrate
the superior performance of our MeliusNet over a variety of popular binary
architectures with regards to both computation savings and accuracy.
Furthermore, with our method we trained BNN models, which for the first time
can match the accuracy of the popular compact network MobileNet-v1 in terms of
model size, number of operations and accuracy. Our code is published online at
https://github.com/hpi-xnor/BMXNet-v2
