我正在编写一个程序,用于将图像分为两类:“电线”和“非电线”。我手工标记了大约 5000 张显微镜图像,例如:
非电线
金属丝
我使用的神经网络改编自“Deep Learning with Python”,关于卷积网络的章节(我认为卷积网络在这里没有必要,因为没有明显的层次结构;密集网络应该更合适):
model = models.Sequential()
model.add(layers.Dense(32, activation='relu',input_shape=(200,200,3)))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Dense(32, activation='relu'))
model.add(layers.MaxPooling2D((2,2)))
model.add(layers.Flatten())
model.add(layers.Dense(256, activation='relu'))
model.add(layers.Dense(2, activation='softmax'))
然而,在使用网络参数时,经过 10 个 epoch 训练后的测试准确率不会超过 92%。训练图像包含大约 1/3 的电线,2/3 的非电线。我的问题:您是否发现这种神经网络设计中有任何明显的错误会抑制准确性,或者您是否认为我受到图像质量的限制?我有大约 4000 个训练图像和 1000 个测试图像。