I spent a bit of time yesterday afternoon to code up a small demo of image convolution. Image convolution is the key operation used in convolutional neural networks (CNNs) — systems that recognize images.
In the figure below, I have a matrix that represents a 5×5 pixel picture with a 1-pixel border. The weights (also called a kernel) has nine values in a 3×3 box. Applying the weight values and the bias value to the matrix, with a stride of 2, results in a 3×3 (the same size as the weights — an unfortunate coincidence in this case) output.
The weights box starts in the upper left of the matrix; each pair of corresponding matrix and weight values are multiplied, then the bias is added. Next the stride is applied and the weights box moves to the right by two cells. (If the box goes off the end, then it moves down two cells to the start of the next row).
Convolution is complicated on several levels. Conceptually, convolution is scanning just a part of an image to extract features. This works better than trying to scan the entire image as a single large entity. The coding is very tricky too.
So why did I do this demo? I try to do some coding every day. Coding is a skill that if not used, will quickly leave you. Even more importantly, working out the logic for a demo like convolution is rigorous mental exercise. Again, if you don’t exercise your analytic skills, they will go away.
I was talking to a job candidate not too long ago in a pre-interview informational session. The candidate had years of experience at tech companies. But for the past few years the candidate had been a manager in a repetitive operations environment. We talked for a long time. I don’t want to be mean, but this person’s brain had completely turned to mush with regards to analytic skills. Note that repetitive/operations type of management is not at all like management in something like a research environment — research or tech-development management is highly stimulating.
The candidate was energetic and articulate, but it was clear the candidate had completely stalled out intellectually. This absolutely demonstrated to me (and all the other people who talked to the candidate in depth) that the person did not embrace continuous learning — in my world a characteristic that’s essential for success.

Two slightly different opinions on having a growth mindset. Click to enlarge.


.NET Test Automation Recipes
Software Testing
SciPy Programming Succinctly
Keras Succinctly
R Programming
2026 Visual Studio Live
2025 Summer MLADS Conference
2026 DevIntersection Conference
2025 Machine Learning Week
2025 Ai4 Conference
2026 G2E Conference
2026 iSC West Conference
You must be logged in to post a comment.