Recursive Least Squares for Training and Pruning Convolutional Neural Networks
This addresses the deployment of CNNs on resource-constrained devices, representing an incremental improvement over existing pruning methods.
The paper tackles the problem of high computation and storage requirements in convolutional neural networks (CNNs) by proposing a novel algorithm based on recursive least squares (RLS) for training and pruning, achieving more reasonable pruning and higher learning efficiency than four other popular algorithms on MNIST, CIFAR-10, and SVHN datasets.
Convolutional neural networks (CNNs) have succeeded in many practical applications. However, their high computation and storage requirements often make them difficult to deploy on resource-constrained devices. In order to tackle this issue, many pruning algorithms have been proposed for CNNs, but most of them can't prune CNNs to a reasonable level. In this paper, we propose a novel algorithm for training and pruning CNNs based on the recursive least squares (RLS) optimization. After training a CNN for some epochs, our algorithm combines inverse input autocorrelation matrices and weight matrices to evaluate and prune unimportant input channels or nodes layer by layer. Then, our algorithm will continue to train the pruned network, and won't do the next pruning until the pruned network recovers the full performance of the old network. Besides for CNNs, the proposed algorithm can be used for feedforward neural networks (FNNs). Three experiments on MNIST, CIFAR-10 and SVHN datasets show that our algorithm can achieve the more reasonable pruning and have higher learning efficiency than other four popular pruning algorithms.