简体   繁体   English

神经网络训练

[英]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. 我使用Neuroph的图像识别gui并对训练有一些疑问。

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. 我的训练集中有100张照片。 10 of each digit. 每个数字10个。 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. 为什么每次训练无论我做什么只是收敛到一些数字,通常在2-3个总网络错误中。

Hope that you can help. 希望你能提供帮助。

EDIT: 编辑:

Here is a picture of one of the trainings 这是其中一个培训的图片 替代文字

It doesn't learn much 它学到的东西不多

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 . 如果您的分辨率为10x10像素,那么每张图像将产生100个像素,并且每个数字有10个图像,即每个数字1000个像素

Now if you double the resolution to 20x20px it would result in 400 pixels per image or 4000 pixels per digit . 现在,如果将分辨率加倍到20x20px,则会导致每个图像400像素或每个数字4000像素

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. 当您有更多像素时,算法可能会了解与图像中的实际形状完全无关的那些像素。

For one, I have to second Lirik's comment that increasing the resolution is not helpful here. 首先,我必须提出第二个Lirik的评论,即增加分辨率对此没有帮助。

Aside from that, 10 samples of each digit is most likely not enough data for your neural net to train with. 除此之外,每个数字的10个样本很可能不足以让您的神经网络训练。 10 samples of a digit might not even be enough training data if you were training a human to recognize digits in some wierd language that they don't understand. 如果您正在训练人类识别他们不理解的某种奇怪语言的数字,那么10个数字样本甚至可能不足以训练数据。 See if you get better results by increasing the size of your training data to around 250-300 of each digit. 通过将训练数据的大小增加到每个数字的250-300左右来查看是否可以获得更好的结果。 Exactly how much you will need is hard to say without knowing anything about your particular net. 如果不了解您的特定网络,很难说您需要多少。

My guess is that you will see better results with more training data and lower resolution images. 我的猜测是,你会看到更多训练数据和低分辨率图像的更好结果。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM