A Sketchy Introduction to Convolutional Neural Nets

Ömür Özkir
oembot
Published in
2 min readOct 12, 2019

I would like to try something new, at least something new for me:

Explore some of the core concepts of convolutional neural networks, but not by writing a huge amount of text and maybe some code snippets- there are plenty of excellent posts and papers about CNNs in exactly this format already.

Instead, I would like to try a different approach, asking questions about CNNs and then trying to answer them. Yes, with some text, but mostly visually.

So, without further ado, let’s get started!

And those were some of the key concepts of Convolutional Neural Nets.

We explored:

  • cnn use cases
  • filters/kernels
  • translation invariance
  • padding
  • pooling

So, what do you think, was this helpful gaining some intuition about those concepts?

I would love to hear your questions!

Who knows, I might do a follow-up, answering some of those visually.

Personally, I had a lot of fun trying out this different take on approaching CNNs by asking questions and sketching the answers.

If you can’t live without at least some code- don’t worry I got you covered!

Demonstrating padding

Demonstrating pooling

Computer vision is a very popular topic, so you should have no problem finding reading material- all the content might actually a bit overwhelming.

If you like to just jump in an build up your understanding by doing, there are a ton of great tutorials on Adrian Rosenbrock’s PyImageSearch website, ranging from hands-on tutorials for fun projects to in-depth posts with plenty of theory (plus he is also publishing a great and very thorough book on computer vision).

And of course there are tons of great papers that are absolutely worth reading! Try the VGG Net paper if you are unsure where to start.

--

--

Ömür Özkir
oembot
Editor for

Love tinkering with rust and julia, digging into interesting data and pushing pixels like it’s the 80s