对比不同学习率对模型结果的影响

一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第4天,点击查看活动详情

前言

在这里我们为了保障实验具备可比性,我们采用控制变量法进行比较lr=0.1、lr=0.01、lr=0.001和lr=0.0001对图像分类的影响,为了简便实验,我们采用LeNet-5网络结构做母版这样大家也都熟悉,同样我们的数据集也为同一个。
其中LeNet-5网络结构详细介绍大家可参考网上亦可参考:juejin.cn/post/707478… 鉴于我在上一篇博客中三种卷积核训练的结果不是很满意,在不改变卷积结构的情况下,选择卷积核大小为3乘3的作为实验对象。(上篇博客地址:juejin.cn/post/708236…

一.比对之前

明确不变量如下所示:
1.1 数据集不变(总类别为10,手写数字数据集,单类别数为500)
1.2 训练集和验证集的划分不变(训练:验证=7:3)
1.3 网络结构除卷积核相同
1.4 训练轮数相同
1.5 损失函数相同
1.6 验证频率
1.7 硬件设备相同
为了避免意外现象,我们对这5种学习率各自进行三次训练,分别取均值为最后统计值

options = trainingOptions('sgdm',...
    'InitialLearnRate',0.01, ...
    'maxEpochs', 20, ...
    'ValidationData', imdsValidation, ...
    'ValidationFrequency',5,...
    'Verbose',false,...
    'Plots','training-progress');% 显示训练进度
复制代码

二.学习率为0.1

由下图可得如下信息:
2.1 验证准确度:91.423%
2.2 训练历时39s
2.2 loss曲线收敛(正常未出现过拟合和欠拟合)\

image.png image.png image.png

三.学习率为0.01

由下图可得如下信息:
3.1 验证准确度:91.91%
3.2 训练历史39s
3.2 loss曲线收敛(正常未出现过拟合和欠拟合)\

image.png image.png image.png

四.学习率为0.001

由下图可得如下信息:
4.1 验证准确度:89.176%
4.2 训练历时39s
4.2 loss曲线未完全收敛,仍然有下降的空间(此时应增加迭代轮数)

image.png image.png image.png

五.学习率为0.0001

由下图可得如下信息:
5.1 验证准确度:79.823%
5.2 训练历时39s
5.2 loss曲线明显未收敛,有大量的下降的空间(此时应增加迭代轮数)

image.png image.png image.png

六.总结

对同一网络结构的模型在相同的硬件上运行,我们发现随着学习率由0.1逐渐向0.0001靠近的时,函数的收敛也会随之变缓慢,若需要精度增加或loss减小,应当适当的增加训练的轮数。
合适的学习率和训练轮数,可以在最短时间内达到模型的最优解,节约了训练的时间成本,避免不必要的算力浪费。

猜你喜欢

转载自juejin.im/post/7082596871717257224