An improved CUDA-based hybrid metaheuristic for fast controller of an evolutionary robot

This paper proposes a novel parallel hybrid training approach to conceive an evolutionary robot. The proposed design aims to provide efficient behaviours to perform its tasks in a complex area such as walking toward a hidden destination. Embedded in robot brain, this training and evolution combination is typically accomplished by evolving considerable recurrent neural networks (RNNs) using an evolutionary strategy (ES). The effectiveness of this proposal is improved by employing CUDA technology that executes the evolutionary process of RNNs in a parallel way. The modifications applied are indicating to meet CUDA requirements in terms of CPU/GPU cooperation and memory management. Using a set of experiments performed by GPGPU-based physical simulator named open dynamics engine (ODE) and CUDA-based evolution, the effectiveness of the proposed parallel evolutionary training technique was validated for real movements of humanoid robots. This validation showed a promising speed-up, since this field requires very high powerful computational resources.

[1]  El-Ghazali Talbi,et al.  Parallel hybrid evolutionary algorithms on GPU , 2010, IEEE Congress on Evolutionary Computation.

[2]  Slo-Li Chu,et al.  Optimising space exploration of OpenCL for GPGPUs , 2014, Int. J. Comput. Sci. Eng..

[3]  Jirí Jaros,et al.  Parallel Genetic Algorithm on the CUDA Architecture , 2010, EvoApplications.

[4]  Oscar Montiel,et al.  Optimal Path Planning Generation for Mobile Robots using Parallel Evolutionary Artificial Potential Field , 2015, J. Intell. Robotic Syst..

[5]  Magdalena D. Bugajska,et al.  Challenges and Opportunities of Evolutionary Robotics , 2007, ArXiv.

[6]  Blanca Cases,et al.  Topos 2: Spiking Neural Networks for Bipedal Walking in Humanoid Robots , 2011, HAIS.

[7]  Iain A. Stewart,et al.  Improving Ant Colony Optimization performance on the GPU using CUDA , 2013, 2013 IEEE Congress on Evolutionary Computation.

[8]  W. Art Chaovalitwongse,et al.  Machine Learning Algorithms in Bipedal Robot Control , 2012, IEEE Transactions on Systems, Man, and Cybernetics, Part C (Applications and Reviews).

[9]  Uday Bondhugula,et al.  Automatic data movement and computation mapping for multi-level parallel architectures with explicitly managed memories , 2008, PPoPP.

[10]  Kazuhiro Ohkura,et al.  IMPLEMENTING GENETIC ALGORITHMS TO CUDA ENVIRONMENT USING DATA PARALLELIZATION , 2011 .

[11]  KangKang Yin,et al.  LocoTest: Deploying and Evaluating Physics-Based Locomotion on Multiple Simulation Platforms , 2011, MIG.

[12]  Boyana Norris,et al.  Autotuning Stencil-Based Computations on GPUs , 2012, 2012 IEEE International Conference on Cluster Computing.

[13]  Rafael S. Parpinelli,et al.  Population-based harmony search using GPU applied to protein structure prediction , 2014, Int. J. Comput. Sci. Eng..

[14]  Yuval Tassa,et al.  MuJoCo: A physics engine for model-based control , 2012, 2012 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[15]  James R. Green,et al.  CUDA-accelerated genetic feedforward-ANN training for data mining , 2010 .

[16]  A. Kai Qin,et al.  An improved CUDA-based implementation of differential evolution on GPU , 2012, GECCO '12.

[17]  Ammar Belatreche,et al.  Challenges for large-scale implementations of spiking neural networks on FPGAs , 2007, Neurocomputing.

[18]  Dietmar Fey,et al.  Performance investigations of genetic algorithms on graphics cards , 2013, Swarm Evol. Comput..

[19]  Hervé Luga,et al.  Gait Evolution for Humanoid Robot in a Physically Simulated Environment , 2011, Intelligent Computer Graphics.

[20]  Wei Pan,et al.  Approach to controlling robot by artificial brain based on parallel evolutionary neural network , 2010, 2010 The 2nd International Conference on Industrial Mechatronics and Automation.

[21]  Zbigniew Skolicki,et al.  An analysis of island models in evolutionary computation , 2005, GECCO '05.

[22]  P. J. Narayanan,et al.  GPU-Accelerated Genetic Algorithms , 2022 .

[23]  Jirí Jaros,et al.  Multi-GPU island-based genetic algorithm for solving the knapsack problem , 2012, 2012 IEEE Congress on Evolutionary Computation.

[24]  Václav Snásel,et al.  Many-threaded implementation of differential evolution for the CUDA platform , 2011, GECCO '11.

[25]  Kenji Doya,et al.  Evolution of recurrent neural controllers using an extended parallel genetic algorithm , 2005, Robotics Auton. Syst..

[26]  Yao Zhang,et al.  Parallel lossless data compression on the GPU , 2012, 2012 Innovative Parallel Computing (InPar).

[27]  Mark A. Moraes,et al.  Parallel random numbers: As easy as 1, 2, 3 , 2011, 2011 International Conference for High Performance Computing, Networking, Storage and Analysis (SC).

[28]  Surendra Byna,et al.  Data-aware scheduling of legacy kernels on heterogeneous platforms with distributed memory , 2010, SPAA '10.

[29]  Ding Chen,et al.  A framework for comparing high performance computing technologies , 2014, Int. J. Comput. Sci. Eng..

[30]  Michael Garland,et al.  Designing efficient sorting algorithms for manycore GPUs , 2009, 2009 IEEE International Symposium on Parallel & Distributed Processing.

[31]  Anders Eklund,et al.  Medical image processing on the GPU - Past, present and future , 2013, Medical Image Anal..

[32]  Yuri Torres,et al.  Measuring the Impact of Configuration Parameters in CUDA Through Benchmarking , 2012 .

[33]  Qing Nie,et al.  Integrative multicellular biological modeling: a case study of 3D epidermal development using GPU algorithms , 2010, BMC Systems Biology.

[34]  Shinpei Kato,et al.  Toward GPU-accelerated traffic simulation and its real-time challenge , 2012, REACTION.

[35]  Nikil D. Dutt,et al.  Efficient simulation of large-scale Spiking Neural Networks using CUDA graphics processors , 2009, 2009 International Joint Conference on Neural Networks.

[36]  Kalyanmoy Deb,et al.  Parallelization of binary and real-coded genetic algorithms on GPU using CUDA , 2010, IEEE Congress on Evolutionary Computation.

[37]  Pedro A. Castillo,et al.  GPU Computation in Bioinspired Algorithms: A Review , 2011, IWANN.

[38]  Raghavendra D Prabhu GNeuron : Parallel Neural Networks with GPU , 2006 .

[39]  Fred H Hamker,et al.  Comparison of GPU- and CPU-implementations of mean-firing rate neural networks on parallel hardware , 2012, Network.

[40]  R. Govindarajan,et al.  Fast and efficient automatic memory management for GPUs using compiler-assisted runtime coherence scheme , 2012, 2012 21st International Conference on Parallel Architectures and Compilation Techniques (PACT).

[41]  Nicolas Lachiche,et al.  EASEA: specification and execution of evolutionary algorithms on GPGPU , 2011, Soft Computing.

[42]  Aura Conci,et al.  A new physics engine with automatic process distribution between CPU-GPU , 2008, Sandbox '08.

[43]  Vincent Padois,et al.  Evolutionary Design of a Robotic Manipulator for a Highly Constrained Environment , 2011 .

[44]  Jirí Jaros,et al.  A Fair Comparison of Modern CPUs and GPUs Running the Genetic Algorithm under the Knapsack Benchmark , 2012, EvoApplications.

[45]  Angelo Cangelosi,et al.  Aquila: An open-source GPU-accelerated toolkit for cognitive and neuro-robotics research , 2011, The 2011 International Joint Conference on Neural Networks.

[46]  Adham Atyabi,et al.  Review of classical and heuristic-based navigation and path planning approaches , 2013 .

[47]  Esteban Walter Gonzalez Clua,et al.  A game loop architecture for the GPU used as a math coprocessor in real-time applications , 2008, CIE.

[48]  Glenn Reinman,et al.  Enabling real-time physics simulation in future interactive entertainment , 2006, Sandbox '06.

[49]  Yi Yang,et al.  A unified optimizing compiler framework for different GPGPU architectures , 2012, TACO.

[50]  El-Ghazali Talbi,et al.  Metaheuristics - From Design to Implementation , 2009 .

[51]  Weihang Zhu,et al.  A study of parallel evolution strategy: pattern search on a GPU computing platform , 2009, GEC '09.

[52]  Lei Guo,et al.  Implementation of Neural Network Backpropagation in CUDA , 2013 .

[53]  El-Ghazali Talbi,et al.  GPU Computing for Parallel Local Search Metaheuristic Algorithms , 2013, IEEE Transactions on Computers.