Improving the Reproducibility of Deep Learning Software: An Initial Investigation through a Case Study Analysis
Nikita Ravi, Abhinav Goel, James C. Davis, George K. Thiruvathukal
TL;DR
This paper investigates reproducibility challenges in deep learning software and surveys existing guidelines. It then tests and extends these guidelines through a case study of TRUNK, a hierarchical Tree-Based Unidirectional Neural Network, to evaluate how environment replication, end-to-end training, architecture disclosure, and data-processing transparency influence reproducibility. Through experiments on EMNIST, CIFAR-10, and SVHN, the authors highlight the critical roles of software environment manifests, training pipelines, and sensitivity analyses, revealing substantial variability due to non-determinism and missing details in the original Artefacts. They propose concrete enhancements to guidelines, including GPU-focused manifests, integrated end-to-end training, and high-level configuration files, to bridge the gap between research and practical deployment of deep learning models.
Abstract
The field of deep learning has witnessed significant breakthroughs, spanning various applications, and fundamentally transforming current software capabilities. However, alongside these advancements, there have been increasing concerns about reproducing the results of these deep learning methods. This is significant because reproducibility is the foundation of reliability and validity in software development, particularly in the rapidly evolving domain of deep learning. The difficulty of reproducibility may arise due to several reasons, including having differences from the original execution environment, incompatible software libraries, proprietary data and source code, lack of transparency, and the stochastic nature in some software. A study conducted by the Nature journal reveals that more than 70% of researchers failed to reproduce other researchers experiments and over 50% failed to reproduce their own experiments. Irreproducibility of deep learning poses significant challenges for researchers and practitioners. To address these concerns, this paper presents a systematic approach at analyzing and improving the reproducibility of deep learning models by demonstrating these guidelines using a case study. We illustrate the patterns and anti-patterns involved with these guidelines for improving the reproducibility of deep learning models. These guidelines encompass establishing a methodology to replicate the original software environment, implementing end-to-end training and testing algorithms, disclosing architectural designs, and enhancing transparency in data processing and training pipelines. We also conduct a sensitivity analysis to understand the model performance across diverse conditions. By implementing these strategies, we aim to bridge the gap between research and practice, so that innovations in deep learning can be effectively reproduced and deployed within software.
