Sarada (@Moody) was kind enough to post Excel models of convolutions on GitHub. Since watching Jeremy’s demonstration of backpropagation with a spreadsheet, I went searching for more DNN spreadsheet models. Sarada’s treasure trove inspired me to update the convolution model for 5x5 kernels and turn it into a kernel testing and experimentation sheet.
I’ve uploaded it to GitHub HERE.
Thanks again, Sarada!
The spreadsheet is an excellent tool. Excel + VBA is outstanding for prototyping and concepting.
This is how the convolution in the original spreadheet was created (and modified):
- Select the top left cell of the output array.
- Expand the input arrays. (Arrows in screenshot below.)
- Press [Ctrl+Shift+Enter] (this creates an array formula).
- Drag the square handle of the edited output array cell down to fill the first column (or double-click it).
- Drag the square handle of the edited output array cell to the right to fill the rows.
- Mind the padding (you have to add a border of zeroes as shown in the screenshot OR downsample the output array.)
- Make sure to position the center cell of the kernel at the corner of the input array.