I skipped some explanations that used professional terms to describe things that made me confused after reading them.
Since my Chinese scores are very poor, I tried to explain literally what convolution is...
Volume, understood as a kind of compression; product, product, accumulation;
Convolution requires a convolution kernel, usually a 3x3 or 5x5 square matrix.
For example:
//A 3x3 convolution kernel
0 0 0
0 1 0
0 0 0
How do we use convolution kernels to process data?
Here is an example:
// Below is a bunch of data arranged in a square matrix
//This is our data source
1 3 5 1 3 5 1 3 5
4 5 6 1 3 5 1 3 5
4 5 6 1 3 5 1 3 5
4 5 6 1 3 5 1 3 5
We are going to use convolution kernels to scan and process each data,
For example, to process 5
in the second row and second column
1 3 5 0 0 0
4 5 6 * 0 1 0
4 5 6 0 0 0
We extract the numbers around 5
, then multiply the numbers with the same position in the two square matrices and add them together,
The result is 5
, which is of course because what this convolution kernel does is to output the original data.