Convolution Neural Networks (CNNs) simplified for Supply Chain executives
” The invention of convolutional neural networks (CNNs) applied to vision represents by far one of the most innovative achievements in the history of applied mathematics. ” – Andrew Ng
A Convolutional Neural Network (ConvNet/CNN) is a Deep Learning algorithm which can take in an input image, assign importance (learnable weights and biases) to various aspects/objects in the image and be able to differentiate one from the other. It essentially ends up converting the image into a mathematical representation, called kernels. To oversimplify it, imagine a kernel as a matrix of numbers. Remember, an image is nothing but a matrix of pixel values.
To make the example more specific but generic, imagine you have to represent the sun with an ordinary pencil and a piece of paper. It is a sunny day, and the sun shines very brightly, too brightly. You put on a special pair of very dense sunglasses. Now you can look at the sun for a few seconds. You have just applied a color reduction filter, one of the first operations of a convolutional network.
Then you try to draw the sun. You draw a circle and put some gray in the middle. You have just applied an edge filter. Finally, you go over the circle several times to make it easy to recognize, reducing the image you saw progressively into a representation of it.
Now with the circle, some gray in the middle, and a few lines of the rays around it, anybody can see you drew a sun. What you essentially did here is that you took a color image of the sun and made a representation of it as a circle, which would probably look something like this:
You just went through the basic processes of a convolutional network. If you carry out this experiment of drawing the sun, you will notice that, as a human, you transform one area at a time with your eye and pencil. You repeat the way you do it in each area. That repetition you perform is your kernel. Using a kernel per area is the fastest way to draw. For us humans, in fact, it is the only way we can draw. A CNN is based on this process.
The word convolutional means that you transformed the image of the sun you were looking at into a drawing, area by area. But, you did not look at the whole sky at once. You made many eye movements to capture the sun, area by area, and you did the same when drawing.
If you made a mathematical representation of the way you transformed each area from vision to your paper abstraction, it would be a kernel. So to sum it, CNN essentially translates the image, area by area into algebraic kernels. Let us get just a little bit more technical. Review the image below (neglect all jargon, just follow the flow from left to right)
Picture courtsey : Towards Data Science
What the picture above is depicting is that the CNN takes the handwriting image and breaks it into Kernels, across dimensions. So you can see that it takes an area of the picture (handwritten number 2) and translates it into few kernels, it then breaks a part of one of those kernels into finer kernels and keep doing the process. Essentially, it takes the picture, translates it into a Kernel, and keeps fine tuning the process to get greater details.
What this means is that you can apply mathematical calculations and rules around spatial and other features in an image. This is the ability that I think in my mind makes this a very powerful tool to use in Supply Chain and Operations.
Proposed applications in Operations and Supply Chain
In my perspective, Convolutional Neural Networks can have multiple applications in Warehousing and Manufacturing. Some of them have been listed below. For the Data Science enthusiast, below is a link to an example, complete with Python code.
(1) Monitoring the production line: A CNN enabled setup can detect the flow of an automated production line, measuring the distance between two units on the line. When it sees a deviation between two units that exceeds a certain threshold, it will trigger an alarm (and probably stop the line)
(2) Monitoring the units on a conveyor belt. Let us say that a truck is being unloaded from an Inbound dock using a conveyor belt. In semi-automated environments, it is extremely important to have a certain minimum number of units flowing at every stage to avoid a bottleneck situation.
(3) Monitoring the AGV and other synchronized traffic in a semi-automated warehouse.
A CNN can monitor the gaps between clusters of packages coming out from the trailer and raise a flag when the gap becomes wide enough to create an issue in the synchronized flow of the warehouse.
This has applications outside Supply Chain, in services scenario where queues are involved but I will skip them for now.
Views my Own