Art of DS

Appearance

Palette
Theme
Unlock $20 one time
Sign in, or create an account

Sign in to Art of DSCreate your Art of DS account

We email you a link and a six-digit code. Either one signs you in; there is no password.Enter your email. We send a link and a six-digit code to confirm it — no password to remember. The account is free.

  • You come back to this page, right where you were.
  • Already have an account? The same email simply signs you in.

By continuing you accept the Terms and the Privacy policy.

Your account

Free accountLifetime access

difficulty 4/5

Residual connection

Definition

Adding a block's input to its output so the block only has to learn the difference — which made networks of a hundred layers and more trainable, and gave gradients a path that skips the weights.

Formula
y=F(x,{Wi})+x\mathbf{y} = \mathcal{F}(\mathbf{x}, \{W_i\}) + \mathbf{x}

Intuition

Adding layers to a network should never make it worse. The paper makes that precise: "there exists a solution by construction to the deeper model: the added layers are identity mapping, and the other layers are copied from the learned shallower model", so "a deeper model should produce no higher training error than its shallower counterpart" [1, §1].

Reality disagreed. "With the network depth increasing, accuracy gets saturated (which might be unsurprising) and then degrades rapidly. Unexpectedly, such degradation is not caused by overfitting, and adding more layers to a suitably deep model leads to higher training error" [1, §1].

That last clause is the diagnosis. Higher training error rules out overfitting and points squarely at optimisation: the good solution existed and the optimiser could not find it.

The paper's reading is that solvers "might have difficulties in approximating identity mappings by multiple nonlinear layers" [1, §3.1]. Nothing about a convolution followed by a nonlinearity makes "output exactly what you were given" a natural setting.

So make it the default. Wire the input around the block and add it back, and the block's job changes from produce the right output to produce the correction. If no correction is needed, the weights go to zero — which is the easiest thing gradient descent ever does.

Formal definition

How it works

Where it's used

Why & when

Worked example

Pitfalls

Check yourself

3 questions

The questions on this page come with access. They are graded on the server, so the answers stay there until you have given yours.

Unlock all quizzes

Sources

  1. He, Zhang, Ren, Sun. Deep Residual Learning for Image Recognition (2015)paperhttps://ar5iv.labs.arxiv.org/html/1512.03385
  2. Luo, Li, Urtasun, Zemel. Understanding the Effective Receptive Field in Deep Convolutional Neural Networks (2017)paperhttps://arxiv.org/abs/1701.04128

Have a promo code?

A code that takes 100% off unlocks everything at once. A smaller one takes its share off the price in the payment window: enter the same code there.

Write to support

A question, a problem with access, a refund? Write to us and we answer by email.

What is it about?

Your address is used only to answer you.

Message sent

Thank you. We will reply to the address you gave, by email.

Or write to us directly

support@artofds.com

Message sent Thank you. We will reply to the address you gave, by email.

Check the email address: we need it to reply.

That is our own address. Enter yours, so the reply reaches you.

This address cannot receive email. Check it for a typo.

Write a little more: at least 10 characters.

Too many messages in a short time. Try again in a few minutes.

The message could not be sent. Please write to us directly: support@artofds.com