Live data from Hacker News

Nevergrad: A Python library for performing derivative-free ML optimization

code.fb.com

21–28 of 28 posts

Re: Nevergrad: A Python library for performing derivative-free ML optimization

#23
post #20

Earlier quoted context omitted.

We have not yet released examples of interfaces with Pytorch. Maybe with moderate number of hyperparameters the benefit compared to random search will be moderate, whereas it will be very significant with high number of hyperparameters. It also depends on how parallel you are. In all cases we have a wide range of algorithms with a common interface, so that you can compare. We also use it for direct training of the we…

Can you elaborate on the benefit for a high number of hyper parameters?

For small numbers of hyperparameters, sometimes just random search is enough. This is not an absolute rule, sometimes with just 4 parameters random search miserably fails... just my rule of thumb, empirically, is that for hyperparameters in machine learning (this is certainly not the case in general) random search is often enough for 4 to 12 hyperparameters if the budget for hyperparameter search is ~100 trainings.

Re: Nevergrad: A Python library for performing derivative-free ML optimization

#24
post #19

Would this type of thing be suited for program synthesis or property based testing?

For property-based testing I would say yes, with an objective function equal to the margin by which the properties are satisfied.

Program synthesis only in some particular cases, like the parametrization of programs for speed or another criterion - but not in the general case of program synthesis.

Re: Nevergrad: A Python library for performing derivative-free ML optimization

#25
post #20

Earlier quoted context omitted.

We have not yet released examples of interfaces with Pytorch. Maybe with moderate number of hyperparameters the benefit compared to random search will be moderate, whereas it will be very significant with high number of hyperparameters. It also depends on how parallel you are. In all cases we have a wide range of algorithms with a common interface, so that you can compare. We also use it for direct training of the we…

Can you elaborate on the benefit for a high number of hyper parameters?

A fundamental problem is as the number of parameters increase the probability of sampling from the edge of the hypercube increases. You will then not effectively explore the parameter space. This might be some what alleviated by a concentrated multivariate normal, but I guess that has its own caveat.

If you instead have a sampling algorithm informed by the loss functions you avoid this problem. (You instead might have to worry about local minima.)

Re: Nevergrad: A Python library for performing derivative-free ML optimization

#28
post #10

Earlier quoted context omitted.

There was a recent paper from Uber, that GA works well for weights, so I wouldn't drop that area right away.

Sure GA can be great for weights as well - but mainly when gradient is unreliable. I would not use Nevergrad for training the weights of a convolutional network for image classification for example; whereas I use Nevergrad for WorldModels.

Doesn't the model Uber used begin with a bunch of convolutional layer sets, since it processes raw images?
Post reply on HN