我正在研究面部图像的深度学习(CNN + AEs)方法。
我有
面部图像112*112*3
的输入层
3卷积+最大合并+ ReLU
2层与512个神经元完全连接,50%的丢失 避免过度拟合和最后输出层有10个神经元,因为我有 10个班级。
也用于降低softmax交叉熵的平均值以及L2。
对于培训,我将数据集分为3组:
问题是在几个时期之后,验证错误率保持固定值并且永远不会改变。我使用tensorflow
来实现我的项目。
我之前没有CNN这样的问题所以我认为这是第一次。我已经检查了它基于tensorflow文档的代码,所以我不认为问题是否与代码有关。也许我需要更改一些参数,但我不确定。
对于此类问题的常见解决方案有何看法?
更新 我将优化器从动量更改为亚当和默认学习率。目前验证错误发生了变化,但大多数情况下它都低于迷你批处理错误,而两者的批次大小相同。
我测试了有和没有偏差的模型,初始值为0.1,但还不合适。
更新 我已经修复了这个问题,我将尽快更新。
答案 0 :(得分:1)
我发现有一个常见的解决方案是使用TensorBoard。您可以添加详细信息,在计算图中的不同点的每个时期之后可视化训练性能信息。添加关键指标是值得的,因为您可以看到在应用自适应学习速率,批量大小,神经网络架构,退出/正则化,GPU数量等方面的变化后培训的进展情况。
以下是我发现有助于添加这些详细信息的链接: https://www.tensorflow.org/how_tos/graph_viz/#runtime_statistics