Correct way to specify a 1x1 convolution

Notwithstanding the fact that I think the name “1x1 convolution” is yet another terminological/notational abomination (which perceptilabs bears no responsibility for!), have I managed to specify one correctly like this?

(Somehow I am not feeling the “dense-ness” across the channels, but that could be just misperception on my part.)

If not, guidance would be appreciated. Thx!

Hi @JulianSMoore,

To my knowledge, a 1x1 convolution is just a convolution with patch size=1 (and probably stride=1, unless you want to loose half your information).
The feature maps you should be able to set to any number.

I’m not entirely sure of the “dense-ness” you are mentioning though. Having a 1x1 conv just means that you have a filter of size 1x1 so that the first two dimensions stay the same size as before the conv. It can then be used for reducing or increasing the feature maps in an easy way.

All the best,

Thanks @robertl

The “dense-ness” I was referring to was is best illustrated like this:

(as described by Andrew Ng and others).

Is this what the perceptilabs setup achieves? Each kernel gives a new “feature” as a function of previous features.

It looks correct, but do you have a reference to that image so I can take an extra look?
What happens in the image (I think) is that they are reducing 4 Channels to 1, which is exactly how it happens in PerceptiLabs as well, but since it’s on the 3d dimension (and the weights are automatically calculated) it’s not as visible as in this image.

This video by Andrew Ng - I redrew it for clarity/reuse rather than take screenshot.

Yes, it’s a dimensional reduction and in perceptilabs it wasn’t clear that the weights were in the 3rd dimension - could have been just 1 weight for a “1x1 convolution” :wink:

PS Explicitly stating the kernel dimensions would probably resolve the ambiguity of the 1x1 weights

Thanks for the link!

Explicitly stating the kernel dimensions would make sense, the question is how to do it without making the network cluttery :thinking:
Maybe it’s something which can be stated in the Settings, it would be less visible but then it wouldn’t affect the workspace.

Good morning @robertl

re cluttery: >1 (expand/collapse) section per node; default is per Preferences (Property Level to Show: Standard/Advanced/…/Planck)

  • Standard Properties
  • Advanced Properties
  • (Fundamental/Planck Level Properties :wink: )

Then users have choice, and OOTB the default is Not Cluttered.

1 Like

That’s very true, thank you @JulianSMoore :slight_smile:

1 Like