Live data from Hacker News

Population-based training of neural networks

deepmind.com

11–20 of 23 posts

Re: Population-based training of neural networks

#11

This seems similar to what Jeff Dean was working on with AutoML: https://research.googleblog.com/2017/11/automl-for-large-sca... . Is DeepMind collaborating with the Google Brain team and how connected are the teams? It seems somehow that the efforts may be duplicated in some areas...

Isn't it good that efforts are duplicated? It commoditizes the work and results, provides more jobs so there are more people who understand this field. It's unlikely each approach will be exactly similar.

Similarly, take a look at the deep learning library market: caffe (I think out of Stanford?), tensorflow (google), pytorch (FB + MS)... each has different strengths, but I'm sure glad the pytorch people pushed ahead, even though google put a ton of marketing effort into TF, simply because now we have more awesome things :).

Once a market or product is mature, then I can see the "duplicates are wasteful". But a nascent, exploratory field like ML/DL needs as many different approaches as is possible.

Now, if only we could gradient descent to find the optimal approach ;).

Re: Population-based training of neural networks

#12

Earlier quoted context omitted.

NEAT just uses GA to generate a network topology and weights. From what I read, I think this is just a fancy way to parallelize searching for optimal hyperparameters.

Well, okay, what I meant is that it's literally applying evolutionary algorithms for hyperparameter optimization. Calling it some souped up BS like "population based training" seems like Deepmind marketing is getting out of hand...

Maybe they have a quota on how many impressions they need to get per quarter?

Re: Population-based training of neural networks

#13

Earlier quoted context omitted.

NEAT just uses GA to generate a network topology and weights. From what I read, I think this is just a fancy way to parallelize searching for optimal hyperparameters.

Well, okay, what I meant is that it's literally applying evolutionary algorithms for hyperparameter optimization. Calling it some souped up BS like "population based training" seems like Deepmind marketing is getting out of hand...

Evolutionary Algorithms are a subset of Population Based heuristics. I don't think its "souped up BS" to use the term.

Re: Population-based training of neural networks

#14
Two things stick out to me after a first read:

First, this actually learns a schedule for each hyperparameter, not just a good set of fixed values, automatically discovering learning rate annealing and related techniques. This seems incredibly powerful. It is also learning hyperparameter schedules specific to a single training run - which seems interesting but not obviously helpful, especially since many of the learned schedules fairly closely match the baseline hand-tuned ones.

Second, it seems like they're optimizing against their validation metric directly; isn't that basically 'cheating' (i.e. defeats much of the point of having a separate validation metric in the first place)? It also seems completely orthogonal to their technique - could they not have optimized for the same loss function as the network itself? Is this an improvement over state of the art, or is it just overfitting to the validation metric?

Re: Population-based training of neural networks

#15
post #14

Two things stick out to me after a first read: First, this actually learns a schedule for each hyperparameter, not just a good set of fixed values, automatically discovering learning rate annealing and related techniques. This seems incredibly powerful. It is also learning hyperparameter schedules specific to a single training run - which seems interesting but not obviously helpful, especially since many of the learn…

Well, they consider RL problems extensively, and as the joke goes, in RL it's OK to overfit to your validation set - if you can.

As for regular supervised learning: it's no worse than, say, early stopping based on validation scores. It should be wrong but in practice NNs generalize anyway, and since this paper implies that Google Brain & DM are doing this hyperparameter optimization routinely now for everything, I figure that they would have noticed any overfitting problems by now (either when the methods fail to outperform on one of Google's private internal huge databases, or when they rolled outth the translator).

Re: Population-based training of neural networks

#17

This seems similar to what Jeff Dean was working on with AutoML: https://research.googleblog.com/2017/11/automl-for-large-sca... . Is DeepMind collaborating with the Google Brain team and how connected are the teams? It seems somehow that the efforts may be duplicated in some areas...

Isn't it good that efforts are duplicated? It commoditizes the work and results, provides more jobs so there are more people who understand this field. It's unlikely each approach will be exactly similar. Similarly, take a look at the deep learning library market: caffe (I think out of Stanford?), tensorflow (google), pytorch (FB + MS)... each has different strengths, but I'm sure glad the pytorch people pushed ahead…

Should I move from theano to tensorflow? I didn't realize that theano was no longer being developed when I first starting playing with keras.

Re: Population-based training of neural networks

#18
post #17

Earlier quoted context omitted.

Isn't it good that efforts are duplicated? It commoditizes the work and results, provides more jobs so there are more people who understand this field. It's unlikely each approach will be exactly similar. Similarly, take a look at the deep learning library market: caffe (I think out of Stanford?), tensorflow (google), pytorch (FB + MS)... each has different strengths, but I'm sure glad the pytorch people pushed ahead…

Should I move from theano to tensorflow? I didn't realize that theano was no longer being developed when I first starting playing with keras.

Definitely, Theano is no longer active or have plans to be.

If you don't need mobile on-device D.L., take a look at pytorch. Otherwise, Tensorflow.

Fasi.ai will release some excellent self-paced coursework in January for Pytorch. Best bang for the buck (free, but time ain't) I've seen in any AI learning. Much of the lower level stuff is optimized for you, and he gives some great SOTA tricks for getting in the top 10% in kaggle competitions in like an hour or two.

Alas, no pytorch on device yet. But the state of the art is nearly 100% turnover every year, so the question becomes: do you need SOTA? Many problems are 98+% solved these days, so maybe we've reached "good enough" with some of these applications of d.l.

Re: Population-based training of neural networks

#19
post #17

Earlier quoted context omitted.

Isn't it good that efforts are duplicated? It commoditizes the work and results, provides more jobs so there are more people who understand this field. It's unlikely each approach will be exactly similar. Similarly, take a look at the deep learning library market: caffe (I think out of Stanford?), tensorflow (google), pytorch (FB + MS)... each has different strengths, but I'm sure glad the pytorch people pushed ahead…

Should I move from theano to tensorflow? I didn't realize that theano was no longer being developed when I first starting playing with keras.

Does Theano meet your needs? Then no. Does TensorFlow meet them better, enough to justify the cost in switching? Then yes. "Actively developed" is a silly metric. Focus on features, flexibility, robustness etc.

Re: Population-based training of neural networks

#20
post #19
post #17

Earlier quoted context omitted.

Should I move from theano to tensorflow? I didn't realize that theano was no longer being developed when I first starting playing with keras.

Does Theano meet your needs? Then no. Does TensorFlow meet them better, enough to justify the cost in switching? Then yes. "Actively developed" is a silly metric. Focus on features, flexibility, robustness etc.

For neural network libraries this isn't sensible.

For many (most?) users outside of Google and Facebook the most important feature is "is there an off-the-shelf implementation of new technique XXX or do I have to build it myself?"

For most users the sensible choice comes down to Keras+Tensorflow or PyTorch.

Post reply on HN