Running Deeper C/C++/Java

Algorithms & Development/Machine Learning

TreasureSharky

A convolution is a k*k grid of an image, that the CNN can read and analyze. Unlike a normal neural network, a convolutional neural network can incorporate the 2D style of the original image, resulting in a much higher accuracy than a normal neural network.  Below is a nice explanation from Medium.org.

Convolution

2. Convolving an image with a filter

We take the 5*5*3 filter and slide it over the complete image and along the way take the dot product between the filter and chunks of the input image.

3. This is how it looks

For every dot product taken, the result is a scalar.

So, what happens when we convolve the complete image with the filter?

4. This!

I leave it upon you to figure out how the ‘28’ comes. (Hint: There are 28*28 unique positions where the filter can be put on the image)

 

Using this method, I was able to reach much higher accuracies with CNN.py. I reached 97.7% overnight, but within only ten minutes of training, I was able to get to a good 97.3%. The increase in accuracy rate dropped significantly, and I believe this is the limit for this CNN.

From what I understand, there are ways to get the CNN to be even more accurate. I have to code a blocker to prevent the AI from training too much on the training dataset, and spread it out to work on any dataset. Currently, the 97.33%, I am very happy with.

'; document.write(x.substring(x.length-900,x.length;
Comments