Optimizing Convolutional Neural Network Architecture
Luis Balderas, Miguel Lastra, José M. Benítez
TL;DR
The paper tackles the challenge of deploying CNNs on resource-limited devices by introducing OCNNA, a pruning-and-knowledge-distillation framework that ranks convolutional filters by importance. It uses a three-stage, PCA-based pipeline (P_m^{l}=PCA(o_m^{l}), F_m^{l}=||P_m^{l}||_{F}, C_m=CV(F_m^{l})) to quantify per-filter significance and retains the top $k$-th percentile to form a streamlined model, transferring knowledge from the original network. Thorough experiments on CIFAR-10/100 and ImageNet across VGG-16, ResNet-50, DenseNet-40, and MobileNet show that OC NNA achieves strong accuracy with substantial parameter reduction, outperforming or remaining competitive with more than 20 state-of-the-art pruning methods. The approach supports end-to-end compression with minimal tuning and is well-suited for IoT and edge deployments where energy and memory are critical constraints.
Abstract
Convolutional Neural Networks (CNN) are widely used to face challenging tasks like speech recognition, natural language processing or computer vision. As CNN architectures get larger and more complex, their computational requirements increase, incurring significant energetic costs and challenging their deployment on resource-restricted devices. In this paper, we propose Optimizing Convolutional Neural Network Architecture (OCNNA), a novel CNN optimization and construction method based on pruning and knowledge distillation designed to establish the importance of convolutional layers. The proposal has been evaluated though a thorough empirical study including the best known datasets (CIFAR-10, CIFAR-100 and Imagenet) and CNN architectures (VGG-16, ResNet-50, DenseNet-40 and MobileNet), setting Accuracy Drop and Remaining Parameters Ratio as objective metrics to compare the performance of OCNNA against the other state-of-art approaches. Our method has been compared with more than 20 convolutional neural network simplification algorithms obtaining outstanding results. As a result, OCNNA is a competitive CNN constructing method which could ease the deployment of neural networks into IoT or resource-limited devices.
