  Nanophotonic devices manipulate light at sub-wavelength scales, enabling
tasks such as light concentration, routing, and filtering. Designing these
devices is a challenging task. Traditionally, solving this problem has relied
on computationally expensive, iterative methods. In recent years, deep learning
techniques have emerged as promising tools for tackling the inverse design of
nanophotonic devices. While several review articles have provided an overview
of the progress in this rapidly evolving field, there is a need for a
comprehensive tutorial that specifically targets newcomers without prior
experience in deep learning. Our goal is to address this gap and provide
practical guidance for applying deep learning to individual scientific
problems. We introduce the fundamental concepts of deep learning and critically
discuss the potential benefits it offers for various inverse design problems in
nanophotonics. We present a suggested workflow and detailed, practical design
guidelines to help newcomers navigate the challenges they may encounter. By
following our guide, newcomers can avoid frustrating roadblocks commonly
experienced when venturing into deep learning for the first time. In a second
part, we explore different iterative and direct deep learning-based techniques
for inverse design, and evaluate their respective advantages and limitations.
To enhance understanding and facilitate implementation, we supplement the
manuscript with detailed Python notebook examples, illustrating each step of
the discussed processes. While our tutorial primarily focuses on researchers in
(nano-)photonics, it is also relevant for those working with deep learning in
other research domains. We aim at providing a solid starting point to empower
researchers to leverage the potential of deep learning in their scientific
pursuits.
