新手在这里!在过去的一两个星期中,我一直在Keras中研究图像分类模型。我已经在线上关注了一些教程,以使用VGG16和Sequential执行传输学习。我一直在使用food-101数据集,我知道我有一个过拟合模型(99%acc和70%val_acc)。我遇到了一个问题,无论我给模型提供什么图像,它总是会给出相同的预测。我正在使用Dropout和L2来对数据进行正则化,但是我对导致模型不断给出错误预测的原因感到困惑。
model = models.Sequential()
model.add(Dense(units=512, activation='relu', input_dim=7*7*512))
model.add(layers.Dropout(0.5))
model.add(Dense(units=512, activation='relu', kernel_regularizer = regularizers.l2(0.00001)))
model.add(layers.Dropout(0.5))
model.add(Dense(units=512, activation='relu', kernel_regularizer = regularizers.l2(0.00001)))
model.add(layers.Dropout(0.5))
model.add(Dense(units=512, activation='relu', kernel_regularizer = regularizers.l2(0.00001)))
model.add(layers.Dropout(0.5))
model.add(Dense(units=15, activation='softmax'))
model.compile(optimizer=optimizers.Adam(lr=1e-4),
loss='categorical_crossentropy',
metrics=['acc'])