0
votes

I am a newby to the convolutional neural nets... so this may be an ignorant question.

I have followed many examples and tutorials now on the MNIST example in TensforFlow. In the CNN examples, all authors talk bout using the 'input filters' to run in the CNN. But no one that I can find mentions WHERE they come from. Can anyone answer where these come from? Or are they magically obtained from the input images.

Thanks! Chris

This is an image that one professor uses, be he does not exaplain if he made them or TensorFlow auto-extracts these somehow.

1

1 Answers

0
votes

Disclaimer: I am not an expert, more of an enthusiast.

To cut a long story short: filters are the CNN equivalent of weights, and all a neural network essentially does is learning their optimal values. Which it does by iterating through a training dataset, making predictions, comparing them to the label/value already assigned to each training unit (usually an image in case of a CNN) and adjusting weights to minimize the error function (the difference between the predicted value and the actual value).

Initial values of filters/weights do not matter that much, so although they might affect the speed of convergence to a small degree, I believe they are often assigned random values.

It is the job of the neural network to figure out the optimal weights, not of the person implementing it.