keras-tuner icon indicating copy to clipboard operation
keras-tuner copied to clipboard

pseudo genetic search

Open Borda opened this issue 6 years ago • 6 comments

Hello, I found this package very interesting, especially the way how the parameters are integrated inside model creation/design. So far there is implemented bayesian, hyperband, random search... Recently we found interesting to use kind of genetic search where you are mixing the best parameters together and randomly change some of them... Would you be interested in having something like sklearn-genetic in this package, creating a PR? Thx

Borda avatar Aug 04 '19 23:08 Borda

Hi, I am also a fan of Keras Tuner and its huge potential in addressing practical business problems by removing some of the human imperfections inherent to Hyperparameter Tuning. I agree. It would be a great idea to add genetic search to the randomsearch and hyperband algorithms currently available, along with guidelines on when to use one instead of the other.(a selection guide of some kind)

ghost avatar Aug 05 '19 04:08 ghost

@ebursztein @jamlong @fchollet ^^

Borda avatar Aug 15 '19 09:08 Borda

@Borda @algit123 That's great to hear! Thanks for your interest in implementing a genetic search algorithm. The internals of how the Oracle class changes are still subject to changes ahead of the 1.0 release, mainly because we are adding support for distributed tuning, so you'd probably want to wait before implementing a new algorithm (likely just 3-4 more weeks until API stability)

But yes our intention is to make it easy to subclass the Oracle class to add new algorithms. I'll update this thread when the API is stable enough that you wouldn't have to rewrite the Oracle.

Probably the best process then if you'd like to see genetic search included in this repo is to subclass the Oracle in your own repo and try it out on some models to show circumstances under which it can converge faster than other algorithms for a class of neural networks

omalleyt12 avatar Oct 02 '19 04:10 omalleyt12

The Oracle class is now stable enough to implement subclasses. Marking as contributions welcome. Any PR with an implementation should also provide a link to a repo with reproducible benchmarks

omalleyt12 avatar Oct 10 '19 00:10 omalleyt12

This is really interesting, and I would like to take a stab at it.

lsgrep avatar Nov 23 '19 11:11 lsgrep

Very interested in this, It would be awsome to have an implementation of something like Map-Elites.

vb690 avatar Oct 29 '20 10:10 vb690

I am closing the issue as we are not actively accepting new tuning algorithms unless it is proved to have a performance gain on a number of use cases.

haifeng-jin avatar Feb 27 '23 19:02 haifeng-jin