Design Smells in Deep Learning Programs: An Empirical Study
- URL: http://arxiv.org/abs/2107.02279v2
- Date: Wed, 7 Jul 2021 13:50:52 GMT
- Title: Design Smells in Deep Learning Programs: An Empirical Study
- Authors: Amin Nikanjam, Foutse Khomh
- Abstract summary: Design smells in Deep Learning (DL) programs are poor design and-or configuration decisions taken during the development of DL components.
We present a catalogue of 8 design smells for a popular DL architecture, namely deep Feedforward Neural Networks.
- Score: 9.112172220055431
- License: http://arxiv.org/licenses/nonexclusive-distrib/1.0/
- Abstract: Nowadays, we are witnessing an increasing adoption of Deep Learning (DL)
based software systems in many industries. Designing a DL program requires
constructing a deep neural network (DNN) and then training it on a dataset.
This process requires that developers make multiple architectural (e.g., type,
size, number, and order of layers) and configuration (e.g., optimizer,
regularization methods, and activation functions) choices that affect the
quality of the DL models, and consequently software quality. An under-specified
or poorly-designed DL model may train successfully but is likely to perform
poorly when deployed in production. Design smells in DL programs are poor
design and-or configuration decisions taken during the development of DL
components, that are likely to have a negative impact on the performance (i.e.,
prediction accuracy) and then quality of DL based software systems. In this
paper, we present a catalogue of 8 design smells for a popular DL architecture,
namely deep Feedforward Neural Networks which is widely employed in industrial
applications. The design smells were identified through a review of the
existing literature on DL design and a manual inspection of 659 DL programs
with performance issues and design inefficiencies. The smells are specified by
describing their context, consequences, and recommended refactorings. To
provide empirical evidence on the relevance and perceived impact of the
proposed design smells, we conducted a survey with 81 DL developers. In
general, the developers perceived the proposed design smells as reflective of
design or implementation problems, with agreement levels varying between 47\%
and 68\%.
Related papers
- Forewarned is Forearmed: Leveraging LLMs for Data Synthesis through Failure-Inducing Exploration [90.41908331897639]
Large language models (LLMs) have significantly benefited from training on diverse, high-quality task-specific data.
We present a novel approach, ReverseGen, designed to automatically generate effective training samples.
arXiv Detail & Related papers (2024-10-22T06:43:28Z) - What matters when building vision-language models? [52.8539131958858]
We develop Idefics2, an efficient foundational vision-language model with 8 billion parameters.
Idefics2 achieves state-of-the-art performance within its size category across various multimodal benchmarks.
We release the model (base, instructed, and chat) along with the datasets created for its training.
arXiv Detail & Related papers (2024-05-03T17:00:00Z) - Visual Prompting Upgrades Neural Network Sparsification: A Data-Model Perspective [64.04617968947697]
We introduce a novel data-model co-design perspective: to promote superior weight sparsity.
Specifically, customized Visual Prompts are mounted to upgrade neural Network sparsification in our proposed VPNs framework.
arXiv Detail & Related papers (2023-12-03T13:50:24Z) - Qualitative analysis of the relationship between design smells and
software engineering challenges [3.9704849108478704]
This research provides a tool which is used for design smell detection in Java software by analyzing large volume of source codes.
Based on the output of the tool, a study is conducted to relate the cause of the detected design smells to two software engineering challenges namely "irregular team meetings" and "scope creep"
arXiv Detail & Related papers (2023-10-22T23:21:13Z) - Serving Deep Learning Model in Relational Databases [70.53282490832189]
Serving deep learning (DL) models on relational data has become a critical requirement across diverse commercial and scientific domains.
We highlight three pivotal paradigms: The state-of-the-art DL-centric architecture offloads DL computations to dedicated DL frameworks.
The potential UDF-centric architecture encapsulates one or more tensor computations into User Defined Functions (UDFs) within the relational database management system (RDBMS)
arXiv Detail & Related papers (2023-10-07T06:01:35Z) - Challenges in Migrating Imperative Deep Learning Programs to Graph
Execution: An Empirical Study [4.415977307120617]
We conduct a data-driven analysis of challenges -- and resultant bugs -- involved in writing reliable yet performant imperative DL code.
We put forth several recommendations, best practices, and anti-patterns for effectively hybridizing imperative DL code.
arXiv Detail & Related papers (2022-01-24T21:12:38Z) - Automatic Fault Detection for Deep Learning Programs Using Graph
Transformations [13.572917264310119]
We propose NeuraLint, a model-based fault detection approach for Deep Learning programs.
NeuraLint effectively detects faults and design issues in both synthesized and real-world examples with a recall of 70.5 % and a precision of 100 %.
Although the proposed meta-model is designed for feedforward neural networks, it can be extended to support other neural network architectures.
arXiv Detail & Related papers (2021-05-17T18:06:11Z) - An Empirical Study on Deployment Faults of Deep Learning Based Mobile
Applications [7.58063287182615]
Mobile Deep Learning (DL) apps integrate DL models trained using large-scale data with DL programs.
This paper presents the first comprehensive study on the deployment faults of mobile DL apps.
We construct a fine-granularity taxonomy consisting of 23 categories regarding to fault symptoms and distill common fix strategies for different fault types.
arXiv Detail & Related papers (2021-01-13T08:19:50Z) - CorDEL: A Contrastive Deep Learning Approach for Entity Linkage [70.82533554253335]
Entity linkage (EL) is a critical problem in data cleaning and integration.
With the ever-increasing growth of new data, deep learning (DL) based approaches have been proposed to alleviate the high cost of EL associated with the traditional models.
We argue that the twin-network architecture is sub-optimal to EL, leading to inherent drawbacks of existing models.
arXiv Detail & Related papers (2020-09-15T16:33:05Z) - A Survey of Deep Active Learning [54.376820959917005]
Active learning (AL) attempts to maximize the performance gain of the model by marking the fewest samples.
Deep learning (DL) is greedy for data and requires a large amount of data supply to optimize massive parameters.
Deep active learning (DAL) has emerged.
arXiv Detail & Related papers (2020-08-30T04:28:31Z) - The Deep Learning Compiler: A Comprehensive Survey [16.19025439622745]
We perform a comprehensive survey of existing DL compilers by dissecting the commonly adopted design in details.
Specifically, we provide a comprehensive comparison among existing DL compilers from various aspects.
arXiv Detail & Related papers (2020-02-06T07:29:08Z)
This list is automatically generated from the titles and abstracts of the papers in this site.
This site does not guarantee the quality of this site (including all information) and is not responsible for any consequences.