LGAIJun 28, 2023

Reduce Computational Complexity for Convolutional Layers by Skipping Zeros

arXiv:2306.15951v42 citationsh-index: 11
Originality Incremental advance
AI Analysis

This work addresses computational inefficiencies in convolutional neural networks for researchers and practitioners, though it appears incremental as it builds on existing methods for optimization.

The paper tackles the problem of redundant calculations from zero-padding in convolutional layers, proposing the C-K-S algorithm to skip zeros and transform sparse tensors, which results in improved speed and convergence, outperforming PyTorch and cuDNN in some cases.

Convolutional neural networks necessitate good algorithms to reduce complexity, and sufficient utilization of parallel processors for acceleration. Within convolutional layers, there are three types of operators: convolution used in forward propagation, deconvolution and dilated-convolution utilized in backward propagation. During the execution of these operators, zeros are typically added to tensors, leading to redundant calculations and unnecessary strain on hardware. To circumvent these inefficiencies, we propose the C-K-S algorithm, accompanied by efficient GPU implementations. C-K-S trims filters to exclude zero-padding. For deconvolution and dilated-convolution, C-K-S transforms sparse tensors into dense tensors, and standardizes the local computational rules to simplify the hardware control. The experimental results demonstrate that C-K-S offers good performance in terms of speed and convergence, surpassing the capabilities of PyTorch and cuDNN in certain scenarios.

Foundations

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

Your Notes