Algorithm Unrolling: Interpretable, Efficient Deep Learning for Signal
  and Image Processing
  Deep neural networks provide unprecedented performance gains in many real
world problems in signal and image processing. Despite these gains, future
development and practical deployment of deep networks is hindered by their
blackbox nature, i.e., lack of interpretability, and by the need for very large
training sets. An emerging technique called algorithm unrolling or unfolding
offers promise in eliminating these issues by providing a concrete and
systematic connection between iterative algorithms that are used widely in
signal processing and deep neural networks. Unrolling methods were first
proposed to develop fast neural network approximations for sparse coding. More
recently, this direction has attracted enormous attention and is rapidly
growing both in theoretic investigations and practical applications. The
growing popularity of unrolled deep networks is due in part to their potential
in developing efficient, high-performance and yet interpretable network
architectures from reasonable size training sets. In this article, we review
algorithm unrolling for signal and image processing. We extensively cover
popular techniques for algorithm unrolling in various domains of signal and
image processing including imaging, vision and recognition, and speech
processing. By reviewing previous works, we reveal the connections between
iterative algorithms and neural networks and present recent theoretical
results. Finally, we provide a discussion on current limitations of unrolling
and suggest possible future research directions.
