Abstract
The report considers the task of training a multilayer perceptron, formulated as a problem of multiobjective optimization under uncertainty. To solve this problem, the principle of vector minimax was used. A parallel software implementation of a hierarchical evolutionary algorithm for solving a multicriteria optimization problem under uncertainty based on a GPU is presented.
1. Introduction
Currently, the technology of the neuroevolutionary synthesis of management and decision-making models is being intensively developed, which is considered as a promising means of implementing intelligent algorithms for analyzing information and management under conflict and uncertainty in real time [1,2,3,4,5]. The effectiveness of the neuroevolutionary approach for solving this class of problems is determined by the ability to take into account uncertain factors, such as conflict uncertainty, the multicriteria of management goals, and the uncertainty of environmental conditions. In this context, it is expedient to formalize the task of training an artificial neural network (ANN) in the form of a multicriteria optimization problem under uncertainty (MCOU). In [6,7], a coevolutionary technology for solving the MCOU problem was developed, which, as the results of computational experiments show, has an extremely high computational complexity. In [8,9,10,11,12], it was shown that a promising area of research is the parallel implementation of computing technology based on graphics processors (GPUs). In this article, a parallel GPU implementation of a coevolutionary technology for solving the MCOU problem is proposed.
In Section 2, the formulation of the ANN training problem is formulated in the form of an MCOU problem, where the principle of vector minimax is applied for its solution. Section 3 presents a parallel GPU-based implementation of the MCOU hierarchical evolutionary algorithm software. Section 4 presents the results of a computational experiment on a test problem.
2. Problem Statement
The statement of the training problem for a multilayer perceptron (MP) is formulated as an MCOU problem:
where is a vector of weight coefficients of MP synaptic connections; is a vector of uncertain factors; is a finite set of possible values of the uncertain factor; and is a vector criterion defined on the Cartesian product .
In problem (1), it is required to determine the value of the vector , which provides the minimum values for the components of the vector criterion under the influence of an uncertain factor , about which it is known only that it can take values from a finite set .
To solve this problem, it is proposed to use the vector minimax principle. In this case, the original statement of problem (1) is reduced to a deterministic multiobjective optimization problem:
where is a vector indicator, the components of which are the points of extreme pessimism of the vector criterion on the set with fixed .
To solve problem (1), (2), the hierarchical evolutionary algorithm (HEA) of the MCOU developed in [6,7] is used. As studies [5,6] show, the HEA MCOU, when used in ANN training tasks, shows a high computational complexity. Therefore, it is proposed to implement the HEA software for solving problem (1), (2), based on the GPU architecture and OpenCL technology.
3. GPU-Based Parallel Implementation of the Hierarchical Evolutionary MCOU Algorithm
The architecture of the developed HEA MCOU software reflects the following main stages of the HEA MCOU implementation.
Stage 1. Formation of a set of points of extreme pessimism (Figure 1).
Figure 1.
Parallel algorithm for finding a set of points of extreme pessimism on the GPU.
Step 1. The initial population is formed on the host (CPU).
Step 2. Constant memory is allocated on the GPU, into which arrays and are entered. A buffer is allocated in the global memory of the GPU for the set of points of extreme pessimism .
Step 3. A grid is formed on the GPU that determines the number of working blocks and the threads executed in them.
Step 4. The kernel is called with a subsequent transfer from the CPU to each thread of a set of instructions for execution. Threads start to work in parallel. Within each thread, the corresponding set of values of the vector criterion is calculated for each and the extreme pessimism point is calculated on the set , which is stored in the local memory of the thread. Upon completion, each thread transfers its value to the global memory of the GPU. After the GPU has signaled that all threads have terminated, the CPU moves the array from the GPU’s global memory to the CPU’s RAM.
Stage 2. Assessment of the fitness of each point (Figure 2).
Figure 2.
Parallel algorithm for calculating fitness function values on GPU.
Step 5. Constant memory is allocated on the GPU, into which array is entered. In the GPU’s global memory, a buffer is allocated for the set of values of the fitness function .
Step 6. A new grid is formed on the GPU.
Step 7. The kernel is called and threads are started to work in parallel. Within each thread, the corresponding value of the fitness function is calculated for each element of , which is stored in the local memory of the thread. Upon completion, each thread transfers its value to the GPU’s global memory. After the GPU sends a signal to terminate all threads, the CPU transfers array from the GPU’s global memory to the CPU’s RAM.
Next, a population of descendants is formed on the CPU and the execution of stages 1, 2 is repeated.
The developed algorithm can be easily modified to solve the MCOU problem (1), (2), where there are many uncertain factors.
The developed software is cross-platform, as CUDA and OpenCL technologies are available on various operating systems, both on Windows and Linux.
4. Computational Experiment
The effectiveness of the developed technology was tested on the following test task MCOU:
where is the vector of control parameters; is the vector of uncertain factors; and is the vector performance indicator with components:
The restrictions were set in the form:
It is required to maximize the components of the vector efficiency indicator on the set based on the vector maximin principle.
Figure 3, Figure 4 and Figure 5 show the results of searching for a set of vector maximins using the HEA MCOU (elite points in each generation are highlighted in red). Algorithm parameters: population cardinality ; ; real coding and SBX-crossover were used.
Figure 3.
Evolutionary MCOU algorithm, generation No. 1. Elite points in each generation are highlighted in red.
Figure 4.
Evolutionary MCOU algorithm: generation No. 5.
Figure 5.
Evolutionary MCOU algorithm: generation No. 10.
Table 1 provides a comparative analysis of the running time of sequential and parallel evolutionary algorithms for solving the considered MCOU test task.
Table 1.
Comparative analysis of sequential and parallel MCOU algorithms.
A comparative analysis shows that, with a small population size , the running time of the parallel evolutionary algorithm MCOU is greater than or comparable to the running time of the sequential algorithm . This is due to the fact that the parallel algorithm spends additional time preparing and transferring data to the GPU. However, with a further increase in the size of populations, the advantage of the parallel evolutionary MCOU algorithm in relation to the sequential analog increases. In particular, for , the running time of the parallel evolutionary MCOU algorithm is .
5. Conclusions
The formulation of the MP training problem was formalized as an MCOU problem, where the vector minimax principle was used for its solution.
A parallel implementation of a hierarchical evolutionary algorithm for searching for a set of vector minimaxes in the MCOU problem based on GPU and OpenCL technology is presented. The developed algorithm can be easily modified to solve the MCOU problem (1), (2), where the set of uncertain factors is infinite.
The results of the computational experiment on the test task show a significant advantage of the parallel GPU implementation of the developed co-evolutionary MCOU algorithm in relation to the sequential analog.
Author Contributions
Conceptualization and methodology, V.A.S.; software and validation, D.L.P. and P.P.R.; computational experiments, E.L.D., E.Y.K. and A.V.T. All authors have read and agreed to the published version of the manuscript.
Funding
This research received no external funding.
Institutional Review Board Statement
Not applicable.
Informed Consent Statement
Not applicable.
Data Availability Statement
Not applicable.
Conflicts of Interest
The authors declare no conflict of interest.
References
- Kim, E.J.; Perez, R.E. Neuroevolutionary Control for Autonomous Soaring. Aerospace 2021, 8, 267. [Google Scholar] [CrossRef]
- Bernas, M.; Płaczek, B.; Smyła, J. A Neuroevolutionary Approach to Controlling Traffic Signals Based on Data from Sensor Network. Sensors 2019, 19, 1776. [Google Scholar] [CrossRef] [PubMed]
- Salichon, M.; Tumer, K. A neuro-evolutionary approach to micro aerial vehicle control. In Proceedings of the 12th Annual Genetic and Evolutionary Computation Conference (GECCO’10), Portland, OR, USA, 7–11 July 2010; pp. 1123–1130. [Google Scholar] [CrossRef]
- Serov, V.A.; Voronov, E.M.; Kozlov, D.A. A neuroevolutionary synthesis of coordinated stable-effective compromises in hierarchical systems under conflict and uncertainty. Procedia Comput. Sci. 2021, 186, 257–268. [Google Scholar] [CrossRef]
- Serov, V.A.; Voronov, E.M.; Kozlov, D.A. Hierarchical Neuro-Game Model of the FANET based Remote Monitoring System Resources Balancing. In Studies in Systems, Decision and Control. Smart Electromechanical Systems. Situational Control; Gorodetskiy, A., Tarasova, I., Eds.; Springer International Publishing: Berlin/Heidelberg, Germany, 2020; Volume 261, pp. 117–130. [Google Scholar] [CrossRef]
- Serov, V.A.; Voronov, E.M.; Kozlov, D.A. Hierarchical Population Game Models of Machine Learning in Control Problems Under Conflict and Uncertainty. In Studies in Systems, Decision and Control. Smart Electromechanical Systems. Recognition, Identification, Modeling, Measurement Systems, Sensors; Gorodetskiy, A.E., Tarasova, I.L., Eds.; Springer: Cham, Switzerland, 2022; Volume 419, pp. 125–145. [Google Scholar] [CrossRef]
- Serov, V.A. Hierarchical Population Game Models of Coevolution in Multi-Criteria Optimization Problems under Uncertainty. Appl. Sci. 2021, 11, 6563. [Google Scholar] [CrossRef]
- Andión, J.M.; Arenaz, M.; Bodin, F.; Rodríguez, G.; Tourino, J. Locality-aware automatic parallelization for GPGPU with OpenHMPP directives. Int. J. Parallel Program. 2016, 44, 620–643. [Google Scholar] [CrossRef]
- Chandrashekhar, B.N.; Sanjay, H.A. Performance Study of OpenMP and Hybrid Programming Models on CPU–GPU Cluster. In Emerging Research in Computing, Information, Communication and Applications; Springer: Singapore, 2019; pp. 323–337. [Google Scholar]
- Chandrashekhar, B.N.; Sanjay, H.A.; Srinivas, T. Performance Analysis of Parallel Programming Paradigms on CPU-GPU Clusters. In Proceedings of the 2021 International Conference on Artificial Intelligence and Smart Systems (ICAIS), Coimbatore, India, 25–27 March 2021; pp. 646–651. [Google Scholar]
- Soyata, T. GPU Parallel Program Development Using CUDA; CRC Press: Boca Raton, FL, USA, 2018. [Google Scholar]
- Karovič, V.; Kaźmierczakb, M.; Pankivb, O.; Górkiewiczb, M.; Zakharchukc, M.; Stolyarchukc, R. OpenCL and CUDA Comparison of MapReduce Performance on Distributed Heterogeneous Platform through Integration with Hadoop Cluster. In Proceedings of the CEUR Workshop Proceedings, IT&AS’2021: Symposium on Information Technologies & Applied Sciences, Bratislava, Slovakia, 5 March 2021; pp. 202–208. [Google Scholar]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).