This is the python implementation of our paper "Symbol: Generating Flexible Black-Box Optimizers Through Symbolic Equation Learning", which is accepted as a poster paper in ICLR 2024. Our Symbol shows impressive balance between exploration and exploitation, which can be observed in the animation below (Ours in the left).
git clone https://github.com/GMC-DRL/SymBol.git
cd SymBol
- Platform preferences: Linux (for better parallelism). Windows is also compatible, but the running speed will be slower due to the limit of the currently using parallel strategy.
The dependencies of this project are listed in requirements.txt
. You can install them using the following command.
pip install -r requirements.txt
- Train
To trigger the training process:
python run.py --train
For more adjustable configurations, please refer to options.py
.
- Test
python run.py --test --load_path _path_to_checkpoint
@inproceedings{symbol,
author={Chen, Jiacheng and Ma, Zeyuan and Guo, Hongshu and Ma, Yining and Zhang, Jie and Gong, Yue-Jiao},
title={SYMBOL: Generating Flexible Black-Box Optimizers through Symbolic Equation Learning},
booktitle = {The Twelfth International Conference on Learning Representations},
year={2024},
}
- Instructions of how to construct a self-defined teacher optimizer
- Future direction