16
$\begingroup$

We define a bottleneck architecture as the type found in the ResNet paper where [two 3x3 conv layers] are replaced by [one 1x1 conv, one 3x3 conv, and another 1x1 conv layer]. enter image description here

I understand that the 1x1 conv layers are used as a form of dimension reduction (and restoration), which is explained in another post. However, I am unclear about why this structure as effective as the original layout.

Some good explanations might include: What stride length is used and at what layers? What are example input and output dimensions of each module? How are the 56x56 feature maps represented in the diagram above? Do the 64-d refer to the number of filters, why does this differ from the 256-d filters? How many weights or FLOPs are used at each layer?

Any discussion is greatly appreciated!

$\endgroup$
  • $\begingroup$ I think it may help with generalization and prevention of over fitting. But that is just a vague recollection. $\endgroup$ – Chris Apr 4 '16 at 4:18
3
$\begingroup$

The bottleneck architecture is used in very deep networks due to computational considerations.

To answer your questions:

  1. 56x56 feature maps are not represented in the above image. This block is taken from a ResNet with input size 224x224. 56x56 is the downsampled version of the input at some intermediate layer.

  2. 64-d refers to the number of feature maps(filters). The bottleneck architecture has 256-d, simply because it is meant for much deeper network, which possibly take higher resolution image as input and hence require more feature maps.

  3. Refer this figure for parameters of each bottleneck layer in ResNet 50.

$\endgroup$
  • 1
    $\begingroup$ For future readers, I should mention that I think the 1x1 convs have stride=1 and pad=0, to preserve (WxH) of 56x56. Similarly, the 3x3 convs have stride=1 and pad=1 to preserve size as well. $\endgroup$ – derekchen14 May 12 '17 at 20:59
  • $\begingroup$ Still I dont understand. It seems both of them have the similar amount of parameters, in that case I still dont understand the purpose of bootleneck layer. $\endgroup$ – user570593 Apr 2 '18 at 3:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.