paddlepaddle关于MNIST手写数字识别结构的一些思考

本文探讨了在Paddle的手写数字识别模型中去除softmax层后准确率显著提升的现象。通过对比有无softmax层的训练结果,发现去掉softmax层能够增大正确与错误预测之间的差距,从而加速训练过程。

在学习paddle的手写数字识别Demo时发现一个有趣的现象

首先是网络结构

一层卷积, 一层池化

第二层卷积, 第二层池化

全连接.

前向计算部分:

我期间把这个网络结构的softmax去掉了, 发现准确率上升的非常快, 很快会达到0.99, 并且已经使用验证集与测试集分别测试过了, 应该并不是过拟合

这是有softmax的准确率:

有softmax的结构准确率一直在0.7-0.85之间徘徊, 大量训练上升效果有限, 非常好奇为嘛少了softmax反而快了这么多. 我就把训练过程中的包含softmax和不包含softmax的训练中前向计算的结果打印出来:

softmax:

无softmax:

根据数值对比发现相对于softmax的结果, 非softmax的正确与错误结果差距更大, softmax基本区间0-1, 而非softmax的差距有时能达到30. 所以我推测是训练途中softmax导致数据的区分特征(数值差异)不够明显导致训练效果低下, 我尝试在softmax情况下拉大正确与错误结果的距离来复现非softmax的效果:

用来扩大正确答案与错误答案的距离.

其实softmax最终的训练结果也是能达到0.99甚至1.0, 但是需要时间很长. 我这种方法相当于把每次训练的步子拉大. 也算一种优化过程中的一种

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值