Validation 训练精度提高,但验证精度保持不变

Validation 训练精度提高,但验证精度保持不变,validation,image-processing,keras,deep-learning,classification,Validation,Image Processing,Keras,Deep Learning,Classification,我正在使用CNN训练服装分类算法。我有大约60000张图片用于10个课程的培训(按80:20的比例进行培训和验证)。分离10000个图像进行测试 训练精度会随着时间的推移而提高,但验证精度保持不变。此外,培训损失减少,但验证损失保持不变。 训练准确率:约96% 达到的验证准确率:约92% 达到的测试精度:约87% 我的问题:我可以做些什么来提高验证准确性或最小化验证损失?可以做哪些改变来改进它 你所经历的事情叫做。 您可以添加更多的规则化。最简单的方法是添加另一个退出层 from keras

我正在使用CNN训练服装分类算法。我有大约60000张图片用于10个课程的培训(按80:20的比例进行培训和验证)。分离10000个图像进行测试

训练精度会随着时间的推移而提高,但验证精度保持不变。此外,培训损失减少,但验证损失保持不变。

训练准确率:约96% 达到的验证准确率:约92% 达到的测试精度:约87%


我的问题:我可以做些什么来提高验证准确性或最小化验证损失?可以做哪些改变来改进它

你所经历的事情叫做。 您可以添加更多的规则化。最简单的方法是添加另一个退出层

from keras.layers import Dropout
***

    model = Sequential()
    model.add(
        Convolution2D(nb_filters1, conv1_size, conv1_size, border_mode="same", 
        input_shape=(img_width, img_height, 3)))
    model.add(Activation("relu"))
    model.add(MaxPooling2D(pool_size=(pool_size, pool_size)))
    model.add(Dropout(0.3)  # <- THIS IS ADDED
    model.add(Flatten())
    ***
从keras.layers导入退出
***
模型=顺序()
model.add(
卷积2D(nb_过滤器1,conv1_大小,conv1_大小,border_mode=“相同”,
输入_形状=(img_宽度,img_高度,3)))
添加(激活(“relu”))
添加(MaxPoolg2D(池大小=(池大小,池大小)))
模型。添加(辍学(0.3)#
from keras.layers import Dropout
***

    model = Sequential()
    model.add(
        Convolution2D(nb_filters1, conv1_size, conv1_size, border_mode="same", 
        input_shape=(img_width, img_height, 3)))
    model.add(Activation("relu"))
    model.add(MaxPooling2D(pool_size=(pool_size, pool_size)))
    model.add(Dropout(0.3)  # <- THIS IS ADDED
    model.add(Flatten())
    ***