我尝试识别每个数字的图片。我已经删除了除数字之外的所有其他内容,因此除了数字在图片上的位置不同之外几乎没有噪音。我使用 Neuroph 的图像识别 gui,并且有一些关于培训的问题。
似乎我对图片使用的分辨率越大,训练就越差。为什么是这样?我的训练集中有 100 张图片。每个数字 10 个。这可能太少了吗?为什么无论我做什么,每次训练都会收敛到某个数字,通常在 2-3 之间的总网络错误。
希望您能提供帮助。
编辑:
这是其中一次培训的照片
学的不多
我尝试识别每个数字的图片。我已经删除了除数字之外的所有其他内容,因此除了数字在图片上的位置不同之外几乎没有噪音。我使用 Neuroph 的图像识别 gui,并且有一些关于培训的问题。
似乎我对图片使用的分辨率越大,训练就越差。为什么是这样?我的训练集中有 100 张图片。每个数字 10 个。这可能太少了吗?为什么无论我做什么,每次训练都会收敛到某个数字,通常在 2-3 之间的总网络错误。
希望您能提供帮助。
编辑:
这是其中一次培训的照片
学的不多
信息量呈指数增长!
当您提供更高分辨率的图像时,您最终会提供必须评估的额外信息。
如果您的分辨率为 10x10 像素,则每张图像将产生 100 像素,并且每个数字有 10 张图像,即每位数 1000 像素。
现在,如果您将分辨率翻倍至 20x20px,它将导致每张图像 400 像素或每位数 4000 像素。
换句话说:增加分辨率会导致您必须评估每个数字的像素数量呈指数增长。
添加更多(不必要的)像素会增加出错的机会:
通常,在机器学习中,图片被精简到最低限度(无论是尺寸还是颜色),以尽可能减少出错的空间。当您有更多像素时,算法可能会了解与图像中的实际形式完全无关的那些像素。
一方面,我必须支持 Lirik 的评论,即提高分辨率在这里没有帮助。
除此之外,每个数字的 10 个样本很可能不足以让你的神经网络训练。如果您正在训练一个人以他们不理解的某种奇怪语言识别数字,那么 10 个数字样本甚至可能都不够训练数据。通过将训练数据的大小增加到每个数字的 250-300 左右,看看是否能获得更好的结果。在不了解您的特定网络的情况下,很难说您究竟需要多少。
我的猜测是,使用更多的训练数据和更低分辨率的图像,你会看到更好的结果。