TITLE: LCNN: Lookup-based Convolutional Neural Network
AUTHOR: Hessam Bagherinezhad, Mohammad Rastegari, Ali Farhadi
ASSOCIATION: University of Washington, Allen Institute for AI
FROM: arXiv:1611.06473
CONTRIBUTIONS
LCNN, a lookup-based convolutional neural network is introduced that encodes convolutions by few lookups to a dictionary that is trained to cover the space of weights in CNNs.
METHOD
The main idea of the work is decoding the weights of the convolutional layer using a dictionary
D
and two tensors,
where
where
S
is the size of number of components in the linear combinations. Then the convolution can be computed fast using a shared dictionary. we can convolve the input with all of the dictionary vectors, and then compute the output according to
the convolution operation can be computed as
where
P
can be expressed by
I
and
The idea can be illustrated in the following figure:
thus the the dictionary and the lookup parameters can be trained jointly.
ADVANTAGES
- It speeds up inference.
- Few-shot learning. The shared dictionary in LCNN allows a neural network to learn from very few training examples on novel categories
- LCNN needs fewer iteration to train.
DISADVANTAGES
- Performance is hurt because of the estimation of the weights