Course 4 Week 2 - Mobile Net - Pointwise Convolution

I was just looking over my notes and I realized this:

In the video, the professor says “Here’s the pointwise convolution. We are going to take the intermediate set of values, which is n out by n out by nc,and convolve it with a filter that is 1 by 1 by nc, 1 by 1 by 3 in this case. Well, you take this pink filter, this pink 1 by 1 by 3 block, and apply it to upper left-most position, carry out the three multiplications, add them up, and that gives you this value.”

What does he mean by this? Can you put this in an operation/algorithm format?

Here’s my take…

Let I be the intermediate values matrix, 4x4x3 in the diagram. Let F be the 1x1x3 filter. The convolution is I \ast F^T which produces a 4x4x1 output. Each 1x1x3 cell location in I becomes a 1x1 location in the output.

Sorry, but this does not help at all. I am wondering how it is multiplied.

It’s just a convolution that happens to have a filter size of 1 x 1 x 3, so it works exactly the same way it would if the filter size were larger than 1. You do an elementwise multiply of the filter versus the current position in input space (across all the input channels) and then add up all those products. Then you add the bias term. Note that what he is showing is just for one filter. There may be more than one output filter, but that also works the same as with “normal” convolutions. The number of output channels is equal to the number of filters.

@Swetha_Arabandi did you take the previous courses in this specialization? If so, maybe review the videos on the convolution operation, which covers this matrix math in detail. If not, you might want to consider doing so. There is considerable foundational knowledge assumed in this course.

I did. But the way he portrayed this specific one was a bit confusing.

Thank you!!

This is a lot clearer.