GPU-Based Genetic Programming for Faster Feature Extraction in Binary Image Classification | IEEE Journals & Magazine | IEEE Xplore

GPU-Based Genetic Programming for Faster Feature Extraction in Binary Image Classification


Abstract:

Genetic programming (GP) has been applied to various binary image classification tasks and achieved promising results. However, existing approaches are difficult to be ap...Show More

Abstract:

Genetic programming (GP) has been applied to various binary image classification tasks and achieved promising results. However, existing approaches are difficult to be applied to large binary classification tasks due to the huge computational cost in fitness evaluations. To address this issue, we introduce a highly efficient method that enables fitness evaluations to be entirely conducted on graphics processing units (GPUs). Specifically, a prefix notation is used as program representation on the GPU device side, and column-major storage is used for the training dataset on the device side to achieve coalesced global memory access on the GPU. The evaluation of multiple GP programs in each generation can be simultaneous, which increases the parallelism of the algorithm. In addition, a parallel reduction is performed to maximize the use of the powerful parallel computing capability of GPU devices. Furthermore, the hoist mutation is also added to the proposed approach to help eliminate stack overflow on the device side. We compare training time and classification accuracy on various datasets with several GP and non-GP approaches. Experimental results indicate that the proposed approach significantly speeds up the existing GP-based binary image classification approaches without degradation in classification accuracy. We also analyze the influence of the batch size on the training time and investigate the classification accuracy in different settings of the max program depth and the number of generations. The code is available at https://github.com/RayZhhh/CupaGP for reference.
Published in: IEEE Transactions on Evolutionary Computation ( Volume: 28, Issue: 6, December 2024)
Page(s): 1590 - 1604
Date of Publication: 12 July 2023

ISSN Information:

Funding Agency:


I. Introduction

Genetic programming (GP) [1] is a popular evolutionary computation (EC) technique. GP draws inspiration from the Darwinian theory of evolution to optimize programs for user-defined tasks. This process involves multiple generations of evolution, during which programs experience selection, crossover, mutation, and fitness evaluation to improve their performance. Owing to its flexible representation, good global search ability, and high interpretability of the evolved solutions, GP has been widely applied to many learning tasks, such as classification [2], regression [3], [4], and feature learning [5], [6].

Contact IEEE to Subscribe

References

References is not available for this document.