Papers/Machine learning

convolution neural network

tomato13 2015. 2. 6. 10:09

It was composed of three steps.

 

1. Convolution layer:

The goal is to extract feature point. For that, it uses many filters which are 3x3 or 5x5 matrix usually. As it uses various filters, it generates many convolution images.

 

And ydo you know how applying convolution kernels(filter) to the original image?

It is simple. For example,

 

1 2 1 3

2 3 4 3

4 3 4 5

 

The upper is image binary. Let's assume that each digit represents gray color value. And the matrix below represents convolution kernel.

 

3 2 1

2 3 1

2 3 2

 

In the original image binary, (2,2) has value 3. And (3,2) has value 4.

 

Let's calculate the value of (2,2). You can crop the neighbor values of (2,2). It is like below.

 

1 2 1

2 3 4

4 3 4

 

Let's multiply each position value of the upper cropped matrix by each position value of the convolution kernel. And add each multiplied values.

 

1x3 + 2×2 + 1×1 +

2×2 + 3×3 + 4×1 +

4×2 + 3×3 + 4×2

= 50

 

So the value 50 is the (1,1)'s convolution value.

 

As you has already known, the first row and column can't be applied. So, the generated convolution matrix is a little smaller size than the original one. Two or five pixels are reduced. Usually the border area in the image is not important, so it is ignored.

 

2. Subsampling.

Then, it reduced convolution image size. It may be for operation efficiency with my guessing. As the key features and their geometry relation are kept, subsampling is safe.

 

3. Iterate the upper 1 and 2 steps.

 

4. You can get very small size convolution matrixs and their number would be numerous.

 

With these numerous matrix values, you can apply classification algorithm.

 

And the result will be recognized object category.

 

 

If you are training with given data, you are making convolution network model. And if you are predicting with given image, you are applying the given image to the convolution network model.