machine-learningneural-networkimage-recognition

Neural Network Training


I try to recognize pictures of every digit. I have removed everything else than the digit so that there is almost no noise other than the digit is placed differently on the pictures. I use Neuroph's image recognizing gui and have some questions about training.

It seems that the larger resolution I use for the pictures the worser the training becomes. Why is this? I have 100 pictures in my training set. 10 of each digit. Is that maybe too little? Why is every training no matter what i do just converging to some number usually between 2-3 in total network error.

Here is a picture of one of the trainings alt text

It doesn't learn much


Solution

  • The information increase is exponential!

    When you provide images with higher resolution, you end up giving extra information which has to be evaluated.

    If your resolution is 10x10px, that would result in 100 pixels per image and you have 10 images per digit, that's 1000 pixels per digit.

    Now if you double the resolution to 20x20px it would result in 400 pixels per image or 4000 pixels per digit.

    In other words: increasing the resolution results in an exponential increase for the number of pixels you have to evaluate per each digit.

    Adding more (unnecessary) pixels increases the chance of errors:

    Usually, in machine learning the pictures are stripped down to the bare minimum (both in size and color) in order to provide as little room for error as possible. When you have more pixels, the algorithm may learn something about those pixels that is completely irrelevant to the actual form in the image.