Latest news about Bitcoin and all cryptocurrencies. Your daily crypto news habit.
High level frameworks and APIs make it a lot easy for us to implement such a complex architecture but may be implementing them from scratch gives us the ground truth intuition of how actually ConvNets work.
- Outline of the Article
Weâll be implementing the building blocks of a convolutional neural network! Each function weâll implement will have detailed instructions that will walk you through the steps needed:
- Zero-Padding
- Convolution forward
- Pooling forward
Weâll use DLS jupyter notebooks to execute our modules. Check out DLS here. The fact is it comes with pre-installed libraries and frameworks required for Deep Learning. So itâs good to go for DL.
Zero Padding
âąZero padding adds zeros around the borders of a given image.
Importance of zero-padding:
- It prevents the input from shrinking faster when passed in the deeper layers. Another special case is âsameâ padding which even after convolution doesnât decrement the input size.
- It also helps to prevent the loss of information at the borders of image otherwise information at the borders will have very less significance compared to the information inside the borders.
letâs jump into the code:
Single step of convolution
In this part,weâll implement a single step of convolution, in which we apply the filter to a single position of the input. This will be used to build a convolutional unit, which:
- Takes an input volume
- Applies a filter at every position of the input
- Outputs another volume (usually of different size)
Figure 2 : Convolution operationwith a filter of 2x2 and a stride of 1 (stride = amount you move the window each time you slide)
Convolutional Neural NetworksâââForward pass
In the forward pass, weâll take many filters and convolve them on the input. Each âconvolutionâ gives you a 2D matrix output. You will then stack these outputs to get a 3DÂ volume:
Pooling layer
The pooling (POOL) layer reduces the height and width of the input. It helps reduce computation, as well as helps make feature detectors more invariant to its position in the input. The two types of pooling layers are:
- Max-pooling layer: slides an (f,f) window over the input and stores the max value of the window in the output.
- Average-pooling layer: slides an (f,f) window over the input and stores the average value of the window in the output.
Complete Deep Learning Studioâs Jupyter Notebook!
Open DLS Notebook and Upload your Jupyter Notebook
If you like this article, do đ and shaređ.For more articles on Deep Learning follow me on Medium and LinkedIn.
Thanks for reading đ
Happy Numpy.
ConvNet from scratch: just lovely Numpy, Forward Pass |Part 1| was originally published in Hacker Noon on Medium, where people are continuing the conversation by highlighting and responding to this story.
Disclaimer
The views and opinions expressed in this article are solely those of the authors and do not reflect the views of Bitcoin Insider. Every investment and trading move involves risk - this is especially true for cryptocurrencies given their volatility. We strongly advise our readers to conduct their own research when making a decision.