TensorRankNEAT: Fast Preference Learning with Neuroevolution Using Tensorization and GPUs
摘要
The ranking of items based on user preferences or their relevance is known as preference learning. Preference learning with subjective preferences is well-suited to machine learning using neuroevolution. For example, neuroevolution as implemented in NEAT is used as a basis in the RankNEAT algorithm, which performs preference learning by solving the ranking problem for subjective labels. Although promising, RankNEAT is limited by the relatively slow execution speed of its CPU-based implementation of NEAT. TensorNEAT, in contrast, tensorizes the workload of NEAT and leverages GPU acceleration to speed up NEAT. However, TensorNEAT does not perform ranking. To address this challenge, we develop the TensorRankNEAT algorithm. TensorRankNEAT performs preference learning (like RankNEAT) using tensors that enable fast GPU implementations (like TensorNEAT). TensorRankNEAT thus addresses the computational challenges of using NEAT for preference learning. In this work, TensorRankNEAT is developed and tested. In experiments with AGAIN computer gaming datasets, we find that the performance of TensorRankNEAT compares favorably to previous experimental results for RankNEAT. Using tensorization and GPU execution, we demonstrate up to \({62}{\times }\) speedup relative to CPU execution. This suggests that TensorRankNEAT has potential both for other applications in preference learning as well as further progress in preference learning by means of neuroevolution. Source code is on GitHub: https://github.com/williamgt/TensorRankNEAT .