Jak mogę jeszcze bardziej zmniejszyć wartość strat w modelu CNN? [zamknięte]

0

Pytanie

Staram się stworzyć CNN do klasyfikacji owoców. U mnie były wysokie wartości strat, i staram się zmniejszyć ich na tyle, na ile mogę, ale nie jestem pewien, jak poprawić mój model dalej.

Oto mój kod:

model96 = tf.keras.Sequential()

#Architecture
model96.add(tf.keras.layers.Conv2D(filters = 32,
                                 kernel_size = (3, 3),
                                 activation = "relu",
                                 input_shape = (96, 96, 3)))

model96.add(tf.keras.layers.Conv2D(filters = 32,
                                 kernel_size = (3, 3),
                                 activation = "relu"))

model96.add(tf.keras.layers.MaxPooling2D(pool_size=(2, 2)))

model96.add(tf.keras.layers.Dropout(rate=0.25))

model96.add(tf.keras.layers.Flatten())

model96.add(tf.keras.layers.Dense(units=128, activation='relu'))

model96.add(tf.keras.layers.Dropout(rate=0.5))

#output layer
model96.add(tf.keras.layers.Dense(units=4, activation='softmax'))

#Loss function
model96.compile(loss='categorical_crossentropy', optimizer='adam', metrics=['accuracy'])

#Train model
hist96 = model96.fit(x=x_train96_norm, y=y_train, epochs=100)

#Test and Evaluate
print("Performance with test data:")
loss96, accuracy96 = model96.evaluate(x=x_test96_norm, y=y_test)
print('loss =', loss96)
print('accuracy =', accuracy96)

Podczas szkolenia końcowa wartość strat wyniosła 0,0153, a wartość końcowa dokładność-0,9958, jednak podczas testu modelu zdobyła: loss = 1.0462701320648193 i accuracy = 0.8666666746139526

1

Najlepsza odpowiedź

2

Twój problem wygląda jak klasyczny problem przekwalifikowania. Możesz dodać wcześniejszy przystanek, aby tego uniknąć. Wczesne zatrzymanie procesu uczenia się skończy, jak tylko utrata walidacji przestanie się zmniejszać. Kod jest dość prosty:

callback = tf.keras.callbacks.EarlyStopping(monitor='loss', patience=3)

hist96 = model96.fit(x=x_train96_norm, y=y_train, epochs=100, callbacks=[callback])

2021-11-24 07:36:48

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................