  Deep learning's great success motivates many practitioners and students to
learn about this exciting technology. However, it is often challenging for
beginners to take their first step due to the complexity of understanding and
applying deep learning. We present CNN Explainer, an interactive visualization
tool designed for non-experts to learn and examine convolutional neural
networks (CNNs), a foundational deep learning model architecture. Our tool
addresses key challenges that novices face while learning about CNNs, which we
identify from interviews with instructors and a survey with past students. CNN
Explainer tightly integrates a model overview that summarizes a CNN's
structure, and on-demand, dynamic visual explanation views that help users
understand the underlying components of CNNs. Through smooth transitions across
levels of abstraction, our tool enables users to inspect the interplay between
low-level mathematical operations and high-level model structures. A
qualitative user study shows that CNN Explainer helps users more easily
understand the inner workings of CNNs, and is engaging and enjoyable to use. We
also derive design lessons from our study. Developed using modern web
technologies, CNN Explainer runs locally in users' web browsers without the
need for installation or specialized hardware, broadening the public's
education access to modern deep learning techniques.
