MLCVLGPFSep 19, 2018

Characterising Across-Stack Optimisations for Deep Convolutional Neural Networks

arXiv:1809.07196v143 citations
Originality Synthesis-oriented
AI Analysis

This work addresses the problem of deploying CNNs on edge devices for applications like mobile robots and medical assistive technology, but it is incremental as it unifies existing viewpoints and methods.

The paper tackled the computational demands of Convolutional Neural Networks (CNNs) on resource-constrained edge devices by implementing and evaluating neural network compression techniques (weight pruning, channel pruning, and quantisation) and parallel execution optimisations (OpenMP, OpenCL on CPU, GPU), resulting in comprehensive Pareto curves for trade-offs in accuracy, execution time, and memory space.

Convolutional Neural Networks (CNNs) are extremely computationally demanding, presenting a large barrier to their deployment on resource-constrained devices. Since such systems are where some of their most useful applications lie (e.g. obstacle detection for mobile robots, vision-based medical assistive technology), significant bodies of work from both machine learning and systems communities have attempted to provide optimisations that will make CNNs available to edge devices. In this paper we unify the two viewpoints in a Deep Learning Inference Stack and take an across-stack approach by implementing and evaluating the most common neural network compression techniques (weight pruning, channel pruning, and quantisation) and optimising their parallel execution with a range of programming approaches (OpenMP, OpenCL) and hardware architectures (CPU, GPU). We provide comprehensive Pareto curves to instruct trade-offs under constraints of accuracy, execution time, and memory space.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes