zoukankan      html  css  js  c++  java
  • 训练神经网络的处方


    翻译自Andrej Karpathy blog

    处方

    在实践中,我们从简单到复杂构建模型,并且在每一步我们对将要发生的具体事情进行预测,通过实验进行验证并且通过调查发现问题。一定要防止同时引入许多未经验证的猜想,否则总是会在查找问题。一开始,要使用较小的学习率,并每一步都要评估测试集上的表现。

    1 不要一开始写代码

    我习惯花费很多时间去观察样本,了解数据的分布并寻找模式。我们的大脑擅长做这些。我会寻找数据的不平衡和差异,我会注意分类数据的过程,这个过程暗示了各种可能的框架。局部的特征是否足够,我们是否需要全局的文本呢?有多少变化,采取了什么样的形式?什么变化是虚假的,可以预处理?空间位置是否重要,或者我们是否想要将其平均化?细节有多重要,我们可以多大程度上对数据进行缩减采样?有多少标签是噪声?

    此外,由于神经网络是原始数据的压缩(编译),因此能够查看网络(错误)预测的并了解他们的来源。如果你的网络给你的预测看起来与在数据中不一致,那么就会有所收获。

    一旦从数据中发现规律,可以编写一些代码对他们进行搜索、过滤、排序。把数据可视化能帮助我们发现异常值,而异常值总能揭示数据的质量或预处理中的一些错误。

    2 设置端到端的训练评估框架

  • 相关阅读:
    C++中无数据成员的类的对象占用内存大小
    malloc在函数内分配内存问题
    字符数组拷贝与strcpy函数
    Python,anaconda及pycharm安装过程笔记
    DFS-深度优先搜索与BFS-广度优先搜索
    90 k数和 II
    88 Lowest Common Ancestor of a Binary Tree
    AdaBoost笔记之代码
    79 最长公共子串
    78 最长公共前缀
  • 原文地址:https://www.cnblogs.com/flightless/p/10780447.html
Copyright © 2011-2022 走看看