主要内容

groupNormalizationLayer

集团标准化层

描述

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

归一化后,该层用可学习的比例因子缩放输入γ并通过可学习的偏移进行偏移β

创建

描述

例子

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

例子

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

输入参数

全部展开

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

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

  • 所有渠道的-将所有传入的通道分组为一个组。这也称为层标准化。另外,使用layerNormalizationLayer

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

属性

全部展开

集团标准化

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

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

输入通道的数量,指定为“汽车”或者一个正整数。

这个属性总是等于该层的输入通道的数量。如果NumChannels=“汽车”,则软件自动确定训练时通道数的正确值。

参数和初始化

函数初始化信道比例因子,指定为以下其中之一:

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

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

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

  • 函数句柄-用自定义函数初始化通道比例因子。如果指定函数句柄,则该函数必须是这种形式的规模= func(深圳),在那里深圳是尺度的大小。例如,请参见指定自定义权重初始化函数

层仅初始化通道比例因子时规模属性是空的。

数据类型:字符|字符串|function_handle

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

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

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

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

  • 函数句柄-用自定义函数初始化通道偏移量。如果指定函数句柄,则该函数必须是这种形式的抵消= func(深圳),在那里深圳是尺度的大小。例如,请参见指定自定义权重初始化函数

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

数据类型:字符|字符串|function_handle

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

渠道规模因子是可学习的参数。当训练一个网络时,如果规模非空的,那么trainNetwork使用规模属性作为初始值。如果规模是空的,然后trainNetwork使用指定的初始化式ScaleInitializer

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

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

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

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

通道补偿β,指定为数字数组。

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

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

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

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

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

学习速率和正规化

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

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

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

该软件将这个因子乘以全局学习率,以确定一层中偏移的学习率。例如,如果OffsetLearnRateFactor=2,则该层中偏移量的学习率为当前全局学习率的两倍。该软件根据指定的设置来确定全局学习率trainingOptions函数。

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

软件将这个因子乘以全局L2正则化因子来确定一层中尺度因子的学习率。例如,如果ScaleL2Factor是2,那么L呢2正则化的层偏移量是全局L的两倍2正则化因子。你可以指定全局L2正则化因子trainingOptions函数。

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

软件将这个因子乘以全局L2正则化因子来确定一层中偏移量的学习率。例如,如果OffsetL2Factor是2,那么L呢2正则化的层偏移量是全局L的两倍2正则化因子。你可以指定全局L2正则化因子trainingOptions函数。

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

数据类型:字符|字符串

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

数据类型:

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

数据类型:细胞

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

数据类型:

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

数据类型:细胞

例子

全部折叠

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

层= groupNormalizationLayer (3“名字”“groupnorm”
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])卷积2dlayer (5,20) groupNormalizationLayer(4) reluLayer maxPooling2dLayer(2, 20))“步”,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