DL之CNN优化技术:学习卷积神经网络CNN的优化、实践经验(练习调参)、从代码深刻认知CNN架构之练习技巧
DL之CNN优化技术:学习卷积神经网络CNN的优化、调参实践、从代码深刻认知CNN架构之练习技巧
卷积神经网络CNN调参学习实践
DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Functional)利用MNIST(手写数字图片识别)数据集实现多分类预测
DL之CNN:利用卷积神经网络算法(2→2,基于Keras的API-Sequential)利用MNIST(手写数字图片识别)数据集实现多分类预测
练习技巧
1、练习攻略一
- 训练更多的epochs,看看这会不会提升分类的准确率?
- 尝试把一些层的把激活函数,改成sigmoid。
- 你能找到一种简单的方法来改变所有层的激活函数吗?
- 画出最大池化层的输出,来替代卷积层的输出。
- 在卷积层中用stride=2的卷积来替代2X2 max-pooling,分类精度有差异吗?如果你一次又一次地优化它呢?差异是任意变化的,你又要如何去衡量这个差异?在卷积层中用max-pooling比较stride有什么优缺点?
- 改变层的参数,如内核、深度、大小等。使用的实践和分类精度有什么差异?
- 增加或移除一些卷积层或全连接层。
- 你能在保持结果好的同时设计出更简单的网络吗?
- 修改函数式模型,增加另一个卷积层与全连接层之前的卷积层相连。
- 修改函数式模型,让它同时输出预测类别的独热编码数组和整数形式的结果,这样我们之后就不需要再使用numpy.argmax()。
- 不看源码,自己重写程序。
- 向朋友解释程序是如何工作的。
2、VGG16练习攻略二
- 尝试使用VGG16模型的其它层来作为传输层。它如何影响训练和分类的准确性?
- 改变我们添加的新的分类层。你能通过增加或减少全连接层的节点数量来提高分类精度吗?
- 如果你在新的分类器中移除随机失活层会发生什么?
- 改变迁移学习和微调时的学习率。
- 尝试微调整个VGG16模型。它如何影响训练和测试集的分类精度?为什么?
- 试着从一开始就进行微调,这样新的分类层就会和VGG16模型的所有卷积层一起开始训练。您可能需要降低优化器的学习速度。
- 给测试集和训练集添加一些图像。这样能使性能提升吗?
- 尝试删除一些刀和汤匙的图像,使所有类别的图像数目相等。这是否改善了混淆矩阵中的数字?
- Use another dataset.
- 使用另一个数据集。
- 使用Keras中另一个预训练模型。
- 向朋友解释程序如何工作。
赞 (0)