簡體   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