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\%.
翻译:目前,我们目睹许多行业越来越多地采用深学习(DL)软件系统。设计低规格或设计不当的DL软件系统需要建设深神经网络(DNN),然后对它进行数据集培训。这一过程要求开发商作出多种建筑(例如类型、大小、数量和层次顺序)和配置(例如优化、正规化方法和激活功能)选择,这些选择影响到DL模型的质量,进而影响到软件质量。一个定义不足或设计不当的DL软件模型可能成功培训,但在生产中部署时可能表现不佳。 DL程序的设计气味在DL组件开发期间设计不完善,或作出配置决定,可能对DL组件的性能(例如类型、大小、数量、数量和层次)产生负面影响,然后对DL软件系统的质量(例如优化、正规化方法、启动功能功能)和结构(例如优化)产生负面影响。在本文件中,我们提出了一套八种设计气味的目录目录,即深度进化的Neural网络,在工业应用中广泛使用。通过审查关于DL设计的现有文献来反映其相关性,在设计、47L软件设计、预估测的性设计结果,以及模拟设计上的结果,我们提出了对DL程序进行。