MatConvNet--VL_NNBNORM

来源:互联网 发布:淘宝店铺特色装修 编辑:程序博客网 时间:2024/05/21 19:28

VL_NNBNORM - CNN批量标准化。
Y = VL_NNBNORM(X,G,B)对输入X应用批次归一化。批量归一化定义为:

Y(i,j,k,t) = G(k) * (X(i,j,k,t) - mu(k)) / sigma(k) + B(k)

其中,

mu(k) = mean_ijt X(i,j,k,t),sigma2(k) = mean_ijt (X(i,j,k,t) - mu(k))^2,sigma(k) = sqrt(sigma2(k) + EPSILON)

分别是数据X中每个特征通道的每通道平均值,方差和标准偏差。参数G(k)和B(k)是乘法的,并且加性常数用于缩放每个数据通道。

在存储在4D张量X(从其导出名称批量归一化)中的所有数据项(图像)上累积均值和方差。 常数EPSILON用于规则化sigma(k)的计算并避免除以零。

[DZDX,DZDG,DZDB] = VL_NBNORM(X,GB,DXDY)计算投影到DZDY上的块的导数。 DZDX,DZDG,DZDB和DZDY分别具有与X,G,B和Y相同的尺寸。

可选地,[Y,MOMENTS] = VL_NNBNORM(…)和[DZDX,DZDG,DZDB,MOMENTS] = VL_NNBNORM(…,DZDY)返回上述公式中的向量mu和sigma的值。 这里,MOMENTS是DEPTH×2阵列[MU,SIGMA]。

VL_NNBNROM(…,’Option’,value)采用以下选项:
Epsilon [1e-4]
指定上面公式中的常数EPSILON。
Moments [unspecified]
指定使用mu和sigma的值的数组MOMENTS,而不是根据上面的等式计算它们。 这有助于在测试期间禁用批次标准化。
CuDNN [specified]
如果指定,打开CuDNN。 默认情况下,CuDNN处于打开状态。 此选项可用于撤消参数列表中先前NoCuDNN选项的效果。
NoCuDNN [not specified]
如果指定,关闭CuDNN。

参见: VL_NNNORMALIZE( )

0 0
原创粉丝点击