Credit: Reproduced with permission from Dura-Bernal et al. 2017 (IBM Journal of Research and Development)
Parallel HPC implementation of the evolutionary algorithm. A population of 60 individuals is divided into 6 islands and evolved independently. Each individual represents an instance of the neuroprosthetic system with a set of learning metaparameters. Individuals are periodically migrated between islands to increase diversity. Individuals are selected for reproduction and their genes are mutated to create new offspring. New individuals are evaluated to obtain their fitness values. Evaluation of fitness functions occurs in parallel in the HPC using PBS/SLURM, with each evaluation consisting of training the motor system model via reinforcement learning (RL), and testing its reaching performance to each of the targets. Only fittest individuals are allowed to survive after each generation, which results in the optimization of genes (model metaparameters).