
MNIST-GAN笔记一
发布日期:2021-05-24 23:14:31
浏览次数:32
分类:精选文章
本文共 845 字,大约阅读时间需要 2 分钟。
MNIST图像分类是机器学习中的经典问题之一。为了提升模型的性能,我尝试了多项改进措施,具体如下:
损失函数改进
将传统的均方误差( MSE )替换为二元交叉熵损失( BCELoss )。均方误差主要用于回归任务,其输出预计为连续范围值。然而,分类任务需要对类别进行区分, BCELoss 能够更好地处理这一需求。改动后,损失值在下降过程中表现较为平稳,噪声也更小,训练过程更稳定。测试结果显示,针对测试集的第19个图像,判为4类的置信度显著提升,为9类的置信度降低,最终准确率提升至90%。激活函数改进
为了简化计算并改善梯度流动性,选择了LeakyRelu作为替代的激活函数。LeakyRelu 在整个范围内都有梯度输出,只需在代码中设置左半边的斜率即可(如上文中0.02)。通过实验,LeakyRelu 可以更快地将损失值下降至接近0,训练初期表现更优。测试后,模型对测试集的准确率提升至97%,并在测试图像中表现出更高的预测信心。优化器改进
传统的随机梯度下降(SGD)存在局部最小值陷入风险,同时学习率对所有参数一致,难以适应不同参数更新速率。改用Adam优化器,结合动量和自适应学习率,显著提升了训练效率和稳定性。通过实验显示,损失值迅速趋于0,训练过程异常平稳。最终,准确率达到了97%,测试图像对数字4的判断更加确定。标准化处理
为了缓解网络参数和信号范围过大带来的饱和问题,我在输入层标准化,令其输出范围为0.5范围。通过实验,标准化后模型训练更快,准确率提升至91%。损失曲线表现更平稳,噪声降低。综合改进
结合以上四点,最后一层仍保持sigmoid激活函数以输出概率值,而隐藏层采取LeakyRelu。整合之后,模型性能大幅提升,精确率提高显著。然而,标准化的效果因任务而异,需谨慎选择和验证。简单对比可知,PyPy版本比纯Python快。
测试网络支持是否启用GPU加速,结果显示明显提升。
以上改进措施均较为有效,建议结合实际情况选择。
发表评论
最新留言
很好
[***.229.124.182]2025年05月11日 01时08分07秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
linux(ubuntu)中crontab定时器命令详解 以及windows中定时器
2023-02-05
linux(乌班图)修改apt下载源
2023-02-05
Linux(六)shell操作实用技巧
2023-02-05
Linux,启动java程序的通用脚本sh
2023-02-05
Linux:-bash: pip: command not found pip
2023-02-05
Linux:bash: git: 未找到命令...
2023-02-05
Linux:CentOS安装Docker Compose
2023-02-05
Linux:CentOS安装Git
2023-02-05
Linux:fpm打包工具
2023-02-05
Linux:ldd命令详解
2023-02-05
Linux:Mysql 大小写配置
2023-02-05
Linux:mysql中文乱码解决方案
2023-02-05
Linux:Prometheus安装
2023-02-05
Linux:Redis开机启动
2023-02-05
Linux:RPM命令
2023-02-05
Linux:Ubuntu防火墙
2023-02-05
Linux:xshell连接centos虚拟机很慢的解决方案
2023-02-05
Linux:yum安装提示“没有可用软件包”
2023-02-05