其他分享
首页 > 其他分享> > 训练神经网络的秘诀

训练神经网络的秘诀

作者:互联网

训练技巧


http://karpathy.github.io/2019/04/25/recipe/

关注数据

训练神经网络之前,不要碰任何模型,而是应该尽力检查数据。经常需要数小时的查看数据,了解数据分布,找到数据模式,我们大脑非常适合干这个,有一次,我发现数据集中有一些重复的数据,另一次,我发现了损坏的图片/标签,寻找一些数据不平衡。我通常还会注意我自己对数据进行分类的过程,能够给我们最终的架构实现一些线索。例如,

神经网络是数据集的压缩和编译,你能从predict中理解输出是怎么来的,一旦你发现输出和数据不匹配,一定是哪里错了

找到这个感觉之后,你可以code 一些你想到的 搜索/过滤/排序(标签类型,图片尺寸,标注数量等)算法,并可视化分布数来,通过一些异常值,能查看到数据集的bugs

Baselines

这个阶段最好选择一些简单的模型,例如 - 线性分类器或非常小的ConvNet。训练并可视化损失和其他指标(例如,acc),模型预测,并在此途中执行一系列test

过拟合

这个阶段需要更好的理解数据集,并完全训练和评估整个代码,对于任何一个模型,我们可以计算出metric,也掌握了与输入无关的baseline 的性能表现,尽管是糟糕的baseline,我们对性能有了个直观的感觉,这个阶段,我们回迭代让模型更好

找到训练出好模型的方法有两步,第一,先获得一个能过拟合的足够大的模型(关注训练损失),然后适当的正则化(关注验证损失)。我喜欢这两步的原因是如果不能达到低的错误率,那就说明有bugs

正则化

拟合了训练数据之后,我们选在需要在验证集上提升精度,同时会降低训练集的精度,一些tips

标签:例如,训练,秘诀,神经网络,可视化,拟合,数据,模型
来源: https://blog.csdn.net/weixin_44831720/article/details/118946424