美文网首页
深度模型训练方法

深度模型训练方法

作者: RobertY | 来源:发表于2017-10-10 23:03 被阅读646次

深度模型拥有很多超参:

  • 学习步长:alpha
  • momentum 梯度下降参数:beta
  • Adam 梯度下降参数:beta1, beta2, epsilon
  • 网络层数layers
  • 每层隐藏层的神经元的数量hidden units
  • learning rate decay
  • mini-batch size
  • activation functions

超参优化的优先级

  1. 学习步长alpha最重要
  2. momentum参数beta,默认=0.9; mini-batch; hidden units;
  3. layers; learning rate decay;
  4. beta1, 默认=0.9; bera2, 默认=0.999; epsilon, 默认=pow(10, -8)

train/dev/test sets

所有的数据将被划分为 training set/development set/test set

首先在training set上训练很多模型,然后在dev set上验证(可以cross validation)一个最好的模型,最后在test set上测试模型的性能。

数据集划分

在传统的机器学习算法中,数据集通常划分为70%的training set和30%的test set,或者60% training set, 20%dev set, 20%test set。当数据集的总量在10000量级以内,这种划分方法最合适不过了。

当如果数据总量很大,比如在百万集的量级时,我们也许需要重新思考数据的划分策略了。通常,我们会倾向与划分更小比例的数据到dev set和test set。划分dev set的目标是校验模型并且调整以及选择一个最佳的模型,同样,划分test set的目标是评估最优模型的性能。

所以,不必要划分太多的数据到这两个数据集上。如果,拥有一百万量级的数据,那么,分别划分10000条数据到dev set和test set就足够了。

此外,为了让模型拥有更好的泛化能力,training set/dev set/test set的数据分布比例必须大致相同。

Bias & Variance

Bias和Variance代表训练出来的模型往往是偏执的,为了更好地解释这个概念,本人认为偏执一般与泛化相对。其中,Bias指的是训练偏执,Variance是测试偏执。如何降低模型的偏执,增强泛化能力呢?

首先,如果模型在训练数据上拟合不足,我们认为模型已经Bias了;相反,如果模型在训练集上过度拟合,认为模型Variance,并且出现了overfitting。这两种情况都不是理想的训练结果。
下面解释Bias和Variance的判断依据:

偏执类型 Bayes optimal error Training set error Dev set error
High Bias 0.01% 12.00% 12.10%
High Variance 0.01% 0.50% 12.10%
High Bias & High Variance 0.01% 12.00% 20.10%
Low Bias & Low Variance 0.1% 0.50% 0.80%

Bayes optimal error 指的是由于数据本身的规律性和合理性的限制(数据质量不够),理论上最理想的最小识别误差值的大小。这个值往往是由相关专业人士识别数据所推导出来的误差极限(计算机算法很难达到)。Training set error指的是算法在训练集上训练出来的识别误差。Dev set error指验证集上的识别误差。

优化high Bias & high Variance

优化策略如下:

High Bias

  • Bigger network
  • Trains longer
  • Uses more advanced optimization algorithms
  • Finds a better suited network architecture

High Variance

  • get more data
  • Dropout
  • regulariztion
  • Finds a better suited network architecture

好的模型判断方法

机器学习模型算法训练的好或是不好,可以通过以下两个方面判断:

  • 模型在训练集上数据拟合的好,可以认为此时模型的Bias error很低,数据拟合的好
  • 模型在训练集上的优势依然体现在验证集和测试集上,在这两个数据集上有很好的拟合效果

此外,还有一些情况,模型在测试集上拟合的很好,性能表现优越,但在现实使用情况下表现幷不尽人意,此时需要考虑的是数据集的选择出现了偏差,需要根据现实情况合理调整数据的分布了。

正所谓,模型好坏的极限是由数据的质量决定的,而算法的性能只能让模型无限逼近这个极限。由此,数据质量的重要性可见一斑。

相关文章

  • 深度模型训练方法(二)

    在文章<深度模型训练方法>中提到,深度模型中拥有很多超参,模型的训练其实就是一个调超参的过程。而在调超参时,我们主...

  • 深度模型训练方法

    深度模型拥有很多超参: 学习步长:alpha momentum 梯度下降参数:beta Adam 梯度下降参数:b...

  • 深度思考-训练方法(2/6)

    深度思考-训练方法-增加“思考的雏形” 目录 1.总结 2.急速增长而破裂的模型 3.基于良性循环的增长模型 4....

  • 深度思考-训练方法

    深度思考训练方法 目录 1. 总结 2. 深度思考 1. 总结 提高深度思考能力的6个日常训练方法: 1. 从关注...

  • 深度思考-训练方法(3/6)

    深度思考-训练方法(3/6)-让思维可视化 1.总结 2.可视化可以从不完整的模型开始 3.批判性思维看眼前模型 ...

  • 深度思考-训练方法(4/6)

    深度思考-训练方法(4/6)-观点碰撞 1.总结 2.图像转为语言 3.注意事项 1.总结 经过模型可视化之后,进...

  • 提升🚀深度思考能力的6个训练方法

    在《深度思考法》一书中,作者平井孝志列举了“提高深度思考能力的6个日常训练方法” 训练方法1、从报纸杂志的标题开始...

  • 拆书帮申展分舵2019年1月RIA线上训练营作业W3D1

    【主题1】:深度思考的训练方法 【片段来源】:《麻省理工深度思考法》 【R:阅读原文】 只要少许的时间和思考意愿,...

  • 范式组件02

    深度矩阵分解(DMF)模型 深度矩阵分解模型(Deep Matrix Factorization Model,DM...

  • Note - 深度学习模型的部署

    开发深度学习模型一般需要借助深度学习库(Tensorflow、pytorch),以下对工业环境部署深度学习模型进行...

网友评论

      本文标题:深度模型训练方法

      本文链接:https://www.haomeiwen.com/subject/ulfiyxtx.html