groupNormalizationLayer
描述
分组归一层对每个观测数据在分组的通道子集上单独归一小批数据。为了加快卷积神经网络的训练并降低对网络初始化的敏感性,在卷积层和非线性层之间使用组归一化层,如ReLU层。
归一化后,该层用一个可学习的比例因子对输入进行缩放γ然后用一个可学习偏移量平移它β。
创建
描述
输入参数
numGroups
- - - - - -组数
正整数|所有渠道的
|“channel-wise”
将输入数据的通道划分到的组数,指定为下列之一:
正整数—输入通道划分为指定数量的组。指定的组数必须与输入数据的通道数精确相除。
所有渠道的
-将所有传入通道归为一个组。这个操作也称为层归一化。另外,使用layerNormalizationLayer
。“channel-wise”
-将所有传入通道单独处理。此操作也称为实例规范化。另外,使用instanceNormalizationLayer
。
属性
集团标准化
ε
- - - - - -添加到小批量方差的常数
1 e-5
(默认)|积极的标量
添加到小批方差中的常数,指定为正标量。
该软件在归一化之前将这个常数添加到小批量方差中,以确保数值的稳定性并避免除零。
R2023a之前:ε
必须大于等于1 e-5
。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
NumChannels
- - - - - -输入通道数
“汽车”
(默认)|正整数
此属性是只读的。
输入通道的数量,指定为下列之一:
“汽车”
-在训练时自动确定输入通道数。正整数-为指定的输入通道数量配置层。
NumChannels
并且层中输入数据的通道数量必须匹配。例如,如果输入是RGB图像,则NumChannels
一定是3。如果输入是带有16个滤波器的卷积层的输出,则NumChannels
必须是16岁。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
|字符
|字符串
参数和初始化
ScaleInitializer
- - - - - -函数初始化通道比例因子
“的”
(默认)|“narrow-normal”
|函数处理
函数初始化通道比例因子,指定为以下之一:
“的”
-用1初始化通道比例因子。“零”
-用零初始化通道比例因子。“narrow-normal”
-通过从均值为零、标准差为0.01的正态分布中独立采样,初始化通道尺度因子。函数句柄——使用自定义函数初始化通道比例因子。如果指定了函数句柄,则该函数必须为
Scale = func(sz)
,在那里深圳
是秤的大小。有关示例,请参见指定自定义权重初始化函数。
层只初始化通道比例因子时规模
属性为空。
数据类型:字符
|字符串
|function_handle
OffsetInitializer
- - - - - -函数初始化通道偏移量
“零”
(默认)|“的”
|“narrow-normal”
|函数处理
函数初始化通道偏移量,指定为以下之一:
“零”
-用0初始化通道偏移量。“的”
-用1初始化通道偏移量。“narrow-normal”
-通过从均值为零、标准差为0.01的正态分布中独立采样,初始化通道偏移量。函数句柄——使用自定义函数初始化通道偏移量。如果指定了函数句柄,则该函数必须为
Offset = func(sz)
,在那里深圳
是秤的大小。有关示例,请参见指定自定义权重初始化函数。
层只初始化通道偏移时抵消
属性为空。
数据类型:字符
|字符串
|function_handle
规模
- - - - - -渠道规模因子
[]
(默认)|数字数组
渠道规模因子γ,指定为数值数组。
信道尺度因子是可学习的参数。当你训练一个网络使用trainNetwork
函数或初始化dlnetwork
对象,如果规模
为非空,则软件使用规模
属性作为初始值。如果规模
为空,则软件使用ScaleInitializer
。
的类型取决于层输入的类型trainNetwork
,assembleNetwork
,layerGraph
,dlnetwork
函数自动将此属性重新塑造为以下大小:
层的输入 | 财产大小 |
---|---|
功能的输入 | NumChannels 1 |
矢量序列输入 | |
一维图像输入(因为R2023a) |
1 -NumChannels |
一维图像序列输入(因为R2023a) |
|
二维图像输入 | 1-by-1-by -NumChannels |
二维图像序列输入 | |
三维图像输入 | 1-by-1-by-1-by -NumChannels |
三维图像序列输入 |
数据类型:单
|双
抵消
- - - - - -通道补偿
[]
(默认)|数字数组
通道补偿β,指定为数值向量。
信道偏移量是可学习的参数。当你训练一个网络使用trainNetwork
函数或初始化dlnetwork
对象,如果抵消
为非空,则软件使用抵消
属性作为初始值。如果抵消
为空,则软件使用OffsetInitializer
。
的类型取决于层输入的类型trainNetwork
,assembleNetwork
,layerGraph
,dlnetwork
函数自动将此属性重新塑造为以下大小:
层的输入 | 财产大小 |
---|---|
功能的输入 | NumChannels 1 |
矢量序列输入 | |
一维图像输入(因为R2023a) |
1 -NumChannels |
一维图像序列输入(因为R2023a) |
|
二维图像输入 | 1-by-1-by -NumChannels |
二维图像序列输入 | |
三维图像输入 | 1-by-1-by-1-by -NumChannels |
三维图像序列输入 |
数据类型:单
|双
学习率和正则化
ScaleLearnRateFactor
- - - - - -学习率因子为尺度因子
1
(默认)|负的标量
缩放因子的学习率因子,指定为非负标量。
该软件将该因子乘以全局学习率,以确定一层中尺度因子的学习率。例如,如果ScaleLearnRateFactor
是2
,则该层中尺度因子的学习率为当前全局学习率的两倍。属性指定的设置来确定全局学习率trainingOptions
函数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
OffsetLearnRateFactor
- - - - - -偏移的学习率因子
1
(默认)|负的标量
偏移量的学习率因子,指定为非负标量。
该软件将该因子乘以全局学习率,以确定一层中偏移量的学习率。例如,如果OffsetLearnRateFactor
是2
,则该层中偏移量的学习率为当前全局学习率的两倍。属性指定的设置来确定全局学习率trainingOptions
函数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
ScaleL2Factor
- - - - - -l2尺度因子的正则化因子
1
(默认)|负的标量
l2比例因子的正则化因子,指定为非负标量。
软件将这个因子乘以全局L2正则化因子来确定一层中尺度因子的学习率。例如,如果ScaleL2Factor
是2
然后是L2层中偏移量的正则化是全局L的两倍2正则化因子。可以指定全局L2正则化因子使用trainingOptions
函数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
OffsetL2Factor
- - - - - -l2偏移量的正则化因子
1
(默认)|负的标量
l2偏移量的正则化因子,指定为非负标量。
软件将这个因子乘以全局L2正则化因子来确定一层中偏移量的学习率。例如,如果OffsetL2Factor
是2
然后是L2层中偏移量的正则化是全局L的两倍2正则化因子。可以指定全局L2正则化因子使用trainingOptions
函数。
数据类型:单
|双
|int8
|int16
|int32
|int64
|uint8
|uint16
|uint32
|uint64
层
名字
- - - - - -层的名字
”
(默认)|特征向量|字符串标量
层名,指定为字符向量或字符串标量。为层
数组输入时,trainNetwork
,assembleNetwork
,layerGraph
,dlnetwork
函数自动为具有该名称的层分配名称”
。
数据类型:字符
|字符串
NumInputs
- - - - - -输入数量
1
(默认)
此属性是只读的。
该层的输入数量。该层只接受单个输入。
数据类型:双
InputNames
- - - - - -输入名字
{"在"}
(默认)
此属性是只读的。
输入层的名称。该层只接受单个输入。
数据类型:细胞
NumOutputs
- - - - - -输出数
1
(默认)
此属性是只读的。
层的输出数量。这个图层只有一个输出。
数据类型:双
OutputNames
- - - - - -输出的名字
{“出”}
(默认)
此属性是只读的。
输出层的名称。这个图层只有一个输出。
数据类型:细胞
例子
创建组归一化层
创建一个组规范化层,用于规范化跨三组通道的传入数据。命名图层“groupnorm”
。
层= groupNormalizationLayer(3,“名字”,“groupnorm”)
Name: 'groupnorm' NumChannels: 'auto'超参数NumGroups: 3 Epsilon: 1.0000 -05 Learnable Parameters偏移量:[]比例:[]显示所有属性
类中包含组规范化层层
数组中。将传入的20个信道归一化,分为4组。
layers = [imageInputLayer([28 28 3]) convolution2dLayer(5,20) groupNormalizationLayer(4) reluLayer maxPooling2dLayer(2,“步”,2) fullyConnectedLayer(10) softmaxLayer classificationLayer]
2 "二维卷积20个5x5卷积,带stride[1 1]和填充[0 0 0 0 0]3 "组归一化组归一化4 " ReLU ReLU 5 "二维最大池化2x2最大池化,带stride[2 2]和填充[0 0 0 0 0]6 "全连接10全连接层7 " Softmax Softmax 8 "分类输出crossentropyex
更多关于
组归一化层
组规范化层将输入数据的通道划分为组,并规范化每个组之间的激活。为了加快卷积神经网络的训练并降低对网络初始化的敏感性,在卷积层和非线性层之间使用组归一化层,如ReLU层。
您还可以使用组规范化层来执行层规范化或实例规范化。层归一化在单个观察中结合和归一化所有通道的激活。实例归一化分别对观测的每个通道的激活进行归一化。
该层首先通过减去组均值并除以组标准差来规范化每个组的激活。然后,该层将输入按可学习偏移量移动β然后用一个可学习的比例因子来衡量γ。
分组归一化层将通过神经网络传播的激活和梯度归一化,使网络训练成为一个更容易的优化问题。为了充分利用这一事实,您可以尝试提高学习率。由于优化问题更容易,参数更新可以更大,网络可以更快地学习。你也可以试着减少L2以及dropout正则化。
您可以使用组规范化层来代替批处理规范化层。这样做在小批量训练时特别有用,因为它可以增加训练的稳定性。
算法
组归一化层
分组规范化操作将元素规范化x我首先计算平均值μG和方差σG2在空间,时间和分组子集的通道维度为每个观测独立。然后,计算归一化激活为
在哪里ϵ是在方差很小时提高数值稳定性的常数。为了考虑均值和单位方差为零的输入对于分组归一化之后的操作不是最优的可能性,分组归一化操作使用转换进一步转移和缩放激活
其中偏移量β还有比例因子γ是在网络训练期间更新的可学习参数。
图层输入和输出格式
层数组或层图中的层将数据以格式化的方式传递给后续层dlarray
对象。的格式dlarray
对象是一个字符串,其中每个字符描述了数据的对应维度。格式由一个或多个字符组成:
“S”
——空间“C”
——频道“B”
——批“T”
——时间“U”
——未指明的
例如,表示为4-D数组的2-D图像数据,其中前两个维度对应于图像的空间维度,第三个维度对应于图像的通道,第四个维度对应于批处理维度,可以被描述为具有格式“SSCB”
(空间,空间,通道,批次)。
你可以与它们交互dlarray
对象在自动区分工作流程中,如开发自定义层,使用functionLayer
对象,或使用向前
和预测
功能与dlnetwork
对象。
的支持输入格式金宝appGroupNormalizationLayer
对象和相应的输出格式。类的自定义层,该自定义层不继承nnet.layer.Formattable
类,或FunctionLayer
对象的Formattable
属性设置为0
(false),则该层接收一个未格式化的dlarray
对象,其维度顺序对应于此表中的格式。
输入格式 | 输出格式 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
在dlnetwork
对象,GroupNormalizationLayer
对象还支持这些输入和输出格金宝app式组合。
输入格式 | 输出格式 |
---|---|
|
|
|
|
|
|
|
|
参考文献
[1]吴宇欣,何开明。“组织正常化。”预印本已于2018年6月11日提交。https://arxiv.org/abs/1803.08494。
扩展功能
C/ c++代码生成
使用MATLAB®Coder™生成C和c++代码。
GPU代码生成
使用GPU Coder™为NVIDIA®GPU生成CUDA®代码。
版本历史
R2020b中介绍Matlab명령
다음matlab명령에해당하는링크를클릭했습니다。
명령을실행하려면matlab명령창에입력하십시오。웹브라우저는matlab명령을지원하지않습니다。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。