机器学习基础实验报告
实验三:
一、实验目的
- 学习识别手写数字图像的卷积神经网络:LeNet
- 学习如何使用单块NVIDIA GPU来计算
- 学习迁移学习中的一种常用技术:微调(fine tuning)
二、实验内容和步骤
练习一:
1. 绘制误差loss,训练准确率train acc和测试准确率test acc随迭代次数变化的曲线
2. 尝试基于LeNet构造更复杂的网络来提高分类准确率。例如,调整卷积窗口大小、输出通道数、激活函数和全连接层输出个数。在优化方面,可以尝试使用不同的学习率、初始化方法以及增加迭代周期。
3. 选取一个训练性能较好的模型,输出FashionMNIST测试集前20幅图像的模型分类结果,并显示出来
练习二:
1. 绘制误差loss, 训练准确率和测试准确率随迭代次数变化的曲线。
2. 利用训练好的模型预测测试集前20幅图像的分类结果并显示出来。
3. 不断增大 finetune_net 的学习率。准确率会有什么变化?
4. 作为对比,我们定义一个相同的模型,但将它的所有模型参数都初始化为随机值。由于整个模型都需要从头训练,我们可以使用较大的学习率例如0.01,按照相同的批量大小和迭代周期进行训练,该模型精度与原有模型精度对比有何变化?分析精度变化的
原因。
5. 将 finetune_net.features 中的参数固定为源模型的参数而不在训练中迭代,结果会怎样?你可能会用到以下代码。
三、代码及运行结果分析
练习一:
编辑编辑
练习二:
编辑
练习三:
编辑编辑
四、心得体会
本次实验学习了卷积神经网络,对卷积层和最大池化层有了更深入的了解;以及学习了用MXNet实现单块NVIDIA GPU来计算;其次,还有学习了迁移学习中的一种常用技术:微调(fine tuning)。通过此次实验,对神经网络有了进一步的学习,对今后机器学习有了较大的帮助。