为什么添加更多层使我的中性网络变得更糟?

时间:2018-06-06 23:06:58

标签: neural-network conv-neural-network convolutional-neural-network

我有点困惑......我首先开始:

model = Sequential()    # (32, 32, 3)
model.add(Conv2D(4, (3, 3), activation='relu', input_shape=input_shape))
model.add(Conv2D(8, (3, 3), activation='relu'))
model.add(MaxPooling2D(pool_size=(2, 2))) 
model.add(Dropout(0.25)) 

model.add(Flatten())
model.add(Dense(16, activation='relu'))
model.add(Dropout(0.5))
model.add(Dense(2, activation='softmax'))

还有两个模型,其中一个额外的Conv2D, Conv2D, MaxPool, Dropout块具有模型2中的16和32个转换滤波器,另外两个模块具有16,32,64,128个转换滤波器。 我的最大准确率分别为75%,78%,82%......

然后我将第一个模型中Conv2D中的过滤器数量更改为16和32,将平面层中的节点数量更改为300,精度达到97%。 然而,改变模型2和3,它们与模型1基本相同,但层数更多,并没有提高准确性,实际上使情况更糟......我在额外的Conv层和不同的数量中尝试了不同数量的滤波器平面层中的节点,从300到1500,但似乎没有任何区别。无论如何,具有最少层数的第一个模型似乎做得最好。

为什么?

0 个答案:

没有答案