如何解读RNN奇怪的训练曲线?

时间:2016-10-02 12:46:56

标签: tensorflow

我使用tensorflow在我的数据集上训练一个简单的双层RNN。训练曲线如下所示:

RNN curve

其中,x-axis是步骤(在一个步骤中,batch_size个样本用于更新网络参数),y-axis是准确度。红色,绿色,蓝色线分别是训练集,验证集和测试集的准确度。似乎训练曲线不平滑并且有一些腐败的变化。这合理吗?

3 个答案:

答案 0 :(得分:1)

因为你正在使用SGD,所以绝对没问题。总的趋势是,随着使用的小型推车数量的增加,您的准确度会增加,但是,一些小型推车可能与其他小型推车明显“不同”,因此准确性可能会很差。

答案 1 :(得分:1)

您的测试和验证准确度在第13和第21次可怕地下降的事实是可疑的。例如。 13将测试分数降至第1纪元以下。

这意味着您的学习率可能过高:单个小批量不应导致重量变化。

答案 2 :(得分:1)

您是否尝试过渐变剪辑,Adam优化器和学习率衰减? 根据我的经验,渐变剪辑可以防止爆炸渐变,Adam优化器可以更快地收敛,学习速率衰减可以改善泛化。

您是否改组了训练数据?

此外,可视化权重的分布也有助于调试模型。