about
Deep Residual Learning for Image Recognition (arxiv.org)
47 points by mbartoli on Dec 11, 2015 | hide | past | pdf | 6 comments on HN

In plain words: Instead of building a whole new signal from scratch, each layer learns only the change to add on top of its input, so very deep networks train easily. A 152-layer version, eight times deeper than the leading standard network, hit 3.57% error on ImageNet.

Abstract

Deeper neural networks are more difficult to train. We present a residual learning framework to ease the training of networks that are substantially deeper than those used previously. We explicitly reformulate the layers as learning residual functions with reference to the layer inputs, instead of learning unreferenced functions. We provide comprehensive empirical evidence showing that these residual networks are easier to optimize, and can gain accuracy from considerably increased depth. On the ImageNet dataset we evaluate residual nets with a depth of up to 152 layers---8x deeper than VGG nets but still having lower complexity. An ensemble of these residual nets achieves 3.57% error on the ImageNet test set. This result won the 1st place on the ILSVRC 2015 classification task. We also present analysis on CIFAR-10 with 100 and 1000 layers. The depth of representations is of central importance for many visual recognition tasks. Solely due to our extremely deep representations, we obtain a 28% relative improvement on the COCO object detection dataset. Deep residual nets are foundations of our submissions to ILSVRC & COCO 2015 competitions, where we also won the 1st places on the tasks of ImageNet detection, ImageNet localization, COCO detection, and COCO segmentation.

Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun
arXiv:1512.03385 · cs.CV · submitted Dec 10, 2015
abstract · pdf · html · Tech report

add comment on HN
Also discussed: Dec 2015 (1 point, 0 comments)

This Microsoft Research's approach, that romped to first place in the recent ImageNet challenge [0].

What's neat is that the technique is an almost comically simple way to add extra layers to a network. It's commonly accepted that deeper networks can learn better, but they get very unwieldy/difficult to train as they get deeper.

Roughly speaking (and please correct me if I'm off-base), the paper's technique is to slot in additional layers that that are initially 'identity+', where the new layer then gets trained to hone in on the differences from 'identity'. This training on residuals alone is more stable, since answers near each '~0' starting point are simply as good as the original network - any improvement is a pure win.

So... their winning network has a breathtaking 152 layers (and then ensembles a few of them together).

[0] http://image-net.org/challenges/LSVRC/2015/

Really cool insight / results. Like relu and dropout, love it when such simple techniques make such great improvements.
This seems like a result that is more general than "Image Recognition".
This is great. Any implementations available yet?
Looks like Lasagne (https://github.com/alrojo/lasagne_residual_network) and a stab at Keras/Theano (https://github.com/ndronen/modeling/blob/master/modeling/res...). At a guess, we'll see more implementations pop up in coming months as researchers and grad students recover from NIPS and begin pondering how they could use residual learning.
thanks! Yep, will prob see more after xmas feasting.