News for hackers. Stuff that matters.
Re:Stacked Approximated Regression Machine: A Simple Deep Le... by cs702 on Monday September 05, 2016 @12:32PM (#12431108)
As far as I understand this, these guys claim they can train convolutional and many other types of deep neural nets faster by pretraining each layer with a new unsupervised technique via which the layer sort of learns to compress its inputs (a local optimization problem), and then they fine tune the whole network end-to-end with supervised SGD and backpropagation as usual. They have not released code, so no one else has replicated this yet -- as far as I know.

If the claim holds, the implication is that layers can quickly learn much of what they need to learn locally, that is, without requiring backpropagation of gradients from potentially very distant layers. I can't help but wonder if this opens the door for more efficient asynchronous/parallel/distributed training of layers, potentially leading to models that update themselves continuously (i.e., "online" instead of in a batch process).

I wouldn't be surprised if the claim holds. There is mounting evidence that standard end-to-end backpropagation is a rather inefficient learning mechanism. For example, we now know that deep neural nets can be trained with approximate gradients obtained by shifting bits to get the sign and order of magnitude of the gradient roughly right.[1] In some cases it's even possible to restrict learning to use binary weights.[2] More recently, we have learned that it's possible to use "helper" linear models during training to predict what the gradients will be for each layer, in-between true-gradient updates, allowing layers to update their parameters locally during backpropagation.[3] Finally, don't forget that in the late 2000's, AI researchers were doing a lot of interesting work with unsupervised layer-wise training (e.g., DBNs composed of RBMs, stacked autoencoders).[4]

This is a fascinating area of research with potentially huge payoffs. For example, it would be really neat if we find there's a "general" algorithm via which layers can learn locally from inputs continuously ("online"), allowing us to combine layers into deep neural nets for specific tasks as needed.

[1] https://arxiv.org/abs/1510.03009

[2] https://arxiv.org/abs/1602.02830

[3] https://deepmind.com/blog#decoupled-neural-interfaces-using-...

[4] https://www.iro.umontreal.ca/~lisa/pointeurs/TR1312.pdf

EDITS: Expanded the original comment so it conveys better what I actually meant to write, while keeping language as casual and informal as possible. Also, I softened the tone of my more speculative observations.

Re:Stacked Approximated Regression Machine: A Simple Deep Le... by Houshalter on Friday September 09, 2016 @01:14AM (#12459770)
>For example, we now know that deep neural nets can be trained with approximate gradients obtained by shifting bits to get the sign and order of magnitude of the gradient roughly right.[1] In some cases it's even possible to restrict learning to use binary weights.[2] More recently, we have learned that it's possible to use "helper" linear models during training to predict what the gradients will be for each layer, in-between true-gradient updates, allowing layers to update their parameters locally during backpropagation.[3] Finally, don't forget that in the late 2000's, AI researchers were doing a lot of interesting work with unsupervised layer-wise training (e.g., DBNs composed of RBMs, stacked autoencoders).[4]

All of those use fundamentally use back propagation though, they just approximate the gradients. Pretraining with autoencoders even used back propagation to train the autoencoders. And researchers have entirely moved away from that strategy because it just doesn't work as well as pure supervised learning.

I don't think backpropagation will ever go away because it is so simple and powerful. Instead it will be tweaked and approximated like in your examples.

Re:Stacked Approximated Regression Machine: A Simple Deep Le... by joe_the_user on Monday September 05, 2016 @09:31PM (#12433160)
The paper itself is fairly sparse but references a number of approaches for more-quickly-learning neural-net-related learning systems from ~2013 (PCAnet, SCATnet,etc).

The paper presents these and other approaches as being instances of a classical, general form, regularized regression but with the "stacked" property involving each layer iterating however many times and then the next layer changing parameters (or features) and further iterating.

From my barely-informed viewpoint, this sounds like a fascinating way to unify the earlier efforts and one which could yield a variety of other approaches - even if the particular variation they use doesn't work out. But I assume lots of more-informed people are going to be looking at this.

Re:Stacked Approximated Regression Machine: A Simple Deep Le... by joe_the_user on Friday September 09, 2016 @07:05PM (#12466659)
Note: even though the paper talks about Approximate Regression Machine layers and uses equations that look sort-of like the equations of regularized regression, the layers aren't about regularized regression but about sparse dictionary encoding, a quite different approach.
Re:Stacked Approximated Regression Machine: A Simple Deep Le... by jcannell on Tuesday September 06, 2016 @12:01PM (#12436949)
This is a pretty good summary, but to note this is not a new unsupervised technique - it's a sparse coding method, and sparse coding has been around for more than a decade. Summarizing this paper without mentioning the word sparse coding seems wrong somehow. ;)
Re:Stacked Approximated Regression Machine: A Simple Deep Le... by cs702 on Tuesday September 06, 2016 @04:30PM (#12439082)
You're right, sparse coding is not new -- and neither is the idea of greedy layer-wise training.

But if this works as advertised, these guys must be doing something new.

Re:Stacked Approximated Regression Machine: A Simple Deep Le... by saguppa on Friday September 09, 2016 @11:01AM (#12462831)
But, sadly, it doesn't work as advertised. My hypothesis is that it's extremely difficult to get great results with greedy training. Jointly learning multiple layers from huge datasets is why things started working so well.
Re:Stacked Approximated Regression Machine: A Simple Deep Le... by cs702 on Friday September 09, 2016 @01:43PM (#12464424)
Yes, I just saw the retraction.
Re:Stacked Approximated Regression Machine: A Simple Deep Le... by plusepsilon on Monday September 05, 2016 @01:35PM (#12431375)
Thanks for the background info.

If the layers are learned locally, can it take into account interactions between layers?

Re:Stacked Approximated Regression Machine: A Simple Deep Le... by orangutango on Monday September 05, 2016 @01:42PM (#12431402)
Locally != independently; the training process is recursive, so interactions between layers are present. From the paper: "The parameters of the entire SARM are solved recursively. The current ARM’s parameters are calculated using the output from the previous ARM. Then, the output of the current ARM is fed into the subsequent ARM (or the classifier, if the current one is the last ARM), as its input."