CVLGPFJul 4, 2018

Restructuring Batch Normalization to Accelerate CNN Training

arXiv:1807.01702v272 citations
Originality Incremental advance
AI Analysis

This addresses a bottleneck in accelerating CNN training for deep learning practitioners, though it is incremental as it builds on existing BN and fusion techniques.

The paper tackles the inefficiency of Batch Normalization (BN) in CNN training due to mini-batch calculations, proposing a restructuring method that splits and fuses BN layers to reduce memory accesses, resulting in a 25.7% performance improvement for DenseNet-121.

Batch Normalization (BN) has become a core design block of modern Convolutional Neural Networks (CNNs). A typical modern CNN has a large number of BN layers in its lean and deep architecture. BN requires mean and variance calculations over each mini-batch during training. Therefore, the existing memory access reduction techniques, such as fusing multiple CONV layers, are not effective for accelerating BN due to their inability to optimize mini-batch related calculations during training. To address this increasingly important problem, we propose to restructure BN layers by first splitting a BN layer into two sub-layers (fission) and then combining the first sub-layer with its preceding CONV layer and the second sub-layer with the following activation and CONV layers (fusion). The proposed solution can significantly reduce main-memory accesses while training the latest CNN models, and the experiments on a chip multiprocessor show that the proposed BN restructuring can improve the performance of DenseNet-121 by 25.7%.

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