当前位置:网站首页>【提高准确率方法总结】
【提高准确率方法总结】
2022-06-10 03:25:00 【网络星空(luoc)】
文章目录
当初步搭建好网络,模型能出初步结果后,若想优化,可以考虑调整:
1.数据集扩增
一般增加数据集容量,训练后的准确率会得到明显提升。
2.增大数据集差异性,随机性
在制作数据集时可以考虑增加数据的差异性,随机性。
3.使用tensor transform对数据进行预处理
pytorch 中使用transform模块对数据进行预处理。
原因:transform可以提升数据泛化能力包括:数据中心化、数据标准化、缩放、裁剪、旋转、翻转、填充、噪声添加、灰度变换、线性变换、仿射变换、亮度、饱和度及对比度变换等。
4.调节batch_size大小
调整batch_size大小,可以16,32,64…这样依次往上调,寻找最适合的,当然不必要是2的倍数
原因:batch size的大小决定了深度学习训练过程中的完成每个epoch所需的时间和每次迭代(iteration)之间梯度的平滑程度。batch size过小,花费时间多,同时梯度震荡严重,不利于收敛;batch size过大,不同batch的梯度方向没有任何变化,容易陷入局部极小值。
5.设置shuffle=True
随机读取数据,一般在训练网络时使用,对于小数据集来说效果惊人。
原因:shuffle方法,用来打乱数据集中数据顺序,以避免数据投入的顺序对网络训练造成影响。
增加随机性,提高网络的泛化性能,避免因为有规律的数据出现,导致权重更新时的梯度过于极端,避免最终模型过拟合或欠拟合。因为按照某些顺序投入容易在训练中走偏或陷入局部最优使得训练效果出现差异,尤其是当batch size比较小的时候。
6.调节学习率(learning rate)
可以使用动态学习率,也可以先是大的学习率 ,然后慢慢减小,如开始是0.1,然后是0.05,每一次都对半分,寻找最合适的学习率。
原因:将输出误差反向传播给网络参数,以此来拟合样本的输出。本质上是最优化的一个过程,逐步趋向于最优解。但是每一次更新参数利用多少误差,就需要通过一个参数来控制,这个参数就是学习率(Learning rate),也称为步长。
最理想的学习率不是固定值,而是一个随着训练次数衰减的变化的值,也就是在训练初期,学习率比较大,随着训练的进行,学习率不断减小,直到模型收敛。
7.权重衰减 (weight_decay)
原因:L2正则化的目的就是为了让权重衰减到更小的值,在一定程度上减少模型过拟合的问题,所以权重衰减也叫L2正则化。
8.适当增加训练轮次(num_epochs)
当准确率难以上升,可以增加训练轮次,让网络充分学习,当然要防止过拟合。
原因:epochs被定义为向前和向后传播中所有批次的单次训练迭代。one epoch = numbers of iterations = N = 训练样本的数量/batch_size。设置大小与数据集的多样化程度有关, 一般多样化程度越强, epoch 越大。
9.dropout()参数及位置
dropout() 的参数可以从0.1开始调,以0.05为间隔,各个网络有不同的参数。所放的位置也有很大的影响,不一定要在全连接层后。
原因:dropout是指在深度学习网络的训练过程中,对于神经网络单元,按照一定的概率将其暂时从网络中丢弃。dropout可以比较有效地减轻过拟合的发生,一定程度上达到了正则化的效果。
10.参数初始化
pytorch中会有默认的参数初始化。
如果没有,可以考虑自行初始化,有助于提高准确率。
11.调整网络结构(层数,每层的大小,函数)
可以考虑增加层次,或者调整输出的大小来提高准确率。
边栏推荐
- 清晨开播近100万人观看,快手知识类主播化身“妇女之友”?
- IDE问题(一)微信开发者工具打不开
- How to distinguish the attributes of the object itself from those on the prototype
- 新功能官宣丨PlayFab让跨平台游戏架构如此简单
- 机器学习 && 内容安全 && 海外风控公司
- ACL 2022 | the latest hot research in NLP field, you must not miss it!
- Refactoring -- bad code smell
- 关键字auto
- 反欺诈体系与设备指纹
- Is long-term hotel rental a good business?
猜你喜欢

洛谷 P1902 刺杀大使(二分 | BFS)

ACL 2022 | the latest hot research in NLP field, you must not miss it!

Sword finger offer 09 Implementing queues with two stacks

The playback capacity of a single video is more than 8000w, so hard core cooking is so superior

Redis 核心技术与实战-实践篇读书笔记 20~终结

【TFLite, ONNX, CoreML, TensorRT Export】

答辩前电脑坏了......

Detailed explanation of zero copy principle

数据的存储(整型,浮点型超详细)

剑指 Offer 09. 用两个栈实现队列
随机推荐
答辩前电脑坏了......
三个月GMV6000w+,盘点家纺行业打造爆款的关键
Detailed explanation of zero copy principle
Will free price increases force young people back?
戒烟日志_04 (day_09)
决策引擎系统 && 实时指标计算 && 风险态势感知系统 && 风险数据名单体系 && 欺诈情报体系
Protobuf basic introduction to installation and use
Refactoring --rename
ACL 2022 | the latest hot research in NLP field, you must not miss it!
MySQL从0到1全部合集,强烈建议收藏
Keywords register and static
Sword finger offer 24 Reverse linked list
使用责任链模式重构原有的一段代码
flowable 三种方式部署流程
Halodoc's key experience in building Lakehouse using Apache Hudi
重构--Rename
01_ Know about 40 brilliant replies
Unable to start web server
Post Microsoft build chatting about the new trend of Technology
Huawei Hubble will add another IPO, and Maxon will rush to the scientific innovation board after more than ten years of dormancy