我有一个标准的前馈反向传播神经网络,我想训练能够识别蓝球。我有30张球20张球,10张没有,我的第一个问题是这是否足够我假设它更好有更多但是很高兴知道是否有最少的种类。每个图像宽96像素,高128像素,因此RGB总共12,288像素3,在我的输入层中产生36,864个感知像素。因为我只需要知道图像是否包含蓝色球,或者我不知道1个输出感知器。网络中的所有感知器都使用逻辑激活功能。在我的隐藏层中,我尝试了一大堆不同数量的隐藏单元,范围从100到3000,但它们似乎都没有工作,网络要么说MSE足够低,在1次迭代后停止或网络永远不会到达由于训练迭代限制,所需的MSE和停止,无论输入是什么,输出总是相同的值。我已经尝试了一系列低于0.1的学习率和动力,并且动量总是低于学习率,我的目标MSE现在是0.0005。我之前使用神经网络进行了物体检测但是没有输入层我只有一个隐藏层,有12,288个感知器(每个像素一个),每个感知器有24个输入(每个颜色8位3 * 8 = 24位) )从图像接收二进制颜色信息,然后我有一个输出感知器,所有感知器使用逻辑激活功能,它工作。我认为id尝试使用输入层,但到目前为止我唯一能学到的就是XOR问题。
所以我的问题是:
什么是我的问题的最佳网络拓扑? (多少层,隐藏单位......)
我应该使用一系列学习率和动量值吗?
30个训练样本够吗?
正如在创建我的神经网络时重要的情况那样,注意事项的权重是初始化的,其值为-0.3 - 0.3
答案 0 :(得分:3)
总的来说,我认为神经网络的一大问题是你手头没有得到很好的保证,而且你在结构上有很多自由。选择正确的参数需要进行大量的实验和迭代。
我认为没有人能事先告诉你什么肯定会有用。