Software Engineering Challenges of Deep Learning
  Surprisingly promising results have been achieved by deep learning (DL)
systems in recent years. Many of these achievements have been reached in
academic settings, or by large technology companies with highly skilled
research groups and advanced supporting infrastructure. For companies without
large research groups or advanced infrastructure, building high-quality
production-ready systems with DL components has proven challenging. There is a
clear lack of well-functioning tools and best practices for building DL
systems. It is the goal of this research to identify what the main challenges
are, by applying an interpretive research approach in close collaboration with
companies of varying size and type.
  A set of seven projects have been selected to describe the potential with
this new technology and to identify associated main challenges. A set of 12
main challenges has been identified and categorized into the three areas of
development, production, and organizational challenges. Furthermore, a mapping
between the challenges and the projects is defined, together with selected
motivating descriptions of how and why the challenges apply to specific
projects.
  Compared to other areas such as software engineering or database
technologies, it is clear that DL is still rather immature and in need of
further work to facilitate development of high-quality systems. The challenges
identified in this paper can be used to guide future research by the software
engineering and DL communities. Together, we could enable a large number of
companies to start taking advantage of the high potential of the DL technology.
