Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multi-objective hyperparameter optimization #265

Open
Tracked by #115
vwxyzjn opened this issue Aug 26, 2022 · 3 comments · May be fixed by #269
Open
Tracked by #115

Multi-objective hyperparameter optimization #265

vwxyzjn opened this issue Aug 26, 2022 · 3 comments · May be fixed by #269

Comments

@vwxyzjn
Copy link
Owner

vwxyzjn commented Aug 26, 2022

Overview

#228 prototyped a great initial integration with optuna to do hyperparameter optimization. However, it has a couple of downsides:

  1. lack of support for tuning multiple environments when not knowing their reward scales
  2. can't do multi-objective optimization such as maximizing return but minimizing runtime or steps.

I believe incorporating the multi-objective optimization API from optuna could offer an elegant solution to these issues. See https://optuna.readthedocs.io/en/stable/tutorial/20_recipes/002_multi_objective.html.

@vwxyzjn vwxyzjn mentioned this issue Aug 26, 2022
19 tasks
@vwxyzjn vwxyzjn changed the title Hyper-parameter optimization guide Multi-objective Hyper-parameter optimization Aug 26, 2022
@vwxyzjn vwxyzjn changed the title Multi-objective Hyper-parameter optimization Multi-objective hyper-parameter optimization Aug 26, 2022
@vwxyzjn vwxyzjn changed the title Multi-objective hyper-parameter optimization Multi-objective hyperparameter optimization Aug 26, 2022
@vwxyzjn
Copy link
Owner Author

vwxyzjn commented Aug 27, 2022

CC @braham-snyder we are tracking the progress w/ developing multi-objective hyperparameter optimization here. I think a first prototype is to support maximizing normalized scores while minimizing runtime. Let me know if you or anyone else who are interested in working on this, we always welcome new contributors :)

@braham-snyder
Copy link

Thanks -- it's unlikely I'll have anything contributable here, but if I were to I'd definitely let you know

@vwxyzjn
Copy link
Owner Author

vwxyzjn commented Aug 28, 2022

Had some preliminary results w/ multi-objective stuff, as shown in the following figure. The x-axis is the normalized score of CartPole-v1 and Acrobat-v1, and the y-axis is the average runtime (in seconds).

Screen Shot 2022-08-28 at 6 43 54 PM

We can see the Pareto Front highlighted in red, so we can pick a set of hyperparameters that achieves high normalized scores while remaining fast.

@vwxyzjn vwxyzjn linked a pull request Aug 28, 2022 that will close this issue
20 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants