软件工程第三次作业:卷积神经网络
【第一部分】视频学习心得及问题总结
视频学习心得
通过对深度学习的数学基础视频学习,了解一些关于玻尔兹曼机的知识,多种的自编码器,深度学习的部分数学基础如线性代数的矩阵、秩等,以及机器学习三要素等,学习笔记见https://www.cnblogs.com/gu-qiu/p/13873808.html
通过对卷积神经网络视频学习,了解到卷积网络可以说是无处不在的,卷积网络相较于传统神经网络实现了局部关联以及参数共享。视频主要介绍了卷积神经网络的基本组成结构,卷积,池化,全连接以及卷积神经网络的几种典型结构。学习笔记见https://www.cnblogs.com/gu-qiu/p/13874289.html
问题总结:
- 损失函数部分只能了解个大致功能,具体就比较迷茫
- 对于卷积神经网络的典型结构可能还有些模糊
【第二部分】代码练习
2.1 MNIST 数据集分类
2.1.1 加载数据 (MNIST)
2.1.2 创建网络
2.1.3 在小型全连接网络上训练(Fully-connected network)
准确率87%
2.1.4 在卷积神经网络上训练
准确率94%
含有相同参数的 CNN 效果要明显优于简单的全连接网络,CNN可以通过卷积和池化进行优化
2.1.5 打乱像素顺序再次在两个网络上训练与测试
从打乱像素顺序的实验结果来看,全连接网络的性能基本上没有发生变化,但是 卷积神经网络的性能明显下降。
这是因为对于卷积神经网络,会利用像素的局部关系,但是打乱顺序以后,这些像素间的关系将无法得到利用。
2.2 CIFAR10 数据集分类
2.2.1 CIFAR10数据集介绍
它包含十个类别:‘airplane’, ‘automobile’, ‘bird’, ‘cat’, ‘deer’, ‘dog’, ‘frog’, ‘horse’, ‘ship’, ‘truck’。CIFAR-10 中的图像尺寸为3x32x32,也就是RGB的3层颜色通道,每层通道内的尺寸为32*32。
2.2.2 图像数据分类与识别展示
2.2.3 图像数据分类与识别测试
蓝底强调的地方出现错误
2.2.4 准确率分析
发现准确率大概为64%
2.3使用 VGG16 对 CIFAR10 分类
2.3.1 定义 dataloader
2.3.2 VGG 网络定义
2.3.3 网络训练
2.3.4测试验证准确率
准确率显著提升
2.4实验代码心得
在已知代码和相关逻辑顺序上,对于框架可以有比较好的理解,但是可能由于Python掌握力度还不是很大的原因,对于细节了解还不是很深刻。