Local Binary Convolutional Neural Networks (LBCNN)

People

Felix Juefei Xu (Contact)

Vishnu Naresh Boddeti (Contact)

Marios Savvides

Carnegie Mellon University


Code

LBCNN (Torch) on Github


Abstract

We propose local binary convolution (LBC), an efficient alternative to convolutional layers in standard convolutional neural networks (CNN). The design principles of LBC are motivated by local binary patterns (LBP). The LBC layer comprises of a set of fixed sparse pre-defined binary convolutional filters that are not updated during the training process, a non-linear activation function and a set of learnable linear weights. The linear weights combine the activated filter responses to approximate the corresponding activated filter responses of a standard convolutional layer. The LBC layer affords significant parameter savings, 9x to 169x in the number of learnable parameters compared to a standard convolutional layer. Furthermore, the sparse and binary nature of the weights also results in up to 9x to 169x savings in model size compared to a standard convolutional layer. We demonstrate both theoretically and experimentally that our local binary convolution layer is a good approximation of a standard convolutional layer. Empirically, CNNs with LBC layers, called local binary convolutional neural networks (LBCNN), achieves performance parity with regular CNNs on a range of visual datasets (MNIST, SVHN, CIFAR-10, and ImageNet) while enjoying significant computational savings.


Overview

We draw inspiration from local binary patterns that have been very successfully used for facial analysis.

Our LBCNN module is designed to approximate a fully learnable dense CNN module.

Binary convolutional kernels with different sparsity levels.


Contributions


References