Object-oriented decomposition of artificial neural network's program logic
Автор: Girin R.V., Orlov S.P.
Журнал: Онтология проектирования @ontology-of-designing
Рубрика: Прикладные онтологии проектирования
Статья в выпуске: 1 (27) т.8, 2018 года.
Бесплатный доступ
The article presents a decomposition of neural networks logic for its implementation as a set of loosely coupled domain classes. The structural and functional decomposition of logic are considered. The technique of program logic decomposition is illustrated by UML diagrams. The implementation an artificial neural network’s logic in the C # language based on object-oriented approach is briefly described. A similar implementation was used in the design of neural networks configurations for subsequent training, operation, and experimentation. The proposed separation of program logic between classes, as well as providing weak connectivity between them simplifies the process of errors localization in the program code, makes the code more controllable, besides increased developer productivity. The examples demonstrated in the article show how the rational decomposition for neural network program logic with semantically mutually independent units in combination with "Dependency injection" concept, contributes to a more structured code. The new result is the application of object-oriented decomposition for neural network logic, which allows to significantly simplify the process of designing code. An example of testing the neural network decomposed logic is presented. The proposed approach to decomposition of artificial neural networks program logic can be applied to a wide range of different neural networks, such as convolutional, deconvolutional networks, the networks containing fully connective layers of neurons. In this case, the uniformity of implementation of neural networks to simplify their understanding of the causes reduces labor costs for maintenance and development of implementing their code.
Artificial neural network, system analysis, decomposition, object-oriented analysis
Короткий адрес: https://sciup.org/170178771
IDR: 170178771 | DOI: 10.18287/2223-9537-2018-8-1-110-123