Abstract

In the optimization of deep neural networks (DNNs) via evolutionary algorithms (EAs) and the implementation of the training necessary for the creation of the objective function, there is often a trade-off between efficiency and flexibility. Pure software solutions implemented on general-purpose processors tend to be slow because they do not take advantage of the inherent parallelism of these devices, whereas hardware realizations based on heterogeneous platforms (combining central processing units (CPUs), graphics processing units (GPUs) and/or field-programmable gate arrays (FPGAs)) are designed based on different solutions using methodologies supported by different languages and using very different implementation criteria. This paper first presents a study that demonstrates the need for a heterogeneous (CPU-GPU-FPGA) platform to accelerate the optimization of artificial neural networks (ANNs) using genetic algorithms. Second, the paper presents implementations of the calculations related to the individuals evaluated in such an algorithm on different (CPU- and FPGA-based) platforms, but with the same source files written in OpenCL. The implementation of individuals on remote, low-cost FPGA systems on a chip (SoCs) is found to enable the achievement of good efficiency in terms of performance per watt.

Highlights

  • Artificial neural networks (ANNs) are widely used in many areas of research and have produced very promising results.the topological design of an ANN determines its usefulness, because it significantly influences the network’s performance [1]

  • This uncertainty may be deemed acceptable by researchers if the other ANN conditions are fixed; when all of these parameters must be evaluated as part of the same research, a long period of experimentation is required to determine the optimal topology

  • Our method consists of the following phases: Phase 1: Selection of the best inputs via evolutionary computation based on the delta test

Read more

Summary

Introduction

Artificial neural networks (ANNs) are widely used in many areas of research and have produced very promising results. When good results are achieved, it is not clear whether those results are optimal among all network structures This uncertainty may be deemed acceptable by researchers if the other ANN conditions (for example, the numbers of training samples and input variables) are fixed; when all of these parameters must be evaluated as part of the same research, a long period of experimentation is required to determine the optimal topology. Structures with the same representation (genotype) may show quite different levels of fitness This one-to-many mapping from the genotypes to the actual networks (phenotypes) may induce noisy fitness evaluations and result in misleading evolution. To reduce such noise, an architecture should usually be trained many times using different random initial weights.

Evolutionary Optimization Method
Optimization of the Topology
Control of Random Number Generation
Weight Initialization
Heterogeneous Computational Platform
Implementation of the Individuals
Calculation of Weight Changes Tcw
Update of Weights Tuw
Version 1
Version 2
Version 3
Preliminary Comments
Analysis of Hardware Results
Analysis of Performance Results
Preliminary Comments our we
Performance Efficiency
Conclusions
Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call