Caffe CNN训练过程陷入循环

我有一个关于咖啡的问题,但可能是关于CNN和深度学习的教学过程更普遍的问题。

基本上,问题是我一直在使用包含5606张图像的NIH胸部X射线样本数据集测试多种体系结构。我将数据提取为5个.h5文件,每个文件1000张图像,并将它们的大小调整为224x224。我省略了3个通道的图像以保持一致(因为它们大多数是灰度的)。所以我的输入形状是(batch_size, 1, 224, 224)。这只是二进制分类,因为我用标记了图像0 - no finding, 1 - any finding

我决定使用该MobileNet体系结构,只是将最后一层的输出大小更改为2。

我的问题是,每次我运行培训过程时,似乎培训过程都会陷入一个循环。网络只是围绕一组损失和准确性的值而循环。我尝试更改求解器参数,批处理大小,更改网络体系结构,但始终是相同的-精确值只是有所不同。

这是我的训练日志的要点,其中包含我的网络体系结构,求解器文件和整个输出:

https://gist.github.com/ouadakarim/34ac5744fadfd63a25c806b651bba0fb

为了更好地说明我的问题,以下是上述日志的图表,其中包含损失和准确性:

http://img4.mukewang.com/6087a1640001576209460569.jpg

培训过程的另一个示例(不同的批处理大小和求解器参数): 

http://img.mukewang.com/6087a1730001954f09470572.jpg

如您所见,它总是围绕相同的值循环。我不确定可能是什么问题,但是我有一些想法:

1)我的样本集包含5000张图像,不足以正确教授网络。

2)求解器的配置不正确(学习率)。

3)网络架构太复杂。

一开始我也尝试使用简单的网络体系结构,但是结果甚至更糟。

对于任何建议,我将不胜感激。


FFIVE
浏览 172回答 1
1回答

Cats萌萌

我发现一个错误:您设置: use_global_stats: true 在批处理规范层中但这是错误的,在训练中,您应该进行设置false 或直接删除所有use_global_stats: true未经声明,caffe将使用默认值:(use_global_stats: true在测试和 use_global_stats: false培训中)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python