♥MNIST 数据集分类
全连接网络与卷积神经网络的对比学习
为了消除卷积和池化的作用,将图片中的像素点打乱
再将全连接网络与卷积神经网络的对比
很明显,打乱像素点后,卷积神经网络的准确率下降了,全连接网络没有变化。卷积和池化会利用像素之间的关系,提取到图像深层的特征,还是很重要的。
♥CIFAR10 数据集
进行训练
从测试集中提取几个图片看看
经过网络测试得到的结果是,错误还挺多的,看起来这个网络有点笨
在全部测试集上得到的准确率为62%
又改成15轮次的epoch,增加了通道数,提升了一点点吧,变成70%了
♥VGG网络
训练细节
在测试集上的结果
♥问题总结
- dataloader 里面 shuffle 取不同值有什么区别?
shuffle是用来是否要打乱数据集顺序的,在训练的时候是需要的,增加多样性提高网络的准确°,测试的时候就不用了。
- transform 里,取了不同值,这个有什么区别?
比如说这个,各自有用处,最后这个标准化,是根据CIFAR10数据集中的像素均值和标准差进行修改的。
- epoch 和 batch 的区别?
epoch是迭代的次数,batch是一次迭代的样本数
- 1x1的卷积和 FC 有什么区别?主要起什么作用?
1*1的卷积用来降维或升维,是一个局部的操作,不会改变共建的尺寸。
全连接层是对整个输入特征进行全局连接,放在网络最后进行打平。
- residual leanring 为什么能够提升准确率?
它有一个很厉害的短接结构short cut,可以解决网络的退化问题,缓解梯度消失,可以设计更深的网络,从而提取更多的深度特征,提高准确率。
- 代码练习二里,网络和1989年 Lecun 提出的 LeNet 有什么区别?
代码练习二中的网络使用了Adam优化器
代码练习二中的网络使用了最大池化,LeNet是平均池化
代码练习二中的全连接层更多
- 代码练习二里,卷积以后feature map 尺寸会变小,如何应用 Residual Learning?
用padding进行填充尺寸,使输入和输出的featur map尺寸一致。
- 有什么方法可以进一步提升准确率?
增加数据量,可以对图像进行裁剪、旋转、添加噪声等数据增强的操作,来提高训练数据的多样性
增加网络层数,更深的网络提取特征
尝试用不同优化器来优化网络参数
调整学习率,有助于更好的收敛到最优解
正则化和归一化,提高模型的泛化能力,加速收敛
迁移学习,利用已经很完备合适的模型进行试验