我想使用神经网络实现图片分类。我想了解如何从图片中选择特征,以及应该使用多少隐藏单元或层。
目前我的想法是将图片大小调整到50×50或更小,这样特征的数量会减少,并且所有输入的大小保持一致。特征将是每个像素的RGB值。这样做可以吗?还是有其他更好的方法?
我决定使用一个隐藏层,其单元数量为输入的一半。我可以调整这个数量以获得更好的结果。或者我需要更多的层吗?
回答:
有许多图像数据集被神经网络成功学习,例如
- MNIST(在这里你会找到许多论文的链接)
- NORB
- 和 CIFAR-10/100。
你不需要很多训练样本。通常一个隐藏层就足够了。但确定“正确”的神经元数量可能很困难。有时隐藏神经元的数量甚至应该大于输入的数量。当你使用两个或更多隐藏层时,通常需要较少的隐藏节点,并且训练速度会更快。但如果隐藏层太多,训练第一层的权重可能会变得困难。
一种专门为图像设计的神经网络是卷积神经网络。它们通常比多层感知器效果更好,并且速度更快。