#How does a convolutional layer reduce dimensions of a tensor

1 messages · Page 1 of 1 (latest)

earnest wave
#

you can reduce dimensionality by using stride>1 during convolution, which I think is equivalent to stride=1 + pooling. But generally dimensionality reduction is a job of a pooling layer (which does downsampling)

#

so yeah if you convolve with multiple kernels, and stride=1, you'll increase your feature dimension. BUT you will do it by using comparably less weights than when using a fully-connected layer (because kernels are small, and you reuse their weights at many locations)

earnest wave
#

the meme on that second link is hilarious 😄

#

so that second image you shared (image.png), that all checks out. Which bit exactly isn't computing for you?

#

yeah the N really caught me out as well - it does capture all the N, and then the output dim is the number of kernels. All good, happy I helped you help yourself 😄

ashen bramble
#

You probably already understand this but the convolution as a mathematical function is fascinating with parallels across all of math and more. I love grant sanderson and his videos and this one is a nice example to explain how the dimension reductionality works and more. I’ve worked with CNNs for 4 years and I had never truly understood how convolutions actually worked until this video. https://youtu.be/KuXjwB4LzSA

Discrete convolutions, from probability, to image processing and FFTs.
Help fund future projects: https://www.patreon.com/3blue1brown
Special thanks to these supporters: https://3b1b.co/lessons/convolutions#thanks
An equally valuable form of support is to simply share the videos.


Other videos I referenced

Live lecture on im...

▶ Play video