主要内容

组规范化层

组规范化层

描述

组归一化层对每个观测的跨信道分组子集的小批数据进行独立归一化。为了加快卷积神经网络的训练,降低对网络初始化的敏感性,可以在卷积层和非线性层之间使用群归一化层,如ReLU层。

标准化后,层使用可学习的比例因子缩放输入γ并通过可学习的偏移进行偏移β.

创造

描述

例子

= groupNormalizationLayer (numGroups)创建组标准化层。

例子

= groupNormalizationLayer (numGroups,名称,值)创建组规格化层并设置可选参数“ε”,参数和初始化,学习速率与正则化,名称属性使用一个或多个名称-值对参数。可以指定多个名称-值对参数。将每个属性名用引号括起来。

输入参数

全部展开

将输入数据的通道划分为若干组,指定为:

  • 正整数-将传入通道划分为指定的组数。指定的组数必须恰好除以输入数据的通道数。

  • 所有渠道的–将所有传入通道分组为一个组。这也称为层规范化。或者,使用layerNormalizationLayer.

  • “通道智能”-将所有传入的通道作为单独的组。这也称为实例规范化。另外,使用instanceNormalizationLayer.

性质

全部展开

集团标准化

要添加到小批差异的常量,指定为等于或大于的数字标量1 e-5.

该层在标准化之前将此常量添加到小批方差中,以确保数值稳定性并避免被零除。

输入通道数,指定为“自动”或者一个正整数。

此属性始终等于层输入的通道数。如果NumChannels=“自动”,则软件自动确定训练时通道数的正确值。

参数和初始化

函数初始化通道比例因子,指定为以下值之一:

  • “的”-初始化通道比例因子为1。

  • “零”-初始化通道比例因子为零。

  • “narrow-normal”-从均值为零、标准差为0.01的正态分布中独立抽样,初始化通道比例因子。

  • 函数句柄–使用自定义函数初始化通道比例因子。如果指定函数句柄,则函数的形式必须为规模= func(深圳),在那里深圳是刻度的大小。有关示例,请参见指定自定义权重初始化函数.

该层仅在以下情况下初始化通道比例因子:规模属性为空。

数据类型:字符|一串|功能手柄

函数初始化通道偏移量,指定为以下方式之一:

  • “零”-初始化通道偏移量为零。

  • “的”—初始化通道偏移量为1。

  • “narrow-normal”-从均值为零、标准差为0.01的正态分布中独立抽样,初始化通道偏移量。

  • 函数句柄–使用自定义函数初始化通道偏移。如果指定函数句柄,则函数的形式必须为偏移量=func(sz),在那里深圳是刻度的大小。有关示例,请参见指定自定义权重初始化函数.

层只初始化通道偏移时抵消属性为空。

数据类型:字符|一串|功能手柄

渠道规模因素γ,指定为数字数组。

通道比例因子是可学习的参数。培训网络时,如果规模那么,它是非空的trainNetwork使用规模属性作为初始值。如果规模是空的,然后trainNetwork使用由指定的初始值设定项ScaleInitializer.

训练时,,规模是下列情况之一:

  • 对于二维图像输入,大小为1×1×1的数字数组-NumChannels

  • 对于三维图像输入,大小为1×1×1×1的数字数组-NumChannels

  • 对于特征或序列输入,大小为的数字数组NumChannels1

通道偏移β,指定为数字数组。

信道偏移量是可学习的参数。当训练一个网络时,如果抵消那么,它是非空的trainNetwork使用抵消属性作为初始值。如果抵消是空的,然后trainNetwork使用由指定的初始值设定项OffsetInitializer.

训练时,,抵消是下列情况之一:

  • 对于二维图像输入,大小为1×1×1的数字数组-NumChannels

  • 对于三维图像输入,大小为1×1×1×1的数字数组-NumChannels

  • 对于特征或序列输入,大小为的数字数组NumChannels1

学习速率与正则化

比例因子的学习率因子,指定为非负标量。

软件将该因子乘以全局学习率,以确定层中比例因子的学习率。例如,如果ScaleLearnRateFactor2.,则该层中尺度因子的学习率为当前全局学习率的两倍。该软件根据指定的设置来确定全局学习率trainingOptions功能。

偏移的学习速率因子,指定为非负标量。

软件将该系数乘以全局学习率,以确定层中偏移的学习率。例如,如果补偿系数=2.,则层中偏移的学习速率是当前全局学习速率的两倍。软件根据使用指定的设置确定全局学习速率trainingOptions功能。

L2.比例因子的正则化因子,指定为非负标量。

软件将该系数乘以全局L2.正则化因子来确定一层中尺度因子的学习率。例如,如果ScaleL2Factor是2,然后是L2.正则化的层偏移量是全局L的两倍2.正则化因子。你可以指定全局L2.正则化因子trainingOptions功能。

L2.偏移的正则化因子,指定为非负标量。

软件将该系数乘以全局L2.正则化因子来确定一层中偏移量的学习率。例如,如果OffsetL2Factor是2,然后是L2.正则化的层偏移量是全局L的两倍2.正则化因子。你可以指定全局L2.正则化因子trainingOptions功能。

图层名称,指定为字符向量或字符串标量。若要在图层图中包含图层,必须指定非空的唯一图层名称。如果您使用层和名称被设置为'',然后软件在训练时自动为该层分配一个名称。

数据类型:字符|一串

层的输入数。这一层只接受单个输入。

数据类型:

输入层名。这一层只接受单个输入。

数据类型:细胞

层输出的数量。这一层只有一个输出。

数据类型:

输出层的名称。这一层只有一个输出。

数据类型:细胞

例子

全部折叠

创建一个组标准化层,对跨三组通道的传入数据进行标准化。层的名字“群体规范”.

层=组规格化层(3,“姓名”,“群体规范”)
layer = GroupNormalizationLayer with properties: Name: 'groupnorm' NumChannels: 'auto' Hyperparameters NumGroups: 3 Epsilon: 1.0000e-05 Learnable Parameters Offset: [] Scale:[]显示所有属性

将组规范化层包含在数组中。将进入的20个通道归一化,分成四组。

layers=[imageInputLayer([28 28 3])卷积2层(5,20)组规格化层(4)reluLayer MaxPoolig2层(2,“大步走”,2) fulllyconnectedlayer (10) softmaxLayer classifier]
图层数组:1”的形象输入28 x28x3图像zerocenter正常化2”卷积20 5 x5旋转步[1]和填充[0 0 0 0]3组标准化组规范化4”ReLU ReLU 5”麦克斯池2 x2马克斯池步(2 - 2)和填充[0 0 0 0]6”完全连接10完全连接层7“Softmax Softmax 8”分类输出crossentropyex

更多关于

全部展开

算法

组规范化操作对元素进行规范化x首先计算输入的平均值μG和方差σG2.每个观测的通道维的空间、时间和分组子集都是独立的。然后,计算归一化激活为

x ^ = x μ G σ G 2. + ε ,

哪里ϵ是一个常数,当方差很小时,它可以提高数值稳定性。为了考虑到具有零均值和单位方差的输入对于分组归一化后的操作不是最优的可能性,分组归一化操作使用转换进一步转移和缩放激活

Y = γ x ^ + β ,

偏移量在哪里β和规模因素γ是在网络培训期间更新的可学习参数。

参考文献

吴宇新,何开明“组织正常化。”ArXiv:1803.08494[Cs],2018年6月11日。http://arxiv.org/abs/1803.08494.

介绍了R2020b