Skip to main content
Login | Suomeksi | På svenska | In English

Browsing by Subject "Modularity"

Sort by: Order: Results:

  • Alho, Riku (2021)
    Modularity is often used to manage the complexity of monolithic software systems. This is done through reducing maintenance costs by minimizing the entanglement in software code and functionality. Modularity also lowers future development costs through enabling the reuse and stacking of different types of modular functionality and software code for different environments and software engineering problems. Although there are important differences between the problem solving processes and practices of machine learning system developers and software engineering developers, machine learning system developers have been shown to be able to adopt a lot from traditional software engineering. A systematic literature review is used to identify 484 studies published in four electronic sources from January 1990 to October 2021. After examination of papers, statistical and qualitative results are formed for selected 86 studies which provide sufficient information regarding the presence of modular operators and comparison to monolithic solutions. The selected studies addressed a wide number of different tasks and domains, which saw performance benefits compared to monolithic machine learning and deep learning methods. Nearly two thirds of studies discovered Modular Neural Networks (MNNs) providing improvements in task accuracy when compared to monolithic solutions. Only 16,3\% of studies reported efficiency values in their comparisons. Over 82,5\% of studies that reported their MNNs efficiency found benefits in computation time, memory/size and energy consumption when compared to monolithic solutions. The majority of studies were carried out in laboratory environments on singular focused tasks and static requirements, which may have limited the visibility of modular operators. MNNs show positive promise for performance and efficiency in machine learning. More comparable studies are needed, especially from the industry, that use MMNs in constantly changing requirements and thus apply multiple modular operators.