训练FCN-VGG16网络的时候,loss值不收敛,经过多次尝试,问题解决

我是根据tesorflow平台的fcn-vgg16进行修改,修改为两分类,出现训练结果如下所示:

训练FCN-VGG16网络的时候,loss值不收敛,经过多次尝试,问题解决_第1张图片

 

并且输出结果的hostogram如下:

训练FCN-VGG16网络的时候,loss值不收敛,经过多次尝试,问题解决_第2张图片

出现的问题:

1. 如果学习率比较大的话,histogram就会变成高斯分布,结果如下:

训练FCN-VGG16网络的时候,loss值不收敛,经过多次尝试,问题解决_第3张图片

造成这个的原因还没找到,希望能了解的朋友指点一下。

2.网络训练之后出现的结果一直都没有变过,根本就没有学习,训练结果如下所示:

[0.023601367981489846, 0.5017343079425425, 0.04508209350092751]

训练了10w次之后,结果还是这个。头疼

以上两个问题是现阶段发现的,还没找到解决方案,仍然在探索。

 

2019-9-26日补充说明:

上述问题已经解决,原因是因为反卷积网络中weight使用的双线性插值没有初始化好,导致出现高斯现象。

训练FCN-VGG16网络的时候,loss值不收敛,经过多次尝试,问题解决_第4张图片

使用tf.get_variable进行初始化,结果正常。使用上述的tf.truncated_normal_initializer()则出现高斯现象。

还需要对以下的weight_decay进行初始化:

训练FCN-VGG16网络的时候,loss值不收敛,经过多次尝试,问题解决_第5张图片

训练histogram图如下:

训练FCN-VGG16网络的时候,loss值不收敛,经过多次尝试,问题解决_第6张图片

你可能感兴趣的:(深度学习)