博客
关于我
batch norm参数
阅读量:272 次
发布时间:2019-03-01

本文共 941 字,大约阅读时间需要 3 分钟。

在阅读深度学习模型的源码时,常常会遇到一些与批量归一化(Batch Normalization,BN)相关的新参数。这些参数在不同模型中可能会有细微差别,但总体上具有相似的功能。以下是几个值得关注的参数:

  • epsilon

    为了防止归一化过程中分母出现零的情况(这通常会导致计算结果异常),epsilon作为一个非常小的数值被引入。它的作用是确保分母始终保持一定的值,从而避免除以零的错误。在批量归一化的算法中,epsilon通常会被设置为一个很小的数值,如1e-5。

  • momentum

    批量归一化需要计算加权移动平均数(Moving Average,MA),而momentum参数则是这个加权平均数的权重。在代码实现中,momentum通常被设置为一个接近1的数值(如0.9、0.99或0.999)。它的作用是赋予加权平均数一定的“惯性”,即历史平均值不会被完全替代。

  • use_precise_stats

    在批量归一化的训练过程中,模型会根据当前批次的数据计算均值和方差来进行归一化。但是在测试过程中,由于没有批量数据,模型需要使用预先计算好的滑动平均值(EMA)。这个滑动平均值的计算方式决定了模型的性能。当训练过程中计算的EMA不能很好地估计测试时的均值和方差时,批量归一化可能会失效。因此,use_precise_stats参数被引入,其作用是控制EMA的计算方式。如果lambda值(通常在0.9到0.99之间)过小,最近的批次数据对EMA的影响会过大,导致估计值不准确;如果lambda值过大,则需要更多的迭代才能得到稳定的结果。

  • num_batches_precise

    在使用precise batch norm(精确批归一化)时,模型会根据指定的批量数量(num_batches_precise)来计算测试时的均值和方差。这批量数量也是一个超参数,其选择对模型性能有重要影响。

  • 需要注意的是,虽然use_precise_stats和num_batches_precise都是精确批归一化的核心参数,但这种方法并不是主流的选择。因为EMA通常是有效的(当lambda值足够大且模型经过充分训练时),因此大多数情况下直接使用EMA来估计测试时的均值和方差是足够的。

    转载地址:http://mrvx.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现sieve of Eratosthenes埃拉托色尼筛法算法(附完整源码)
    查看>>
    Objective-C实现sieveOfEratosthenes埃拉托色尼筛法求素数算法 (附完整源码)
    查看>>
    Objective-C实现similarity search相似性搜索算法(附完整源码)
    查看>>
    Objective-C实现simulated annealing模拟退火算法(附完整源码)
    查看>>
    Objective-C实现SinglyLinkedList单链表算法(附完整源码)
    查看>>
    Objective-C实现SizeBalancedTree大小平衡树(附完整源码)
    查看>>
    Objective-C实现skew heap倾斜堆算法(附完整源码)
    查看>>
    Objective-C实现Skip List跳表算法(附完整源码)
    查看>>
    Objective-C实现slack message松弛消息算法(附完整源码)
    查看>>
    Objective-C实现SlopeOne算法(附完整源码)
    查看>>
    Objective-C实现slow sort慢排序算法(附完整源码)
    查看>>
    Objective-C实现subset generation子集生成算法(附完整源码)
    查看>>
    Objective-C实现sum of geometric progression几何级数之和算法(附完整源码)
    查看>>
    Objective-C实现tanh函数功能(附完整源码)
    查看>>
    Objective-C实现TCP Server 多线程同时连接多个客户端(附完整源码)
    查看>>
    Objective-C实现TCP拥塞控制(附完整源码)
    查看>>
    Objective-C实现Tenengrad梯度函数(附完整源码)
    查看>>
    Objective-C实现ternary search三元搜索算法(附完整源码)
    查看>>
    Objective-C实现Timsort算法(附完整源码)
    查看>>
    Objective-C实现TOPK算法(附完整源码)
    查看>>