一、实验要求
熟悉使用卷积神经网络模型解决分类问题。
- 实验目的
1、掌握根据实际问题设计网络模型
2、掌握根据实际问题设计优化器和损失函数
3、熟悉循环神经网络训练过程
4、熟悉常用数据增强方法
三、实验内容
一人一组。已知monkeys数据集包含共5种猴子分类(Bald Uakari;Emperor Tamarin;Mandril;Proboscis Monkey;White Faced Saki),图像尺寸:3*160x160。设计数据增强方式、网络模型、优化器和损失函数,运行程序。
我构建了一个神经网络,我首先设置了两个卷积层,每个卷积下跟着一个maxpool2d,和一个relu激活函数,然后我写了3层全连接感知机来线性,由于是5分类,我最后输出结果是5.输入的是3*160*160的图片文件,2:8划分测试集和训练集。
先训练了10轮
尝试增加到50轮数来提高准确率
我用了两种方式来展示这个成功,导入图片来预测效果很好,能达到测试的90%准确率
但是摄像头调用由于有外部干扰准确率较差
除了增加轮数,我还想到可以加缺失层来解决过拟合问题,但是我似乎没有出现这个问题呢
那我就来数据增强来丰富我的数据吧。
可以旋转,翻转,调整图片属性,诸如亮度,对比度等来丰富数据
对数据进行了翻转 旋转 调整亮度等操作 10轮就到90准确率了
数据增强完我的准确率达到97.8%了
然后我用batch批处理技术训练
Batch Normalization(BN)是一种稳定网络训练的技巧,能够加快收敛速度并减少对权重初始化的依赖。BN 通常在卷积层和激活层之间使用。
增加下训练的稳定性吧
我加完这个归一化后对于这个500张图片,这个模型已经很优秀了
四、实验总结
五、源码
git clone https://gitee.com/songaoxiangsoar/monkey-classification.git
标签:训练,卷积,猴子,准确率,神经网络,实验,数据
From: https://blog.csdn.net/qq_17405059/article/details/143620607