Asynchronous Evaluation Strategy for Deep Neural Network Evolution
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Evolutionary algorithms for deep neural networks face inefficiencies due to varying evaluation times, leading to idle computational resources and slowed progress, as they wait for the longest evaluation to finish before proceeding to the next generation.
Innovation Solution
An asynchronous evaluation strategy (AES) is introduced, where a queue of individuals is maintained for continuous evaluation, allowing the next generation to be evolved once a fraction of the population has been evaluated, optimizing the use of computational resources and minimizing idle time.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If synchronous evaluation strategy is used, then evaluation completeness is ensured, but computational resource utilization deteriorates due to idle time waiting for longest evaluation
Solution Approach 1:
The system performs preliminary actions by maintaining a queue of individuals ready for evaluation and continuously submitting them to worker nodes before the current generation is complete. This allows worker nodes to be kept busy with upcoming evaluation tasks, eliminating idle time while ensuring that each generation's evaluation requirements are met before proceeding to the next generation.
Solution Approach 2:
The system dynamically adjusts the evaluation process by allowing asynchronous completion of generations. Instead of rigidly waiting for all individuals in a generation to be evaluated before starting the next, the system can proceed to the next generation once a sufficient fraction (e.g., 80%) has been evaluated, while continuing to evaluate remaining individuals in parallel. This dynamic approach optimizes resource utilization without sacrificing evaluation completeness.
2Productivity
If parallel supercomputing resources are used, then evaluation throughput is improved, but efficiency deteriorates due to idle machines during evolution
Solution Approach 1:
The system ensures continuity of useful action by maintaining a continuous pipeline of evaluation tasks. Worker nodes never remain idle because the server node continuously submits individuals from the queue for evaluation. As soon as a worker node completes an evaluation, it immediately receives the next individual from the queue, ensuring continuous utilization of computational resources throughout the evolutionary process.
3Measurement precision
If evaluation waits for complete population, then generational accuracy is maintained, but evolution speed deteriorates
Solution Approach 1:
The system applies partial action by allowing the next generation to be created based on a partial evaluation of the current generation (e.g., when 80% of individuals have been evaluated). This partial completion is sufficient to maintain adequate generational accuracy for evolutionary progress, while avoiding the time loss of waiting for 100% completion. The remaining evaluations continue asynchronously in the background.
Data Source
AI summary
The technology disclosed proposes a novel asynchronous evaluation strategy (AES) that increases throughput of evolutionary algorithms by continuously maintaining a queue of K individuals ready to be sent to the worker nodes for evaluation and evolving the next generation once a fraction Mi of the K individuals have been evaluated by the worker nodes, where Mi<<K. A suitable value for Mi is determined experimentally, balancing diversity and efficiency. The technology disclosed is extended to coevolution of deep neural network supermodules and blueprints in the form of AES for cooperative evolution of deep neural networks (CoDeepNEAT-AES). Applied to image captioning domain, a threefold speedup is observed on 200 graphics processing unit (GPU) worker nodes, demonstrating that the disclosed AES and CoDeepNEAT-AES are promising techniques for evolving complex systems with long and variable evaluation times.


