李沐D2L-课后practice记录
习题答案:动手学深度学习习题解答 (datawhalechina.github.io)
lenet
- 将平均汇聚层替换为最大汇聚层,会发生什么?
loss收敛更快,acc更高(0.833)
尝试构建一个基于LeNet的更复杂的网络,以提高其准确性。
- 调整卷积窗口大小。(我从4调整成8,增加感受野,acc=0.826)
- 调整输出通道的数量。(增加通道数16=》效果继续变差TAT acc=0.812)
- 调整激活函数(如ReLU)。
- 调整卷积层的数量。
- 调整全连接层的数量。
- 调整学习率和其他训练细节(例如,初始化和轮数)。
# 手写了一个学习率线性下降 if epoch >= 4: decay = (10 - epoch) / 10 new_lr = lr * decay print(f'in epoch{epoch}:lr = {new_lr}') optimizer = torch.optim.SGD(net.parameters(), lr=new_lr)
在MNIST数据集上尝试以上改进的网络。
显示不同输入(例如毛衣和外套)时,LeNet第一层和第二层的激活值。