美文网首页
卷积神经网络参数解析

卷积神经网络参数解析

作者: dreamsfuture | 来源:发表于2018-01-31 21:15 被阅读0次

    1.  batch参数——批量学习[1,23]

    (1)现象:

            (1-1)一次性将batch数量个样本feed神经网络,进行前向传播;然后再进行权重的调整,这样的一整个过程叫做一个回合(epoch),也即一个batch大小样本的全过程就是一次迭代。

            (1-2)将训练数据分块,做成批(batch training)训练可以将多个训练数据元的loss function求和,使用梯度下降法,最小化求和后的loss function,进而对神经网络的参数进行优化更新

    (2)一次迭代:包括前向传播计算输出向量、输出向量与label的loss计算和后向传播求loss对权重向量w导数(梯度下降法计算),并实现权重向量w的更新。

    (3)优点:

            (a)对梯度向量(代价函数对权值向量w的导数)的精确估计,保证以最快的速度下降到局部极小值的收敛性;一个batch一次梯度下降;

            (b)学习过程的并行运行;

            (c)更加接近随机梯度下降的算法效果;

            (d)Batch Normalization 使用同批次的统计平均和偏差对数据进行正则化,加速训练,有时可提高正确率[7]

    (4)现实工程问题:存在计算机存储问题,一次加载的batch大小受到内存的影响;

    (5)batch参数选择:

            (5-1)从收敛速度的角度来说,小批量的样本集合是最优的,也就是我们所说的mini-batch,这时的batch size往往从几十到几百不等,但一般不会超过几千

            (5-2)GPU对2的幂次的batch可以发挥更佳的性能,因此设置成16、32、64、128...时往往要比设置为整10、整100的倍数时表现更优

        (6)4种加速批梯度下降的方法[8]

            (6-1)使用动量-使用权重的速度而非位置来改变权重。

            (6-2)针对不同权重参数使用不同学习率。

            (6-3)RMSProp-这是Prop 的均方根 ( Mean Square ) 改进形式,Rprop 仅仅使用梯度的符号,RMSProp 是其针对 Mini-batches 的平均化版本

            (6-4)利用曲率信息的最优化方法。

    2.  学习率η参数[6]

    (1)定义:运用梯度下降算法优化loss成本函数时,权重向量的更新规则中,在梯度项前会乘以一个系数,这个系数就叫学习速率η

    (2)效果:

            (2-1)学习率η越小,每次迭代权值向量变化小,学习速度慢,轨迹在权值空间中较光滑,收敛慢;

            (2-2)学习率η越大,每次迭代权值向量变化大,学习速度快,但是有可能使变化处于震荡中,无法收敛;

        (3)处理方法:

            (3-1)既要加快学习速度又要保持稳定的方法修改delta法则,即添加动量项。

    α是动量常数,通常是正数

        (4)选择经验:

            (4-1)基于经验的手动调整。 通过尝试不同的固定学习率,如0.1, 0.01, 0.001等,观察迭代次数和loss的变化关系,找到loss下降最快关系对应的学习率。

            (4-2)基于策略的调整。

                    (4-2-1)fixed 、exponential、polynomial

                    (4-2-2)自适应动态调整。adadelta、adagrad、ftrl、momentum、rmsprop、sgd

        (5)学习率η的调整:学习速率在学习过程中实现自适应调整(一般是衰减)

            (5-1)非自适应学习速率可能不是最佳的。

            (5-2)动量是一种自适应学习速率方法的参数,允许沿浅方向使用较高的速度,同时沿陡峭方向降低速度前进

            (5-3)降低学习速率是必要的,因为在训练过程中,较高学习速率很可能陷入局部最小值。

    3.卷积核的尺寸和深度选择 [9-10]

            (1)卷积核大小 卷积层数确定的原则是尺寸小,深度深,3个3×3的卷积核效果和1个7×7的卷积核一样,但是前面的参数为27,后面的参数为49.

            (2)工程上深度的选择原则:按照16的倍数倍增,结合了gpu硬件的配置。

    4.卷积层的选择[10]

    卷积层数设置,选最好性能的那个模型,它是几层那就设置几层。这个是训练数据,激活函数,梯度更新算法等多方面的影响,也不是简单就试出来的。

    参考文献:

    [1]  Simon Haykin. 神经网络与机器学习[M]. 机械工业出版社, 2011.

    [2]  训练神经网络时如何确定batch的大小?

    [3]  学习笔记:Batch Size 对深度神经网络预言能力的影响 

    [4]  机器学习算法中如何选取超参数:学习速率、正则项系数、minibatch size. http://blog.csdn.net/u012162613/article/details/44265967

    [5]  深度学习如何设置学习率. http://blog.csdn.net/mao_feng/article/details/52902666

    [6]  调整学习速率以优化神经网络训练.https://zhuanlan.zhihu.com/p/28893986

    [7]  机器学习中用来防止过拟合的方法有哪些?

    [8]  Neural Networks for Machine Learning by Geoffrey Hinton.

    [9]  如何确定卷积神经网络的卷积核大小、卷积层数、每层map个数

    [10]  卷积神经网络的卷积核大小、卷积层数、每层map个数都是如何确定下来的呢?

    相关文章

      网友评论

          本文标题:卷积神经网络参数解析

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