我正在尝试为图像分割任务训练深度学习模型 . 我使用的模型类似于U-Net架构,并转换归一化(0,1)浮点值的3-D矩阵,以输出每个体素是否属于当前分段的二进制概率掩码 . 该模型使用keras构建,如下所示:

inputs = Input(shape=patch_shape)

noise = GaussianNoise(2.0)(inputs) 
conv2 = Conv3D(32, (3, 3, 3), padding="same", activation="relu",data_format="channels_first")(noise)
conv2 = Conv3D(32, (3, 3, 3), padding="same", activation="relu",data_format="channels_first")(conv2)
pool2 = MaxPooling3D(pool_size=(2, 2, 2),data_format="channels_first")(conv2)

conv3 = Conv3D(64, (3, 3, 3), padding="same", activation="relu",data_format="channels_first")(pool2)
conv3 = Conv3D(64, (3, 3, 3), padding="same", activation="relu",data_format="channels_first")(conv3)
pool3 = MaxPooling3D(pool_size=(2, 2, 2),data_format="channels_first")(conv3)

conv4 = Conv3D(128, (3, 3, 3), padding="same", activation="relu",data_format="channels_first")(pool3)
conv4 = Conv3D(128, (3, 3, 3), padding="same", activation="relu",data_format="channels_first")(conv4)

up5 = UpSampling3D(size=(2, 2, 2), data_format="channels_first")(conv4)
up5 = concatenate([up5, conv3],axis=1)
conv5 = Conv3D(64, (3, 3, 3), padding="same", activation="relu",data_format="channels_first")(up5)
conv5 = Conv3D(64, (3, 3, 3), padding="same", activation="relu",data_format="channels_first")(conv5)

up6 = UpSampling3D(size=(2, 2, 2), data_format="channels_first")(conv5)
up6 = concatenate([up6, conv2],axis=1)
conv6 = Conv3D(32, (3, 3, 3), padding="same", activation="relu",data_format="channels_first")(up6)
conv6 = Conv3D(32, (3, 3, 3), padding="same", activation="relu",data_format="channels_first")(conv6)

conv8 = Conv3D(num_y_channel, (3, 3, 3), padding="same", activation='sigmoid',data_format="channels_first")(conv6)
model = Model(input=inputs, output=conv8)

我使用自定义丢失函数指定为:

def dice_coef_loss(y_true, y_pred):
y_true_f = K.flatten(y_true)
y_pred_f = K.flatten(y_pred)
intersection = K.sum(y_true_f * y_pred_f)
return -(2. * intersection) / (K.sum(y_true_f) + K.sum(y_pred_f))

输入补丁大小为40x40x32 . 我认为这项任务应该相对简单 . 但是,在训练时,我会遇到以下意外行为:Odd loss progression

如果有人之前处理过这种行为,建议将不胜感激 . 我一直在检查我的输入等,但没有成功 .