深度学习 TensorFlow keras 判断训练结果

已知条件:基于keras搭建了一个全连接网络,训练数据2000个,数据特征4个,标签3个。隐藏层2层,分别是6、4个神经元,relu激活函数+L2正则化,输出层仅sigmoid激活函数。batch=32,优化器adam,loss用的是mse。

总结学习中遇见的几种常见问题:

1. 学习很早就结束,大约在20~50个epoch时候,acc和loss曲线基本就稳定了。后来尝试用动态学习率,貌似也没什么变化。为什么模型很快就不学习了?见下图

2. 训练数据属于[a,b]范围的数据,从中单独生成一个子集[a1,b1]的数据(50个数据),验证模型泛化力,发现学习的结果非常糟糕。见下图

3. 数据样本是实验和数值模拟生成的,数据特征具有实际的物理意义,时间和代价以及人力,难以说我能做上万次实验得到更多的数据。

 

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 以帮助更多的人 ^-^