繁体   English   中英

CNN keras模型没有训练参数代表什么并改进模型

[英]Cnn keras model what no of trained parameter represents and improve the model

我正在寻找有关keras cnn模型的有用建议。 我有一个非常小的数据集(144张图像),我正在通过keras cnn训练,我尝试添加许多layersnum_of_filters但即使trained parameter数量为num_of_filters ,准确性也没有增加。 大量参数是否代表更多机会获得良好的精度? 下面是我现有的模型,它给出val_acc=0.56 我如何改善我的模型。

inputs=Input(shape=(100,100,1))
x=Conv2D(28, (5, 5), padding='same')(inputs)
x=SReLU()(x)
x=MaxPooling2D(pool_size=(2,2), strides=(1, 1))(x)
x=Conv2D(14, (4, 4), padding='same')(x)
x=SReLU()(x)
x=MaxPooling2D(pool_size=(2,2), strides=(1, 1))(x)
x=Conv2D(7, (3, 3), padding='same')(x)
x=SReLU()(x)
x=MaxPooling2D(pool_size=(2,2))(x)
x=Flatten()(x)
x=Dropout(0.2)(x)
x=Dense(512)(x)
x=SReLU()(x)
#x=keras.layers.GlobalMaxPooling2D()(x)
x=Dropout(0.2)(x)
x=Dense(num_classes)(x)

output=Activation('softmax')(x)
model=Model([inputs], output)

大量参数容易过拟合。 如果您的训练准确度接近100%,而您的验证准确度只有50%左右,就属于这种情况。 如果是这种情况,您可能需要看一下转移学习( https://towardsdatascience.com/transfer-learning-using-keras-d804b2e04ef8 )。 这是用于拟合较小数据集的技术之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM