моя U-Net train_dice_loss уменьшается, но моя val_dice_loss остается на 0,4.Похоже, что сеть переоснащается, но разве не должно расти val_dice_loss в какой-то момент?
Сеть основана на конкурсе сегментации Carvana ( Сегментация Colab Carvana ).Я использую ту же модель, целевую функцию и конвейер дополнения данных, но у меня гораздо меньше данных (~ 1900 изображений, 256x256 пикселей).Я разбил свои данные на наборы для обучения, проверки и тестирования.В тестовом наборе моя модель предсказывает достаточно хорошо (~ среднее значение dice_coeff 0,75), но я не могу объяснить этот график.
Дополнительная информация:
def dice_coeff(y_true, y_pred):
smooth = 1.
# Flatten
y_true_f = tf.reshape(y_true, [-1])
y_pred_f = tf.reshape(y_pred, [-1])
intersection = tf.reduce_sum(y_true_f * y_pred_f)
score = (2. * intersection + smooth) / (tf.reduce_sum(y_true_f) +
tf.reduce_sum(y_pred_f) + smooth)
return score
def dice_loss(y_true, y_pred):
loss = 1 - dice_coeff(y_true, y_pred)
return loss
def bce_dice_loss(y_true, y_pred):
loss = losses.binary_crossentropy(y_true, y_pred) + dice_loss(y_true, y_pred)
return loss
Я также пробовал разные Splits и Keras Optimizer,Это всегда заканчивается в ~ 0.4.