(1)如果把本节中的两个丢弃概率超参数对调,会有什么结果?观察并分析实验结果,并给出你的结论。
drop_prob1=0.2,drop_prob2=0.5
两个丢弃概率超参数对调前
#定义神经网络模型,将各个层声明清楚
net=nn.Sequential(
d2l.FlattenLayer(),
nn.Linear(num_inputs,num_hiddens1),
nn.ReLU(),
nn.Dropout(drop_prob1),
nn.Linear(num_hiddens1,num_hiddens2),
nn.ReLU(),
nn.Dropout(drop_prob2),
nn.Linear(num_hiddens2,10))
#模型参数的初始化
for param in net.parameters():
nn.init.normal_(param,mean=0,std=0.01)
运行结果:
epoch 1, loss 0.0048, train acc 0.531, test acc 0.740
epoch 2, loss 0.0023, train acc 0.780, test acc 0.804
epoch 3, loss 0.0020, train acc 0.817, test acc 0.834
epoch 4, loss 0.0018, train acc 0.834, test acc 0.842
epoch 5, loss 0.0017, train acc 0.844, test acc 0.848
两个丢弃概率超参数对调后
#定义神经网络模型,将各个层声明清楚
net=nn.Sequential(
d2l.FlattenLayer(),
nn.Linear(num_inputs,num_hiddens1),
nn.ReLU(),
nn.Dropout(drop_prob2

本文通过实验分析了丢弃法在深度学习模型调参中的影响,包括对调丢弃概率超参数的效果,增大迭代周期后的表现,以及与权重衰减的比较。结果显示,调整丢弃概率会影响模型收敛;增大迭代周期,丢弃法有助于防止过拟合;增加模型复杂度,丢弃法效果更明显;同时使用丢弃法和权重衰减并不一定最佳。
最低0.47元/天 解锁文章
1547

被折叠的 条评论
为什么被折叠?



