BinaryNet: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1
Universite de Montreal
arXiv:1602.02830 [cs.LG], (9 Feb 2016)
@article{courbariaux2016binarynet,
title={BinaryNet: Training Deep Neural Networks with Weights and Activations Constrained to +1 or -1},
author={Courbariaux, Matthieu and Bengio, Yoshua},
year={2016},
month={feb},
archivePrefix={"arXiv"},
primaryClass={cs.LG}
}
We introduce BinaryNet, a method which trains DNNs with binary weights and activations when computing parameters’ gradient. We show that it is possible to train a Multi Layer Perceptron (MLP) on MNIST and ConvNets on CIFAR-10 and SVHN with BinaryNet and achieve nearly state-of-the-art results. At run-time, BinaryNet drastically reduces memory usage and replaces most multiplications by 1-bit exclusive-not-or (XNOR) operations, which might have a big impact on both general-purpose and dedicated Deep Learning hardware. We wrote a binary matrix multiplication GPU kernel with which it is possible to run our MNIST MLP 7 times faster than with an unoptimized GPU kernel, without suffering any loss in classification accuracy. The code for BinaryNet is available.
February 10, 2016 by hgpu