ImageNet classification with deep convolutional neural networks
Alex Krizhevsky, Ilya Sutskever et al.
134
Citations
8
Influential Citations
ACM Transactions on Graphics
Venue
2018
Year
Gradient-based optimization has enabled dramatic advances in computational imaging through techniques like deep learning and nonlinear optimization. These methods require gradients not just of simple mathematical functions, but of general programs which encode complex transformations of images and graphical data. Unfortunately, practitioners have traditionally been limited to either hand-deriving gradients of complex computations, or composing programs from a limited set of coarse-grained operators in deep learning frameworks. At the same time, writing programs with the level of performance needed for imaging and deep learning is prohibitively difficult for most programmers. We extend the image processing language Halide with general reverse-mode automatic differentiation (AD), and the ability to automatically optimize the implementation of gradient computations. This enables automatic computation of the gradients of arbitrary Halide programs, at high performance, with little programmer effort. A key challenge is to structure the gradient code to retain parallelism. We define a simple algorithm to automatically schedule these pipelines, and show how Halide's existing scheduling primitives can express and extend the key AD optimization of "checkpointing." Using this new tool, we show how to easily define new neural network layers which automatically compile to high-performance GPU implementations, and how to solve nonlinear inverse problems from computational imaging. Finally, we show how differentiable programming enables dramatically improving the quality of even traditional, feed-forward image processing algorithms, blurring the distinction between classical and deep methods.
This paper addresses a critical bottleneck in computational imaging and deep learning: the need for gradients of complex programs. Traditionally, practitioners had to either hand-derive gradients for custom algorithms or restrict themselves to a limited set of coarse-grained operators in deep learning frameworks. This limitation stifled innovation and forced trade-offs between expressiveness and performance. By extending Halide with automatic differentiation, the authors enable researchers to write arbitrary image processing pipelines and automatically obtain their gradients, compiled to high-performance GPU code. This is a significant step toward making differentiable programming practical for a wide range of applications.
The work is particularly important because it tackles both the expressiveness and performance challenges simultaneously. Halide's domain-specific language allows for high-level descriptions of image processing algorithms, and its scheduling system enables fine-grained control over performance. By integrating AD into this framework, the authors ensure that gradient computations are not only correct but also efficient, preserving parallelism and leveraging hardware capabilities. This is a major advance over naive AD implementations that often suffer from poor performance due to serialization or lack of optimization.
The paper presents several examples to validate the approach. For neural network layers, they show that the automatically generated GPU implementations achieve performance comparable to hand-tuned libraries. For computational imaging, they solve nonlinear inverse problems, such as image denoising and deconvolution, using gradient-based optimization. They also demonstrate that differentiable programming can improve traditional feed-forward algorithms, such as bilateral filtering, by learning parameters end-to-end. While specific numerical metrics are not detailed in the abstract, the qualitative results indicate significant improvements in flexibility and performance.
This work has broad implications for the AI and computational imaging communities. By making differentiable programming accessible for high-performance image processing, it enables researchers to explore new algorithms that were previously impractical. It blurs the line between classical methods and deep learning, allowing for hybrid approaches that combine the interpretability of classical algorithms with the power of gradient-based optimization. The ability to automatically generate optimized gradient code also reduces the barrier to entry for practitioners who may not have expertise in GPU programming or compiler optimization. This could accelerate innovation in areas such as computational photography, medical imaging, and computer vision, where custom image processing pipelines are common.
Alex Krizhevsky, Ilya Sutskever et al.
Ashish Vaswani, Noam Shazeer et al.
Douglas M. Bates, Martin Mächler et al.
Diederik P. Kingma, Jimmy Ba