不断减小学习率,提高训练精度

       通过读了DCGAN的相关论文,其中有一个章节介绍了通过学习率的不断下降,可以提高训练的精度,本篇文章简单介绍一下实验的效果,本文没有使用论文中学习率下降的公式,只是简单的进行缩小。

       上图是论文中的计算公式,其中decay_rate是超参数文章中给出的值是0.95。接下来简单介绍一下整体设计。数据集使用的是CIFAR-10,识别十个类别,一共训练5轮,代码使用的kaggle上一位大佬的代码。

       上图是最终的训练结果,可以看出效果其实并不是特别的好,所以我试着通过把学习率逐渐变小来看看对精度是否有提升。本文做了两次实验,第一次实验学习率分别缩小两次,一次缩小十倍,第二次实验是学习率分别缩小两次,一次缩小5倍。

 上图是没有更改学习率,得出的损失。

 上图是缩小10倍得出的损失分别在第四轮与第五轮学习率分别缩小十倍得出的损失,可以看出 损失减少了一点点。

 上面三个图,是学习率分别在第四轮,第六轮学习率分别缩小5倍得出的损失,可以看出来损失减少了挺多,最后的准确率也增加了10%左右。当然这次训练了7轮,但是这个学习率在第五轮的时候已经比损失率缩小十倍的时候已经低了不少了。

 最后贴出更改学习率的方法,使用的是pytorch,当然这个图片并不是这个实验的代码,但是只要更改里面的参数即可。

猜你喜欢

转载自blog.csdn.net/qq_45710342/article/details/121658709