2 ms·
This is a fairly well represented technique in bayesian hyperparameter optimization, where you train a meta-classifier that keeps track of the parameter space.
by kirillseva 9y ago
This is a fairly well represented technique in bayesian hyperparameter optimization, where you train a meta-classifier that keeps track of the parameter space. Kind of like a manager model, if you will, that learns to intelligently optimize exploration vs exploitation so that a team of workers will arrive at the global optimum.
Back when Yahoo! was a real company they used a technique called "multi-armed bandits" to learn what ads to show. [1]
More recently, there's a number of off-the-shelf packages available that you can trivially integrate into your ML pipeline to optimize hyperparameters of your models, I'll include the links below.
[1] multi-armed bandits https://www.theregister.co.uk/2011/09/23/yahoo_core_personalization/ https://www.theregister.co.uk/2011/09/23/yahoo_core_personal...
[2] tree of parzen estimators https://jaberg.github.io/hyperopt/ https://jaberg.github.io/hyperopt/
[3] hyperband - what google uses in their internal ML toolkits AFAIK https://arxiv.org/pdf/1603.06560.pdf https://arxiv.org/pdf/1603.06560.pdf
[4] (shameless plug) gaussian process based hyperparameter optimization service https://github.com/avantoss/loop https://github.com/avantoss/loop
- gwern 9y agoThis isn't your standard MAB or GP hyperparameter optimization; those typically require you to train each NN to convergence before further exploration is done (ie each 'round' is training a NN). Skimming the paper, OP is closer to freeze-thaw or reversible backpropagation hyperparameter optimization, or Net2Net meta-RL: the hyperparameter optimization is monitoring the loss curve of each trained NN, switching between them based on promisingess like in freeze-thaw, but also switching hyperparameters on the fly and reusing the trained weights to avoid starting from scratch, Net2Net style. Each NN being trained is periodically updated to either clone & tweak a new hyperparameter set to continue training the current NN's parameters, or clone & tweak the best NN's parameters while keeping the old hyperparameters. (They only clone the full NN, so they can't do architecture search, but there's no reason they couldn't use Net2Net or other recent approaches which similarly recycle the trained weights to avoid the huge computational burden of training from scratch.)