Deep Anchored Convolutional Neural Networks
This work addresses memory efficiency for deep learning practitioners, but it is incremental as it builds on existing weight-sharing techniques.
The paper tackles the problem of reducing memory costs in deep convolutional neural networks by proposing Deep Anchored Convolutional Neural Networks (DACNN), which share a single convolution kernel across layers, compressing memory by a factor of L (network depth) and maintaining high accuracy on datasets like CIFAR-10, CIFAR-100, and SVHN.
Convolutional Neural Networks (CNNs) have been proven to be extremely successful at solving computer vision tasks. State-of-the-art methods favor such deep network architectures for its accuracy performance, with the cost of having massive number of parameters and high weights redundancy. Previous works have studied how to prune such CNNs weights. In this paper, we go to another extreme and analyze the performance of a network stacked with a single convolution kernel across layers, as well as other weights sharing techniques. We name it Deep Anchored Convolutional Neural Network (DACNN). Sharing the same kernel weights across layers allows to reduce the model size tremendously, more precisely, the network is compressed in memory by a factor of L, where L is the desired depth of the network, disregarding the fully connected layer for prediction. The number of parameters in DACNN barely increases as the network grows deeper, which allows us to build deep DACNNs without any concern about memory costs. We also introduce a partial shared weights network (DACNN-mix) as well as an easy-plug-in module, coined regulators, to boost the performance of our architecture. We validated our idea on 3 datasets: CIFAR-10, CIFAR-100 and SVHN. Our results show that we can save massive amounts of memory with our model, while maintaining a high accuracy performance.